summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/3to2/3to2-1.0.ebuild23
-rw-r--r--dev-python/3to2/3to2-1.1.1.ebuild25
-rw-r--r--dev-python/3to2/Manifest2
-rw-r--r--dev-python/3to2/metadata.xml12
-rw-r--r--dev-python/APScheduler/APScheduler-3.0.1.ebuild31
-rw-r--r--dev-python/APScheduler/Manifest1
-rw-r--r--dev-python/APScheduler/metadata.xml12
-rw-r--r--dev-python/Babel/Babel-1.3-r1.ebuild48
-rw-r--r--dev-python/Babel/Babel-2.0.ebuild49
-rw-r--r--dev-python/Babel/Manifest2
-rw-r--r--dev-python/Babel/files/Babel-0.9.6-setuptools.patch23
-rw-r--r--dev-python/Babel/metadata.xml16
-rw-r--r--dev-python/BitVector/BitVector-3.3.2.ebuild20
-rw-r--r--dev-python/BitVector/Manifest1
-rw-r--r--dev-python/BitVector/metadata.xml12
-rw-r--r--dev-python/Coffin/Coffin-0.3.8.ebuild27
-rw-r--r--dev-python/Coffin/Coffin-2.0.1.ebuild28
-rw-r--r--dev-python/Coffin/Manifest2
-rw-r--r--dev-python/Coffin/metadata.xml9
-rw-r--r--dev-python/CoverageTestRunner/CoverageTestRunner-1.10.ebuild23
-rw-r--r--dev-python/CoverageTestRunner/CoverageTestRunner-1.9-r1.ebuild23
-rw-r--r--dev-python/CoverageTestRunner/Manifest2
-rw-r--r--dev-python/CoverageTestRunner/metadata.xml8
-rw-r--r--dev-python/Djblets/Djblets-0.7.31.ebuild32
-rw-r--r--dev-python/Djblets/Manifest1
-rw-r--r--dev-python/Djblets/metadata.xml10
-rw-r--r--dev-python/Flask-KVSession/Flask-KVSession-0.6.1.ebuild28
-rw-r--r--dev-python/Flask-KVSession/Flask-KVSession-0.6.2.ebuild28
-rw-r--r--dev-python/Flask-KVSession/Manifest2
-rw-r--r--dev-python/Flask-KVSession/metadata.xml14
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-0.2.2.ebuild23
-rw-r--r--dev-python/GridDataFormats/GridDataFormats-0.2.5.ebuild23
-rw-r--r--dev-python/GridDataFormats/Manifest2
-rw-r--r--dev-python/GridDataFormats/metadata.xml12
-rw-r--r--dev-python/Kivy/Kivy-1.8.0.ebuild47
-rw-r--r--dev-python/Kivy/Kivy-1.9.0.ebuild45
-rw-r--r--dev-python/Kivy/Manifest2
-rw-r--r--dev-python/Kivy/files/Kivy-1.9.0-cython-0.22-backport.patch713
-rw-r--r--dev-python/Kivy/files/cython-0.22.patch139
-rw-r--r--dev-python/Kivy/files/cython-fixes.patch42
-rw-r--r--dev-python/Kivy/metadata.xml18
-rw-r--r--dev-python/Numdifftools/Manifest2
-rw-r--r--dev-python/Numdifftools/Numdifftools-0.6.0.ebuild33
-rw-r--r--dev-python/Numdifftools/Numdifftools-0.7.7.ebuild42
-rw-r--r--dev-python/Numdifftools/metadata.xml12
-rw-r--r--dev-python/PyECLib/Manifest1
-rw-r--r--dev-python/PyECLib/PyECLib-1.0.7.ebuild22
-rw-r--r--dev-python/PyECLib/files/1.0.7-erasurecode_locations.patch11
-rw-r--r--dev-python/PyECLib/metadata.xml15
-rw-r--r--dev-python/PyFoam/Manifest1
-rw-r--r--dev-python/PyFoam/PyFoam-0.5.4-r2.ebuild29
-rw-r--r--dev-python/PyFoam/metadata.xml17
-rw-r--r--dev-python/PyGithub/Manifest3
-rw-r--r--dev-python/PyGithub/PyGithub-1.25.0.ebuild23
-rw-r--r--dev-python/PyGithub/PyGithub-1.25.1.ebuild23
-rw-r--r--dev-python/PyGithub/PyGithub-1.25.2.ebuild23
-rw-r--r--dev-python/PyGithub/metadata.xml8
-rw-r--r--dev-python/PyPDF2/Manifest1
-rw-r--r--dev-python/PyPDF2/PyPDF2-1.24.ebuild22
-rw-r--r--dev-python/PyPDF2/metadata.xml8
-rw-r--r--dev-python/PyQt4/Manifest2
-rw-r--r--dev-python/PyQt4/PyQt4-4.11.1.ebuild211
-rw-r--r--dev-python/PyQt4/PyQt4-4.11.4.ebuild156
-rw-r--r--dev-python/PyQt4/files/PyQt4-4.11.2-phonon.patch25
-rw-r--r--dev-python/PyQt4/files/PyQt4-4.7.3-qreal_float_support.patch239
-rw-r--r--dev-python/PyQt4/metadata.xml32
-rw-r--r--dev-python/PyQt5/Manifest2
-rw-r--r--dev-python/PyQt5/PyQt5-5.4.2.ebuild176
-rw-r--r--dev-python/PyQt5/PyQt5-5.5.ebuild176
-rw-r--r--dev-python/PyQt5/metadata.xml38
-rw-r--r--dev-python/PyQtMobility/Manifest1
-rw-r--r--dev-python/PyQtMobility/PyQtMobility-1.0.1.ebuild91
-rw-r--r--dev-python/PyQtMobility/metadata.xml26
-rw-r--r--dev-python/PyRSS2Gen/Manifest2
-rw-r--r--dev-python/PyRSS2Gen/PyRSS2Gen-1.0.0-r1.ebuild17
-rw-r--r--dev-python/PyRSS2Gen/PyRSS2Gen-1.1.ebuild17
-rw-r--r--dev-python/PyRSS2Gen/metadata.xml9
-rw-r--r--dev-python/PyZilla/Manifest1
-rw-r--r--dev-python/PyZilla/PyZilla-0.1.0-r1.ebuild21
-rw-r--r--dev-python/PyZilla/metadata.xml10
-rw-r--r--dev-python/RecSQL/Manifest1
-rw-r--r--dev-python/RecSQL/RecSQL-0.7.8.ebuild33
-rw-r--r--dev-python/RecSQL/metadata.xml12
-rw-r--r--dev-python/SaltTesting/Manifest3
-rw-r--r--dev-python/SaltTesting/SaltTesting-2014.8.5.ebuild26
-rw-r--r--dev-python/SaltTesting/SaltTesting-2015.2.16.ebuild29
-rw-r--r--dev-python/SaltTesting/SaltTesting-2015.5.8.ebuild31
-rw-r--r--dev-python/SaltTesting/files/SaltTesting-0.5.2-silence-DepricationWarning.patch17
-rw-r--r--dev-python/SaltTesting/metadata.xml12
-rw-r--r--dev-python/SchemaObject/Manifest1
-rw-r--r--dev-python/SchemaObject/SchemaObject-0.5.3.ebuild41
-rw-r--r--dev-python/SchemaObject/metadata.xml8
-rw-r--r--dev-python/WSME/Manifest1
-rw-r--r--dev-python/WSME/WSME-0.6.2.ebuild28
-rw-r--r--dev-python/WSME/metadata.xml15
-rw-r--r--dev-python/XenAPI/Manifest1
-rw-r--r--dev-python/XenAPI/XenAPI-1.2.ebuild18
-rw-r--r--dev-python/XenAPI/metadata.xml12
-rw-r--r--dev-python/addons/Manifest1
-rw-r--r--dev-python/addons/addons-0.7.ebuild30
-rw-r--r--dev-python/addons/metadata.xml8
-rw-r--r--dev-python/adns-python/Manifest1
-rw-r--r--dev-python/adns-python/adns-python-1.2.1-r1.ebuild20
-rw-r--r--dev-python/adns-python/metadata.xml8
-rw-r--r--dev-python/adodb-py/Manifest1
-rw-r--r--dev-python/adodb-py/adodb-py-2.20-r1.ebuild36
-rw-r--r--dev-python/adodb-py/files/adodb-py_sandbox_violation.patch22
-rw-r--r--dev-python/adodb-py/metadata.xml12
-rw-r--r--dev-python/aioeventlet/Manifest1
-rw-r--r--dev-python/aioeventlet/aioeventlet-0.4.ebuild24
-rw-r--r--dev-python/aioeventlet/metadata.xml16
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-0.14.4-r1.ebuild30
-rw-r--r--dev-python/aiohttp/metadata.xml12
-rw-r--r--dev-python/alabaster/Manifest6
-rw-r--r--dev-python/alabaster/alabaster-0.6.0.ebuild18
-rw-r--r--dev-python/alabaster/alabaster-0.6.3.ebuild18
-rw-r--r--dev-python/alabaster/alabaster-0.7.2.ebuild18
-rw-r--r--dev-python/alabaster/alabaster-0.7.4.ebuild19
-rw-r--r--dev-python/alabaster/alabaster-0.7.5.ebuild19
-rw-r--r--dev-python/alabaster/alabaster-0.7.6.ebuild19
-rw-r--r--dev-python/alabaster/metadata.xml9
-rw-r--r--dev-python/alembic/Manifest4
-rw-r--r--dev-python/alembic/alembic-0.6.7.ebuild49
-rw-r--r--dev-python/alembic/alembic-0.7.4.ebuild46
-rw-r--r--dev-python/alembic/alembic-0.7.6.ebuild46
-rw-r--r--dev-python/alembic/alembic-0.7.7.ebuild46
-rw-r--r--dev-python/alembic/metadata.xml13
-rw-r--r--dev-python/algopy/Manifest3
-rw-r--r--dev-python/algopy/algopy-0.5.1.ebuild30
-rw-r--r--dev-python/algopy/algopy-0.5.2.ebuild30
-rw-r--r--dev-python/algopy/algopy-0.5.3.ebuild30
-rw-r--r--dev-python/algopy/metadata.xml11
-rw-r--r--dev-python/amodem/Manifest3
-rw-r--r--dev-python/amodem/amodem-1.10.ebuild18
-rw-r--r--dev-python/amodem/amodem-1.11.ebuild18
-rw-r--r--dev-python/amodem/amodem-1.9.ebuild18
-rw-r--r--dev-python/amodem/metadata.xml17
-rw-r--r--dev-python/amqplib/Manifest2
-rw-r--r--dev-python/amqplib/amqplib-0.6.1-r1.ebuild43
-rw-r--r--dev-python/amqplib/amqplib-1.0.2-r1.ebuild41
-rw-r--r--dev-python/amqplib/files/amqplib-0.6.1_disable_socket_tests.patch17
-rw-r--r--dev-python/amqplib/files/amqplib-1.0.2-unicode_tests_py3.patch63
-rw-r--r--dev-python/amqplib/metadata.xml16
-rw-r--r--dev-python/aniso8601/Manifest5
-rw-r--r--dev-python/aniso8601/aniso8601-0.82.ebuild25
-rw-r--r--dev-python/aniso8601/aniso8601-0.83.ebuild25
-rw-r--r--dev-python/aniso8601/aniso8601-0.90.ebuild25
-rw-r--r--dev-python/aniso8601/aniso8601-0.92.ebuild22
-rw-r--r--dev-python/aniso8601/aniso8601-1.0.0.ebuild22
-rw-r--r--dev-python/aniso8601/metadata.xml9
-rw-r--r--dev-python/ansi2html/Manifest2
-rw-r--r--dev-python/ansi2html/ansi2html-1.0.7.ebuild37
-rw-r--r--dev-python/ansi2html/ansi2html-1.1.0.ebuild39
-rw-r--r--dev-python/ansi2html/files/ansi2html-0.9.1-fix-0-control-code.patch28
-rw-r--r--dev-python/ansi2html/files/ansi2html-0.9.1-fix-sys-argv-in-tests.patch27
-rw-r--r--dev-python/ansi2html/metadata.xml13
-rw-r--r--dev-python/ansicolor/Manifest2
-rw-r--r--dev-python/ansicolor/ansicolor-0.2.1.ebuild20
-rw-r--r--dev-python/ansicolor/ansicolor-0.2.4.ebuild20
-rw-r--r--dev-python/ansicolor/metadata.xml12
-rw-r--r--dev-python/anyjson/Manifest1
-rw-r--r--dev-python/anyjson/anyjson-0.3.3-r1.ebuild36
-rw-r--r--dev-python/anyjson/metadata.xml9
-rw-r--r--dev-python/anyvc/Manifest1
-rw-r--r--dev-python/anyvc/anyvc-0.3.7.1-r1.ebuild55
-rw-r--r--dev-python/anyvc/metadata.xml12
-rw-r--r--dev-python/apipkg/Manifest2
-rw-r--r--dev-python/apipkg/apipkg-1.2-r1.ebuild32
-rw-r--r--dev-python/apipkg/apipkg-1.4.ebuild30
-rw-r--r--dev-python/apipkg/metadata.xml8
-rw-r--r--dev-python/aplpy/Manifest1
-rw-r--r--dev-python/aplpy/aplpy-0.9.14.ebuild46
-rw-r--r--dev-python/aplpy/metadata.xml15
-rw-r--r--dev-python/appdirs/Manifest2
-rw-r--r--dev-python/appdirs/appdirs-1.2.0-r1.ebuild31
-rw-r--r--dev-python/appdirs/appdirs-1.4.0.ebuild31
-rw-r--r--dev-python/appdirs/metadata.xml17
-rw-r--r--dev-python/apptools/Manifest2
-rw-r--r--dev-python/apptools/apptools-4.2.0-r1.ebuild51
-rw-r--r--dev-python/apptools/apptools-4.2.1.ebuild48
-rw-r--r--dev-python/apptools/files/apptools_test.patch15
-rw-r--r--dev-python/apptools/metadata.xml11
-rw-r--r--dev-python/apse/Manifest1
-rw-r--r--dev-python/apse/apse-0.2-r3.ebuild41
-rw-r--r--dev-python/apse/metadata.xml16
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.8.7.1_p1.ebuild55
-rw-r--r--dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch11
-rw-r--r--dev-python/apsw/metadata.xml13
-rw-r--r--dev-python/aquarium/Manifest1
-rw-r--r--dev-python/aquarium/aquarium-2.3-r1.ebuild20
-rw-r--r--dev-python/aquarium/metadata.xml8
-rw-r--r--dev-python/argcomplete/Manifest3
-rw-r--r--dev-python/argcomplete/argcomplete-0.8.1.ebuild41
-rw-r--r--dev-python/argcomplete/argcomplete-0.8.9.ebuild39
-rw-r--r--dev-python/argcomplete/argcomplete-0.9.0.ebuild39
-rw-r--r--dev-python/argcomplete/metadata.xml11
-rw-r--r--dev-python/argh/Manifest3
-rw-r--r--dev-python/argh/argh-0.25.0.ebuild31
-rw-r--r--dev-python/argh/argh-0.26.0.ebuild30
-rw-r--r--dev-python/argh/argh-0.26.1.ebuild30
-rw-r--r--dev-python/argh/metadata.xml8
-rw-r--r--dev-python/args/Manifest1
-rw-r--r--dev-python/args/args-0.1.0.ebuild20
-rw-r--r--dev-python/args/metadata.xml14
-rw-r--r--dev-python/arrayterator/Manifest1
-rw-r--r--dev-python/arrayterator/arrayterator-1.0.1-r1.ebuild29
-rw-r--r--dev-python/arrayterator/metadata.xml8
-rw-r--r--dev-python/asciitable/Manifest1
-rw-r--r--dev-python/asciitable/asciitable-0.8.0-r1.ebuild26
-rw-r--r--dev-python/asciitable/metadata.xml13
-rw-r--r--dev-python/asset/Manifest1
-rw-r--r--dev-python/asset/asset-0.6.1-r1.ebuild41
-rw-r--r--dev-python/asset/files/asset-0.6.1-broken-test.patch24
-rw-r--r--dev-python/asset/metadata.xml12
-rw-r--r--dev-python/assets/Manifest1
-rw-r--r--dev-python/assets/assets-0.1.1-r1.ebuild28
-rw-r--r--dev-python/assets/metadata.xml23
-rw-r--r--dev-python/astng/Manifest1
-rw-r--r--dev-python/astng/astng-0.24.3.ebuild46
-rw-r--r--dev-python/astng/files/pypy-test.patch36
-rw-r--r--dev-python/astng/metadata.xml19
-rw-r--r--dev-python/astor/Manifest4
-rw-r--r--dev-python/astor/astor-0.3.ebuild19
-rw-r--r--dev-python/astor/astor-0.4.1.ebuild29
-rw-r--r--dev-python/astor/astor-0.4.ebuild29
-rw-r--r--dev-python/astor/astor-0.5.ebuild29
-rw-r--r--dev-python/astor/metadata.xml8
-rw-r--r--dev-python/astroid/Manifest4
-rw-r--r--dev-python/astroid/astroid-1.3.4.ebuild44
-rw-r--r--dev-python/astroid/astroid-1.3.6.ebuild44
-rw-r--r--dev-python/astroid/astroid-1.3.7.ebuild46
-rw-r--r--dev-python/astroid/astroid-1.3.8.ebuild40
-rw-r--r--dev-python/astroid/metadata.xml20
-rw-r--r--dev-python/astropy-helpers/Manifest1
-rw-r--r--dev-python/astropy-helpers/astropy-helpers-0.4.1.ebuild23
-rw-r--r--dev-python/astropy-helpers/metadata.xml13
-rw-r--r--dev-python/astropy/Manifest4
-rw-r--r--dev-python/astropy/astropy-0.3.1.ebuild65
-rw-r--r--dev-python/astropy/astropy-0.3.2.ebuild65
-rw-r--r--dev-python/astropy/astropy-0.4.4.ebuild70
-rw-r--r--dev-python/astropy/astropy-0.4.ebuild70
-rw-r--r--dev-python/astropy/metadata.xml13
-rw-r--r--dev-python/async/Manifest1
-rw-r--r--dev-python/async/async-0.6.2.ebuild30
-rw-r--r--dev-python/async/files/async-0.6.1_libz_link.patch14
-rw-r--r--dev-python/async/metadata.xml9
-rw-r--r--dev-python/asyncio/Manifest2
-rw-r--r--dev-python/asyncio/asyncio-3.4.2.ebuild21
-rw-r--r--dev-python/asyncio/asyncio-3.4.3.ebuild26
-rw-r--r--dev-python/asyncio/metadata.xml16
-rw-r--r--dev-python/atom/Manifest1
-rw-r--r--dev-python/atom/atom-0.3.10.ebuild50
-rw-r--r--dev-python/atom/metadata.xml9
-rw-r--r--dev-python/atpy/Manifest1
-rw-r--r--dev-python/atpy/atpy-0.9.7.ebuild35
-rw-r--r--dev-python/atpy/metadata.xml19
-rw-r--r--dev-python/attrdict/Manifest1
-rw-r--r--dev-python/attrdict/attrdict-2.0.0.ebuild30
-rw-r--r--dev-python/attrdict/metadata.xml14
-rw-r--r--dev-python/audioread/Manifest1
-rw-r--r--dev-python/audioread/audioread-1.0.1.ebuild33
-rw-r--r--dev-python/audioread/files/0001-Use-the-print-function-instead-of-the-print-keyword.patch30
-rw-r--r--dev-python/audioread/metadata.xml17
-rw-r--r--dev-python/authres/Manifest3
-rw-r--r--dev-python/authres/authres-0.701.ebuild24
-rw-r--r--dev-python/authres/authres-0.702.ebuild22
-rw-r--r--dev-python/authres/authres-0.800.ebuild22
-rw-r--r--dev-python/authres/metadata.xml16
-rw-r--r--dev-python/autobahn/Manifest2
-rw-r--r--dev-python/autobahn/autobahn-0.10.4.ebuild46
-rw-r--r--dev-python/autobahn/autobahn-0.9.4.2.ebuild33
-rw-r--r--dev-python/autobahn/metadata.xml11
-rw-r--r--dev-python/autopep8/Manifest4
-rw-r--r--dev-python/autopep8/autopep8-1.0.4.ebuild41
-rw-r--r--dev-python/autopep8/autopep8-1.1.1.ebuild46
-rw-r--r--dev-python/autopep8/autopep8-1.1.ebuild46
-rw-r--r--dev-python/autopep8/autopep8-1.2.ebuild52
-rw-r--r--dev-python/autopep8/autopep8-9999.ebuild28
-rw-r--r--dev-python/autopep8/files/autopep8-0.5.2-issue-10.patch28
-rw-r--r--dev-python/autopep8/metadata.xml10
-rw-r--r--dev-python/axiom/Manifest3
-rw-r--r--dev-python/axiom/axiom-0.6.0-r1.ebuild43
-rw-r--r--dev-python/axiom/axiom-0.7.2.ebuild32
-rw-r--r--dev-python/axiom/axiom-0.7.3.ebuild32
-rw-r--r--dev-python/axiom/files/axiom-0.5.30-sqlite3.patch45
-rw-r--r--dev-python/axiom/files/axiom-0.5.30-sqlite3_3.6.4.patch36
-rw-r--r--dev-python/axiom/files/axiom-0.6.0-disable-tests.patch89
-rw-r--r--dev-python/axiom/metadata.xml14
-rw-r--r--dev-python/babelfish/Manifest3
-rw-r--r--dev-python/babelfish/babelfish-0.4.0.ebuild26
-rw-r--r--dev-python/babelfish/babelfish-0.5.1.ebuild26
-rw-r--r--dev-python/babelfish/babelfish-0.5.3.ebuild26
-rw-r--r--dev-python/babelfish/babelfish-9999.ebuild26
-rw-r--r--dev-python/babelfish/metadata.xml12
-rw-r--r--dev-python/backports-lzma/Manifest1
-rw-r--r--dev-python/backports-lzma/backports-lzma-0.0.3.ebuild38
-rw-r--r--dev-python/backports-lzma/metadata.xml9
-rw-r--r--dev-python/backports-shutil_get_terminal_size/Manifest1
-rw-r--r--dev-python/backports-shutil_get_terminal_size/backports-shutil_get_terminal_size-1.0.0-r1.ebuild33
-rw-r--r--dev-python/backports-shutil_get_terminal_size/metadata.xml12
-rw-r--r--dev-python/backports-ssl-match-hostname/Manifest1
-rw-r--r--dev-python/backports-ssl-match-hostname/backports-ssl-match-hostname-3.4.0.2.ebuild43
-rw-r--r--dev-python/backports-ssl-match-hostname/metadata.xml8
-rw-r--r--dev-python/backports/Manifest1
-rw-r--r--dev-python/backports/backports-1.0.ebuild18
-rw-r--r--dev-python/backports/metadata.xml12
-rw-r--r--dev-python/bandit/Manifest2
-rw-r--r--dev-python/bandit/bandit-0.12.0.ebuild52
-rw-r--r--dev-python/bandit/bandit-0.13.0.ebuild52
-rw-r--r--dev-python/bandit/metadata.xml14
-rw-r--r--dev-python/basemap/Manifest1
-rw-r--r--dev-python/basemap/basemap-1.0.7-r1.ebuild73
-rw-r--r--dev-python/basemap/metadata.xml13
-rw-r--r--dev-python/bashate/Manifest1
-rw-r--r--dev-python/bashate/bashate-0.3.1.ebuild34
-rw-r--r--dev-python/bashate/metadata.xml15
-rw-r--r--dev-python/bcolz/Manifest3
-rw-r--r--dev-python/bcolz/bcolz-0.10.0.ebuild51
-rw-r--r--dev-python/bcolz/bcolz-0.8.1.ebuild50
-rw-r--r--dev-python/bcolz/bcolz-0.9.0.ebuild51
-rw-r--r--dev-python/bcolz/metadata.xml9
-rw-r--r--dev-python/bcrypt/Manifest3
-rw-r--r--dev-python/bcrypt/bcrypt-1.0.2-r1.ebuild28
-rw-r--r--dev-python/bcrypt/bcrypt-1.1.1.ebuild39
-rw-r--r--dev-python/bcrypt/bcrypt-2.0.0.ebuild32
-rw-r--r--dev-python/bcrypt/metadata.xml10
-rw-r--r--dev-python/beaker/Manifest2
-rw-r--r--dev-python/beaker/beaker-1.6.4-r1.ebuild46
-rw-r--r--dev-python/beaker/beaker-1.7.0-r1.ebuild50
-rw-r--r--dev-python/beaker/metadata.xml9
-rw-r--r--dev-python/beanstalkc/Manifest1
-rw-r--r--dev-python/beanstalkc/beanstalkc-0.4.0-r1.ebuild22
-rw-r--r--dev-python/beanstalkc/beanstalkc-0.4.0.ebuild22
-rw-r--r--dev-python/beanstalkc/metadata.xml9
-rw-r--r--dev-python/beautifulsoup/Manifest6
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-3.1.0.1-r2.ebuild41
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-3.2.1-r1.ebuild29
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-4.1.3-r1.ebuild46
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-4.1.3.ebuild54
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-4.2.0.ebuild48
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-4.3.2.ebuild46
-rw-r--r--dev-python/beautifulsoup/beautifulsoup-4.4.0.ebuild47
-rw-r--r--dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-disable-tests.patch39
-rw-r--r--dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-python-3.patch949
-rw-r--r--dev-python/beautifulsoup/files/bfs-4.2.0-no-lxml.patch67
-rw-r--r--dev-python/beautifulsoup/metadata.xml16
-rw-r--r--dev-python/behave/Manifest2
-rw-r--r--dev-python/behave/behave-1.2.4.ebuild58
-rw-r--r--dev-python/behave/behave-1.2.5.ebuild53
-rw-r--r--dev-python/behave/metadata.xml14
-rw-r--r--dev-python/bicyclerepair/Manifest1
-rw-r--r--dev-python/bicyclerepair/bicyclerepair-0.9-r2.ebuild63
-rw-r--r--dev-python/bicyclerepair/bicyclerepair-0.9-r3.ebuild53
-rw-r--r--dev-python/bicyclerepair/files/50bicyclerepair-gentoo.el10
-rw-r--r--dev-python/bicyclerepair/files/bicyclerepair-0.9-idle.patch41
-rw-r--r--dev-python/bicyclerepair/files/bicyclerepair-0.9-invalid-syntax.patch11
-rw-r--r--dev-python/bicyclerepair/metadata.xml8
-rw-r--r--dev-python/billiard/Manifest3
-rw-r--r--dev-python/billiard/billiard-3.3.0.18.ebuild54
-rw-r--r--dev-python/billiard/billiard-3.3.0.19.ebuild55
-rw-r--r--dev-python/billiard/billiard-3.3.0.20.ebuild55
-rw-r--r--dev-python/billiard/metadata.xml9
-rw-r--r--dev-python/biplist/Manifest2
-rw-r--r--dev-python/biplist/biplist-0.8.ebuild27
-rw-r--r--dev-python/biplist/biplist-0.9.ebuild29
-rw-r--r--dev-python/biplist/metadata.xml13
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-0.8.1.ebuild20
-rw-r--r--dev-python/bitarray/metadata.xml21
-rw-r--r--dev-python/bitstring/Manifest1
-rw-r--r--dev-python/bitstring/bitstring-3.1.1.ebuild29
-rw-r--r--dev-python/bitstring/metadata.xml15
-rw-r--r--dev-python/bjoern/Manifest2
-rw-r--r--dev-python/bjoern/bjoern-1.3.2.ebuild21
-rw-r--r--dev-python/bjoern/bjoern-1.4.2.ebuild21
-rw-r--r--dev-python/bjoern/metadata.xml9
-rw-r--r--dev-python/blaze/Manifest3
-rw-r--r--dev-python/blaze/blaze-0.7.1.ebuild86
-rw-r--r--dev-python/blaze/blaze-0.8.0.ebuild86
-rw-r--r--dev-python/blaze/blaze-0.8.2.ebuild82
-rw-r--r--dev-python/blaze/metadata.xml14
-rw-r--r--dev-python/bleach/Manifest1
-rw-r--r--dev-python/bleach/bleach-1.4.1.ebuild30
-rw-r--r--dev-python/bleach/metadata.xml9
-rw-r--r--dev-python/blessings/Manifest1
-rw-r--r--dev-python/blessings/blessings-1.6.ebuild25
-rw-r--r--dev-python/blessings/metadata.xml12
-rw-r--r--dev-python/blinker/Manifest2
-rw-r--r--dev-python/blinker/blinker-1.3.ebuild33
-rw-r--r--dev-python/blinker/blinker-1.4.ebuild33
-rw-r--r--dev-python/blinker/metadata.xml8
-rw-r--r--dev-python/blockcanvas/Manifest1
-rw-r--r--dev-python/blockcanvas/blockcanvas-4.0.3-r1.ebuild54
-rw-r--r--dev-python/blockcanvas/metadata.xml15
-rw-r--r--dev-python/blosc/Manifest3
-rw-r--r--dev-python/blosc/blosc-1.2.0.ebuild34
-rw-r--r--dev-python/blosc/blosc-1.2.1.ebuild34
-rw-r--r--dev-python/blosc/blosc-1.2.3.ebuild34
-rw-r--r--dev-python/blosc/metadata.xml18
-rw-r--r--dev-python/bluelet/Manifest1
-rw-r--r--dev-python/bluelet/bluelet-0.2.0.ebuild28
-rw-r--r--dev-python/bluelet/metadata.xml15
-rw-r--r--dev-python/blz/Manifest1
-rw-r--r--dev-python/blz/blz-0.6.2.ebuild50
-rw-r--r--dev-python/blz/metadata.xml15
-rw-r--r--dev-python/bokeh/Manifest1
-rw-r--r--dev-python/bokeh/bokeh-0.7.1.ebuild92
-rw-r--r--dev-python/bokeh/files/bokeh-0.7.1-setup.patch17
-rw-r--r--dev-python/bokeh/metadata.xml16
-rw-r--r--dev-python/boto/Manifest5
-rw-r--r--dev-python/boto/boto-2.27.0.ebuild25
-rw-r--r--dev-python/boto/boto-2.31.1.ebuild25
-rw-r--r--dev-python/boto/boto-2.34.0.ebuild25
-rw-r--r--dev-python/boto/boto-2.35.1.ebuild27
-rw-r--r--dev-python/boto/boto-2.38.0.ebuild48
-rw-r--r--dev-python/boto/metadata.xml13
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.1.1.ebuild54
-rw-r--r--dev-python/boto3/metadata.xml13
-rw-r--r--dev-python/botocore/Manifest2
-rw-r--r--dev-python/botocore/botocore-1.1.3.ebuild53
-rw-r--r--dev-python/botocore/botocore-1.1.5.ebuild53
-rw-r--r--dev-python/botocore/metadata.xml13
-rw-r--r--dev-python/bottle/Manifest2
-rw-r--r--dev-python/bottle/bottle-0.12.7.ebuild33
-rw-r--r--dev-python/bottle/bottle-0.12.8.ebuild42
-rw-r--r--dev-python/bottle/metadata.xml8
-rw-r--r--dev-python/bottleneck/Manifest2
-rw-r--r--dev-python/bottleneck/bottleneck-0.8.0.ebuild40
-rw-r--r--dev-python/bottleneck/bottleneck-1.0.0.ebuild41
-rw-r--r--dev-python/bottleneck/metadata.xml12
-rw-r--r--dev-python/bpython/Manifest5
-rw-r--r--dev-python/bpython/bpython-0.13.1.ebuild67
-rw-r--r--dev-python/bpython/bpython-0.13.2.ebuild65
-rw-r--r--dev-python/bpython/bpython-0.14.1.ebuild62
-rw-r--r--dev-python/bpython/bpython-0.14.2.ebuild62
-rw-r--r--dev-python/bpython/bpython-0.14.ebuild65
-rw-r--r--dev-python/bpython/files/bpython-0.13-test_repl.patch34
-rw-r--r--dev-python/bpython/files/bpython-0.14.patch14
-rw-r--r--dev-python/bpython/files/bpython-desktop.patch8
-rw-r--r--dev-python/bpython/metadata.xml16
-rw-r--r--dev-python/bsddb3/Manifest2
-rw-r--r--dev-python/bsddb3/bsddb3-6.0.1.ebuild65
-rw-r--r--dev-python/bsddb3/bsddb3-6.1.0.ebuild74
-rw-r--r--dev-python/bsddb3/metadata.xml8
-rw-r--r--dev-python/buildutils/Manifest1
-rw-r--r--dev-python/buildutils/buildutils-0.3-r1.ebuild51
-rw-r--r--dev-python/buildutils/files/buildutils-0.3-pudge_addcommand.patch12
-rw-r--r--dev-python/buildutils/metadata.xml8
-rw-r--r--dev-python/buzhug/Manifest1
-rw-r--r--dev-python/buzhug/buzhug-1.8-r1.ebuild25
-rw-r--r--dev-python/buzhug/metadata.xml8
-rw-r--r--dev-python/bytecodeassembler/Manifest1
-rw-r--r--dev-python/bytecodeassembler/bytecodeassembler-0.6.ebuild31
-rw-r--r--dev-python/bytecodeassembler/metadata.xml8
-rw-r--r--dev-python/cached-property/Manifest3
-rw-r--r--dev-python/cached-property/cached-property-0.1.5.ebuild29
-rw-r--r--dev-python/cached-property/cached-property-1.0.0.ebuild29
-rw-r--r--dev-python/cached-property/cached-property-1.2.0.ebuild29
-rw-r--r--dev-python/cached-property/metadata.xml15
-rw-r--r--dev-python/cairocffi/Manifest5
-rw-r--r--dev-python/cairocffi/cairocffi-0.5.3-r1.ebuild42
-rw-r--r--dev-python/cairocffi/cairocffi-0.5.4.ebuild42
-rw-r--r--dev-python/cairocffi/cairocffi-0.6-r1.ebuild51
-rw-r--r--dev-python/cairocffi/cairocffi-0.6.ebuild49
-rw-r--r--dev-python/cairocffi/cairocffi-0.7.1.ebuild56
-rw-r--r--dev-python/cairocffi/cairocffi-0.7.2.ebuild56
-rw-r--r--dev-python/cairocffi/files/cairocffi-0.7.1-test.patch58
-rw-r--r--dev-python/cairocffi/files/mapping.patch10
-rw-r--r--dev-python/cairocffi/metadata.xml9
-rw-r--r--dev-python/cangjie/Manifest2
-rw-r--r--dev-python/cangjie/cangjie-1.1.ebuild35
-rw-r--r--dev-python/cangjie/cangjie-1.2.ebuild37
-rw-r--r--dev-python/cangjie/files/cangjie-1.2-cython-022.patch25
-rw-r--r--dev-python/cangjie/metadata.xml14
-rw-r--r--dev-python/carbon/Manifest2
-rw-r--r--dev-python/carbon/carbon-0.9.12-r1.ebuild65
-rw-r--r--dev-python/carbon/carbon-0.9.13.ebuild65
-rw-r--r--dev-python/carbon/files/carbon-0.9.12-no-data-files.patch24
-rw-r--r--dev-python/carbon/files/carbon.confd5
-rw-r--r--dev-python/carbon/files/carbon.initd52
-rw-r--r--dev-python/carbon/files/no-data-files.patch26
-rw-r--r--dev-python/carbon/metadata.xml8
-rw-r--r--dev-python/carrot/Manifest1
-rw-r--r--dev-python/carrot/carrot-0.10.7-r1.ebuild32
-rw-r--r--dev-python/carrot/metadata.xml9
-rw-r--r--dev-python/casuarius/Manifest1
-rw-r--r--dev-python/casuarius/casuarius-1.1.ebuild22
-rw-r--r--dev-python/casuarius/metadata.xml15
-rw-r--r--dev-python/cddb-py/Manifest1
-rw-r--r--dev-python/cddb-py/cddb-py-1.4-r1.ebuild23
-rw-r--r--dev-python/cddb-py/cddb-py-1.4.ebuild26
-rw-r--r--dev-python/cddb-py/metadata.xml8
-rw-r--r--dev-python/celementtree/Manifest1
-rw-r--r--dev-python/celementtree/celementtree-1.0.5-r2.ebuild45
-rw-r--r--dev-python/celementtree/files/celementtree-1.0.5-setuptools.patch12
-rw-r--r--dev-python/celementtree/files/celementtree-1.0.5-use_system_expat.patch44
-rw-r--r--dev-python/celementtree/metadata.xml5
-rw-r--r--dev-python/celery/Manifest2
-rw-r--r--dev-python/celery/celery-3.1.17.ebuild80
-rw-r--r--dev-python/celery/celery-3.1.18.ebuild80
-rw-r--r--dev-python/celery/files/celery-3.0.11-require-python-dateutil-2.1.patch47
-rw-r--r--dev-python/celery/files/celery-3.0.12-require-python-dateutil-2.1.patch47
-rw-r--r--dev-python/celery/files/celery-3.1.10-test.patch33
-rw-r--r--dev-python/celery/files/celery-3.1.11-test.patch16
-rw-r--r--dev-python/celery/files/celery-docs.patch19
-rw-r--r--dev-python/celery/files/celery.confd70
-rw-r--r--dev-python/celery/files/celery.confd-r150
-rw-r--r--dev-python/celery/files/celery.initd268
-rw-r--r--dev-python/celery/files/celery.initd-r1214
-rw-r--r--dev-python/celery/metadata.xml14
-rw-r--r--dev-python/cement/Manifest1
-rw-r--r--dev-python/cement/cement-2.0.2.ebuild46
-rw-r--r--dev-python/cement/files/tests-installation.patch19
-rw-r--r--dev-python/cement/metadata.xml9
-rw-r--r--dev-python/certifi/Manifest2
-rw-r--r--dev-python/certifi/certifi-14.05.14.ebuild20
-rw-r--r--dev-python/certifi/certifi-2015.04.28.ebuild21
-rw-r--r--dev-python/certifi/metadata.xml8
-rw-r--r--dev-python/cffi/Manifest6
-rw-r--r--dev-python/cffi/cffi-0.8.6.ebuild38
-rw-r--r--dev-python/cffi/cffi-0.9.2.ebuild38
-rw-r--r--dev-python/cffi/cffi-1.0.2.ebuild40
-rw-r--r--dev-python/cffi/cffi-1.0.3.ebuild40
-rw-r--r--dev-python/cffi/cffi-1.1.0.ebuild42
-rw-r--r--dev-python/cffi/cffi-1.1.2.ebuild40
-rw-r--r--dev-python/cffi/files/cffi-1.1.0-test-backport.patch44
-rw-r--r--dev-python/cffi/files/issue177_prot_exec.patch79
-rw-r--r--dev-python/cffi/metadata.xml8
-rw-r--r--dev-python/cfgio/Manifest1
-rw-r--r--dev-python/cfgio/cfgio-0.1.2.ebuild24
-rw-r--r--dev-python/cfgio/metadata.xml11
-rw-r--r--dev-python/cfgparse/Manifest1
-rw-r--r--dev-python/cfgparse/cfgparse-1.3-r1.ebuild22
-rw-r--r--dev-python/cfgparse/metadata.xml8
-rw-r--r--dev-python/cgkit/Manifest2
-rw-r--r--dev-python/cgkit/cgkit-2.0.0.ebuild87
-rw-r--r--dev-python/cgkit/files/cgkit-2.0.0-test.patch11
-rw-r--r--dev-python/cgkit/files/cgkit-py2k-pillow.patch82
-rw-r--r--dev-python/cgkit/files/cgkit-py3k-pillow.patch82
-rw-r--r--dev-python/cgkit/metadata.xml12
-rw-r--r--dev-python/cgroup-utils/Manifest1
-rw-r--r--dev-python/cgroup-utils/cgroup-utils-0.6.ebuild19
-rw-r--r--dev-python/cgroup-utils/metadata.xml12
-rw-r--r--dev-python/chaco/Manifest1
-rw-r--r--dev-python/chaco/chaco-4.5.0.ebuild39
-rw-r--r--dev-python/chaco/metadata.xml18
-rw-r--r--dev-python/chameleon/Manifest4
-rw-r--r--dev-python/chameleon/chameleon-2.16.ebuild41
-rw-r--r--dev-python/chameleon/chameleon-2.19.ebuild41
-rw-r--r--dev-python/chameleon/chameleon-2.20.ebuild41
-rw-r--r--dev-python/chameleon/chameleon-2.22.ebuild41
-rw-r--r--dev-python/chameleon/metadata.xml8
-rw-r--r--dev-python/characteristic/Manifest2
-rw-r--r--dev-python/characteristic/characteristic-14.1.0.ebuild42
-rw-r--r--dev-python/characteristic/characteristic-14.3.0.ebuild46
-rw-r--r--dev-python/characteristic/metadata.xml9
-rw-r--r--dev-python/charade/Manifest1
-rw-r--r--dev-python/charade/charade-1.0.3.ebuild19
-rw-r--r--dev-python/charade/metadata.xml9
-rw-r--r--dev-python/chardet/Manifest2
-rw-r--r--dev-python/chardet/chardet-2.2.1.ebuild20
-rw-r--r--dev-python/chardet/chardet-2.3.0.ebuild20
-rw-r--r--dev-python/chardet/metadata.xml9
-rw-r--r--dev-python/cheetah-docs/Manifest1
-rw-r--r--dev-python/cheetah-docs/cheetah-docs-0.9.16_alpha1.ebuild35
-rw-r--r--dev-python/cheetah-docs/metadata.xml8
-rw-r--r--dev-python/cheetah/Manifest1
-rw-r--r--dev-python/cheetah/cheetah-2.4.4-r1.ebuild45
-rw-r--r--dev-python/cheetah/metadata.xml12
-rw-r--r--dev-python/cherrypy/Manifest3
-rw-r--r--dev-python/cherrypy/cherrypy-3.3.0.ebuild53
-rw-r--r--dev-python/cherrypy/cherrypy-3.7.0.ebuild52
-rw-r--r--dev-python/cherrypy/cherrypy-3.8.0.ebuild52
-rw-r--r--dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch20
-rw-r--r--dev-python/cherrypy/metadata.xml8
-rw-r--r--dev-python/cherrytemplate/Manifest1
-rw-r--r--dev-python/cherrytemplate/cherrytemplate-1.0.0-r1.ebuild25
-rw-r--r--dev-python/cherrytemplate/metadata.xml8
-rw-r--r--dev-python/cliapp/Manifest3
-rw-r--r--dev-python/cliapp/cliapp-1.20130808.ebuild31
-rw-r--r--dev-python/cliapp/cliapp-1.20140315.ebuild31
-rw-r--r--dev-python/cliapp/cliapp-1.20150305.ebuild30
-rw-r--r--dev-python/cliapp/metadata.xml8
-rw-r--r--dev-python/click/Manifest3
-rw-r--r--dev-python/click/click-2.0.ebuild23
-rw-r--r--dev-python/click/click-4.0-r1.ebuild45
-rw-r--r--dev-python/click/click-4.1.ebuild43
-rw-r--r--dev-python/click/files/click-4.0-docbuild.patch12
-rw-r--r--dev-python/click/metadata.xml8
-rw-r--r--dev-python/clientcookie/Manifest1
-rw-r--r--dev-python/clientcookie/clientcookie-1.3.0-r1.ebuild26
-rw-r--r--dev-python/clientcookie/metadata.xml15
-rw-r--r--dev-python/cliff-tablib/Manifest1
-rw-r--r--dev-python/cliff-tablib/cliff-tablib-1.1.ebuild28
-rw-r--r--dev-python/cliff-tablib/metadata.xml9
-rw-r--r--dev-python/cliff/Manifest4
-rw-r--r--dev-python/cliff/cliff-1.10.1.ebuild39
-rw-r--r--dev-python/cliff/cliff-1.12.0.ebuild58
-rw-r--r--dev-python/cliff/cliff-1.13.0.ebuild58
-rw-r--r--dev-python/cliff/cliff-1.8.0.ebuild39
-rw-r--r--dev-python/cliff/metadata.xml18
-rw-r--r--dev-python/clint/Manifest3
-rw-r--r--dev-python/clint/clint-0.3.1-r1.ebuild41
-rw-r--r--dev-python/clint/clint-0.3.7.ebuild38
-rw-r--r--dev-python/clint/clint-0.4.1.ebuild38
-rw-r--r--dev-python/clint/files/clint-setup.patch15
-rw-r--r--dev-python/clint/metadata.xml13
-rw-r--r--dev-python/cloudlib/Manifest1
-rw-r--r--dev-python/cloudlib/cloudlib-0.4.0.ebuild25
-rw-r--r--dev-python/cloudlib/metadata.xml16
-rw-r--r--dev-python/cmd2/Manifest2
-rw-r--r--dev-python/cmd2/cmd2-0.6.7.ebuild34
-rw-r--r--dev-python/cmd2/cmd2-0.6.8.ebuild26
-rw-r--r--dev-python/cmd2/metadata.xml16
-rw-r--r--dev-python/codetools/Manifest1
-rw-r--r--dev-python/codetools/codetools-4.2.0.ebuild36
-rw-r--r--dev-python/codetools/metadata.xml22
-rw-r--r--dev-python/colander/Manifest1
-rw-r--r--dev-python/colander/colander-1.0.ebuild57
-rw-r--r--dev-python/colander/metadata.xml8
-rw-r--r--dev-python/colorama/Manifest2
-rw-r--r--dev-python/colorama/colorama-0.3.2.ebuild22
-rw-r--r--dev-python/colorama/colorama-0.3.3.ebuild22
-rw-r--r--dev-python/colorama/metadata.xml17
-rw-r--r--dev-python/coloredlogs/Manifest1
-rw-r--r--dev-python/coloredlogs/coloredlogs-1.0.1-r1.ebuild31
-rw-r--r--dev-python/coloredlogs/files/coloredlogs-1.0.1-ansi2html.patch17
-rw-r--r--dev-python/coloredlogs/metadata.xml13
-rw-r--r--dev-python/colorlog/Manifest1
-rw-r--r--dev-python/colorlog/colorlog-2.6.0.ebuild34
-rw-r--r--dev-python/colorlog/metadata.xml13
-rw-r--r--dev-python/colout/Manifest1
-rw-r--r--dev-python/colout/colout-0.1.ebuild37
-rw-r--r--dev-python/colout/metadata.xml8
-rw-r--r--dev-python/columnize/Manifest2
-rw-r--r--dev-python/columnize/columnize-0.3.5-r1.ebuild25
-rw-r--r--dev-python/columnize/columnize-0.3.8.ebuild27
-rw-r--r--dev-python/columnize/metadata.xml10
-rw-r--r--dev-python/common/Manifest1
-rw-r--r--dev-python/common/common-0.1.1.ebuild20
-rw-r--r--dev-python/common/metadata.xml11
-rw-r--r--dev-python/compizconfig-python/Manifest1
-rw-r--r--dev-python/compizconfig-python/compizconfig-python-0.8.4-r5.ebuild43
-rw-r--r--dev-python/compizconfig-python/metadata.xml7
-rw-r--r--dev-python/configargparse/Manifest1
-rw-r--r--dev-python/configargparse/configargparse-0.9.3.ebuild21
-rw-r--r--dev-python/configargparse/metadata.xml9
-rw-r--r--dev-python/configclass/Manifest1
-rw-r--r--dev-python/configclass/configclass-0.1.0.ebuild20
-rw-r--r--dev-python/configclass/metadata.xml9
-rw-r--r--dev-python/configobj/Manifest3
-rw-r--r--dev-python/configobj/configobj-4.7.2-r2.ebuild41
-rw-r--r--dev-python/configobj/configobj-5.0.5.ebuild30
-rw-r--r--dev-python/configobj/configobj-5.0.6.ebuild30
-rw-r--r--dev-python/configobj/files/configobj-4.7.2-fix_tests.patch11
-rw-r--r--dev-python/configobj/metadata.xml14
-rw-r--r--dev-python/configparser/Manifest1
-rw-r--r--dev-python/configparser/configparser-3.3.0.2.ebuild19
-rw-r--r--dev-python/configparser/metadata.xml12
-rw-r--r--dev-python/configshell/configshell-9999.ebuild25
-rw-r--r--dev-python/configshell/metadata.xml10
-rw-r--r--dev-python/contextlib2/Manifest1
-rw-r--r--dev-python/contextlib2/contextlib2-0.4.0.ebuild22
-rw-r--r--dev-python/contextlib2/metadata.xml8
-rw-r--r--dev-python/cosmolopy/Manifest1
-rw-r--r--dev-python/cosmolopy/cosmolopy-0.1.104-r1.ebuild42
-rw-r--r--dev-python/cosmolopy/metadata.xml10
-rw-r--r--dev-python/couchdb-python/Manifest3
-rw-r--r--dev-python/couchdb-python/couchdb-python-0.10.ebuild47
-rw-r--r--dev-python/couchdb-python/couchdb-python-0.9.ebuild34
-rw-r--r--dev-python/couchdb-python/couchdb-python-1.0.ebuild44
-rw-r--r--dev-python/couchdb-python/files/0.10-exec-compat.patch87
-rw-r--r--dev-python/couchdb-python/metadata.xml13
-rw-r--r--dev-python/cov-core/Manifest2
-rw-r--r--dev-python/cov-core/cov-core-1.15.0.ebuild20
-rw-r--r--dev-python/cov-core/cov-core-1.7.ebuild20
-rw-r--r--dev-python/cov-core/metadata.xml12
-rw-r--r--dev-python/coverage/Manifest3
-rw-r--r--dev-python/coverage/coverage-3.6.ebuild29
-rw-r--r--dev-python/coverage/coverage-3.7.1.ebuild29
-rw-r--r--dev-python/coverage/coverage-3.7.ebuild29
-rw-r--r--dev-python/coverage/metadata.xml16
-rw-r--r--dev-python/crcmod/Manifest1
-rw-r--r--dev-python/crcmod/crcmod-1.7-r2.ebuild24
-rw-r--r--dev-python/crcmod/metadata.xml14
-rw-r--r--dev-python/crumbs/Manifest3
-rw-r--r--dev-python/crumbs/crumbs-1.2.2-r1.ebuild33
-rw-r--r--dev-python/crumbs/crumbs-2.0.0.ebuild33
-rw-r--r--dev-python/crumbs/crumbs-2.0.1.ebuild32
-rw-r--r--dev-python/crumbs/metadata.xml15
-rw-r--r--dev-python/cryptography-vectors/Manifest12
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.5.4.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.6.1.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.7.1.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.7.2.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.7.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.8.1.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.8.2.ebuild26
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.8.ebuild23
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.9.1.ebuild26
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.9.2.ebuild26
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.9.3.ebuild26
-rw-r--r--dev-python/cryptography-vectors/cryptography-vectors-0.9.ebuild26
-rw-r--r--dev-python/cryptography-vectors/metadata.xml8
-rw-r--r--dev-python/cryptography/Manifest9
-rw-r--r--dev-python/cryptography/cryptography-0.5.4.ebuild36
-rw-r--r--dev-python/cryptography/cryptography-0.6.1.ebuild42
-rw-r--r--dev-python/cryptography/cryptography-0.7.1-r1.ebuild40
-rw-r--r--dev-python/cryptography/cryptography-0.7.2.ebuild38
-rw-r--r--dev-python/cryptography/cryptography-0.8.1.ebuild38
-rw-r--r--dev-python/cryptography/cryptography-0.8.2.ebuild39
-rw-r--r--dev-python/cryptography/cryptography-0.8.ebuild38
-rw-r--r--dev-python/cryptography/cryptography-0.9.2.ebuild43
-rw-r--r--dev-python/cryptography/cryptography-0.9.3.ebuild43
-rw-r--r--dev-python/cryptography/files/0.7-setup.patch22
-rw-r--r--dev-python/cryptography/metadata.xml9
-rw-r--r--dev-python/cssselect/Manifest1
-rw-r--r--dev-python/cssselect/cssselect-0.9.1.ebuild44
-rw-r--r--dev-python/cssselect/metadata.xml8
-rw-r--r--dev-python/cssutils/Manifest2
-rw-r--r--dev-python/cssutils/cssutils-0.9.10-r1.ebuild46
-rw-r--r--dev-python/cssutils/cssutils-1.0.ebuild49
-rw-r--r--dev-python/cssutils/metadata.xml17
-rw-r--r--dev-python/ctypesgen/Manifest1
-rw-r--r--dev-python/ctypesgen/ctypesgen-0_p72-r1.ebuild38
-rw-r--r--dev-python/ctypesgen/ctypesgen-0_p72.ebuild25
-rw-r--r--dev-python/ctypesgen/metadata.xml5
-rw-r--r--dev-python/curtsies/Manifest2
-rw-r--r--dev-python/curtsies/curtsies-0.1.18.ebuild35
-rw-r--r--dev-python/curtsies/curtsies-0.2.3.ebuild35
-rw-r--r--dev-python/curtsies/metadata.xml12
-rw-r--r--dev-python/cvxopt/Manifest1
-rw-r--r--dev-python/cvxopt/cvxopt-1.1.6-r2.ebuild96
-rw-r--r--dev-python/cvxopt/files/cvxopt-1.1.6-glpk.patch889
-rw-r--r--dev-python/cvxopt/files/cvxopt-1.1.6-glpk449.patch1082
-rw-r--r--dev-python/cvxopt/files/cvxopt-1.1.6-setup.patch176
-rw-r--r--dev-python/cvxopt/metadata.xml20
-rw-r--r--dev-python/cx_Freeze/Manifest3
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-4.3.1-r2.ebuild22
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-4.3.2.ebuild22
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-4.3.3.ebuild21
-rw-r--r--dev-python/cx_Freeze/files/cx_Freeze-4.3.2-buildsystem.patch31
-rw-r--r--dev-python/cx_Freeze/metadata.xml12
-rw-r--r--dev-python/cython/Manifest2
-rw-r--r--dev-python/cython/cython-0.22.1.ebuild62
-rw-r--r--dev-python/cython/cython-0.22.ebuild62
-rw-r--r--dev-python/cython/metadata.xml10
-rw-r--r--dev-python/cytoolz/Manifest3
-rw-r--r--dev-python/cytoolz/cytoolz-0.7.1.ebuild26
-rw-r--r--dev-python/cytoolz/cytoolz-0.7.2-r2.ebuild38
-rw-r--r--dev-python/cytoolz/cytoolz-0.7.3.ebuild38
-rw-r--r--dev-python/cytoolz/metadata.xml8
-rw-r--r--dev-python/d2to1/Manifest2
-rw-r--r--dev-python/d2to1/d2to1-0.2.11.ebuild21
-rw-r--r--dev-python/d2to1/d2to1-0.2.12.ebuild20
-rw-r--r--dev-python/d2to1/metadata.xml13
-rw-r--r--dev-python/dap/Manifest1
-rw-r--r--dev-python/dap/dap-2.2.6.7-r1.ebuild35
-rw-r--r--dev-python/dap/metadata.xml16
-rw-r--r--dev-python/datashape/Manifest4
-rw-r--r--dev-python/datashape/datashape-0.4.2.ebuild45
-rw-r--r--dev-python/datashape/datashape-0.4.4.ebuild45
-rw-r--r--dev-python/datashape/datashape-0.4.5.ebuild45
-rw-r--r--dev-python/datashape/datashape-0.4.6.ebuild45
-rw-r--r--dev-python/datashape/metadata.xml12
-rw-r--r--dev-python/dbus-python/Manifest1
-rw-r--r--dev-python/dbus-python/dbus-python-1.2.0-r1.ebuild81
-rw-r--r--dev-python/dbus-python/metadata.xml9
-rw-r--r--dev-python/dbutils/Manifest1
-rw-r--r--dev-python/dbutils/dbutils-1.1-r1.ebuild43
-rw-r--r--dev-python/dbutils/metadata.xml16
-rw-r--r--dev-python/ddt/Manifest1
-rw-r--r--dev-python/ddt/ddt-1.0.0.ebuild21
-rw-r--r--dev-python/ddt/metadata.xml17
-rw-r--r--dev-python/decorator/Manifest3
-rw-r--r--dev-python/decorator/decorator-3.4.0-r1.ebuild31
-rw-r--r--dev-python/decorator/decorator-3.4.2.ebuild28
-rw-r--r--dev-python/decorator/decorator-4.0.2.ebuild30
-rw-r--r--dev-python/decorator/files/decorator-3.4.0-test-failure-exit.patch35
-rw-r--r--dev-python/decorator/metadata.xml12
-rw-r--r--dev-python/decoratortools/Manifest1
-rw-r--r--dev-python/decoratortools/decoratortools-1.8-r1.ebuild35
-rw-r--r--dev-python/decoratortools/metadata.xml9
-rw-r--r--dev-python/deform/Manifest2
-rw-r--r--dev-python/deform/deform-0.9.8.ebuild41
-rw-r--r--dev-python/deform/deform-0.9.9.ebuild41
-rw-r--r--dev-python/deform/metadata.xml9
-rw-r--r--dev-python/defusedxml/Manifest1
-rw-r--r--dev-python/defusedxml/defusedxml-0.4.1-r1.ebuild27
-rw-r--r--dev-python/defusedxml/metadata.xml9
-rw-r--r--dev-python/demjson/Manifest3
-rw-r--r--dev-python/demjson/demjson-1.6.ebuild42
-rw-r--r--dev-python/demjson/demjson-2.2.2.ebuild36
-rw-r--r--dev-python/demjson/demjson-2.2.3.ebuild36
-rw-r--r--dev-python/demjson/metadata.xml5
-rw-r--r--dev-python/dicttoxml/Manifest2
-rw-r--r--dev-python/dicttoxml/dicttoxml-1.5.6.ebuild16
-rw-r--r--dev-python/dicttoxml/dicttoxml-1.6.6.ebuild16
-rw-r--r--dev-python/dicttoxml/metadata.xml13
-rw-r--r--dev-python/diff-match-patch/Manifest1
-rw-r--r--dev-python/diff-match-patch/diff-match-patch-20121119.ebuild25
-rw-r--r--dev-python/diff-match-patch/metadata.xml25
-rw-r--r--dev-python/dingus/Manifest1
-rw-r--r--dev-python/dingus/dingus-0.3.4-r1.ebuild25
-rw-r--r--dev-python/dingus/metadata.xml12
-rw-r--r--dev-python/discogs-client/Manifest2
-rw-r--r--dev-python/discogs-client/discogs-client-2.0.2.ebuild30
-rw-r--r--dev-python/discogs-client/discogs-client-2.2.0.ebuild33
-rw-r--r--dev-python/discogs-client/files/README.patch25
-rw-r--r--dev-python/discogs-client/metadata.xml13
-rw-r--r--dev-python/disqus-python/Manifest1
-rw-r--r--dev-python/disqus-python/disqus-python-0.4.2.ebuild29
-rw-r--r--dev-python/disqus-python/metadata.xml13
-rw-r--r--dev-python/django-annoying/Manifest3
-rw-r--r--dev-python/django-annoying/django-annoying-0.7.6-r1.ebuild20
-rw-r--r--dev-python/django-annoying/django-annoying-0.7.7.ebuild20
-rw-r--r--dev-python/django-annoying/django-annoying-0.8.2.ebuild20
-rw-r--r--dev-python/django-annoying/metadata.xml9
-rw-r--r--dev-python/django-appconf/Manifest1
-rw-r--r--dev-python/django-appconf/django-appconf-0.6.ebuild44
-rw-r--r--dev-python/django-appconf/files/docs.patch16
-rw-r--r--dev-python/django-appconf/metadata.xml8
-rw-r--r--dev-python/django-auth-ldap/Manifest2
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-1.2.2.ebuild44
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-1.2.6.ebuild42
-rw-r--r--dev-python/django-auth-ldap/files/docs.patch18
-rw-r--r--dev-python/django-auth-ldap/metadata.xml9
-rw-r--r--dev-python/django-baker/Manifest1
-rw-r--r--dev-python/django-baker/django-baker-0.11-r2.ebuild23
-rw-r--r--dev-python/django-baker/files/django-baker-0.11-py3-backport.patch50
-rw-r--r--dev-python/django-baker/files/django-baker-0.11-py3-iter.patch42
-rw-r--r--dev-python/django-baker/metadata.xml12
-rw-r--r--dev-python/django-celery/Manifest1
-rw-r--r--dev-python/django-celery/django-celery-3.1.16.ebuild53
-rw-r--r--dev-python/django-celery/metadata.xml9
-rw-r--r--dev-python/django-compressor/Manifest2
-rw-r--r--dev-python/django-compressor/django-compressor-1.4.ebuild62
-rw-r--r--dev-python/django-compressor/django-compressor-1.5.ebuild62
-rw-r--r--dev-python/django-compressor/files/django-compressor-1.4-test.patch306
-rw-r--r--dev-python/django-compressor/metadata.xml8
-rw-r--r--dev-python/django-crispy-forms/Manifest1
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-1.4.0.ebuild31
-rw-r--r--dev-python/django-crispy-forms/metadata.xml13
-rw-r--r--dev-python/django-debug-toolbar/Manifest1
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-1.3.2.ebuild53
-rw-r--r--dev-python/django-debug-toolbar/metadata.xml8
-rw-r--r--dev-python/django-discover-runner/Manifest2
-rw-r--r--dev-python/django-discover-runner/django-discover-runner-0.4.ebuild21
-rw-r--r--dev-python/django-discover-runner/django-discover-runner-1.0.ebuild22
-rw-r--r--dev-python/django-discover-runner/metadata.xml9
-rw-r--r--dev-python/django-endless-pagination/Manifest1
-rw-r--r--dev-python/django-endless-pagination/django-endless-pagination-2.0.ebuild50
-rw-r--r--dev-python/django-endless-pagination/metadata.xml12
-rw-r--r--dev-python/django-evolution/Manifest3
-rw-r--r--dev-python/django-evolution/django-evolution-0.6.9.ebuild47
-rw-r--r--dev-python/django-evolution/django-evolution-0.7.4.ebuild37
-rw-r--r--dev-python/django-evolution/django-evolution-0.7.5.ebuild37
-rw-r--r--dev-python/django-evolution/metadata.xml12
-rw-r--r--dev-python/django-extensions/Manifest5
-rw-r--r--dev-python/django-extensions/django-extensions-1.4.0.ebuild56
-rw-r--r--dev-python/django-extensions/django-extensions-1.5.0.ebuild63
-rw-r--r--dev-python/django-extensions/django-extensions-1.5.2.ebuild59
-rw-r--r--dev-python/django-extensions/django-extensions-1.5.3.ebuild59
-rw-r--r--dev-python/django-extensions/django-extensions-1.5.5.ebuild60
-rw-r--r--dev-python/django-extensions/metadata.xml17
-rw-r--r--dev-python/django-formtools/Manifest1
-rw-r--r--dev-python/django-formtools/django-formtools-1.0.ebuild30
-rw-r--r--dev-python/django-formtools/metadata.xml12
-rw-r--r--dev-python/django-haystack/Manifest2
-rw-r--r--dev-python/django-haystack/django-haystack-2.2.0.ebuild31
-rw-r--r--dev-python/django-haystack/django-haystack-2.3.1.ebuild51
-rw-r--r--dev-python/django-haystack/metadata.xml8
-rw-r--r--dev-python/django-international/Manifest2
-rw-r--r--dev-python/django-international/django-international-0.0.3.ebuild28
-rw-r--r--dev-python/django-international/django-international-0.0.6.ebuild20
-rw-r--r--dev-python/django-international/metadata.xml9
-rw-r--r--dev-python/django-ldap-groups/Manifest1
-rw-r--r--dev-python/django-ldap-groups/django-ldap-groups-0.1.3-r1.ebuild23
-rw-r--r--dev-python/django-ldap-groups/metadata.xml10
-rw-r--r--dev-python/django-ldapdb/Manifest1
-rw-r--r--dev-python/django-ldapdb/django-ldapdb-0.3.2.ebuild21
-rw-r--r--dev-python/django-ldapdb/metadata.xml13
-rw-r--r--dev-python/django-nose/Manifest3
-rw-r--r--dev-python/django-nose/django-nose-1.3.ebuild29
-rw-r--r--dev-python/django-nose/django-nose-1.4.1.ebuild36
-rw-r--r--dev-python/django-nose/django-nose-1.4.ebuild29
-rw-r--r--dev-python/django-nose/metadata.xml9
-rw-r--r--dev-python/django-oauth-plus/Manifest1
-rw-r--r--dev-python/django-oauth-plus/django-oauth-plus-2.2.8.ebuild35
-rw-r--r--dev-python/django-oauth-plus/metadata.xml8
-rw-r--r--dev-python/django-openid-auth/Manifest1
-rw-r--r--dev-python/django-openid-auth/django-openid-auth-0.5.ebuild25
-rw-r--r--dev-python/django-openid-auth/metadata.xml13
-rw-r--r--dev-python/django-opensearch/Manifest1
-rw-r--r--dev-python/django-opensearch/django-opensearch-0.2.4.ebuild20
-rw-r--r--dev-python/django-opensearch/metadata.xml11
-rw-r--r--dev-python/django-openstack-auth/Manifest3
-rw-r--r--dev-python/django-openstack-auth/django-openstack-auth-1.1.5.ebuild39
-rw-r--r--dev-python/django-openstack-auth/django-openstack-auth-1.2.0.ebuild48
-rw-r--r--dev-python/django-openstack-auth/django-openstack-auth-1.3.1.ebuild68
-rw-r--r--dev-python/django-openstack-auth/metadata.xml15
-rw-r--r--dev-python/django-otp-yubikey/Manifest2
-rw-r--r--dev-python/django-otp-yubikey/django-otp-yubikey-0.2.0.ebuild25
-rw-r--r--dev-python/django-otp-yubikey/django-otp-yubikey-0.3.1.ebuild25
-rw-r--r--dev-python/django-otp-yubikey/metadata.xml12
-rw-r--r--dev-python/django-otp/Manifest2
-rw-r--r--dev-python/django-otp/django-otp-0.2.7.ebuild23
-rw-r--r--dev-python/django-otp/django-otp-0.3.1.ebuild23
-rw-r--r--dev-python/django-otp/metadata.xml12
-rw-r--r--dev-python/django-picklefield/Manifest2
-rw-r--r--dev-python/django-picklefield/django-picklefield-0.3.0.ebuild23
-rw-r--r--dev-python/django-picklefield/django-picklefield-0.3.1.ebuild23
-rw-r--r--dev-python/django-picklefield/metadata.xml9
-rw-r--r--dev-python/django-pipeline/Manifest2
-rw-r--r--dev-python/django-pipeline/django-pipeline-1.3.25.ebuild51
-rw-r--r--dev-python/django-pipeline/django-pipeline-1.3.26.ebuild55
-rw-r--r--dev-python/django-pipeline/files/1.3.26-tests.patch64
-rw-r--r--dev-python/django-pipeline/metadata.xml8
-rw-r--r--dev-python/django-piston/Manifest1
-rw-r--r--dev-python/django-piston/django-piston-0.2.3-r1.ebuild22
-rw-r--r--dev-python/django-piston/django-piston-9999.ebuild24
-rw-r--r--dev-python/django-piston/metadata.xml13
-rw-r--r--dev-python/django-recaptcha/Manifest2
-rw-r--r--dev-python/django-recaptcha/django-recaptcha-1.0.3.ebuild27
-rw-r--r--dev-python/django-recaptcha/django-recaptcha-1.0.4.ebuild27
-rw-r--r--dev-python/django-recaptcha/files/django-recaptcha-fields.patch18
-rw-r--r--dev-python/django-recaptcha/files/django-recaptcha-settings.patch6
-rw-r--r--dev-python/django-recaptcha/files/test_settings.py14
-rw-r--r--dev-python/django-recaptcha/metadata.xml9
-rw-r--r--dev-python/django-registration/Manifest2
-rw-r--r--dev-python/django-registration/django-registration-0.8-r1.ebuild21
-rw-r--r--dev-python/django-registration/django-registration-1.0.ebuild21
-rw-r--r--dev-python/django-registration/metadata.xml12
-rw-r--r--dev-python/django-select2/Manifest4
-rw-r--r--dev-python/django-select2/django-select2-3.2.1.ebuild23
-rw-r--r--dev-python/django-select2/django-select2-4.0.0.ebuild23
-rw-r--r--dev-python/django-select2/django-select2-4.2.2.ebuild23
-rw-r--r--dev-python/django-select2/django-select2-4.3.1.ebuild23
-rw-r--r--dev-python/django-select2/metadata.xml16
-rw-r--r--dev-python/django-setuptest/Manifest1
-rw-r--r--dev-python/django-setuptest/django-setuptest-0.1.6.ebuild24
-rw-r--r--dev-python/django-setuptest/metadata.xml12
-rw-r--r--dev-python/django-social-auth/Manifest1
-rw-r--r--dev-python/django-social-auth/django-social-auth-0.7.28.ebuild44
-rw-r--r--dev-python/django-social-auth/metadata.xml12
-rw-r--r--dev-python/django-tables2/Manifest2
-rw-r--r--dev-python/django-tables2/django-tables2-0.16.0-r1.ebuild25
-rw-r--r--dev-python/django-tables2/django-tables2-0.16.0.ebuild23
-rw-r--r--dev-python/django-tables2/django-tables2-1.0.4.ebuild23
-rw-r--r--dev-python/django-tables2/files/django-tables2-0.16.0-django-1.9-deprecation.patch118
-rw-r--r--dev-python/django-tables2/metadata.xml13
-rw-r--r--dev-python/django-tagging/Manifest3
-rw-r--r--dev-python/django-tagging/django-tagging-0.3.4.ebuild25
-rw-r--r--dev-python/django-tagging/django-tagging-0.3.6.ebuild24
-rw-r--r--dev-python/django-tagging/django-tagging-0.4.ebuild24
-rw-r--r--dev-python/django-tagging/metadata.xml8
-rw-r--r--dev-python/django-tastypie/Manifest1
-rw-r--r--dev-python/django-tastypie/django-tastypie-0.9.15.ebuild61
-rw-r--r--dev-python/django-tastypie/files/runtests.patch46
-rw-r--r--dev-python/django-tastypie/metadata.xml18
-rw-r--r--dev-python/django-tinymce/Manifest1
-rw-r--r--dev-python/django-tinymce/django-tinymce-1.5.3.ebuild27
-rw-r--r--dev-python/django-tinymce/metadata.xml8
-rw-r--r--dev-python/django-two-factor-auth/Manifest2
-rw-r--r--dev-python/django-two-factor-auth/django-two-factor-auth-1.1.1.ebuild42
-rw-r--r--dev-python/django-two-factor-auth/django-two-factor-auth-1.2.0.ebuild42
-rw-r--r--dev-python/django-two-factor-auth/metadata.xml14
-rw-r--r--dev-python/django-xslt/Manifest2
-rw-r--r--dev-python/django-xslt/django-xslt-0.4.5-r1.ebuild36
-rw-r--r--dev-python/django-xslt/metadata.xml12
-rw-r--r--dev-python/django/Manifest5
-rw-r--r--dev-python/django/django-1.4.21.ebuild104
-rw-r--r--dev-python/django/django-1.5.10.ebuild85
-rw-r--r--dev-python/django/django-1.6.11.ebuild106
-rw-r--r--dev-python/django/django-1.7.9.ebuild105
-rw-r--r--dev-python/django/django-1.8.3.ebuild107
-rw-r--r--dev-python/django/django-9999.ebuild105
-rw-r--r--dev-python/django/files/django-1.4.19-bashcomp.patch37
-rw-r--r--dev-python/django/files/django-1.5-py3tests.patch22
-rw-r--r--dev-python/django/files/django-1.5.4-objects.patch31
-rw-r--r--dev-python/django/files/django-1.6-objects.patch18
-rw-r--r--dev-python/django/files/django-1.6.10-bashcomp.patch35
-rw-r--r--dev-python/django/files/django-1.7.6-bashcomp.patch34
-rw-r--r--dev-python/django/metadata.xml8
-rw-r--r--dev-python/dnspython/Manifest3
-rw-r--r--dev-python/dnspython/dnspython-1.11.1.ebuild46
-rw-r--r--dev-python/dnspython/dnspython-1.12.0-r1.ebuild71
-rw-r--r--dev-python/dnspython/dnspython-1.12.0.ebuild35
-rw-r--r--dev-python/dnspython/metadata.xml21
-rw-r--r--dev-python/docker-py/Manifest5
-rw-r--r--dev-python/docker-py/docker-py-1.1.0-r2.ebuild49
-rw-r--r--dev-python/docker-py/docker-py-1.2.2.ebuild44
-rw-r--r--dev-python/docker-py/docker-py-1.2.3.ebuild44
-rw-r--r--dev-python/docker-py/docker-py-1.3.0.ebuild31
-rw-r--r--dev-python/docker-py/docker-py-1.3.1.ebuild44
-rw-r--r--dev-python/docker-py/metadata.xml12
-rw-r--r--dev-python/dockerpty/Manifest3
-rw-r--r--dev-python/dockerpty/dockerpty-0.3.2.ebuild47
-rw-r--r--dev-python/dockerpty/dockerpty-0.3.3.ebuild47
-rw-r--r--dev-python/dockerpty/dockerpty-0.3.4.ebuild47
-rw-r--r--dev-python/dockerpty/metadata.xml13
-rw-r--r--dev-python/docopt/Manifest1
-rw-r--r--dev-python/docopt/docopt-0.6.2.ebuild33
-rw-r--r--dev-python/docopt/metadata.xml12
-rw-r--r--dev-python/docutils-glep/Manifest1
-rw-r--r--dev-python/docutils-glep/docutils-glep-0.4-r1.ebuild46
-rw-r--r--dev-python/docutils-glep/metadata.xml5
-rw-r--r--dev-python/docutils/Manifest5
-rw-r--r--dev-python/docutils/docutils-0.10.ebuild72
-rw-r--r--dev-python/docutils/docutils-0.11.ebuild71
-rw-r--r--dev-python/docutils/docutils-0.12.ebuild69
-rw-r--r--dev-python/docutils/docutils-0.9.1-r1.ebuild93
-rw-r--r--dev-python/docutils/files/docutils-0.10-optparser.patch34
-rw-r--r--dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch30
-rw-r--r--dev-python/docutils/files/docutils-0.6-extra_modules.patch24
-rw-r--r--dev-python/docutils/files/docutils-0.7-encoding.patch83
-rw-r--r--dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch49
-rw-r--r--dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch16
-rw-r--r--dev-python/docutils/metadata.xml11
-rw-r--r--dev-python/dogpile-cache/Manifest3
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-0.5.1.ebuild30
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-0.5.2.ebuild37
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-0.5.4.ebuild38
-rw-r--r--dev-python/dogpile-cache/metadata.xml18
-rw-r--r--dev-python/dogpile-core/Manifest1
-rw-r--r--dev-python/dogpile-core/dogpile-core-0.4.1.ebuild26
-rw-r--r--dev-python/dogpile-core/metadata.xml18
-rw-r--r--dev-python/doit-py/Manifest1
-rw-r--r--dev-python/doit-py/doit-py-0.3.0.ebuild39
-rw-r--r--dev-python/doit-py/metadata.xml8
-rw-r--r--dev-python/doit/Manifest3
-rw-r--r--dev-python/doit/doit-0.23.0-r1.ebuild63
-rw-r--r--dev-python/doit/doit-0.27.0.ebuild63
-rw-r--r--dev-python/doit/doit-0.28.0.ebuild69
-rw-r--r--dev-python/doit/metadata.xml12
-rw-r--r--dev-python/doublex-expects/Manifest1
-rw-r--r--dev-python/doublex-expects/doublex-expects-0.4.0.ebuild30
-rw-r--r--dev-python/doublex-expects/metadata.xml13
-rw-r--r--dev-python/doublex/Manifest2
-rw-r--r--dev-python/doublex/doublex-1.7.ebuild35
-rw-r--r--dev-python/doublex/doublex-1.8.1.ebuild44
-rw-r--r--dev-python/doublex/metadata.xml14
-rw-r--r--dev-python/dpkt/Manifest1
-rw-r--r--dev-python/dpkt/dpkt-1.8-r1.ebuild35
-rw-r--r--dev-python/dpkt/metadata.xml8
-rw-r--r--dev-python/dreampie/Manifest1
-rw-r--r--dev-python/dreampie/dreampie-1.2.1.ebuild23
-rw-r--r--dev-python/dreampie/metadata.xml15
-rw-r--r--dev-python/drpython/Manifest1
-rw-r--r--dev-python/drpython/drpython-3.11.4.ebuild47
-rw-r--r--dev-python/drpython/files/drpython-165-wxversion.patch12
-rw-r--r--dev-python/drpython/metadata.xml17
-rw-r--r--dev-python/dugong/Manifest2
-rw-r--r--dev-python/dugong/dugong-3.4.ebuild30
-rw-r--r--dev-python/dugong/dugong-3.5.ebuild30
-rw-r--r--dev-python/dugong/files/3.2-aborted_write.patch45
-rw-r--r--dev-python/dugong/files/3.2-extract_links.patch26
-rw-r--r--dev-python/dugong/files/3.2-timeout.patch19
-rw-r--r--dev-python/dugong/files/3.3-test-timeout.patch128
-rw-r--r--dev-python/dugong/metadata.xml9
-rw-r--r--dev-python/dulwich/Manifest3
-rw-r--r--dev-python/dulwich/dulwich-0.10.0.ebuild44
-rw-r--r--dev-python/dulwich/dulwich-0.10.1a.ebuild44
-rw-r--r--dev-python/dulwich/dulwich-0.9.9.ebuild44
-rw-r--r--dev-python/dulwich/metadata.xml13
-rw-r--r--dev-python/dynd-python/Manifest2
-rw-r--r--dev-python/dynd-python/dynd-python-0.6.5.ebuild75
-rw-r--r--dev-python/dynd-python/dynd-python-0.6.6.ebuild73
-rw-r--r--dev-python/dynd-python/files/dynd-python-0.6.0-out-of-git-versioning.patch13
-rw-r--r--dev-python/dynd-python/files/dynd-python-0.6.2-out-of-git-versioning.patch14
-rw-r--r--dev-python/dynd-python/metadata.xml13
-rw-r--r--dev-python/ecdsa/Manifest2
-rw-r--r--dev-python/ecdsa/ecdsa-0.11-r1.ebuild19
-rw-r--r--dev-python/ecdsa/ecdsa-0.13.ebuild24
-rw-r--r--dev-python/ecdsa/metadata.xml21
-rw-r--r--dev-python/editobj/Manifest1
-rw-r--r--dev-python/editobj/editobj-0.5.7-r1.ebuild34
-rw-r--r--dev-python/editobj/editobj-0.5.7-r2.ebuild30
-rw-r--r--dev-python/editobj/metadata.xml10
-rw-r--r--dev-python/edpwd/Manifest1
-rw-r--r--dev-python/edpwd/edpwd-0.0.7.ebuild26
-rw-r--r--dev-python/edpwd/metadata.xml11
-rw-r--r--dev-python/egenix-mx-base/Manifest2
-rw-r--r--dev-python/egenix-mx-base/egenix-mx-base-3.2.5.ebuild63
-rw-r--r--dev-python/egenix-mx-base/egenix-mx-base-3.2.8.ebuild67
-rw-r--r--dev-python/egenix-mx-base/files/egenix-mx-base-3.2.6-tests.patch34
-rw-r--r--dev-python/egenix-mx-base/metadata.xml5
-rw-r--r--dev-python/egg-python/Manifest1
-rw-r--r--dev-python/egg-python/egg-python-2.25.3-r1.ebuild35
-rw-r--r--dev-python/egg-python/files/egg-python-2.25.3-python-libs.patch59
-rw-r--r--dev-python/egg-python/metadata.xml6
-rw-r--r--dev-python/elasticsearch-curator/Manifest6
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-2.1.2.ebuild79
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-3.0.0.ebuild94
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-3.2.3.ebuild99
-rw-r--r--dev-python/elasticsearch-curator/metadata.xml16
-rw-r--r--dev-python/elasticsearch-py/Manifest3
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-1.4.0.ebuild21
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-1.5.0.ebuild54
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-1.6.0.ebuild55
-rw-r--r--dev-python/elasticsearch-py/metadata.xml16
-rw-r--r--dev-python/elementtree/Manifest1
-rw-r--r--dev-python/elementtree/elementtree-1.2.6-r3.ebuild39
-rw-r--r--dev-python/elementtree/metadata.xml5
-rw-r--r--dev-python/elib-intl/Manifest1
-rw-r--r--dev-python/elib-intl/elib-intl-0_pre20110711.ebuild21
-rw-r--r--dev-python/elib-intl/metadata.xml21
-rw-r--r--dev-python/eliot/Manifest1
-rw-r--r--dev-python/eliot/eliot-0.4.0.ebuild38
-rw-r--r--dev-python/eliot/metadata.xml12
-rw-r--r--dev-python/embedly/Manifest2
-rw-r--r--dev-python/embedly/embedly-0.4.3-r1.ebuild27
-rw-r--r--dev-python/embedly/embedly-0.5.0.ebuild25
-rw-r--r--dev-python/embedly/metadata.xml9
-rw-r--r--dev-python/empy/Manifest2
-rw-r--r--dev-python/empy/empy-3.3-r1.ebuild45
-rw-r--r--dev-python/empy/empy-3.3.2.ebuild40
-rw-r--r--dev-python/empy/metadata.xml5
-rw-r--r--dev-python/enable/Manifest1
-rw-r--r--dev-python/enable/enable-4.4.1.ebuild64
-rw-r--r--dev-python/enable/files/enable-3.3.0-nofreetype.patch127
-rw-r--r--dev-python/enable/files/enable-4-rogue-tests.patch47
-rw-r--r--dev-python/enable/metadata.xml15
-rw-r--r--dev-python/enaml/Manifest2
-rw-r--r--dev-python/enaml/enaml-0.6.8-r1.ebuild57
-rw-r--r--dev-python/enaml/enaml-0.9.8.ebuild60
-rw-r--r--dev-python/enaml/metadata.xml14
-rw-r--r--dev-python/encore/Manifest3
-rw-r--r--dev-python/encore/encore-0.3.ebuild52
-rw-r--r--dev-python/encore/encore-0.4.0.ebuild50
-rw-r--r--dev-python/encore/encore-0.5.1.ebuild37
-rw-r--r--dev-python/encore/files/encore-0.5.1-pypy-tests.patch36
-rw-r--r--dev-python/encore/metadata.xml15
-rw-r--r--dev-python/enum34/Manifest2
-rw-r--r--dev-python/enum34/enum34-1.0.4.ebuild30
-rw-r--r--dev-python/enum34/enum34-1.0.ebuild30
-rw-r--r--dev-python/enum34/metadata.xml14
-rw-r--r--dev-python/envisage/Manifest1
-rw-r--r--dev-python/envisage/envisage-4.4.0.ebuild36
-rw-r--r--dev-python/envisage/metadata.xml18
-rw-r--r--dev-python/envoy/Manifest1
-rw-r--r--dev-python/envoy/envoy-0.0.3.ebuild25
-rw-r--r--dev-python/envoy/files/test_envoy.py52
-rw-r--r--dev-python/envoy/metadata.xml9
-rw-r--r--dev-python/enzyme/Manifest2
-rw-r--r--dev-python/enzyme/enzyme-0.4.1.ebuild42
-rw-r--r--dev-python/enzyme/enzyme-9999.ebuild42
-rw-r--r--dev-python/enzyme/metadata.xml13
-rw-r--r--dev-python/epsilon/Manifest2
-rw-r--r--dev-python/epsilon/epsilon-0.6.0-r2.ebuild47
-rw-r--r--dev-python/epsilon/epsilon-0.7.0.ebuild56
-rw-r--r--dev-python/epsilon/files/epsilon_plugincache_portagesandbox.patch12
-rw-r--r--dev-python/epsilon/metadata.xml12
-rw-r--r--dev-python/epydoc/Manifest1
-rw-r--r--dev-python/epydoc/epydoc-3.0.1-r2.ebuild47
-rw-r--r--dev-python/epydoc/files/epydoc-docutils-0.6.patch27
-rw-r--r--dev-python/epydoc/files/epydoc-python-2.6.patch60
-rw-r--r--dev-python/epydoc/metadata.xml23
-rw-r--r--dev-python/errorhandler/Manifest1
-rw-r--r--dev-python/errorhandler/errorhandler-1.1.1-r2.ebuild50
-rw-r--r--dev-python/errorhandler/files/docs.patch12
-rw-r--r--dev-python/errorhandler/files/errorhandler-1.1.1-test.patch9
-rw-r--r--dev-python/errorhandler/metadata.xml12
-rw-r--r--dev-python/ets/Manifest1
-rw-r--r--dev-python/ets/ets-4.4.1.ebuild40
-rw-r--r--dev-python/ets/metadata.xml20
-rw-r--r--dev-python/etsdevtools/Manifest1
-rw-r--r--dev-python/etsdevtools/etsdevtools-4.0.2-r1.ebuild49
-rw-r--r--dev-python/etsdevtools/metadata.xml30
-rw-r--r--dev-python/etsproxy/Manifest1
-rw-r--r--dev-python/etsproxy/etsproxy-0.1.2-r1.ebuild39
-rw-r--r--dev-python/etsproxy/metadata.xml11
-rw-r--r--dev-python/eunuchs/Manifest1
-rw-r--r--dev-python/eunuchs/eunuchs-20050320.1-r1.ebuild27
-rw-r--r--dev-python/eunuchs/files/eunuchs-20050320.1-python-2.5.patch11
-rw-r--r--dev-python/eunuchs/metadata.xml14
-rw-r--r--dev-python/eventlet/Manifest4
-rw-r--r--dev-python/eventlet/eventlet-0.13.0.ebuild45
-rw-r--r--dev-python/eventlet/eventlet-0.15.2.ebuild63
-rw-r--r--dev-python/eventlet/eventlet-0.17.1.ebuild64
-rw-r--r--dev-python/eventlet/eventlet-0.17.4.ebuild64
-rw-r--r--dev-python/eventlet/metadata.xml9
-rw-r--r--dev-python/execnet/Manifest2
-rw-r--r--dev-python/execnet/execnet-1.2.0-r2.ebuild48
-rw-r--r--dev-python/execnet/execnet-1.3.0.ebuild49
-rw-r--r--dev-python/execnet/files/1.2.0-tests.patch115
-rw-r--r--dev-python/execnet/metadata.xml14
-rw-r--r--dev-python/expects/Manifest5
-rw-r--r--dev-python/expects/expects-0.2.1.ebuild44
-rw-r--r--dev-python/expects/expects-0.4.2.ebuild41
-rw-r--r--dev-python/expects/expects-0.7.1.ebuild38
-rw-r--r--dev-python/expects/expects-0.7.2.ebuild38
-rw-r--r--dev-python/expects/expects-0.8.0_rc1.ebuild40
-rw-r--r--dev-python/expects/metadata.xml14
-rw-r--r--dev-python/extras/Manifest1
-rw-r--r--dev-python/extras/extras-0.0.3.ebuild26
-rw-r--r--dev-python/extras/metadata.xml9
-rw-r--r--dev-python/extremes/Manifest1
-rw-r--r--dev-python/extremes/extremes-1.1.1.ebuild29
-rw-r--r--dev-python/extremes/metadata.xml8
-rw-r--r--dev-python/eyeD3/Manifest1
-rw-r--r--dev-python/eyeD3/eyeD3-0.7.5.ebuild38
-rw-r--r--dev-python/eyeD3/metadata.xml6
-rw-r--r--dev-python/fabric/Manifest3
-rw-r--r--dev-python/fabric/fabric-1.10.0-r1.ebuild67
-rw-r--r--dev-python/fabric/fabric-1.10.1.ebuild63
-rw-r--r--dev-python/fabric/fabric-1.10.2.ebuild63
-rw-r--r--dev-python/fabric/files/doc-extensions.patch13
-rw-r--r--dev-python/fabric/files/fabric-1.4.2-git_tags_docs.patch21
-rw-r--r--dev-python/fabric/metadata.xml8
-rw-r--r--dev-python/falcon/Manifest4
-rw-r--r--dev-python/falcon/falcon-0.1.6.ebuild43
-rw-r--r--dev-python/falcon/falcon-0.1.7.ebuild44
-rw-r--r--dev-python/falcon/falcon-0.1.8.ebuild48
-rw-r--r--dev-python/falcon/falcon-0.1.9.ebuild48
-rw-r--r--dev-python/falcon/metadata.xml14
-rw-r--r--dev-python/feedgenerator/Manifest2
-rw-r--r--dev-python/feedgenerator/feedgenerator-1.6.ebuild31
-rw-r--r--dev-python/feedgenerator/feedgenerator-1.7.ebuild31
-rw-r--r--dev-python/feedgenerator/metadata.xml8
-rw-r--r--dev-python/feedparser/Manifest1
-rw-r--r--dev-python/feedparser/feedparser-5.1.3-r2.ebuild44
-rw-r--r--dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch26
-rw-r--r--dev-python/feedparser/files/feedparser-5.1-sgmllib.patch78
-rw-r--r--dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch32
-rw-r--r--dev-python/feedparser/metadata.xml9
-rw-r--r--dev-python/fexpect/Manifest1
-rw-r--r--dev-python/fexpect/fexpect-0.2.ebuild31
-rw-r--r--dev-python/fexpect/metadata.xml11
-rw-r--r--dev-python/figleaf/Manifest1
-rw-r--r--dev-python/figleaf/figleaf-0.6.1-r1.ebuild27
-rw-r--r--dev-python/figleaf/metadata.xml5
-rw-r--r--dev-python/fixtures/Manifest4
-rw-r--r--dev-python/fixtures/fixtures-0.3.14-r2.ebuild31
-rw-r--r--dev-python/fixtures/fixtures-1.2.0.ebuild28
-rw-r--r--dev-python/fixtures/fixtures-1.3.0.ebuild29
-rw-r--r--dev-python/fixtures/fixtures-1.3.1-r1.ebuild31
-rw-r--r--dev-python/fixtures/metadata.xml20
-rw-r--r--dev-python/flake8/Manifest5
-rw-r--r--dev-python/flake8/flake8-2.0-r1.ebuild32
-rw-r--r--dev-python/flake8/flake8-2.1.0.ebuild38
-rw-r--r--dev-python/flake8/flake8-2.2.5.ebuild37
-rw-r--r--dev-python/flake8/flake8-2.4.0-r1.ebuild41
-rw-r--r--dev-python/flake8/flake8-2.4.0.ebuild37
-rw-r--r--dev-python/flake8/flake8-2.4.1.ebuild41
-rw-r--r--dev-python/flake8/metadata.xml9
-rw-r--r--dev-python/flask-admin/Manifest3
-rw-r--r--dev-python/flask-admin/flask-admin-1.0.6.ebuild47
-rw-r--r--dev-python/flask-admin/flask-admin-1.1.0.ebuild54
-rw-r--r--dev-python/flask-admin/flask-admin-1.2.0.ebuild55
-rw-r--r--dev-python/flask-admin/metadata.xml8
-rw-r--r--dev-python/flask-babel/Manifest2
-rw-r--r--dev-python/flask-babel/flask-babel-0.8-r1.ebuild44
-rw-r--r--dev-python/flask-babel/flask-babel-0.9.ebuild34
-rw-r--r--dev-python/flask-babel/metadata.xml8
-rw-r--r--dev-python/flask-cors/Manifest2
-rw-r--r--dev-python/flask-cors/flask-cors-1.8.0.ebuild42
-rw-r--r--dev-python/flask-cors/flask-cors-1.9.0.ebuild69
-rw-r--r--dev-python/flask-cors/metadata.xml17
-rw-r--r--dev-python/flask-dashed/Manifest1
-rw-r--r--dev-python/flask-dashed/flask-dashed-0.1b_p2.ebuild33
-rw-r--r--dev-python/flask-dashed/metadata.xml8
-rw-r--r--dev-python/flask-evolution/Manifest2
-rw-r--r--dev-python/flask-evolution/flask-evolution-0.5-r1.ebuild28
-rw-r--r--dev-python/flask-evolution/flask-evolution-0.6.ebuild28
-rw-r--r--dev-python/flask-evolution/metadata.xml8
-rw-r--r--dev-python/flask-login/Manifest1
-rw-r--r--dev-python/flask-login/flask-login-0.2.11.ebuild25
-rw-r--r--dev-python/flask-login/metadata.xml8
-rw-r--r--dev-python/flask-mail/Manifest2
-rw-r--r--dev-python/flask-mail/flask-mail-0.9.0.ebuild43
-rw-r--r--dev-python/flask-mail/flask-mail-0.9.1.ebuild43
-rw-r--r--dev-python/flask-mail/metadata.xml8
-rw-r--r--dev-python/flask-migrate/Manifest4
-rw-r--r--dev-python/flask-migrate/flask-migrate-1.2.0.ebuild34
-rw-r--r--dev-python/flask-migrate/flask-migrate-1.3.0.ebuild34
-rw-r--r--dev-python/flask-migrate/flask-migrate-1.3.1.ebuild34
-rw-r--r--dev-python/flask-migrate/flask-migrate-1.4.0.ebuild34
-rw-r--r--dev-python/flask-migrate/metadata.xml8
-rw-r--r--dev-python/flask-mongoengine/Manifest2
-rw-r--r--dev-python/flask-mongoengine/flask-mongoengine-0.7.0.ebuild32
-rw-r--r--dev-python/flask-mongoengine/flask-mongoengine-0.7.1.ebuild41
-rw-r--r--dev-python/flask-mongoengine/metadata.xml8
-rw-r--r--dev-python/flask-openid/Manifest2
-rw-r--r--dev-python/flask-openid/flask-openid-1.2.3.ebuild46
-rw-r--r--dev-python/flask-openid/flask-openid-1.2.4.ebuild46
-rw-r--r--dev-python/flask-openid/metadata.xml8
-rw-r--r--dev-python/flask-peewee/Manifest2
-rw-r--r--dev-python/flask-peewee/flask-peewee-0.6.5.ebuild32
-rw-r--r--dev-python/flask-peewee/flask-peewee-0.6.6.ebuild48
-rw-r--r--dev-python/flask-peewee/metadata.xml8
-rw-r--r--dev-python/flask-principal/Manifest1
-rw-r--r--dev-python/flask-principal/flask-principal-0.4.0.ebuild33
-rw-r--r--dev-python/flask-principal/metadata.xml8
-rw-r--r--dev-python/flask-pymongo/Manifest2
-rw-r--r--dev-python/flask-pymongo/files/docbuild.patch16
-rw-r--r--dev-python/flask-pymongo/flask-pymongo-0.3.0.ebuild45
-rw-r--r--dev-python/flask-pymongo/flask-pymongo-0.3.1.ebuild50
-rw-r--r--dev-python/flask-pymongo/metadata.xml13
-rw-r--r--dev-python/flask-restful/Manifest6
-rw-r--r--dev-python/flask-restful/files/flask-restful-0.2.12-tests.patch21
-rw-r--r--dev-python/flask-restful/flask-restful-0.2.12.ebuild52
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.0.ebuild51
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.1.ebuild51
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.2.ebuild51
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.3.ebuild51
-rw-r--r--dev-python/flask-restful/flask-restful-0.3.4.ebuild51
-rw-r--r--dev-python/flask-restful/metadata.xml11
-rw-r--r--dev-python/flask-restless/Manifest3
-rw-r--r--dev-python/flask-restless/files/docbuild.patch57
-rw-r--r--dev-python/flask-restless/files/mapping.patch13
-rw-r--r--dev-python/flask-restless/flask-restless-0.15.0.ebuild60
-rw-r--r--dev-python/flask-restless/flask-restless-0.16.0.ebuild60
-rw-r--r--dev-python/flask-restless/flask-restless-0.17.0.ebuild60
-rw-r--r--dev-python/flask-restless/metadata.xml8
-rw-r--r--dev-python/flask-script/Manifest1
-rw-r--r--dev-python/flask-script/flask-script-2.0.5.ebuild44
-rw-r--r--dev-python/flask-script/metadata.xml8
-rw-r--r--dev-python/flask-security/Manifest1
-rw-r--r--dev-python/flask-security/flask-security-1.7.4.ebuild47
-rw-r--r--dev-python/flask-security/metadata.xml8
-rw-r--r--dev-python/flask-socketio/Manifest1
-rw-r--r--dev-python/flask-socketio/flask-socketio-0.6.0.ebuild32
-rw-r--r--dev-python/flask-socketio/metadata.xml12
-rw-r--r--dev-python/flask-sqlalchemy/Manifest3
-rw-r--r--dev-python/flask-sqlalchemy/files/mapping.patch16
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-0.16-r1.ebuild36
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0-r1.ebuild51
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0.ebuild32
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-2.0.ebuild47
-rw-r--r--dev-python/flask-sqlalchemy/metadata.xml11
-rw-r--r--dev-python/flask-testing/Manifest2
-rw-r--r--dev-python/flask-testing/files/0.4.2-test-fix.patch17
-rw-r--r--dev-python/flask-testing/flask-testing-0.4.1.ebuild36
-rw-r--r--dev-python/flask-testing/flask-testing-0.4.2.ebuild37
-rw-r--r--dev-python/flask-testing/metadata.xml8
-rw-r--r--dev-python/flask-themes/Manifest1
-rw-r--r--dev-python/flask-themes/files/fixtests.patch23
-rw-r--r--dev-python/flask-themes/flask-themes-0.1.3-r1.ebuild35
-rw-r--r--dev-python/flask-themes/metadata.xml8
-rw-r--r--dev-python/flask-uploads/Manifest1
-rw-r--r--dev-python/flask-uploads/flask-uploads-0.1.3.ebuild31
-rw-r--r--dev-python/flask-uploads/metadata.xml8
-rw-r--r--dev-python/flask-whooshalchemy/Manifest2
-rw-r--r--dev-python/flask-whooshalchemy/flask-whooshalchemy-0.55a.ebuild38
-rw-r--r--dev-python/flask-whooshalchemy/flask-whooshalchemy-0.56.ebuild37
-rw-r--r--dev-python/flask-whooshalchemy/metadata.xml9
-rw-r--r--dev-python/flask-wtf/Manifest4
-rw-r--r--dev-python/flask-wtf/flask-wtf-0.10.2.ebuild52
-rw-r--r--dev-python/flask-wtf/flask-wtf-0.10.3.ebuild52
-rw-r--r--dev-python/flask-wtf/flask-wtf-0.11.ebuild52
-rw-r--r--dev-python/flask-wtf/flask-wtf-0.12.ebuild52
-rw-r--r--dev-python/flask-wtf/metadata.xml8
-rw-r--r--dev-python/flask-xml-rpc/Manifest1
-rw-r--r--dev-python/flask-xml-rpc/flask-xml-rpc-0.1.2-r1.ebuild30
-rw-r--r--dev-python/flask-xml-rpc/metadata.xml8
-rw-r--r--dev-python/flask/Manifest1
-rw-r--r--dev-python/flask/files/flask-0.10.1-is_package.patch13
-rw-r--r--dev-python/flask/files/flask-0.10.1-sort_json.patch54
-rw-r--r--dev-python/flask/files/flask-0.10.1-test_appcontext.patch14
-rw-r--r--dev-python/flask/flask-0.10.1-r1.ebuild43
-rw-r--r--dev-python/flask/flask-0.10.1-r2.ebuild57
-rw-r--r--dev-python/flask/flask-9999.ebuild45
-rw-r--r--dev-python/flask/metadata.xml8
-rw-r--r--dev-python/flup/Manifest1
-rw-r--r--dev-python/flup/flup-1.0.2-r1.ebuild21
-rw-r--r--dev-python/flup/metadata.xml5
-rw-r--r--dev-python/fonttools/Manifest2
-rw-r--r--dev-python/fonttools/fonttools-2.4.ebuild28
-rw-r--r--dev-python/fonttools/fonttools-2.5.ebuild28
-rw-r--r--dev-python/fonttools/metadata.xml10
-rw-r--r--dev-python/foolscap/Manifest3
-rw-r--r--dev-python/foolscap/foolscap-0.6.4-r1.ebuild38
-rw-r--r--dev-python/foolscap/foolscap-0.7.0.ebuild37
-rw-r--r--dev-python/foolscap/foolscap-0.8.0.ebuild56
-rw-r--r--dev-python/foolscap/metadata.xml25
-rw-r--r--dev-python/formencode/Manifest2
-rw-r--r--dev-python/formencode/formencode-1.2.4.ebuild29
-rw-r--r--dev-python/formencode/formencode-1.3.0-r1.ebuild45
-rw-r--r--dev-python/formencode/metadata.xml8
-rw-r--r--dev-python/fpconst/Manifest1
-rw-r--r--dev-python/fpconst/fpconst-0.7.3-r1.ebuild27
-rw-r--r--dev-python/fpconst/metadata.xml8
-rw-r--r--dev-python/freezegun/Manifest1
-rw-r--r--dev-python/freezegun/freezegun-0.3.5.ebuild25
-rw-r--r--dev-python/freezegun/metadata.xml13
-rw-r--r--dev-python/frozen-flask/Manifest1
-rw-r--r--dev-python/frozen-flask/frozen-flask-0.11-r1.ebuild44
-rw-r--r--dev-python/frozen-flask/metadata.xml9
-rw-r--r--dev-python/fudge/Manifest3
-rw-r--r--dev-python/fudge/fudge-0.9.6-r1.ebuild40
-rw-r--r--dev-python/fudge/fudge-1.0.3-r2.ebuild41
-rw-r--r--dev-python/fudge/fudge-1.1.0.ebuild36
-rw-r--r--dev-python/fudge/metadata.xml8
-rw-r--r--dev-python/funcparserlib/Manifest1
-rw-r--r--dev-python/funcparserlib/funcparserlib-0.3.6.ebuild32
-rw-r--r--dev-python/funcparserlib/metadata.xml8
-rw-r--r--dev-python/funcsigs/Manifest1
-rw-r--r--dev-python/funcsigs/funcsigs-0.4.ebuild27
-rw-r--r--dev-python/funcsigs/metadata.xml11
-rw-r--r--dev-python/functest/Manifest1
-rw-r--r--dev-python/functest/functest-0.8.8-r1.ebuild30
-rw-r--r--dev-python/functest/metadata.xml8
-rw-r--r--dev-python/fuse-python/Manifest1
-rw-r--r--dev-python/fuse-python/fuse-python-0.2.1-r1.ebuild21
-rw-r--r--dev-python/fuse-python/metadata.xml10
-rw-r--r--dev-python/fusil/Manifest1
-rw-r--r--dev-python/fusil/files/1.4-python25.patch12
-rw-r--r--dev-python/fusil/fusil-1.5.ebuild37
-rw-r--r--dev-python/fusil/metadata.xml9
-rw-r--r--dev-python/futures/Manifest3
-rw-r--r--dev-python/futures/futures-2.2.0.ebuild39
-rw-r--r--dev-python/futures/futures-3.0.2.ebuild39
-rw-r--r--dev-python/futures/futures-3.0.3.ebuild39
-rw-r--r--dev-python/futures/metadata.xml8
-rw-r--r--dev-python/gconf-python/Manifest1
-rw-r--r--dev-python/gconf-python/gconf-python-2.28.1-r1.ebuild23
-rw-r--r--dev-python/gconf-python/metadata.xml6
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/Manifest3
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.7-use-friendy-version-checks.patch13
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.8-use-friendy-version-checks.patch13
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.7.ebuild33
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8-r1.ebuild32
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.ebuild32
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.9.ebuild32
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/metadata.xml8
-rw-r--r--dev-python/gdata/Manifest3
-rw-r--r--dev-python/gdata/gdata-2.0.14.ebuild48
-rw-r--r--dev-python/gdata/gdata-2.0.17-r1.ebuild32
-rw-r--r--dev-python/gdata/gdata-2.0.18.ebuild28
-rw-r--r--dev-python/gdata/metadata.xml8
-rw-r--r--dev-python/gdmodule/Manifest1
-rw-r--r--dev-python/gdmodule/files/gdmodule-0.56-fix-libs.patch116
-rw-r--r--dev-python/gdmodule/gdmodule-0.56-r2.ebuild42
-rw-r--r--dev-python/gdmodule/metadata.xml11
-rw-r--r--dev-python/genshi/Manifest1
-rw-r--r--dev-python/genshi/files/genshi-0.6-html_test.patch37
-rw-r--r--dev-python/genshi/genshi-0.7.ebuild40
-rw-r--r--dev-python/genshi/metadata.xml5
-rw-r--r--dev-python/geoip-python/Manifest1
-rw-r--r--dev-python/geoip-python/geoip-python-1.3.2.ebuild44
-rw-r--r--dev-python/geoip-python/metadata.xml8
-rw-r--r--dev-python/geopy/Manifest3
-rw-r--r--dev-python/geopy/files/1.1.3-formatpy3.patch15
-rw-r--r--dev-python/geopy/files/1.1.3-tests-env-vars.patch198
-rw-r--r--dev-python/geopy/files/1.1.3-version-compat.patch12
-rw-r--r--dev-python/geopy/geopy-1.10.0.ebuild63
-rw-r--r--dev-python/geopy/geopy-1.8.1.ebuild60
-rw-r--r--dev-python/geopy/geopy-1.9.1.ebuild63
-rw-r--r--dev-python/geopy/metadata.xml14
-rw-r--r--dev-python/gevent-socketio/Manifest2
-rw-r--r--dev-python/gevent-socketio/gevent-socketio-0.3.5_rc2-r1.ebuild28
-rw-r--r--dev-python/gevent-socketio/gevent-socketio-0.3.6.ebuild29
-rw-r--r--dev-python/gevent-socketio/metadata.xml20
-rw-r--r--dev-python/gevent-websocket/Manifest2
-rw-r--r--dev-python/gevent-websocket/gevent-websocket-0.9.3.ebuild21
-rw-r--r--dev-python/gevent-websocket/gevent-websocket-0.9.5.ebuild21
-rw-r--r--dev-python/gevent-websocket/metadata.xml22
-rw-r--r--dev-python/gevent/Manifest3
-rw-r--r--dev-python/gevent/gevent-1.0.1.ebuild66
-rw-r--r--dev-python/gevent/gevent-1.0.2.ebuild66
-rw-r--r--dev-python/gevent/gevent-1.0.ebuild66
-rw-r--r--dev-python/gevent/metadata.xml12
-rw-r--r--dev-python/ghp-import/Manifest1
-rw-r--r--dev-python/ghp-import/ghp-import-0.4.1-r1.ebuild33
-rw-r--r--dev-python/ghp-import/ghp-import-0.4.1.ebuild20
-rw-r--r--dev-python/ghp-import/metadata.xml14
-rw-r--r--dev-python/git-python/Manifest3
-rw-r--r--dev-python/git-python/git-python-0.3.6.ebuild39
-rw-r--r--dev-python/git-python/git-python-1.0.0.ebuild39
-rw-r--r--dev-python/git-python/git-python-1.0.1.ebuild39
-rw-r--r--dev-python/git-python/metadata.xml9
-rw-r--r--dev-python/git-review/Manifest1
-rw-r--r--dev-python/git-review/git-review-1.24.ebuild25
-rw-r--r--dev-python/git-review/metadata.xml13
-rw-r--r--dev-python/gitdb/Manifest2
-rw-r--r--dev-python/gitdb/gitdb-0.6.3.ebuild30
-rw-r--r--dev-python/gitdb/gitdb-0.6.4.ebuild30
-rw-r--r--dev-python/gitdb/metadata.xml9
-rw-r--r--dev-python/glance_store/Manifest4
-rw-r--r--dev-python/glance_store/glance_store-0.1.10.ebuild34
-rw-r--r--dev-python/glance_store/glance_store-0.4.0.ebuild42
-rw-r--r--dev-python/glance_store/glance_store-0.5.0.ebuild42
-rw-r--r--dev-python/glance_store/glance_store-0.6.0.ebuild42
-rw-r--r--dev-python/glance_store/metadata.xml16
-rw-r--r--dev-python/globre/Manifest1
-rw-r--r--dev-python/globre/globre-0.1.2-r1.ebuild36
-rw-r--r--dev-python/globre/metadata.xml12
-rw-r--r--dev-python/gmpy/Manifest2
-rw-r--r--dev-python/gmpy/gmpy-2.0.4.ebuild60
-rw-r--r--dev-python/gmpy/gmpy-2.0.6.ebuild69
-rw-r--r--dev-python/gmpy/metadata.xml17
-rw-r--r--dev-python/gnome-keyring-python/Manifest1
-rw-r--r--dev-python/gnome-keyring-python/gnome-keyring-python-2.32.0-r1.ebuild23
-rw-r--r--dev-python/gnome-keyring-python/metadata.xml5
-rw-r--r--dev-python/gnome-python-base/Manifest1
-rw-r--r--dev-python/gnome-python-base/gnome-python-base-2.28.1-r1.ebuild42
-rw-r--r--dev-python/gnome-python-base/metadata.xml6
-rw-r--r--dev-python/gnome-python-desktop-base/Manifest1
-rw-r--r--dev-python/gnome-python-desktop-base/gnome-python-desktop-base-2.32.0-r1.ebuild44
-rw-r--r--dev-python/gnome-python-desktop-base/metadata.xml5
-rw-r--r--dev-python/gnome-python-extras-base/Manifest1
-rw-r--r--dev-python/gnome-python-extras-base/files/gnome-python-extras-base-2.25.3-python-libs.patch59
-rw-r--r--dev-python/gnome-python-extras-base/gnome-python-extras-base-2.25.3-r1.ebuild48
-rw-r--r--dev-python/gnome-python-extras-base/metadata.xml6
-rw-r--r--dev-python/gnome-vfs-python/Manifest1
-rw-r--r--dev-python/gnome-vfs-python/gnome-vfs-python-2.28.1-r1.ebuild25
-rw-r--r--dev-python/gnome-vfs-python/metadata.xml6
-rw-r--r--dev-python/gntp/Manifest1
-rw-r--r--dev-python/gntp/gntp-1.0.1.ebuild20
-rw-r--r--dev-python/gntp/metadata.xml12
-rw-r--r--dev-python/gnuplot-py/Manifest1
-rw-r--r--dev-python/gnuplot-py/files/gnuplot-py-1.7-mousesupport.patch75
-rw-r--r--dev-python/gnuplot-py/gnuplot-py-1.8-r1.ebuild33
-rw-r--r--dev-python/gnuplot-py/metadata.xml18
-rw-r--r--dev-python/google-api-python-client/Manifest2
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-1.1.ebuild26
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-1.3.1.ebuild37
-rw-r--r--dev-python/google-api-python-client/metadata.xml11
-rw-r--r--dev-python/google-apitools/Manifest2
-rw-r--r--dev-python/google-apitools/google-apitools-0.4.6.ebuild29
-rw-r--r--dev-python/google-apitools/google-apitools-0.4.8.ebuild29
-rw-r--r--dev-python/google-apitools/metadata.xml8
-rw-r--r--dev-python/google-apputils/Manifest2
-rw-r--r--dev-python/google-apputils/google-apputils-0.4.0.ebuild43
-rw-r--r--dev-python/google-apputils/google-apputils-0.4.2.ebuild33
-rw-r--r--dev-python/google-apputils/metadata.xml9
-rw-r--r--dev-python/graph-tool/Manifest6
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.36-r1.ebuild91
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.36.ebuild85
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.38.ebuild91
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.40.ebuild92
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.42.ebuild92
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.43.ebuild92
-rw-r--r--dev-python/graph-tool/graph-tool-2.2.44.ebuild92
-rw-r--r--dev-python/graph-tool/graph-tool-9999.ebuild91
-rw-r--r--dev-python/graph-tool/metadata.xml5
-rw-r--r--dev-python/graphcanvas/Manifest1
-rw-r--r--dev-python/graphcanvas/graphcanvas-4.0.2-r1.ebuild31
-rw-r--r--dev-python/graphcanvas/metadata.xml5
-rw-r--r--dev-python/graphy/Manifest1
-rw-r--r--dev-python/graphy/graphy-1.0-r1.ebuild50
-rw-r--r--dev-python/graphy/metadata.xml8
-rw-r--r--dev-python/greenlet/Manifest6
-rw-r--r--dev-python/greenlet/greenlet-0.4.2.ebuild46
-rw-r--r--dev-python/greenlet/greenlet-0.4.3.ebuild46
-rw-r--r--dev-python/greenlet/greenlet-0.4.4.ebuild46
-rw-r--r--dev-python/greenlet/greenlet-0.4.5.ebuild46
-rw-r--r--dev-python/greenlet/greenlet-0.4.6.ebuild48
-rw-r--r--dev-python/greenlet/greenlet-0.4.7.ebuild48
-rw-r--r--dev-python/greenlet/metadata.xml8
-rw-r--r--dev-python/gst-python/Manifest3
-rw-r--r--dev-python/gst-python/files/gst-python-0.10.9-lazy.patch21
-rw-r--r--dev-python/gst-python/gst-python-0.10.22-r1.ebuild88
-rw-r--r--dev-python/gst-python/gst-python-1.2.1.ebuild58
-rw-r--r--dev-python/gst-python/gst-python-1.4.0.ebuild49
-rw-r--r--dev-python/gst-python/metadata.xml5
-rw-r--r--dev-python/gtkspell-python/Manifest1
-rw-r--r--dev-python/gtkspell-python/files/gtkspell-python-2.25.3-python-libs.patch59
-rw-r--r--dev-python/gtkspell-python/gtkspell-python-2.25.3-r1.ebuild33
-rw-r--r--dev-python/gtkspell-python/metadata.xml6
-rw-r--r--dev-python/guessit/Manifest4
-rw-r--r--dev-python/guessit/files/guessit-0.5.4-python3.patch30
-rw-r--r--dev-python/guessit/files/guessit-0.5.4-tests.patch172
-rw-r--r--dev-python/guessit/guessit-0.5.4.ebuild38
-rw-r--r--dev-python/guessit/guessit-0.6.2.ebuild30
-rw-r--r--dev-python/guessit/guessit-0.7.1.ebuild32
-rw-r--r--dev-python/guessit/guessit-0.9.3.ebuild34
-rw-r--r--dev-python/guessit/guessit-9999.ebuild34
-rw-r--r--dev-python/guessit/metadata.xml13
-rw-r--r--dev-python/guppy/Manifest1
-rw-r--r--dev-python/guppy/files/guppy-0.1.9-rm_BrokenTests.patch57
-rw-r--r--dev-python/guppy/guppy-0.1.10-r1.ebuild49
-rw-r--r--dev-python/guppy/metadata.xml13
-rw-r--r--dev-python/guzzle_sphinx_theme/Manifest1
-rw-r--r--dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.10.ebuild20
-rw-r--r--dev-python/guzzle_sphinx_theme/metadata.xml14
-rw-r--r--dev-python/h5py/Manifest3
-rw-r--r--dev-python/h5py/h5py-2.3.1.ebuild54
-rw-r--r--dev-python/h5py/h5py-2.4.0.ebuild50
-rw-r--r--dev-python/h5py/h5py-2.5.0.ebuild66
-rw-r--r--dev-python/h5py/metadata.xml19
-rw-r--r--dev-python/hachoir-core/Manifest1
-rw-r--r--dev-python/hachoir-core/hachoir-core-1.3.3-r1.ebuild29
-rw-r--r--dev-python/hachoir-core/metadata.xml13
-rw-r--r--dev-python/hachoir-parser/Manifest1
-rw-r--r--dev-python/hachoir-parser/hachoir-parser-1.3.4-r1.ebuild26
-rw-r--r--dev-python/hachoir-parser/metadata.xml12
-rw-r--r--dev-python/hachoir-regex/Manifest1
-rw-r--r--dev-python/hachoir-regex/hachoir-regex-1.0.5-r1.ebuild31
-rw-r--r--dev-python/hachoir-regex/metadata.xml11
-rw-r--r--dev-python/hacking/Manifest6
-rw-r--r--dev-python/hacking/hacking-0.10.1.ebuild71
-rw-r--r--dev-python/hacking/hacking-0.10.2.ebuild71
-rw-r--r--dev-python/hacking/hacking-0.8.1.ebuild61
-rw-r--r--dev-python/hacking/hacking-0.9.2.ebuild61
-rw-r--r--dev-python/hacking/hacking-0.9.5.ebuild60
-rw-r--r--dev-python/hacking/hacking-0.9.6.ebuild60
-rw-r--r--dev-python/hacking/metadata.xml18
-rw-r--r--dev-python/happydoc/Manifest1
-rw-r--r--dev-python/happydoc/files/happydoc-3.1-python-2.6.patch28
-rw-r--r--dev-python/happydoc/files/happydoc-3.1-setup.py158
-rw-r--r--dev-python/happydoc/happydoc-3.1-r2.ebuild40
-rw-r--r--dev-python/happydoc/metadata.xml8
-rw-r--r--dev-python/hcluster/Manifest1
-rw-r--r--dev-python/hcluster/hcluster-0.2.0-r1.ebuild24
-rw-r--r--dev-python/hcluster/metadata.xml18
-rw-r--r--dev-python/hcs-utils/Manifest2
-rw-r--r--dev-python/hcs-utils/hcs-utils-1.4.ebuild30
-rw-r--r--dev-python/hcs-utils/hcs-utils-1.5.ebuild30
-rw-r--r--dev-python/hcs-utils/metadata.xml14
-rw-r--r--dev-python/hgdistver/Manifest2
-rw-r--r--dev-python/hgdistver/hgdistver-0.22.ebuild25
-rw-r--r--dev-python/hgdistver/hgdistver-0.25.ebuild25
-rw-r--r--dev-python/hgdistver/metadata.xml9
-rw-r--r--dev-python/hglib/Manifest2
-rw-r--r--dev-python/hglib/files/hglib-0.3-tests.patch63
-rw-r--r--dev-python/hglib/files/hglib-0.9-pypy-tests.patch86
-rw-r--r--dev-python/hglib/hglib-1.0.ebuild40
-rw-r--r--dev-python/hglib/hglib-1.5.ebuild38
-rw-r--r--dev-python/hglib/metadata.xml16
-rw-r--r--dev-python/hgtools/Manifest2
-rw-r--r--dev-python/hgtools/files/hgtools-doctest-2.0.2.patch11
-rw-r--r--dev-python/hgtools/hgtools-6.0.ebuild28
-rw-r--r--dev-python/hgtools/hgtools-6.3.ebuild30
-rw-r--r--dev-python/hgtools/metadata.xml16
-rw-r--r--dev-python/hiredis/Manifest2
-rw-r--r--dev-python/hiredis/files/hiredis-0.1.1-system-libs.patch25
-rw-r--r--dev-python/hiredis/files/hiredis-0.2.0-system-libs.patch28
-rw-r--r--dev-python/hiredis/hiredis-0.1.1-r2.ebuild23
-rw-r--r--dev-python/hiredis/hiredis-0.2.0.ebuild29
-rw-r--r--dev-python/hiredis/metadata.xml13
-rw-r--r--dev-python/hp3parclient/Manifest2
-rw-r--r--dev-python/hp3parclient/hp3parclient-2.0.0.ebuild35
-rw-r--r--dev-python/hp3parclient/hp3parclient-3.0.0.ebuild37
-rw-r--r--dev-python/hp3parclient/metadata.xml8
-rw-r--r--dev-python/html2text/Manifest1
-rw-r--r--dev-python/html2text/files/html2text-noinstall-test.patch35
-rw-r--r--dev-python/html2text/files/html2text-rename.patch15
-rw-r--r--dev-python/html2text/html2text-2014.4.5-r1.ebuild30
-rw-r--r--dev-python/html2text/metadata.xml8
-rw-r--r--dev-python/html5lib/Manifest3
-rw-r--r--dev-python/html5lib/html5lib-0.999.ebuild27
-rw-r--r--dev-python/html5lib/html5lib-0.99999.ebuild28
-rw-r--r--dev-python/html5lib/html5lib-0.999999.ebuild28
-rw-r--r--dev-python/html5lib/metadata.xml14
-rw-r--r--dev-python/htmlgen/Manifest1
-rw-r--r--dev-python/htmlgen/files/htmlgen-2.2.2-python-2.5.patch145
-rw-r--r--dev-python/htmlgen/files/htmlgen-pillow.patch53
-rw-r--r--dev-python/htmlgen/htmlgen-2.2.2-r1.ebuild60
-rw-r--r--dev-python/htmlgen/metadata.xml5
-rw-r--r--dev-python/httmock/Manifest1
-rw-r--r--dev-python/httmock/httmock-1.2.2.ebuild25
-rw-r--r--dev-python/httmock/metadata.xml16
-rw-r--r--dev-python/http-parser/Manifest1
-rw-r--r--dev-python/http-parser/files/http-parser-0.7.8-setup.patch22
-rw-r--r--dev-python/http-parser/http-parser-0.8.3.ebuild45
-rw-r--r--dev-python/http-parser/metadata.xml9
-rw-r--r--dev-python/httplib2/Manifest2
-rw-r--r--dev-python/httplib2/httplib2-0.8.ebuild33
-rw-r--r--dev-python/httplib2/httplib2-0.9.1.ebuild33
-rw-r--r--dev-python/httplib2/metadata.xml10
-rw-r--r--dev-python/httpretty/Manifest4
-rw-r--r--dev-python/httpretty/files/httpretty-0.7.0-deps.patch68
-rw-r--r--dev-python/httpretty/httpretty-0.7.0.ebuild52
-rw-r--r--dev-python/httpretty/httpretty-0.7.1.ebuild47
-rw-r--r--dev-python/httpretty/httpretty-0.8.0-r1.ebuild66
-rw-r--r--dev-python/httpretty/httpretty-0.8.0.ebuild46
-rw-r--r--dev-python/httpretty/httpretty-0.8.10.ebuild66
-rw-r--r--dev-python/httpretty/metadata.xml9
-rw-r--r--dev-python/humanfriendly/Manifest6
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.25.ebuild26
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.26.ebuild26
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.27.ebuild26
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.29.ebuild26
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.31.ebuild26
-rw-r--r--dev-python/humanfriendly/humanfriendly-1.33.ebuild26
-rw-r--r--dev-python/humanfriendly/metadata.xml12
-rw-r--r--dev-python/hypothesis/Manifest2
-rw-r--r--dev-python/hypothesis/hypothesis-1.7.1.ebuild20
-rw-r--r--dev-python/hypothesis/hypothesis-1.9.0.ebuild20
-rw-r--r--dev-python/hypothesis/metadata.xml9
-rw-r--r--dev-python/icalendar/Manifest2
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/01_all_UIDGenerator-fix.patch22
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/02_all_vDatetime-tzinfo-fix.patch30
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/03_all_duration-fix.patch33
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/04_all_date-type-test-in-vDDDTypes.patch22
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/05_all_utf8-multi-octet-fix.patch30
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/06_all_test.py-use-set.patch37
-rw-r--r--dev-python/icalendar/files/2.1_p20100409/07_all_vGeo.from_ical-test-fix.patch17
-rw-r--r--dev-python/icalendar/icalendar-3.8.4.ebuild44
-rw-r--r--dev-python/icalendar/icalendar-3.9.0.ebuild51
-rw-r--r--dev-python/icalendar/metadata.xml12
-rw-r--r--dev-python/iconvcodec/Manifest1
-rw-r--r--dev-python/iconvcodec/iconvcodec-1.1.2-r1.ebuild24
-rw-r--r--dev-python/iconvcodec/metadata.xml5
-rw-r--r--dev-python/id3-py/Manifest1
-rw-r--r--dev-python/id3-py/id3-py-1.2-r1.ebuild17
-rw-r--r--dev-python/id3-py/id3-py-1.2.ebuild22
-rw-r--r--dev-python/id3-py/metadata.xml8
-rw-r--r--dev-python/idna/Manifest2
-rw-r--r--dev-python/idna/idna-1.1.ebuild24
-rw-r--r--dev-python/idna/idna-2.0.ebuild24
-rw-r--r--dev-python/idna/metadata.xml13
-rw-r--r--dev-python/ijson/Manifest4
-rw-r--r--dev-python/ijson/ijson-1.1.ebuild20
-rw-r--r--dev-python/ijson/ijson-2.0.ebuild20
-rw-r--r--dev-python/ijson/ijson-2.1.ebuild20
-rw-r--r--dev-python/ijson/ijson-2.2.ebuild24
-rw-r--r--dev-python/ijson/metadata.xml9
-rw-r--r--dev-python/imaging/Manifest1
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch10
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch20
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-giftrans.patch14
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-missing-math.patch20
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch29
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-no-xv.patch18
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-nolcms.patch13
-rw-r--r--dev-python/imaging/files/imaging-1.1.7-sane.patch13
-rw-r--r--dev-python/imaging/imaging-1.1.7-r5.ebuild106
-rw-r--r--dev-python/imaging/metadata.xml5
-rw-r--r--dev-python/imapclient/Manifest2
-rw-r--r--dev-python/imapclient/files/0.12-tests.patch36
-rw-r--r--dev-python/imapclient/imapclient-0.12.ebuild63
-rw-r--r--dev-python/imapclient/imapclient-0.13.ebuild63
-rw-r--r--dev-python/imapclient/metadata.xml8
-rw-r--r--dev-python/imdbpy/Manifest2
-rw-r--r--dev-python/imdbpy/files/imdbpy-4.6-data_location.patch11
-rw-r--r--dev-python/imdbpy/imdbpy-4.9-r1.ebuild42
-rw-r--r--dev-python/imdbpy/imdbpy-5.0.ebuild42
-rw-r--r--dev-python/imdbpy/metadata.xml8
-rw-r--r--dev-python/importing/Manifest1
-rw-r--r--dev-python/importing/importing-1.10.ebuild25
-rw-r--r--dev-python/importing/metadata.xml8
-rw-r--r--dev-python/iniparse/Manifest1
-rw-r--r--dev-python/iniparse/iniparse-0.4-r1.ebuild24
-rw-r--r--dev-python/iniparse/metadata.xml8
-rw-r--r--dev-python/inotifyx/Manifest2
-rw-r--r--dev-python/inotifyx/inotifyx-0.2.0-r1.ebuild28
-rw-r--r--dev-python/inotifyx/inotifyx-0.2.2.ebuild28
-rw-r--r--dev-python/inotifyx/metadata.xml11
-rw-r--r--dev-python/into/Manifest3
-rw-r--r--dev-python/into/into-0.1.3.ebuild19
-rw-r--r--dev-python/into/into-0.2.1.ebuild26
-rw-r--r--dev-python/into/into-0.2.2.ebuild26
-rw-r--r--dev-python/into/metadata.xml8
-rw-r--r--dev-python/ioflo/Manifest2
-rw-r--r--dev-python/ioflo/ioflo-1.0.2.ebuild25
-rw-r--r--dev-python/ioflo/ioflo-1.2.1.ebuild23
-rw-r--r--dev-python/ioflo/metadata.xml12
-rw-r--r--dev-python/ipaddr/Manifest2
-rw-r--r--dev-python/ipaddr/ipaddr-2.1.10-r1.ebuild35
-rw-r--r--dev-python/ipaddr/ipaddr-2.1.11.ebuild32
-rw-r--r--dev-python/ipaddr/metadata.xml17
-rw-r--r--dev-python/ipaddress/Manifest3
-rw-r--r--dev-python/ipaddress/ipaddress-1.0.12.ebuild21
-rw-r--r--dev-python/ipaddress/ipaddress-1.0.14.ebuild25
-rw-r--r--dev-python/ipaddress/ipaddress-1.0.7.ebuild21
-rw-r--r--dev-python/ipaddress/metadata.xml13
-rw-r--r--dev-python/ipcalc/Manifest4
-rw-r--r--dev-python/ipcalc/ipcalc-1.0.0.ebuild17
-rw-r--r--dev-python/ipcalc/ipcalc-1.1.1.ebuild17
-rw-r--r--dev-python/ipcalc/ipcalc-1.1.2.ebuild17
-rw-r--r--dev-python/ipcalc/ipcalc-1.1.3.ebuild17
-rw-r--r--dev-python/ipcalc/metadata.xml12
-rw-r--r--dev-python/ipdb/Manifest2
-rw-r--r--dev-python/ipdb/ipdb-0.8.1.ebuild28
-rw-r--r--dev-python/ipdb/ipdb-0.8.ebuild27
-rw-r--r--dev-python/ipdb/metadata.xml8
-rw-r--r--dev-python/ipdbplugin/Manifest1
-rw-r--r--dev-python/ipdbplugin/ipdbplugin-1.4.ebuild30
-rw-r--r--dev-python/ipdbplugin/ipdbplugin-9999.ebuild30
-rw-r--r--dev-python/ipdbplugin/metadata.xml10
-rw-r--r--dev-python/ipy/Manifest2
-rw-r--r--dev-python/ipy/ipy-0.82a.ebuild41
-rw-r--r--dev-python/ipy/ipy-0.83.ebuild40
-rw-r--r--dev-python/ipy/metadata.xml9
-rw-r--r--dev-python/ipython/Manifest3
-rw-r--r--dev-python/ipython/files/2.1.0-disable-tests.patch32
-rw-r--r--dev-python/ipython/files/2.1.0-substitute-files.patch27
-rw-r--r--dev-python/ipython/files/ipython-2.2.0-login-backport.patch35
-rw-r--r--dev-python/ipython/ipython-2.2.0-r1.ebuild137
-rw-r--r--dev-python/ipython/ipython-3.2.0.ebuild155
-rw-r--r--dev-python/ipython/ipython-3.2.1.ebuild151
-rw-r--r--dev-python/ipython/metadata.xml52
-rw-r--r--dev-python/irc/Manifest1
-rw-r--r--dev-python/irc/irc-11.0.1.ebuild41
-rw-r--r--dev-python/irc/metadata.xml13
-rw-r--r--dev-python/irman-python/Manifest1
-rw-r--r--dev-python/irman-python/irman-python-0.1-r1.ebuild21
-rw-r--r--dev-python/irman-python/metadata.xml5
-rw-r--r--dev-python/iso8601/Manifest1
-rw-r--r--dev-python/iso8601/iso8601-0.1.10.ebuild24
-rw-r--r--dev-python/iso8601/metadata.xml8
-rw-r--r--dev-python/isodate/Manifest2
-rw-r--r--dev-python/isodate/isodate-0.5.0.ebuild33
-rw-r--r--dev-python/isodate/isodate-0.5.1.ebuild33
-rw-r--r--dev-python/isodate/metadata.xml21
-rw-r--r--dev-python/itsdangerous/Manifest4
-rw-r--r--dev-python/itsdangerous/itsdangerous-0.21.ebuild20
-rw-r--r--dev-python/itsdangerous/itsdangerous-0.22.ebuild18
-rw-r--r--dev-python/itsdangerous/itsdangerous-0.23.ebuild28
-rw-r--r--dev-python/itsdangerous/itsdangerous-0.24.ebuild28
-rw-r--r--dev-python/itsdangerous/metadata.xml8
-rw-r--r--dev-python/jaraco-utils/Manifest1
-rw-r--r--dev-python/jaraco-utils/jaraco-utils-10.0.2.ebuild32
-rw-r--r--dev-python/jaraco-utils/metadata.xml8
-rw-r--r--dev-python/jaxml/Manifest1
-rw-r--r--dev-python/jaxml/jaxml-3.02-r1.ebuild20
-rw-r--r--dev-python/jaxml/metadata.xml8
-rw-r--r--dev-python/jdcal/Manifest1
-rw-r--r--dev-python/jdcal/jdcal-1.0.ebuild17
-rw-r--r--dev-python/jdcal/metadata.xml9
-rw-r--r--dev-python/jedi/Manifest2
-rw-r--r--dev-python/jedi/jedi-0.8.1-r2.ebuild43
-rw-r--r--dev-python/jedi/jedi-0.9.0.ebuild40
-rw-r--r--dev-python/jedi/metadata.xml9
-rw-r--r--dev-python/jellyfish/Manifest1
-rw-r--r--dev-python/jellyfish/jellyfish-0.5.1.ebuild17
-rw-r--r--dev-python/jellyfish/metadata.xml10
-rw-r--r--dev-python/jenkins-autojobs/Manifest3
-rw-r--r--dev-python/jenkins-autojobs/files/local_jenkins.patch26
-rw-r--r--dev-python/jenkins-autojobs/jenkins-autojobs-0.14.3.ebuild68
-rw-r--r--dev-python/jenkins-autojobs/metadata.xml16
-rw-r--r--dev-python/jenkins-webapi/Manifest2
-rw-r--r--dev-python/jenkins-webapi/files/local_jenkins_war.patch12
-rw-r--r--dev-python/jenkins-webapi/files/tests_py27.patch7
-rw-r--r--dev-python/jenkins-webapi/jenkins-webapi-0.3.2.ebuild50
-rw-r--r--dev-python/jenkins-webapi/jenkins-webapi-0.4.0-r1.ebuild47
-rw-r--r--dev-python/jenkins-webapi/metadata.xml16
-rw-r--r--dev-python/jenkinsapi/Manifest1
-rw-r--r--dev-python/jenkinsapi/files/local_jenkins_war.patch12
-rw-r--r--dev-python/jenkinsapi/jenkinsapi-0.2.26.ebuild37
-rw-r--r--dev-python/jenkinsapi/metadata.xml16
-rw-r--r--dev-python/jingo/Manifest2
-rw-r--r--dev-python/jingo/jingo-0.7.1.ebuild20
-rw-r--r--dev-python/jingo/jingo-0.7.ebuild20
-rw-r--r--dev-python/jingo/metadata.xml9
-rw-r--r--dev-python/jinja/Manifest2
-rw-r--r--dev-python/jinja/files/jinja-2.6-python3.3.patch15
-rw-r--r--dev-python/jinja/files/jinja-2.7-docs.patch53
-rw-r--r--dev-python/jinja/jinja-2.7.3.ebuild73
-rw-r--r--dev-python/jinja/jinja-2.8.ebuild72
-rw-r--r--dev-python/jinja/metadata.xml8
-rw-r--r--dev-python/jmespath/Manifest2
-rw-r--r--dev-python/jmespath/jmespath-0.5.0.ebuild26
-rw-r--r--dev-python/jmespath/jmespath-0.7.1.ebuild26
-rw-r--r--dev-python/jmespath/metadata.xml14
-rw-r--r--dev-python/joblib/Manifest5
-rw-r--r--dev-python/joblib/joblib-0.8.0.ebuild45
-rw-r--r--dev-python/joblib/joblib-0.8.1.ebuild45
-rw-r--r--dev-python/joblib/joblib-0.8.2.ebuild45
-rw-r--r--dev-python/joblib/joblib-0.8.3.ebuild46
-rw-r--r--dev-python/joblib/joblib-0.8.4.ebuild46
-rw-r--r--dev-python/joblib/metadata.xml18
-rw-r--r--dev-python/jonpy/Manifest2
-rw-r--r--dev-python/jonpy/jonpy-0.10-r1.ebuild26
-rw-r--r--dev-python/jonpy/jonpy-0.11.ebuild23
-rw-r--r--dev-python/jonpy/metadata.xml8
-rw-r--r--dev-python/jsmin/Manifest3
-rw-r--r--dev-python/jsmin/jsmin-2.0.9.ebuild27
-rw-r--r--dev-python/jsmin/jsmin-2.1.1.ebuild25
-rw-r--r--dev-python/jsmin/jsmin-2.1.2.ebuild23
-rw-r--r--dev-python/jsmin/metadata.xml9
-rw-r--r--dev-python/json-rpc/Manifest3
-rw-r--r--dev-python/json-rpc/json-rpc-1.10.1.ebuild28
-rw-r--r--dev-python/json-rpc/json-rpc-1.7.0.ebuild27
-rw-r--r--dev-python/json-rpc/json-rpc-1.9.2.ebuild27
-rw-r--r--dev-python/json-rpc/metadata.xml16
-rw-r--r--dev-python/json-tools/Manifest2
-rw-r--r--dev-python/json-tools/json-tools-0.3.3.ebuild30
-rw-r--r--dev-python/json-tools/json-tools-0.4.0.ebuild32
-rw-r--r--dev-python/json-tools/metadata.xml9
-rw-r--r--dev-python/jsonfield/Manifest1
-rw-r--r--dev-python/jsonfield/jsonfield-1.0.3.ebuild25
-rw-r--r--dev-python/jsonfield/metadata.xml12
-rw-r--r--dev-python/jsonmerge/Manifest1
-rw-r--r--dev-python/jsonmerge/jsonmerge-1.1.0.ebuild26
-rw-r--r--dev-python/jsonmerge/metadata.xml12
-rw-r--r--dev-python/jsonpatch/Manifest2
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.11.ebuild27
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.9.ebuild26
-rw-r--r--dev-python/jsonpatch/metadata.xml17
-rw-r--r--dev-python/jsonpickle/Manifest3
-rw-r--r--dev-python/jsonpickle/files/0.9.0-drop-broken-backend.patch11
-rw-r--r--dev-python/jsonpickle/files/jsonpickle-0.6.1-drop-brocken-backend.patch15
-rw-r--r--dev-python/jsonpickle/jsonpickle-0.8.0.ebuild49
-rw-r--r--dev-python/jsonpickle/jsonpickle-0.9.1.ebuild53
-rw-r--r--dev-python/jsonpickle/jsonpickle-0.9.2.ebuild51
-rw-r--r--dev-python/jsonpickle/metadata.xml9
-rw-r--r--dev-python/jsonpointer/Manifest2
-rw-r--r--dev-python/jsonpointer/jsonpointer-1.7.ebuild24
-rw-r--r--dev-python/jsonpointer/jsonpointer-1.9.ebuild23
-rw-r--r--dev-python/jsonpointer/metadata.xml17
-rw-r--r--dev-python/jsonrpclib/Manifest2
-rw-r--r--dev-python/jsonrpclib/files/jsonrpclib-fix-nested-imports.patch31
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-0_pre20110820-r1.ebuild27
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-0_pre20150305.ebuild27
-rw-r--r--dev-python/jsonrpclib/jsonrpclib-9999.ebuild27
-rw-r--r--dev-python/jsonrpclib/metadata.xml12
-rw-r--r--dev-python/jsonschema/Manifest2
-rw-r--r--dev-python/jsonschema/jsonschema-2.3.0.ebuild25
-rw-r--r--dev-python/jsonschema/jsonschema-2.4.0.ebuild22
-rw-r--r--dev-python/jsonschema/metadata.xml15
-rw-r--r--dev-python/kaa-base/Manifest1
-rw-r--r--dev-python/kaa-base/kaa-base-0.6.0-r1.ebuild42
-rw-r--r--dev-python/kaa-base/metadata.xml19
-rw-r--r--dev-python/kaa-display/Manifest1
-rw-r--r--dev-python/kaa-display/kaa-display-0.1.0-r1.ebuild25
-rw-r--r--dev-python/kaa-display/kaa-display-0.1.0.ebuild28
-rw-r--r--dev-python/kaa-display/metadata.xml8
-rw-r--r--dev-python/kaa-imlib2/Manifest1
-rw-r--r--dev-python/kaa-imlib2/files/kaa-imlib2-remove-png-dep.patch11
-rw-r--r--dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r1.ebuild31
-rw-r--r--dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r2.ebuild25
-rw-r--r--dev-python/kaa-imlib2/metadata.xml11
-rw-r--r--dev-python/kaa-metadata/Manifest1
-rw-r--r--dev-python/kaa-metadata/kaa-metadata-0.7.7-r1.ebuild29
-rw-r--r--dev-python/kaa-metadata/metadata.xml14
-rw-r--r--dev-python/kazoo/Manifest3
-rw-r--r--dev-python/kazoo/kazoo-1.3.1.ebuild48
-rw-r--r--dev-python/kazoo/kazoo-2.0.ebuild44
-rw-r--r--dev-python/kazoo/kazoo-2.2.1.ebuild43
-rw-r--r--dev-python/kazoo/metadata.xml12
-rw-r--r--dev-python/keepassx/Manifest2
-rw-r--r--dev-python/keepassx/keepassx-0.0.3.ebuild33
-rw-r--r--dev-python/keepassx/keepassx-0.1.0.ebuild35
-rw-r--r--dev-python/keepassx/metadata.xml13
-rw-r--r--dev-python/keyczar/Manifest2
-rw-r--r--dev-python/keyczar/keyczar-0.715.ebuild38
-rw-r--r--dev-python/keyczar/keyczar-0.71c.ebuild31
-rw-r--r--dev-python/keyczar/metadata.xml8
-rw-r--r--dev-python/keyring/Manifest7
-rw-r--r--dev-python/keyring/files/setup-1.0.patch32
-rw-r--r--dev-python/keyring/keyring-1.0.ebuild36
-rw-r--r--dev-python/keyring/keyring-1.5-r1.ebuild39
-rw-r--r--dev-python/keyring/keyring-1.5.ebuild39
-rw-r--r--dev-python/keyring/keyring-1.6.1.ebuild39
-rw-r--r--dev-python/keyring/keyring-3.1.ebuild39
-rw-r--r--dev-python/keyring/keyring-3.3.ebuild28
-rw-r--r--dev-python/keyring/keyring-3.7.ebuild28
-rw-r--r--dev-python/keyring/keyring-4.0.ebuild32
-rw-r--r--dev-python/keyring/metadata.xml16
-rw-r--r--dev-python/keystonemiddleware/Manifest2
-rw-r--r--dev-python/keystonemiddleware/files/cve-2015-1852-master-keystonemiddleware.patch63
-rw-r--r--dev-python/keystonemiddleware/keystonemiddleware-1.5.0.ebuild75
-rw-r--r--dev-python/keystonemiddleware/keystonemiddleware-1.5.2.ebuild86
-rw-r--r--dev-python/keystonemiddleware/metadata.xml16
-rw-r--r--dev-python/kid/Manifest1
-rw-r--r--dev-python/kid/kid-0.9.6-r1.ebuild40
-rw-r--r--dev-python/kid/metadata.xml10
-rw-r--r--dev-python/kivy-garden/Manifest1
-rw-r--r--dev-python/kivy-garden/files/remove_bat.patch10
-rw-r--r--dev-python/kivy-garden/kivy-garden-0.1.1.ebuild28
-rw-r--r--dev-python/kivy-garden/metadata.xml14
-rw-r--r--dev-python/kiwi/Manifest2
-rw-r--r--dev-python/kiwi/kiwi-1.9.39.2.ebuild46
-rw-r--r--dev-python/kiwi/kiwi-1.9.40.ebuild48
-rw-r--r--dev-python/kiwi/metadata.xml9
-rw-r--r--dev-python/kiwisolver/Manifest1
-rw-r--r--dev-python/kiwisolver/kiwisolver-0.1.3.ebuild20
-rw-r--r--dev-python/kiwisolver/metadata.xml16
-rw-r--r--dev-python/kombu/Manifest4
-rw-r--r--dev-python/kombu/files/kombu-3.0.26-pymongo-test-fix.patch40
-rw-r--r--dev-python/kombu/files/kombu-NA-tests-fix.patch16
-rw-r--r--dev-python/kombu/kombu-2.5.16.ebuild42
-rw-r--r--dev-python/kombu/kombu-3.0.23.ebuild91
-rw-r--r--dev-python/kombu/kombu-3.0.24.ebuild95
-rw-r--r--dev-python/kombu/kombu-3.0.26.ebuild102
-rw-r--r--dev-python/kombu/metadata.xml14
-rw-r--r--dev-python/larch/Manifest2
-rw-r--r--dev-python/larch/larch-1.20130808.ebuild36
-rw-r--r--dev-python/larch/larch-1.20131130.ebuild36
-rw-r--r--dev-python/larch/metadata.xml8
-rw-r--r--dev-python/ldap3/Manifest4
-rw-r--r--dev-python/ldap3/ldap3-0.9.8.2.ebuild21
-rw-r--r--dev-python/ldap3/ldap3-0.9.8.4.ebuild21
-rw-r--r--dev-python/ldap3/ldap3-0.9.8.6.ebuild21
-rw-r--r--dev-python/ldap3/ldap3-0.9.8.7.ebuild29
-rw-r--r--dev-python/ldap3/metadata.xml13
-rw-r--r--dev-python/ldappool/Manifest1
-rw-r--r--dev-python/ldappool/ldappool-1.0.ebuild24
-rw-r--r--dev-python/ldappool/metadata.xml16
-rw-r--r--dev-python/lesscpy/Manifest2
-rw-r--r--dev-python/lesscpy/lesscpy-0.10.2.ebuild28
-rw-r--r--dev-python/lesscpy/lesscpy-0.9j.ebuild24
-rw-r--r--dev-python/lesscpy/metadata.xml15
-rw-r--r--dev-python/libasyncns-python/Manifest1
-rw-r--r--dev-python/libasyncns-python/libasyncns-python-0.7.1-r1.ebuild29
-rw-r--r--dev-python/libasyncns-python/metadata.xml10
-rw-r--r--dev-python/libbonobo-python/Manifest1
-rw-r--r--dev-python/libbonobo-python/libbonobo-python-2.28.1-r1.ebuild27
-rw-r--r--dev-python/libbonobo-python/metadata.xml6
-rw-r--r--dev-python/libcloud/Manifest3
-rw-r--r--dev-python/libcloud/libcloud-0.14.1.ebuild50
-rw-r--r--dev-python/libcloud/libcloud-0.15.0.ebuild50
-rw-r--r--dev-python/libcloud/libcloud-0.15.1.ebuild50
-rw-r--r--dev-python/libcloud/metadata.xml5
-rw-r--r--dev-python/libextractor-python/Manifest1
-rw-r--r--dev-python/libextractor-python/libextractor-python-0.6-r1.ebuild24
-rw-r--r--dev-python/libextractor-python/metadata.xml10
-rw-r--r--dev-python/libgnome-python/Manifest1
-rw-r--r--dev-python/libgnome-python/libgnome-python-2.28.1-r1.ebuild29
-rw-r--r--dev-python/libgnome-python/metadata.xml6
-rw-r--r--dev-python/libgnomecanvas-python/Manifest1
-rw-r--r--dev-python/libgnomecanvas-python/libgnomecanvas-python-2.28.1-r1.ebuild24
-rw-r--r--dev-python/libgnomecanvas-python/metadata.xml6
-rw-r--r--dev-python/liblarch/Manifest1
-rw-r--r--dev-python/liblarch/liblarch-2.1.0.ebuild28
-rw-r--r--dev-python/liblarch/metadata.xml21
-rw-r--r--dev-python/libnacl/Manifest2
-rw-r--r--dev-python/libnacl/libnacl-1.4.0.ebuild23
-rw-r--r--dev-python/libnacl/libnacl-1.4.3.ebuild23
-rw-r--r--dev-python/libnacl/metadata.xml12
-rw-r--r--dev-python/libnatpmp/Manifest3
-rw-r--r--dev-python/libnatpmp/files/link-against-system-lib.patch12
-rw-r--r--dev-python/libnatpmp/libnatpmp-20130911.ebuild28
-rw-r--r--dev-python/libnatpmp/libnatpmp-20140401-r1.ebuild28
-rw-r--r--dev-python/libnatpmp/libnatpmp-20150609.ebuild28
-rw-r--r--dev-python/libnatpmp/metadata.xml8
-rw-r--r--dev-python/librharris/Manifest1
-rw-r--r--dev-python/librharris/librharris-0.1.14-r1.ebuild25
-rw-r--r--dev-python/librharris/metadata.xml8
-rw-r--r--dev-python/librsvg-python/Manifest1
-rw-r--r--dev-python/librsvg-python/librsvg-python-2.32.0-r1.ebuild24
-rw-r--r--dev-python/librsvg-python/metadata.xml5
-rw-r--r--dev-python/libvirt-python/Manifest3
-rw-r--r--dev-python/libvirt-python/libvirt-python-1.2.15.ebuild44
-rw-r--r--dev-python/libvirt-python/libvirt-python-1.2.17.ebuild44
-rw-r--r--dev-python/libvirt-python/libvirt-python-1.2.18.ebuild44
-rw-r--r--dev-python/libvirt-python/libvirt-python-9999.ebuild41
-rw-r--r--dev-python/libvirt-python/metadata.xml9
-rw-r--r--dev-python/libwnck-python/Manifest1
-rw-r--r--dev-python/libwnck-python/files/libwnck-python-2.30.2-flagsfix.patch30
-rw-r--r--dev-python/libwnck-python/libwnck-python-2.32.0-r1.ebuild29
-rw-r--r--dev-python/libwnck-python/metadata.xml5
-rw-r--r--dev-python/linecache2/Manifest1
-rw-r--r--dev-python/linecache2/linecache2-1.0.0.ebuild31
-rw-r--r--dev-python/linecache2/metadata.xml14
-rw-r--r--dev-python/livereload/Manifest2
-rw-r--r--dev-python/livereload/files/fix-tests.patch77
-rw-r--r--dev-python/livereload/livereload-2.3.2.ebuild42
-rw-r--r--dev-python/livereload/livereload-2.4.0.ebuild39
-rw-r--r--dev-python/livereload/metadata.xml13
-rw-r--r--dev-python/llfuse/Manifest2
-rw-r--r--dev-python/llfuse/llfuse-0.39.ebuild33
-rw-r--r--dev-python/llfuse/llfuse-0.40.ebuild35
-rw-r--r--dev-python/llfuse/metadata.xml8
-rw-r--r--dev-python/llvmlite/Manifest4
-rw-r--r--dev-python/llvmlite/llvmlite-0.2.1.ebuild21
-rw-r--r--dev-python/llvmlite/llvmlite-0.2.2.ebuild21
-rw-r--r--dev-python/llvmlite/llvmlite-0.5.0.ebuild39
-rw-r--r--dev-python/llvmlite/llvmlite-0.6.0.ebuild39
-rw-r--r--dev-python/llvmlite/metadata.xml8
-rw-r--r--dev-python/llvmmath/Manifest1
-rw-r--r--dev-python/llvmmath/llvmmath-0.1.2.ebuild29
-rw-r--r--dev-python/llvmmath/metadata.xml16
-rw-r--r--dev-python/llvmpy/Manifest6
-rw-r--r--dev-python/llvmpy/files/llvmpy-0.12.2-return-type.patch13
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.2.ebuild39
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.3.ebuild39
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.4.ebuild39
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.5.ebuild39
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.6.ebuild49
-rw-r--r--dev-python/llvmpy/llvmpy-0.12.7.ebuild57
-rw-r--r--dev-python/llvmpy/metadata.xml12
-rw-r--r--dev-python/lockfile/Manifest2
-rw-r--r--dev-python/lockfile/files/py3-support.patch107
-rw-r--r--dev-python/lockfile/lockfile-0.10.2.ebuild41
-rw-r--r--dev-python/lockfile/lockfile-0.9.1-r1.ebuild43
-rw-r--r--dev-python/lockfile/metadata.xml8
-rw-r--r--dev-python/locustio/Manifest1
-rw-r--r--dev-python/locustio/locustio-0.7.3.ebuild31
-rw-r--r--dev-python/locustio/metadata.xml9
-rw-r--r--dev-python/log4py/Manifest1
-rw-r--r--dev-python/log4py/log4py-1.3-r1.ebuild33
-rw-r--r--dev-python/log4py/metadata.xml5
-rw-r--r--dev-python/logbook/Manifest2
-rw-r--r--dev-python/logbook/files/logbook-0.4.2-objectsinv.patch11
-rw-r--r--dev-python/logbook/files/logbook-0.5-pypy-test-fix.patch50
-rw-r--r--dev-python/logbook/logbook-0.10.0.ebuild46
-rw-r--r--dev-python/logbook/logbook-0.9.1.ebuild44
-rw-r--r--dev-python/logbook/metadata.xml9
-rw-r--r--dev-python/logilab-common/Manifest4
-rw-r--r--dev-python/logilab-common/files/logilab-common-0.59.1-zipsafe.patch13
-rw-r--r--dev-python/logilab-common/files/logilab-common-0.60.0-skip-doctest.patch13
-rw-r--r--dev-python/logilab-common/logilab-common-0.61.0.ebuild88
-rw-r--r--dev-python/logilab-common/logilab-common-0.62.1.ebuild92
-rw-r--r--dev-python/logilab-common/logilab-common-0.63.2.ebuild71
-rw-r--r--dev-python/logilab-common/logilab-common-1.0.2.ebuild66
-rw-r--r--dev-python/logilab-common/metadata.xml8
-rw-r--r--dev-python/logilab-constraint/Manifest1
-rw-r--r--dev-python/logilab-constraint/logilab-constraint-0.5.0-r1.ebuild35
-rw-r--r--dev-python/logilab-constraint/metadata.xml5
-rw-r--r--dev-python/louie/Manifest1
-rw-r--r--dev-python/louie/louie-1.1-r1.ebuild35
-rw-r--r--dev-python/louie/louie-1.1.ebuild33
-rw-r--r--dev-python/louie/metadata.xml8
-rw-r--r--dev-python/lp_solve/Manifest1
-rw-r--r--dev-python/lp_solve/files/lp_solve-5.5.2.0-setup.patch50
-rw-r--r--dev-python/lp_solve/lp_solve-5.5.2.0-r1.ebuild48
-rw-r--r--dev-python/lp_solve/metadata.xml11
-rw-r--r--dev-python/lupy/Manifest1
-rw-r--r--dev-python/lupy/lupy-0.2.1-r2.ebuild32
-rw-r--r--dev-python/lupy/metadata.xml11
-rw-r--r--dev-python/lxml/Manifest5
-rw-r--r--dev-python/lxml/files/lxml-3.3.x-test_etree.py.patch14
-rw-r--r--dev-python/lxml/files/lxml-3.4.4-cross-compile.patch36
-rw-r--r--dev-python/lxml/lxml-3.3.5.ebuild77
-rw-r--r--dev-python/lxml/lxml-3.4.1.ebuild68
-rw-r--r--dev-python/lxml/lxml-3.4.2.ebuild68
-rw-r--r--dev-python/lxml/lxml-3.4.3.ebuild74
-rw-r--r--dev-python/lxml/lxml-3.4.4.ebuild77
-rw-r--r--dev-python/lxml/metadata.xml11
-rw-r--r--dev-python/lz4/Manifest2
-rw-r--r--dev-python/lz4/lz4-0.6.1.ebuild27
-rw-r--r--dev-python/lz4/lz4-0.7.0.ebuild22
-rw-r--r--dev-python/lz4/metadata.xml12
-rw-r--r--dev-python/m2crypto/Manifest1
-rw-r--r--dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch138
-rw-r--r--dev-python/m2crypto/files/0.22.3-packaging.patch69
-rw-r--r--dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild41
-rw-r--r--dev-python/m2crypto/metadata.xml9
-rw-r--r--dev-python/m2secret/Manifest1
-rw-r--r--dev-python/m2secret/m2secret-0.1.1-r1.ebuild21
-rw-r--r--dev-python/m2secret/metadata.xml8
-rw-r--r--dev-python/maintboot/Manifest1
-rw-r--r--dev-python/maintboot/maintboot-0.1.0.ebuild18
-rw-r--r--dev-python/maintboot/metadata.xml12
-rw-r--r--dev-python/mako/Manifest2
-rw-r--r--dev-python/mako/files/test-fix.patch11
-rw-r--r--dev-python/mako/mako-0.7.3-r1.ebuild53
-rw-r--r--dev-python/mako/mako-0.7.3-r2.ebuild72
-rw-r--r--dev-python/mako/mako-1.0.0.ebuild59
-rw-r--r--dev-python/mako/metadata.xml8
-rw-r--r--dev-python/mamba/Manifest4
-rw-r--r--dev-python/mamba/mamba-0.6.ebuild54
-rw-r--r--dev-python/mamba/mamba-0.8.2.ebuild54
-rw-r--r--dev-python/mamba/mamba-0.8.4.ebuild55
-rw-r--r--dev-python/mamba/mamba-0.8.ebuild53
-rw-r--r--dev-python/mamba/metadata.xml13
-rw-r--r--dev-python/mando/Manifest1
-rw-r--r--dev-python/mando/mando-0.3.2.ebuild39
-rw-r--r--dev-python/mando/metadata.xml13
-rw-r--r--dev-python/mantissa/Manifest3
-rw-r--r--dev-python/mantissa/mantissa-0.7.0-r1.ebuild46
-rw-r--r--dev-python/mantissa/mantissa-0.8.0.ebuild52
-rw-r--r--dev-python/mantissa/mantissa-0.8.1.ebuild53
-rw-r--r--dev-python/mantissa/metadata.xml12
-rw-r--r--dev-python/manuel/Manifest1
-rw-r--r--dev-python/manuel/files/manuel-1.7-rm_zope_test.patch92
-rw-r--r--dev-python/manuel/manuel-1.7.1.ebuild33
-rw-r--r--dev-python/manuel/metadata.xml12
-rw-r--r--dev-python/markdown/Manifest3
-rw-r--r--dev-python/markdown/files/markdown-2.2.0-tests.patch80
-rw-r--r--dev-python/markdown/markdown-2.5.1.ebuild45
-rw-r--r--dev-python/markdown/markdown-2.6.1.ebuild45
-rw-r--r--dev-python/markdown/markdown-2.6.2.ebuild48
-rw-r--r--dev-python/markdown/metadata.xml11
-rw-r--r--dev-python/markdown2/Manifest3
-rw-r--r--dev-python/markdown2/markdown2-2.2.1.ebuild32
-rw-r--r--dev-python/markdown2/markdown2-2.2.3.ebuild32
-rw-r--r--dev-python/markdown2/markdown2-2.3.0.ebuild33
-rw-r--r--dev-python/markdown2/metadata.xml18
-rw-r--r--dev-python/markups/Manifest3
-rw-r--r--dev-python/markups/markups-0.2.4-r1.ebuild35
-rw-r--r--dev-python/markups/markups-0.6.1.ebuild38
-rw-r--r--dev-python/markups/markups-0.6.3.ebuild38
-rw-r--r--dev-python/markups/metadata.xml11
-rw-r--r--dev-python/markupsafe/Manifest1
-rw-r--r--dev-python/markupsafe/markupsafe-0.23.ebuild37
-rw-r--r--dev-python/markupsafe/metadata.xml8
-rw-r--r--dev-python/matplotlib/Manifest2
-rw-r--r--dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch26
-rw-r--r--dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch22
-rw-r--r--dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch50
-rw-r--r--dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch54
-rw-r--r--dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch58
-rw-r--r--dev-python/matplotlib/matplotlib-1.4.2.ebuild248
-rw-r--r--dev-python/matplotlib/matplotlib-1.4.3.ebuild258
-rw-r--r--dev-python/matplotlib/matplotlib-9999.ebuild251
-rw-r--r--dev-python/matplotlib/metadata.xml19
-rw-r--r--dev-python/mccabe/Manifest3
-rw-r--r--dev-python/mccabe/mccabe-0.2.1.ebuild22
-rw-r--r--dev-python/mccabe/mccabe-0.3.1.ebuild26
-rw-r--r--dev-python/mccabe/mccabe-0.3.ebuild22
-rw-r--r--dev-python/mccabe/metadata.xml9
-rw-r--r--dev-python/mecab-python/Manifest1
-rw-r--r--dev-python/mecab-python/files/mecab-python-py3.diff11
-rw-r--r--dev-python/mecab-python/mecab-python-0.996.ebuild24
-rw-r--r--dev-python/mecab-python/metadata.xml8
-rw-r--r--dev-python/mechanize/Manifest1
-rw-r--r--dev-python/mechanize/mechanize-0.2.5-r1.ebuild36
-rw-r--r--dev-python/mechanize/mechanize-0.2.5.ebuild40
-rw-r--r--dev-python/mechanize/metadata.xml15
-rw-r--r--dev-python/medusa/Manifest1
-rw-r--r--dev-python/medusa/medusa-0.5.4-r1.ebuild25
-rw-r--r--dev-python/medusa/metadata.xml5
-rw-r--r--dev-python/meld3/Manifest2
-rw-r--r--dev-python/meld3/meld3-1.0.0.ebuild27
-rw-r--r--dev-python/meld3/meld3-1.0.2.ebuild27
-rw-r--r--dev-python/meld3/metadata.xml9
-rw-r--r--dev-python/mergedict/Manifest1
-rw-r--r--dev-python/mergedict/mergedict-0.2.0.ebuild20
-rw-r--r--dev-python/mergedict/metadata.xml9
-rw-r--r--dev-python/metadata.xml45
-rw-r--r--dev-python/micawber/Manifest2
-rw-r--r--dev-python/micawber/files/micawber-0.3.2-remove-examples-from-setup.py.patch20
-rw-r--r--dev-python/micawber/metadata.xml12
-rw-r--r--dev-python/micawber/micawber-0.3.2.ebuild26
-rw-r--r--dev-python/micawber/micawber-0.3.3.ebuild26
-rw-r--r--dev-python/milk/Manifest3
-rw-r--r--dev-python/milk/metadata.xml23
-rw-r--r--dev-python/milk/milk-0.5.1.ebuild23
-rw-r--r--dev-python/milk/milk-0.5.3.ebuild23
-rw-r--r--dev-python/milk/milk-0.6.1.ebuild23
-rw-r--r--dev-python/milksets/Manifest1
-rw-r--r--dev-python/milksets/metadata.xml12
-rw-r--r--dev-python/milksets/milksets-0.1.3-r1.ebuild20
-rw-r--r--dev-python/mimeparse/Manifest1
-rw-r--r--dev-python/mimeparse/metadata.xml13
-rw-r--r--dev-python/mimeparse/mimeparse-0.1.4-r1.ebuild41
-rw-r--r--dev-python/mimerender/Manifest2
-rw-r--r--dev-python/mimerender/metadata.xml8
-rw-r--r--dev-python/mimerender/mimerender-0.5.4.ebuild20
-rw-r--r--dev-python/mimerender/mimerender-0.5.5.ebuild20
-rw-r--r--dev-python/minimock/Manifest1
-rw-r--r--dev-python/minimock/metadata.xml8
-rw-r--r--dev-python/minimock/minimock-1.2.8-r1.ebuild25
-rw-r--r--dev-python/miniupnpc/Manifest1
-rw-r--r--dev-python/miniupnpc/files/0001-Link-Python-module-against-the-shared-library.patch24
-rw-r--r--dev-python/miniupnpc/metadata.xml13
-rw-r--r--dev-python/miniupnpc/miniupnpc-1.8.ebuild28
-rw-r--r--dev-python/misaka/Manifest1
-rw-r--r--dev-python/misaka/metadata.xml8
-rw-r--r--dev-python/misaka/misaka-1.0.2.ebuild21
-rw-r--r--dev-python/mistune/Manifest3
-rw-r--r--dev-python/mistune/files/mistune-0.6-inline-html.patch536
-rw-r--r--dev-python/mistune/metadata.xml12
-rw-r--r--dev-python/mistune/mistune-0.5.1.ebuild28
-rw-r--r--dev-python/mistune/mistune-0.6-r1.ebuild30
-rw-r--r--dev-python/mistune/mistune-0.7.ebuild28
-rw-r--r--dev-python/mkdocs/Manifest3
-rw-r--r--dev-python/mkdocs/files/0.12.2-skip-invalid-test.patch12
-rw-r--r--dev-python/mkdocs/files/skip-invalid-test.patch24
-rw-r--r--dev-python/mkdocs/metadata.xml13
-rw-r--r--dev-python/mkdocs/mkdocs-0.11.1-r1.ebuild58
-rw-r--r--dev-python/mkdocs/mkdocs-0.12.2.ebuild58
-rw-r--r--dev-python/mkdocs/mkdocs-0.14.0.ebuild48
-rw-r--r--dev-python/mkpythonproj/Manifest1
-rw-r--r--dev-python/mkpythonproj/metadata.xml9
-rw-r--r--dev-python/mkpythonproj/mkpythonproj-1.9.ebuild25
-rw-r--r--dev-python/mock/Manifest3
-rw-r--r--dev-python/mock/files/mock-1.0.1-fix-python3.4.patch30
-rw-r--r--dev-python/mock/metadata.xml9
-rw-r--r--dev-python/mock/mock-1.0.1-r1.ebuild36
-rw-r--r--dev-python/mock/mock-1.0.1-r2.ebuild43
-rw-r--r--dev-python/mock/mock-1.2.0.ebuild41
-rw-r--r--dev-python/mock/mock-1.3.0-r1.ebuild41
-rw-r--r--dev-python/mocker/Manifest1
-rw-r--r--dev-python/mocker/files/mocker-1.1.1-pypy_test.patch29
-rw-r--r--dev-python/mocker/metadata.xml8
-rw-r--r--dev-python/mocker/mocker-1.1.1-r1.ebuild26
-rw-r--r--dev-python/mockldap/Manifest4
-rw-r--r--dev-python/mockldap/files/mapping.patch12
-rw-r--r--dev-python/mockldap/files/mockldap-0.1.5-modify_s-backport.patch21
-rw-r--r--dev-python/mockldap/metadata.xml9
-rw-r--r--dev-python/mockldap/mockldap-0.2.2.ebuild47
-rw-r--r--dev-python/mockldap/mockldap-0.2.3.ebuild47
-rw-r--r--dev-python/mockldap/mockldap-0.2.4.ebuild47
-rw-r--r--dev-python/mockldap/mockldap-0.2.5.ebuild47
-rw-r--r--dev-python/mongoengine/Manifest1
-rw-r--r--dev-python/mongoengine/metadata.xml8
-rw-r--r--dev-python/mongoengine/mongoengine-0.8.3.ebuild33
-rw-r--r--dev-python/monotonic/Manifest2
-rw-r--r--dev-python/monotonic/metadata.xml14
-rw-r--r--dev-python/monotonic/monotonic-0.2.ebuild20
-rw-r--r--dev-python/monotonic/monotonic-0.3.ebuild20
-rw-r--r--dev-python/morbid/Manifest1
-rw-r--r--dev-python/morbid/metadata.xml8
-rw-r--r--dev-python/morbid/morbid-0.8.7.3-r1.ebuild24
-rw-r--r--dev-python/morbid/morbid-0.8.7.3.ebuild25
-rw-r--r--dev-python/more-itertools/Manifest1
-rw-r--r--dev-python/more-itertools/metadata.xml8
-rw-r--r--dev-python/more-itertools/more-itertools-2.2.ebuild20
-rw-r--r--dev-python/moto/Manifest3
-rw-r--r--dev-python/moto/metadata.xml13
-rw-r--r--dev-python/moto/moto-0.3.8.ebuild26
-rw-r--r--dev-python/moto/moto-0.4.3.ebuild27
-rw-r--r--dev-python/moto/moto-0.4.8.ebuild27
-rw-r--r--dev-python/mox/Manifest1
-rw-r--r--dev-python/mox/metadata.xml9
-rw-r--r--dev-python/mox/mox-0.5.3-r1.ebuild22
-rw-r--r--dev-python/mox3/Manifest1
-rw-r--r--dev-python/mox3/metadata.xml8
-rw-r--r--dev-python/mox3/mox3-0.7.0-r1.ebuild67
-rw-r--r--dev-python/mox3/mox3-0.7.0.ebuild45
-rw-r--r--dev-python/mpi4py/Manifest1
-rw-r--r--dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch24
-rw-r--r--dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch81
-rw-r--r--dev-python/mpi4py/metadata.xml19
-rw-r--r--dev-python/mpi4py/mpi4py-1.3.1.ebuild50
-rw-r--r--dev-python/mpmath/Manifest2
-rw-r--r--dev-python/mpmath/files/mpmath.patch9
-rw-r--r--dev-python/mpmath/metadata.xml18
-rw-r--r--dev-python/mpmath/mpmath-0.18.ebuild63
-rw-r--r--dev-python/mpmath/mpmath-0.19.ebuild63
-rw-r--r--dev-python/msgpack/Manifest1
-rw-r--r--dev-python/msgpack/metadata.xml9
-rw-r--r--dev-python/msgpack/msgpack-0.4.6.ebuild32
-rw-r--r--dev-python/multipledispatch/Manifest3
-rw-r--r--dev-python/multipledispatch/metadata.xml8
-rw-r--r--dev-python/multipledispatch/multipledispatch-0.4.6.ebuild19
-rw-r--r--dev-python/multipledispatch/multipledispatch-0.4.7.ebuild19
-rw-r--r--dev-python/multipledispatch/multipledispatch-0.4.8.ebuild19
-rw-r--r--dev-python/munkres/Manifest1
-rw-r--r--dev-python/munkres/metadata.xml14
-rw-r--r--dev-python/munkres/munkres-1.0.5.4-r2.ebuild27
-rw-r--r--dev-python/mwlib-ext/Manifest2
-rw-r--r--dev-python/mwlib-ext/files/0.12.4-unbundle-reportlab.patch36
-rw-r--r--dev-python/mwlib-ext/files/0.13.2-unbundle-reportlab.patch35
-rw-r--r--dev-python/mwlib-ext/metadata.xml8
-rw-r--r--dev-python/mwlib-ext/mwlib-ext-0.12.4-r1.ebuild29
-rw-r--r--dev-python/mwlib-ext/mwlib-ext-0.13.2.ebuild29
-rw-r--r--dev-python/mwlib-rl/Manifest2
-rw-r--r--dev-python/mwlib-rl/files/0.14.3-use-system-fonts.patch13
-rw-r--r--dev-python/mwlib-rl/metadata.xml12
-rw-r--r--dev-python/mwlib-rl/mwlib-rl-0.14.5.ebuild61
-rw-r--r--dev-python/mwlib-rl/mwlib-rl-0.14.6.ebuild61
-rw-r--r--dev-python/mwlib/Manifest1
-rw-r--r--dev-python/mwlib/files/mw-qserve.confd14
-rw-r--r--dev-python/mwlib/files/mw-qserve.initd21
-rw-r--r--dev-python/mwlib/files/mw-qserve.logrotate7
-rw-r--r--dev-python/mwlib/files/mwlib-purge-cache.cron-r14
-rw-r--r--dev-python/mwlib/files/nserve.confd20
-rw-r--r--dev-python/mwlib/files/nserve.initd24
-rw-r--r--dev-python/mwlib/files/nserve.logrotate7
-rw-r--r--dev-python/mwlib/files/nslave.confd-r126
-rw-r--r--dev-python/mwlib/files/nslave.initd-r127
-rw-r--r--dev-python/mwlib/files/nslave.logrotate7
-rw-r--r--dev-python/mwlib/files/postman.confd12
-rw-r--r--dev-python/mwlib/files/postman.initd-r121
-rw-r--r--dev-python/mwlib/files/postman.logrotate7
-rw-r--r--dev-python/mwlib/metadata.xml12
-rw-r--r--dev-python/mwlib/mwlib-0.15.15.ebuild132
-rw-r--r--dev-python/myghty/Manifest1
-rw-r--r--dev-python/myghty/metadata.xml8
-rw-r--r--dev-python/myghty/myghty-1.2-r1.ebuild49
-rw-r--r--dev-python/myghtyutils/Manifest1
-rw-r--r--dev-python/myghtyutils/metadata.xml8
-rw-r--r--dev-python/myghtyutils/myghtyutils-0.52-r1.ebuild27
-rw-r--r--dev-python/mygpoclient/Manifest1
-rw-r--r--dev-python/mygpoclient/files/tests.patch34
-rw-r--r--dev-python/mygpoclient/metadata.xml6
-rw-r--r--dev-python/mygpoclient/mygpoclient-1.7-r1.ebuild46
-rw-r--r--dev-python/mypy/Manifest1
-rw-r--r--dev-python/mypy/files/use-which.patch20
-rw-r--r--dev-python/mypy/metadata.xml13
-rw-r--r--dev-python/mypy/mypy-0.2.0-r1.ebuild48
-rw-r--r--dev-python/mypy/mypy-0.2.0.ebuild40
-rw-r--r--dev-python/mysql-connector-python/Manifest2
-rw-r--r--dev-python/mysql-connector-python/metadata.xml8
-rw-r--r--dev-python/mysql-connector-python/mysql-connector-python-2.0.3.ebuild20
-rw-r--r--dev-python/mysql-connector-python/mysql-connector-python-2.1.1.ebuild21
-rw-r--r--dev-python/mysql-python/Manifest2
-rw-r--r--dev-python/mysql-python/metadata.xml8
-rw-r--r--dev-python/mysql-python/mysql-python-1.2.3-r1.ebuild31
-rw-r--r--dev-python/mysql-python/mysql-python-1.2.5-r1.ebuild44
-rw-r--r--dev-python/mysql-python/mysql-python-1.2.5.ebuild44
-rw-r--r--dev-python/mysqlclient/Manifest1
-rw-r--r--dev-python/mysqlclient/metadata.xml12
-rw-r--r--dev-python/mysqlclient/mysqlclient-1.3.6.ebuild36
-rw-r--r--dev-python/natgrid/Manifest1
-rw-r--r--dev-python/natgrid/metadata.xml14
-rw-r--r--dev-python/natgrid/natgrid-0.2.1-r2.ebuild33
-rw-r--r--dev-python/natsort/Manifest2
-rw-r--r--dev-python/natsort/metadata.xml8
-rw-r--r--dev-python/natsort/natsort-3.4.0.ebuild25
-rw-r--r--dev-python/natsort/natsort-4.0.3.ebuild29
-rw-r--r--dev-python/nautilus-python/Manifest1
-rw-r--r--dev-python/nautilus-python/metadata.xml8
-rw-r--r--dev-python/nautilus-python/nautilus-python-1.1-r1.ebuild50
-rw-r--r--dev-python/nautilus-python/nautilus-python-1.1-r2.ebuild52
-rw-r--r--dev-python/ndg-httpsclient/Manifest2
-rw-r--r--dev-python/ndg-httpsclient/metadata.xml9
-rw-r--r--dev-python/ndg-httpsclient/ndg-httpsclient-0.3.2.ebuild24
-rw-r--r--dev-python/ndg-httpsclient/ndg-httpsclient-0.4.0.ebuild26
-rw-r--r--dev-python/neovim-python-client/Manifest1
-rw-r--r--dev-python/neovim-python-client/metadata.xml9
-rw-r--r--dev-python/neovim-python-client/neovim-python-client-0.0.37.ebuild26
-rw-r--r--dev-python/netaddr/Manifest4
-rw-r--r--dev-python/netaddr/metadata.xml19
-rw-r--r--dev-python/netaddr/netaddr-0.7.12.ebuild24
-rw-r--r--dev-python/netaddr/netaddr-0.7.13.ebuild25
-rw-r--r--dev-python/netaddr/netaddr-0.7.14.ebuild25
-rw-r--r--dev-python/netaddr/netaddr-0.7.15.ebuild33
-rw-r--r--dev-python/netcdf4-python/Manifest1
-rw-r--r--dev-python/netcdf4-python/metadata.xml8
-rw-r--r--dev-python/netcdf4-python/netcdf4-python-1.0.4.ebuild33
-rw-r--r--dev-python/netifaces/Manifest2
-rw-r--r--dev-python/netifaces/files/netifaces-0.10.4-remove-osx-fix.patch15
-rw-r--r--dev-python/netifaces/files/netifaces-0.8-remove-osx-fix.patch23
-rw-r--r--dev-python/netifaces/metadata.xml12
-rw-r--r--dev-python/netifaces/netifaces-0.10.4.ebuild23
-rw-r--r--dev-python/netifaces/netifaces-0.8-r2.ebuild23
-rw-r--r--dev-python/netlib/Manifest5
-rw-r--r--dev-python/netlib/metadata.xml12
-rw-r--r--dev-python/netlib/netlib-0.10.1.ebuild30
-rw-r--r--dev-python/netlib/netlib-0.10.ebuild30
-rw-r--r--dev-python/netlib/netlib-0.11.1.ebuild31
-rw-r--r--dev-python/netlib/netlib-0.11.2.ebuild31
-rw-r--r--dev-python/netlib/netlib-0.12.0.ebuild31
-rw-r--r--dev-python/networkx/Manifest2
-rw-r--r--dev-python/networkx/metadata.xml20
-rw-r--r--dev-python/networkx/networkx-1.10.ebuild72
-rw-r--r--dev-python/networkx/networkx-1.9.1.ebuild71
-rw-r--r--dev-python/nevow/Manifest1
-rw-r--r--dev-python/nevow/metadata.xml8
-rw-r--r--dev-python/nevow/nevow-0.11.1-r1.ebuild50
-rw-r--r--dev-python/nevow/nevow-0.11.1.ebuild41
-rw-r--r--dev-python/newt_syrup/Manifest1
-rw-r--r--dev-python/newt_syrup/metadata.xml5
-rw-r--r--dev-python/newt_syrup/newt_syrup-0.1.2-r1.ebuild22
-rw-r--r--dev-python/nltk/Manifest3
-rw-r--r--dev-python/nltk/files/fix-newer-setuptools.patch32
-rw-r--r--dev-python/nltk/metadata.xml18
-rw-r--r--dev-python/nltk/nltk-2.0.4.ebuild31
-rw-r--r--dev-python/nltk/nltk-3.0.3.ebuild23
-rw-r--r--dev-python/nltk/nltk-3.0.4.ebuild22
-rw-r--r--dev-python/nose-cover3/Manifest1
-rw-r--r--dev-python/nose-cover3/metadata.xml9
-rw-r--r--dev-python/nose-cover3/nose-cover3-0.1.0-r1.ebuild22
-rw-r--r--dev-python/nose-exclude/Manifest3
-rw-r--r--dev-python/nose-exclude/metadata.xml16
-rw-r--r--dev-python/nose-exclude/nose-exclude-0.1.9.ebuild19
-rw-r--r--dev-python/nose-exclude/nose-exclude-0.2.0.ebuild25
-rw-r--r--dev-python/nose-exclude/nose-exclude-0.3.0.ebuild25
-rw-r--r--dev-python/nose-testconfig/Manifest1
-rw-r--r--dev-python/nose-testconfig/metadata.xml9
-rw-r--r--dev-python/nose-testconfig/nose-testconfig-0.9.ebuild26
-rw-r--r--dev-python/nose/Manifest3
-rw-r--r--dev-python/nose/files/nose-0.11.0-disable_intersphinx.patch17
-rw-r--r--dev-python/nose/files/nose-1.2.1-skiptest.patch23
-rw-r--r--dev-python/nose/files/nose-1.3.1-doctest.patch45
-rw-r--r--dev-python/nose/files/nose-1.3.1-pypy-test.patch42
-rw-r--r--dev-python/nose/files/nose-1.3.1-python3.4.patch41
-rw-r--r--dev-python/nose/files/nose-1.3.1-version.patch16
-rw-r--r--dev-python/nose/metadata.xml9
-rw-r--r--dev-python/nose/nose-1.3.4.ebuild84
-rw-r--r--dev-python/nose/nose-1.3.6.ebuild89
-rw-r--r--dev-python/nose/nose-1.3.7.ebuild89
-rw-r--r--dev-python/nose/nose-9999.ebuild96
-rw-r--r--dev-python/nose_fixes/Manifest1
-rw-r--r--dev-python/nose_fixes/metadata.xml8
-rw-r--r--dev-python/nose_fixes/nose_fixes-1.3.ebuild38
-rw-r--r--dev-python/nosehtmloutput/Manifest2
-rw-r--r--dev-python/nosehtmloutput/metadata.xml16
-rw-r--r--dev-python/nosehtmloutput/nosehtmloutput-0.0.4-r1.ebuild21
-rw-r--r--dev-python/nosehtmloutput/nosehtmloutput-0.0.5.ebuild21
-rw-r--r--dev-python/nosexcover/Manifest1
-rw-r--r--dev-python/nosexcover/metadata.xml10
-rw-r--r--dev-python/nosexcover/nosexcover-1.0.10.ebuild24
-rw-r--r--dev-python/notify-python/Manifest1
-rw-r--r--dev-python/notify-python/files/notify-python-0.1.1-libnotify-0.7.patch37
-rw-r--r--dev-python/notify-python/metadata.xml9
-rw-r--r--dev-python/notify-python/notify-python-0.1.1-r3.ebuild56
-rw-r--r--dev-python/numba/Manifest3
-rw-r--r--dev-python/numba/files/numba-0.19.2-docbuild.patch17
-rw-r--r--dev-python/numba/metadata.xml17
-rw-r--r--dev-python/numba/numba-0.18.2.ebuild50
-rw-r--r--dev-python/numba/numba-0.19.2.ebuild69
-rw-r--r--dev-python/numba/numba-0.20.0.ebuild69
-rw-r--r--dev-python/numdisplay/Manifest1
-rw-r--r--dev-python/numdisplay/metadata.xml10
-rw-r--r--dev-python/numdisplay/numdisplay-1.6.0-r1.ebuild27
-rw-r--r--dev-python/numexpr/Manifest3
-rw-r--r--dev-python/numexpr/metadata.xml23
-rw-r--r--dev-python/numexpr/numexpr-2.4.1.ebuild48
-rw-r--r--dev-python/numexpr/numexpr-2.4.3.ebuild54
-rw-r--r--dev-python/numexpr/numexpr-2.4.ebuild48
-rw-r--r--dev-python/numpy/Manifest15
-rw-r--r--dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch214
-rw-r--r--dev-python/numpy/files/numpy-1.8.0-no-hardcode-blas.patch25
-rw-r--r--dev-python/numpy/files/numpy-1.9.0-OO.patch91
-rw-r--r--dev-python/numpy/files/numpy-1.9.0-no-hardcode-blas.patch25
-rw-r--r--dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch35
-rw-r--r--dev-python/numpy/metadata.xml17
-rw-r--r--dev-python/numpy/numpy-1.8.0-r1.ebuild147
-rw-r--r--dev-python/numpy/numpy-1.8.1.ebuild145
-rw-r--r--dev-python/numpy/numpy-1.8.2.ebuild145
-rw-r--r--dev-python/numpy/numpy-1.9.0-r1.ebuild148
-rw-r--r--dev-python/numpy/numpy-1.9.0.ebuild146
-rw-r--r--dev-python/numpy/numpy-1.9.1.ebuild146
-rw-r--r--dev-python/numpy/numpy-1.9.2.ebuild146
-rw-r--r--dev-python/numpydoc/Manifest2
-rw-r--r--dev-python/numpydoc/metadata.xml8
-rw-r--r--dev-python/numpydoc/numpydoc-0.4-r1.ebuild34
-rw-r--r--dev-python/numpydoc/numpydoc-0.5.ebuild32
-rw-r--r--dev-python/oauth/Manifest1
-rw-r--r--dev-python/oauth/metadata.xml8
-rw-r--r--dev-python/oauth/oauth-1.0.1-r1.ebuild20
-rw-r--r--dev-python/oauth2/Manifest1
-rw-r--r--dev-python/oauth2/files/oauth2-exclude-tests.patch13
-rw-r--r--dev-python/oauth2/metadata.xml8
-rw-r--r--dev-python/oauth2/oauth2-1.5.211-r1.ebuild30
-rw-r--r--dev-python/oauth2client/Manifest2
-rw-r--r--dev-python/oauth2client/metadata.xml8
-rw-r--r--dev-python/oauth2client/oauth2client-1.4.11.ebuild37
-rw-r--r--dev-python/oauth2client/oauth2client-1.4.6.ebuild37
-rw-r--r--dev-python/oauthlib/Manifest2
-rw-r--r--dev-python/oauthlib/metadata.xml9
-rw-r--r--dev-python/oauthlib/oauthlib-0.7.2.ebuild32
-rw-r--r--dev-python/oauthlib/oauthlib-1.0.1.ebuild34
-rw-r--r--dev-python/objgraph/Manifest2
-rw-r--r--dev-python/objgraph/metadata.xml12
-rw-r--r--dev-python/objgraph/objgraph-1.7.2.ebuild27
-rw-r--r--dev-python/objgraph/objgraph-1.8.1.ebuild27
-rw-r--r--dev-python/oct2py/Manifest2
-rw-r--r--dev-python/oct2py/files/oct2py-1.3.0-test.patch21
-rw-r--r--dev-python/oct2py/metadata.xml13
-rw-r--r--dev-python/oct2py/oct2py-0.4.0-r1.ebuild45
-rw-r--r--dev-python/oct2py/oct2py-1.3.0-r1.ebuild63
-rw-r--r--dev-python/oct2py/oct2py-1.3.0.ebuild52
-rw-r--r--dev-python/odfpy/Manifest2
-rw-r--r--dev-python/odfpy/files/odfpy-0.9.4-tests.patch32
-rw-r--r--dev-python/odfpy/metadata.xml8
-rw-r--r--dev-python/odfpy/odfpy-0.9.6-r1.ebuild33
-rw-r--r--dev-python/odfpy/odfpy-1.3.1.ebuild41
-rw-r--r--dev-python/odo/Manifest2
-rw-r--r--dev-python/odo/metadata.xml9
-rw-r--r--dev-python/odo/odo-0.3.2.ebuild50
-rw-r--r--dev-python/odo/odo-0.3.3.ebuild50
-rw-r--r--dev-python/oosuite/Manifest2
-rw-r--r--dev-python/oosuite/metadata.xml23
-rw-r--r--dev-python/oosuite/oosuite-0.45.ebuild109
-rw-r--r--dev-python/oosuite/oosuite-0.50.ebuild109
-rw-r--r--dev-python/openpyxl/Manifest3
-rw-r--r--dev-python/openpyxl/metadata.xml12
-rw-r--r--dev-python/openpyxl/openpyxl-2.1.0.ebuild45
-rw-r--r--dev-python/openpyxl/openpyxl-2.2.3.ebuild33
-rw-r--r--dev-python/openpyxl/openpyxl-2.2.4.ebuild33
-rw-r--r--dev-python/openpyxl/openpyxl-9999.ebuild31
-rw-r--r--dev-python/openstack-nose-plugin/Manifest1
-rw-r--r--dev-python/openstack-nose-plugin/metadata.xml17
-rw-r--r--dev-python/openstack-nose-plugin/openstack-nose-plugin-0.11-r2.ebuild24
-rw-r--r--dev-python/optcomplete/Manifest1
-rw-r--r--dev-python/optcomplete/metadata.xml17
-rw-r--r--dev-python/optcomplete/optcomplete-1.2-r1.ebuild26
-rw-r--r--dev-python/ordereddict/Manifest1
-rw-r--r--dev-python/ordereddict/metadata.xml15
-rw-r--r--dev-python/ordereddict/ordereddict-1.1.ebuild23
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/Manifest2
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/metadata.xml16
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1-r1.ebuild21
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1.ebuild21
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.2.ebuild21
-rw-r--r--dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-9999.ebuild23
-rw-r--r--dev-python/os-networksv2-python-novaclient-ext/Manifest2
-rw-r--r--dev-python/os-networksv2-python-novaclient-ext/metadata.xml16
-rw-r--r--dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21-r1.ebuild21
-rw-r--r--dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21.ebuild21
-rw-r--r--dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.25.ebuild21
-rw-r--r--dev-python/os-virtual-interfacesv2-python-novaclient-ext/Manifest2
-rw-r--r--dev-python/os-virtual-interfacesv2-python-novaclient-ext/metadata.xml16
-rw-r--r--dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.15.ebuild21
-rw-r--r--dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.19.ebuild21
-rw-r--r--dev-python/oslo-concurrency/Manifest3
-rw-r--r--dev-python/oslo-concurrency/metadata.xml15
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-1.8.0.ebuild55
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-1.8.1.ebuild61
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-1.8.2.ebuild62
-rw-r--r--dev-python/oslo-config/Manifest9
-rw-r--r--dev-python/oslo-config/metadata.xml17
-rw-r--r--dev-python/oslo-config/oslo-config-1.10.0.ebuild58
-rw-r--r--dev-python/oslo-config/oslo-config-1.11.0.ebuild55
-rw-r--r--dev-python/oslo-config/oslo-config-1.12.1.ebuild58
-rw-r--r--dev-python/oslo-config/oslo-config-1.3.0.ebuild45
-rw-r--r--dev-python/oslo-config/oslo-config-1.4.0.ebuild50
-rw-r--r--dev-python/oslo-config/oslo-config-1.6.0.ebuild52
-rw-r--r--dev-python/oslo-config/oslo-config-1.6.1.ebuild53
-rw-r--r--dev-python/oslo-config/oslo-config-1.7.0.ebuild54
-rw-r--r--dev-python/oslo-config/oslo-config-1.9.3.ebuild54
-rw-r--r--dev-python/oslo-context/Manifest3
-rw-r--r--dev-python/oslo-context/metadata.xml15
-rw-r--r--dev-python/oslo-context/oslo-context-0.1.0-r1.ebuild41
-rw-r--r--dev-python/oslo-context/oslo-context-0.1.0.ebuild41
-rw-r--r--dev-python/oslo-context/oslo-context-0.2.0.ebuild41
-rw-r--r--dev-python/oslo-context/oslo-context-0.3.0.ebuild41
-rw-r--r--dev-python/oslo-db/Manifest6
-rw-r--r--dev-python/oslo-db/metadata.xml16
-rw-r--r--dev-python/oslo-db/oslo-db-1.0.2.ebuild72
-rw-r--r--dev-python/oslo-db/oslo-db-1.4.1.ebuild63
-rw-r--r--dev-python/oslo-db/oslo-db-1.7.1.ebuild58
-rw-r--r--dev-python/oslo-db/oslo-db-1.7.2.ebuild58
-rw-r--r--dev-python/oslo-db/oslo-db-1.8.0.ebuild58
-rw-r--r--dev-python/oslo-db/oslo-db-1.9.0.ebuild58
-rw-r--r--dev-python/oslo-i18n/Manifest5
-rw-r--r--dev-python/oslo-i18n/metadata.xml15
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-1.0.0.ebuild58
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-1.3.1.ebuild59
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-1.4.0.ebuild59
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-1.5.0.ebuild59
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-1.6.0.ebuild60
-rw-r--r--dev-python/oslo-log/Manifest3
-rw-r--r--dev-python/oslo-log/metadata.xml18
-rw-r--r--dev-python/oslo-log/oslo-log-0.3.0.ebuild53
-rw-r--r--dev-python/oslo-log/oslo-log-1.0.0.ebuild53
-rw-r--r--dev-python/oslo-log/oslo-log-1.1.0.ebuild54
-rw-r--r--dev-python/oslo-messaging/Manifest8
-rw-r--r--dev-python/oslo-messaging/metadata.xml15
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.10.0.ebuild66
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.4.1.ebuild54
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.5.1.ebuild59
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.7.0.ebuild64
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.8.0.ebuild64
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.8.2.ebuild64
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.8.3.ebuild73
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-1.9.0.ebuild75
-rw-r--r--dev-python/oslo-middleware/Manifest6
-rw-r--r--dev-python/oslo-middleware/metadata.xml15
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-0.4.0.ebuild51
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-0.5.0.ebuild51
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-1.0.0.ebuild51
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-1.1.0.ebuild51
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-1.2.0.ebuild51
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-1.3.0.ebuild51
-rw-r--r--dev-python/oslo-policy/Manifest1
-rw-r--r--dev-python/oslo-policy/metadata.xml15
-rw-r--r--dev-python/oslo-policy/oslo-policy-0.3.2.ebuild42
-rw-r--r--dev-python/oslo-rootwrap/Manifest3
-rw-r--r--dev-python/oslo-rootwrap/metadata.xml15
-rw-r--r--dev-python/oslo-rootwrap/oslo-rootwrap-1.2.0.ebuild40
-rw-r--r--dev-python/oslo-rootwrap/oslo-rootwrap-1.3.0.ebuild44
-rw-r--r--dev-python/oslo-rootwrap/oslo-rootwrap-1.6.0.ebuild44
-rw-r--r--dev-python/oslo-serialization/Manifest4
-rw-r--r--dev-python/oslo-serialization/metadata.xml15
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.0.0-r1.ebuild75
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.0.0.ebuild75
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.3.0-r1.ebuild79
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.3.0.ebuild79
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.4.0.ebuild79
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-1.5.0.ebuild80
-rw-r--r--dev-python/oslo-sphinx/Manifest3
-rw-r--r--dev-python/oslo-sphinx/metadata.xml15
-rw-r--r--dev-python/oslo-sphinx/oslo-sphinx-2.2.0-r1.ebuild28
-rw-r--r--dev-python/oslo-sphinx/oslo-sphinx-2.5.0.ebuild32
-rw-r--r--dev-python/oslo-sphinx/oslo-sphinx-3.0.0.ebuild42
-rw-r--r--dev-python/oslo-utils/Manifest6
-rw-r--r--dev-python/oslo-utils/metadata.xml15
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.0.0.ebuild74
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.1.0.ebuild85
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.2.1.ebuild85
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.3.0.ebuild84
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.4.0.ebuild84
-rw-r--r--dev-python/oslo-utils/oslo-utils-1.5.0.ebuild85
-rw-r--r--dev-python/oslo-vmware/Manifest3
-rw-r--r--dev-python/oslo-vmware/metadata.xml14
-rw-r--r--dev-python/oslo-vmware/oslo-vmware-0.11.1.ebuild61
-rw-r--r--dev-python/oslo-vmware/oslo-vmware-0.11.2.ebuild74
-rw-r--r--dev-python/oslo-vmware/oslo-vmware-0.7.0.ebuild55
-rw-r--r--dev-python/oslotest/Manifest4
-rw-r--r--dev-python/oslotest/metadata.xml19
-rw-r--r--dev-python/oslotest/oslotest-1.3.0.ebuild72
-rw-r--r--dev-python/oslotest/oslotest-1.5.0.ebuild70
-rw-r--r--dev-python/oslotest/oslotest-1.5.1.ebuild70
-rw-r--r--dev-python/oslotest/oslotest-1.6.0.ebuild70
-rw-r--r--dev-python/osprofiler/Manifest1
-rw-r--r--dev-python/osprofiler/metadata.xml16
-rw-r--r--dev-python/osprofiler/osprofiler-0.3.0.ebuild26
-rw-r--r--dev-python/pSQL/Manifest2
-rw-r--r--dev-python/pSQL/metadata.xml9
-rw-r--r--dev-python/pSQL/pSQL-1.2.0.ebuild31
-rw-r--r--dev-python/pSQL/pSQL-1.2.1.ebuild31
-rw-r--r--dev-python/paisley/Manifest1
-rw-r--r--dev-python/paisley/metadata.xml9
-rw-r--r--dev-python/paisley/paisley-0.3.1-r1.ebuild27
-rw-r--r--dev-python/paisley/paisley-0.3.1.ebuild25
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/metadata.xml21
-rw-r--r--dev-python/pandas/pandas-0.16.2.ebuild128
-rw-r--r--dev-python/pandas/pandas-9999.ebuild126
-rw-r--r--dev-python/paramiko/Manifest5
-rw-r--r--dev-python/paramiko/metadata.xml21
-rw-r--r--dev-python/paramiko/paramiko-1.10.1.ebuild33
-rw-r--r--dev-python/paramiko/paramiko-1.12.2.ebuild34
-rw-r--r--dev-python/paramiko/paramiko-1.13.0.ebuild36
-rw-r--r--dev-python/paramiko/paramiko-1.15.1-r1.ebuild38
-rw-r--r--dev-python/paramiko/paramiko-1.15.2.ebuild39
-rw-r--r--dev-python/paramunittest/Manifest1
-rw-r--r--dev-python/paramunittest/metadata.xml14
-rw-r--r--dev-python/paramunittest/paramunittest-0.2.ebuild24
-rw-r--r--dev-python/parse-type/Manifest1
-rw-r--r--dev-python/parse-type/metadata.xml14
-rw-r--r--dev-python/parse-type/parse-type-0.3.4.ebuild39
-rw-r--r--dev-python/parse/Manifest1
-rw-r--r--dev-python/parse/metadata.xml14
-rw-r--r--dev-python/parse/parse-1.6.4.ebuild24
-rw-r--r--dev-python/parsedatetime/Manifest1
-rw-r--r--dev-python/parsedatetime/metadata.xml9
-rw-r--r--dev-python/parsedatetime/parsedatetime-1.5.ebuild23
-rw-r--r--dev-python/parsley/Manifest1
-rw-r--r--dev-python/parsley/metadata.xml11
-rw-r--r--dev-python/parsley/parsley-1.2.ebuild18
-rw-r--r--dev-python/passlib/Manifest2
-rw-r--r--dev-python/passlib/metadata.xml16
-rw-r--r--dev-python/passlib/passlib-1.6.1-r1.ebuild30
-rw-r--r--dev-python/passlib/passlib-1.6.2.ebuild39
-rw-r--r--dev-python/passwordmeter/Manifest1
-rw-r--r--dev-python/passwordmeter/metadata.xml12
-rw-r--r--dev-python/passwordmeter/passwordmeter-0.1.7-r1.ebuild38
-rw-r--r--dev-python/paste/Manifest2
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-email-mime.patch19
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-fix-tests-for-pypy.patch24
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-hmac.patch11
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-python27-lambda.patch12
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-rfc822.patch14
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-types.patch57
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-unbundle-stdlib.patch1211
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-unbundle-tempita.patch1860
-rw-r--r--dev-python/paste/files/paste-1.7.5.1-userdict.patch64
-rw-r--r--dev-python/paste/files/paste-2.0.2-unbundle-tempita.patch36
-rw-r--r--dev-python/paste/metadata.xml17
-rw-r--r--dev-python/paste/paste-1.7.5.1-r1.ebuild69
-rw-r--r--dev-python/paste/paste-1.7.5.1-r2.ebuild82
-rw-r--r--dev-python/paste/paste-2.0.2.ebuild73
-rw-r--r--dev-python/pastedeploy/Manifest1
-rw-r--r--dev-python/pastedeploy/metadata.xml14
-rw-r--r--dev-python/pastedeploy/pastedeploy-1.5.2.ebuild31
-rw-r--r--dev-python/pastescript/Manifest1
-rw-r--r--dev-python/pastescript/files/pastescript-setup.py-exclude-tests.patch19
-rw-r--r--dev-python/pastescript/metadata.xml8
-rw-r--r--dev-python/pastescript/pastescript-2.0.2.ebuild57
-rw-r--r--dev-python/path-py/Manifest2
-rw-r--r--dev-python/path-py/metadata.xml9
-rw-r--r--dev-python/path-py/path-py-7.2.ebuild31
-rw-r--r--dev-python/path-py/path-py-7.3.ebuild31
-rw-r--r--dev-python/pathlib/Manifest1
-rw-r--r--dev-python/pathlib/metadata.xml8
-rw-r--r--dev-python/pathlib/pathlib-1.0.1.ebuild18
-rw-r--r--dev-python/pathtools/Manifest1
-rw-r--r--dev-python/pathtools/metadata.xml11
-rw-r--r--dev-python/pathtools/pathtools-0.1.2.ebuild19
-rw-r--r--dev-python/patsy/Manifest3
-rw-r--r--dev-python/patsy/metadata.xml13
-rw-r--r--dev-python/patsy/patsy-0.2.0.ebuild42
-rw-r--r--dev-python/patsy/patsy-0.2.1.ebuild42
-rw-r--r--dev-python/patsy/patsy-0.3.0-r1.ebuild44
-rw-r--r--dev-python/patsy/patsy-0.3.0.ebuild42
-rw-r--r--dev-python/paver/Manifest2
-rw-r--r--dev-python/paver/files/paver-1.2.0-skip-cog-tests.patch34
-rw-r--r--dev-python/paver/metadata.xml9
-rw-r--r--dev-python/paver/paver-1.2.3.ebuild31
-rw-r--r--dev-python/paver/paver-1.2.4.ebuild33
-rw-r--r--dev-python/pbkdf2/Manifest1
-rw-r--r--dev-python/pbkdf2/metadata.xml16
-rw-r--r--dev-python/pbkdf2/pbkdf2-1.3.ebuild18
-rw-r--r--dev-python/pbr/Manifest8
-rw-r--r--dev-python/pbr/metadata.xml17
-rw-r--r--dev-python/pbr/pbr-0.10.8.ebuild63
-rw-r--r--dev-python/pbr/pbr-0.11.0.ebuild63
-rw-r--r--dev-python/pbr/pbr-0.8.2-r1.ebuild61
-rw-r--r--dev-python/pbr/pbr-0.8.2.ebuild51
-rw-r--r--dev-python/pbr/pbr-1.0.1.ebuild66
-rw-r--r--dev-python/pbr/pbr-1.1.1.ebuild67
-rw-r--r--dev-python/pbr/pbr-1.2.0.ebuild66
-rw-r--r--dev-python/pbr/pbr-1.3.0.ebuild64
-rw-r--r--dev-python/pbr/pbr-1.4.0.ebuild65
-rw-r--r--dev-python/pdfrw/Manifest2
-rw-r--r--dev-python/pdfrw/metadata.xml8
-rw-r--r--dev-python/pdfrw/pdfrw-0.1.ebuild17
-rw-r--r--dev-python/pdfrw/pdfrw-0.2.ebuild17
-rw-r--r--dev-python/peak-rules/Manifest1
-rw-r--r--dev-python/peak-rules/metadata.xml5
-rw-r--r--dev-python/peak-rules/peak-rules-0.5.ebuild44
-rw-r--r--dev-python/peewee/Manifest4
-rw-r--r--dev-python/peewee/metadata.xml8
-rw-r--r--dev-python/peewee/peewee-2.5.1.ebuild38
-rw-r--r--dev-python/peewee/peewee-2.6.0.ebuild39
-rw-r--r--dev-python/peewee/peewee-2.6.1.ebuild39
-rw-r--r--dev-python/peewee/peewee-2.6.2.ebuild39
-rw-r--r--dev-python/pep8/Manifest5
-rw-r--r--dev-python/pep8/metadata.xml9
-rw-r--r--dev-python/pep8/pep8-1.4.5.ebuild27
-rw-r--r--dev-python/pep8/pep8-1.5.6.ebuild35
-rw-r--r--dev-python/pep8/pep8-1.5.7.ebuild35
-rw-r--r--dev-python/pep8/pep8-1.6.1.ebuild35
-rw-r--r--dev-python/pep8/pep8-1.6.2.ebuild35
-rw-r--r--dev-python/peppercorn/Manifest2
-rw-r--r--dev-python/peppercorn/metadata.xml9
-rw-r--r--dev-python/peppercorn/peppercorn-0.4-r1.ebuild40
-rw-r--r--dev-python/peppercorn/peppercorn-0.5.ebuild46
-rw-r--r--dev-python/pexpect/Manifest5
-rw-r--r--dev-python/pexpect/metadata.xml9
-rw-r--r--dev-python/pexpect/pexpect-2.4-r1.ebuild26
-rw-r--r--dev-python/pexpect/pexpect-2.4.ebuild35
-rw-r--r--dev-python/pexpect/pexpect-3.0.ebuild29
-rw-r--r--dev-python/pexpect/pexpect-3.1.ebuild29
-rw-r--r--dev-python/pexpect/pexpect-3.2.ebuild34
-rw-r--r--dev-python/pexpect/pexpect-3.3.ebuild36
-rw-r--r--dev-python/pgasync/Manifest1
-rw-r--r--dev-python/pgasync/metadata.xml6
-rw-r--r--dev-python/pgasync/pgasync-2.01-r1.ebuild32
-rw-r--r--dev-python/pgmagick/Manifest2
-rw-r--r--dev-python/pgmagick/metadata.xml9
-rw-r--r--dev-python/pgmagick/pgmagick-0.5.10.ebuild31
-rw-r--r--dev-python/pgmagick/pgmagick-0.5.11.ebuild31
-rw-r--r--dev-python/pgpdump/Manifest1
-rw-r--r--dev-python/pgpdump/metadata.xml12
-rw-r--r--dev-python/pgpdump/pgpdump-1.5.ebuild18
-rw-r--r--dev-python/piddle/Manifest1
-rw-r--r--dev-python/piddle/metadata.xml26
-rw-r--r--dev-python/piddle/piddle-1.0.15-r1.ebuild22
-rw-r--r--dev-python/piddle/piddle-1.0.15.ebuild24
-rw-r--r--dev-python/pika/Manifest1
-rw-r--r--dev-python/pika/metadata.xml14
-rw-r--r--dev-python/pika/pika-0.9.14.ebuild20
-rw-r--r--dev-python/pillow/Manifest4
-rw-r--r--dev-python/pillow/files/imaging-1.1.7-no-xv.patch18
-rw-r--r--dev-python/pillow/files/pillow-2.0.0-delete_hardcoded_paths.patch178
-rw-r--r--dev-python/pillow/files/pillow-2.0.0-libm_linking.patch20
-rw-r--r--dev-python/pillow/files/pillow-2.8.1-ico-backport.patch36
-rw-r--r--dev-python/pillow/files/pillow-freetype-2.5.1.patch28
-rw-r--r--dev-python/pillow/metadata.xml12
-rw-r--r--dev-python/pillow/pillow-2.5.3-r1.ebuild109
-rw-r--r--dev-python/pillow/pillow-2.8.1.ebuild90
-rw-r--r--dev-python/pillow/pillow-2.8.2.ebuild90
-rw-r--r--dev-python/pillow/pillow-2.9.0.ebuild90
-rw-r--r--dev-python/pip/Manifest7
-rw-r--r--dev-python/pip/files/pip-6.0.2-disable-version-check.patch14
-rw-r--r--dev-python/pip/metadata.xml8
-rw-r--r--dev-python/pip/pip-1.5.6.ebuild37
-rw-r--r--dev-python/pip/pip-6.0.8.ebuild39
-rw-r--r--dev-python/pip/pip-6.1.1.ebuild38
-rw-r--r--dev-python/pip/pip-7.0.0.ebuild39
-rw-r--r--dev-python/pip/pip-7.0.1.ebuild39
-rw-r--r--dev-python/pip/pip-7.0.3.ebuild39
-rw-r--r--dev-python/pip/pip-7.1.0.ebuild39
-rw-r--r--dev-python/pivy/Manifest1
-rw-r--r--dev-python/pivy/metadata.xml9
-rw-r--r--dev-python/pivy/pivy-0.5_alpha20110303-r1.ebuild26
-rw-r--r--dev-python/pivy/pivy-9999.ebuild24
-rw-r--r--dev-python/pkgconfig/Manifest1
-rw-r--r--dev-python/pkgconfig/metadata.xml12
-rw-r--r--dev-python/pkgconfig/pkgconfig-1.1.0.ebuild33
-rw-r--r--dev-python/pkginfo/Manifest2
-rw-r--r--dev-python/pkginfo/metadata.xml12
-rw-r--r--dev-python/pkginfo/pkginfo-1.0.ebuild48
-rw-r--r--dev-python/pkginfo/pkginfo-1.2.1.ebuild51
-rw-r--r--dev-python/pkipplib/Manifest1
-rw-r--r--dev-python/pkipplib/metadata.xml6
-rw-r--r--dev-python/pkipplib/pkipplib-0.07-r1.ebuild21
-rw-r--r--dev-python/placefinder/Manifest1
-rw-r--r--dev-python/placefinder/metadata.xml9
-rw-r--r--dev-python/placefinder/placefinder-0.3.ebuild21
-rw-r--r--dev-python/platinfo/Manifest1
-rw-r--r--dev-python/platinfo/metadata.xml25
-rw-r--r--dev-python/platinfo/platinfo-0.15.0-r1.ebuild21
-rw-r--r--dev-python/ply/Manifest2
-rw-r--r--dev-python/ply/files/3.6-lextab-None.patch49
-rw-r--r--dev-python/ply/files/3.6-picklefile-IOError.patch24
-rw-r--r--dev-python/ply/metadata.xml18
-rw-r--r--dev-python/ply/ply-3.4-r1.ebuild41
-rw-r--r--dev-python/ply/ply-3.6-r1.ebuild45
-rw-r--r--dev-python/plyr/Manifest1
-rw-r--r--dev-python/plyr/metadata.xml17
-rw-r--r--dev-python/plyr/plyr-1.0.6.ebuild58
-rw-r--r--dev-python/pmw/Manifest3
-rw-r--r--dev-python/pmw/files/1.3.2-python2.5.patch54
-rw-r--r--dev-python/pmw/files/pmw-1.3.2-install-no-docs.patch13
-rw-r--r--dev-python/pmw/files/pmw-1.3.3-install-no-docs.patch17
-rw-r--r--dev-python/pmw/metadata.xml8
-rw-r--r--dev-python/pmw/pmw-1.3.3-r2.ebuild57
-rw-r--r--dev-python/pmw/pmw-2.0.0-r2.ebuild60
-rw-r--r--dev-python/pmw/pmw-2.0.1.ebuild53
-rw-r--r--dev-python/polib/Manifest1
-rw-r--r--dev-python/polib/metadata.xml11
-rw-r--r--dev-python/polib/polib-1.0.4.ebuild39
-rw-r--r--dev-python/polygon/Manifest3
-rw-r--r--dev-python/polygon/metadata.xml10
-rw-r--r--dev-python/polygon/polygon-2.0.4.ebuild37
-rw-r--r--dev-python/polygon/polygon-2.0.6.ebuild26
-rw-r--r--dev-python/polygon/polygon-3.0.7.ebuild40
-rw-r--r--dev-python/posix_ipc/Manifest1
-rw-r--r--dev-python/posix_ipc/metadata.xml15
-rw-r--r--dev-python/posix_ipc/posix_ipc-0.9.8.ebuild23
-rw-r--r--dev-python/potr/Manifest1
-rw-r--r--dev-python/potr/metadata.xml15
-rw-r--r--dev-python/potr/potr-1.0.1.ebuild29
-rw-r--r--dev-python/pp/Manifest1
-rw-r--r--dev-python/pp/metadata.xml10
-rw-r--r--dev-python/pp/pp-1.6.4-r1.ebuild29
-rw-r--r--dev-python/pretend/Manifest2
-rw-r--r--dev-python/pretend/metadata.xml9
-rw-r--r--dev-python/pretend/pretend-1.0.7.ebuild19
-rw-r--r--dev-python/pretend/pretend-1.0.8.ebuild19
-rw-r--r--dev-python/pretty-yaml/Manifest2
-rw-r--r--dev-python/pretty-yaml/metadata.xml9
-rw-r--r--dev-python/pretty-yaml/pretty-yaml-14.05.7.ebuild23
-rw-r--r--dev-python/pretty-yaml/pretty-yaml-15.5.7.ebuild28
-rw-r--r--dev-python/prettytable/Manifest2
-rw-r--r--dev-python/prettytable/metadata.xml9
-rw-r--r--dev-python/prettytable/prettytable-0.7.1-r1.ebuild25
-rw-r--r--dev-python/prettytable/prettytable-0.7.2.ebuild25
-rw-r--r--dev-python/processing/Manifest1
-rw-r--r--dev-python/processing/metadata.xml8
-rw-r--r--dev-python/processing/processing-0.52-r1.ebuild33
-rw-r--r--dev-python/progressbar/Manifest1
-rw-r--r--dev-python/progressbar/files/progressbar-2.3-python3.3.patch94
-rw-r--r--dev-python/progressbar/metadata.xml8
-rw-r--r--dev-python/progressbar/progressbar-2.3-r1.ebuild22
-rw-r--r--dev-python/promise/Manifest1
-rw-r--r--dev-python/promise/metadata.xml13
-rw-r--r--dev-python/promise/promise-0.2.2-r1.ebuild31
-rw-r--r--dev-python/prompt_toolkit/Manifest7
-rw-r--r--dev-python/prompt_toolkit/metadata.xml12
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.37.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.38.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.39.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.41.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.42.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.43.ebuild34
-rw-r--r--dev-python/prompt_toolkit/prompt_toolkit-0.45.ebuild34
-rw-r--r--dev-python/protorpc/Manifest1
-rw-r--r--dev-python/protorpc/metadata.xml9
-rw-r--r--dev-python/protorpc/protorpc-0.10.0.ebuild22
-rw-r--r--dev-python/pssi/Manifest1
-rw-r--r--dev-python/pssi/metadata.xml9
-rw-r--r--dev-python/pssi/pssi-1.0-r1.ebuild20
-rw-r--r--dev-python/psutil/Manifest6
-rw-r--r--dev-python/psutil/metadata.xml9
-rw-r--r--dev-python/psutil/psutil-1.2.1.ebuild24
-rw-r--r--dev-python/psutil/psutil-2.1.3.ebuild26
-rw-r--r--dev-python/psutil/psutil-2.2.0.ebuild26
-rw-r--r--dev-python/psutil/psutil-2.2.1.ebuild26
-rw-r--r--dev-python/psutil/psutil-3.0.1.ebuild26
-rw-r--r--dev-python/psutil/psutil-3.1.1.ebuild26
-rw-r--r--dev-python/psycopg/Manifest5
-rw-r--r--dev-python/psycopg/files/psycopg-2.0.9-round-solaris.patch13
-rw-r--r--dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch34
-rw-r--r--dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch13
-rw-r--r--dev-python/psycopg/metadata.xml8
-rw-r--r--dev-python/psycopg/psycopg-1.1.21-r1.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-2.5.3.ebuild68
-rw-r--r--dev-python/psycopg/psycopg-2.5.4.ebuild73
-rw-r--r--dev-python/psycopg/psycopg-2.6.1.ebuild72
-rw-r--r--dev-python/psycopg/psycopg-2.6.ebuild72
-rw-r--r--dev-python/ptpython/Manifest7
-rw-r--r--dev-python/ptpython/metadata.xml12
-rw-r--r--dev-python/ptpython/ptpython-0.10.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.11.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.12.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.15.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.16.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.18.ebuild31
-rw-r--r--dev-python/ptpython/ptpython-0.20.ebuild31
-rw-r--r--dev-python/ptyprocess/Manifest1
-rw-r--r--dev-python/ptyprocess/metadata.xml13
-rw-r--r--dev-python/ptyprocess/ptyprocess-0.5.ebuild24
-rw-r--r--dev-python/pudb/Manifest6
-rw-r--r--dev-python/pudb/metadata.xml13
-rw-r--r--dev-python/pudb/pudb-2013.3.6.ebuild21
-rw-r--r--dev-python/pudb/pudb-2013.5.1.ebuild21
-rw-r--r--dev-python/pudb/pudb-2014.1.ebuild21
-rw-r--r--dev-python/pudb/pudb-2015.1.ebuild21
-rw-r--r--dev-python/pudb/pudb-2015.2.ebuild21
-rw-r--r--dev-python/pudb/pudb-2015.3.ebuild21
-rw-r--r--dev-python/pudge/Manifest1
-rw-r--r--dev-python/pudge/metadata.xml8
-rw-r--r--dev-python/pudge/pudge-0.1.3-r1.ebuild36
-rw-r--r--dev-python/pupynere/Manifest1
-rw-r--r--dev-python/pupynere/metadata.xml10
-rw-r--r--dev-python/pupynere/pupynere-1.0.15-r1.ebuild28
-rw-r--r--dev-python/pxml/Manifest1
-rw-r--r--dev-python/pxml/metadata.xml12
-rw-r--r--dev-python/pxml/pxml-0.2.11-r1.ebuild39
-rw-r--r--dev-python/py-amqp/Manifest2
-rw-r--r--dev-python/py-amqp/files/py-amqp-1.0.6_disable_socket_tests.patch23
-rw-r--r--dev-python/py-amqp/files/py-amqp-1.3.3-disable_socket_tests.patch15
-rw-r--r--dev-python/py-amqp/metadata.xml13
-rw-r--r--dev-python/py-amqp/py-amqp-1.4.5.ebuild66
-rw-r--r--dev-python/py-amqp/py-amqp-1.4.6.ebuild66
-rw-r--r--dev-python/py-bcrypt/Manifest1
-rw-r--r--dev-python/py-bcrypt/metadata.xml5
-rw-r--r--dev-python/py-bcrypt/py-bcrypt-0.4.ebuild26
-rw-r--r--dev-python/py-notify/Manifest1
-rw-r--r--dev-python/py-notify/metadata.xml6
-rw-r--r--dev-python/py-notify/py-notify-0.3.1-r1.ebuild27
-rw-r--r--dev-python/py-smbpasswd/Manifest1
-rw-r--r--dev-python/py-smbpasswd/metadata.xml5
-rw-r--r--dev-python/py-smbpasswd/py-smbpasswd-1.0.1-r1.ebuild19
-rw-r--r--dev-python/py-smbpasswd/py-smbpasswd-1.0.1.ebuild22
-rw-r--r--dev-python/py-xmlrpc/Manifest2
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch338
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch15
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch16
-rw-r--r--dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch16
-rw-r--r--dev-python/py-xmlrpc/metadata.xml8
-rw-r--r--dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild48
-rw-r--r--dev-python/py-xmlrpc/py-xmlrpc-0.9.ebuild28
-rw-r--r--dev-python/py/Manifest6
-rw-r--r--dev-python/py/metadata.xml8
-rw-r--r--dev-python/py/py-1.4.25.ebuild38
-rw-r--r--dev-python/py/py-1.4.26.ebuild39
-rw-r--r--dev-python/py/py-1.4.27.ebuild44
-rw-r--r--dev-python/py/py-1.4.28.ebuild44
-rw-r--r--dev-python/py/py-1.4.29.ebuild44
-rw-r--r--dev-python/py/py-1.4.30.ebuild44
-rw-r--r--dev-python/py2neo/Manifest2
-rw-r--r--dev-python/py2neo/metadata.xml12
-rw-r--r--dev-python/py2neo/py2neo-2.0.6.ebuild24
-rw-r--r--dev-python/py2neo/py2neo-2.0.7.ebuild24
-rw-r--r--dev-python/py2play/Manifest1
-rw-r--r--dev-python/py2play/metadata.xml6
-rw-r--r--dev-python/py2play/py2play-0.1.10-r1.ebuild24
-rw-r--r--dev-python/pyClamd/Manifest1
-rw-r--r--dev-python/pyClamd/metadata.xml11
-rw-r--r--dev-python/pyClamd/pyClamd-0.3.10.ebuild26
-rw-r--r--dev-python/pyGPG/Manifest1
-rw-r--r--dev-python/pyGPG/metadata.xml16
-rw-r--r--dev-python/pyGPG/pyGPG-0.1.ebuild40
-rw-r--r--dev-python/pyGPG/pyGPG-9999.ebuild46
-rw-r--r--dev-python/pyPdf/Manifest1
-rw-r--r--dev-python/pyPdf/metadata.xml18
-rw-r--r--dev-python/pyPdf/pyPdf-1.13-r1.ebuild16
-rw-r--r--dev-python/pyacoustid/Manifest1
-rw-r--r--dev-python/pyacoustid/metadata.xml13
-rw-r--r--dev-python/pyacoustid/pyacoustid-1.0.0-r1.ebuild27
-rw-r--r--dev-python/pyalsa/Manifest2
-rw-r--r--dev-python/pyalsa/files/pyalsa-1.0.25-no-build-symlinks.patch25
-rw-r--r--dev-python/pyalsa/files/pyalsa-1.0.29-no-build-symlinks.patch24
-rw-r--r--dev-python/pyalsa/metadata.xml6
-rw-r--r--dev-python/pyalsa/pyalsa-1.0.26-r1.ebuild35
-rw-r--r--dev-python/pyalsa/pyalsa-1.0.29.ebuild30
-rw-r--r--dev-python/pyalsaaudio/Manifest2
-rw-r--r--dev-python/pyalsaaudio/metadata.xml9
-rw-r--r--dev-python/pyalsaaudio/pyalsaaudio-0.7-r2.ebuild37
-rw-r--r--dev-python/pyalsaaudio/pyalsaaudio-0.8.2.ebuild40
-rw-r--r--dev-python/pyamazon/Manifest1
-rw-r--r--dev-python/pyamazon/metadata.xml6
-rw-r--r--dev-python/pyamazon/pyamazon-0.65.ebuild42
-rw-r--r--dev-python/pyamf/Manifest1
-rw-r--r--dev-python/pyamf/metadata.xml8
-rw-r--r--dev-python/pyamf/pyamf-0.7.0.ebuild35
-rw-r--r--dev-python/pyamg/Manifest1
-rw-r--r--dev-python/pyamg/files/2.0.0-stencil.patch11
-rw-r--r--dev-python/pyamg/files/pyamg-2.0.4-gcc-4.7.patch16
-rw-r--r--dev-python/pyamg/metadata.xml14
-rw-r--r--dev-python/pyamg/pyamg-2.1.0.ebuild30
-rw-r--r--dev-python/pyao/Manifest1
-rw-r--r--dev-python/pyao/files/pyao-0.82-new_api.patch71
-rw-r--r--dev-python/pyao/metadata.xml5
-rw-r--r--dev-python/pyao/pyao-0.82-r2.ebuild37
-rw-r--r--dev-python/pyao/pyao-0.82-r3.ebuild27
-rw-r--r--dev-python/pyasn1-modules/Manifest3
-rw-r--r--dev-python/pyasn1-modules/metadata.xml8
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.0.5-r1.ebuild38
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.0.6.ebuild38
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.0.7.ebuild38
-rw-r--r--dev-python/pyasn1/Manifest2
-rw-r--r--dev-python/pyasn1/metadata.xml8
-rw-r--r--dev-python/pyasn1/pyasn1-0.1.7.ebuild32
-rw-r--r--dev-python/pyasn1/pyasn1-0.1.8.ebuild32
-rw-r--r--dev-python/pyatspi/Manifest3
-rw-r--r--dev-python/pyatspi/files/pyatspi-2.6.0-examples-python3.patch26
-rw-r--r--dev-python/pyatspi/metadata.xml5
-rw-r--r--dev-python/pyatspi/pyatspi-2.12.0.ebuild58
-rw-r--r--dev-python/pyatspi/pyatspi-2.14.0.ebuild58
-rw-r--r--dev-python/pyatspi/pyatspi-2.16.0.ebuild58
-rw-r--r--dev-python/pyaudio/Manifest1
-rw-r--r--dev-python/pyaudio/metadata.xml9
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.8.ebuild28
-rw-r--r--dev-python/pyavm/Manifest1
-rw-r--r--dev-python/pyavm/metadata.xml12
-rw-r--r--dev-python/pyavm/pyavm-0.9.1.ebuild36
-rw-r--r--dev-python/pybloomfiltermmap/Manifest2
-rw-r--r--dev-python/pybloomfiltermmap/metadata.xml15
-rw-r--r--dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.11-r1.ebuild18
-rw-r--r--dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.14.ebuild25
-rw-r--r--dev-python/pybluez/Manifest1
-rw-r--r--dev-python/pybluez/metadata.xml11
-rw-r--r--dev-python/pybluez/pybluez-0.18-r1.ebuild31
-rw-r--r--dev-python/pycadf/Manifest3
-rw-r--r--dev-python/pycadf/files/CVE-2014-4615.patch29
-rw-r--r--dev-python/pycadf/metadata.xml15
-rw-r--r--dev-python/pycadf/pycadf-0.6.0.ebuild73
-rw-r--r--dev-python/pycadf/pycadf-0.8.0.ebuild67
-rw-r--r--dev-python/pycadf/pycadf-1.0.0.ebuild61
-rw-r--r--dev-python/pycairo/Manifest2
-rw-r--r--dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch18
-rw-r--r--dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch126
-rw-r--r--dev-python/pycairo/files/py2cairo-1.10.0-xpyb.patch38
-rw-r--r--dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch126
-rw-r--r--dev-python/pycairo/files/pycairo-1.10.0-waf-py3_4.patch11
-rw-r--r--dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch12
-rw-r--r--dev-python/pycairo/files/pycairo-1.10.0-xpyb.patch41
-rw-r--r--dev-python/pycairo/files/pycairo-1.8.10-pkgconfig_dir.patch11
-rw-r--r--dev-python/pycairo/files/pycairo-1.8.8-svg_check.patch116
-rw-r--r--dev-python/pycairo/metadata.xml5
-rw-r--r--dev-python/pycairo/pycairo-1.10.0-r4.ebuild138
-rw-r--r--dev-python/pycallgraph/Manifest1
-rw-r--r--dev-python/pycallgraph/files/python3.3-tests.patch87
-rw-r--r--dev-python/pycallgraph/metadata.xml13
-rw-r--r--dev-python/pycallgraph/pycallgraph-1.0.1.ebuild70
-rw-r--r--dev-python/pycanberra/Manifest1
-rw-r--r--dev-python/pycanberra/metadata.xml10
-rw-r--r--dev-python/pycanberra/pycanberra-0_pre20130515.ebuild32
-rw-r--r--dev-python/pycdf/Manifest1
-rw-r--r--dev-python/pycdf/metadata.xml8
-rw-r--r--dev-python/pycdf/pycdf-0.6.3-r1.ebuild32
-rw-r--r--dev-python/pycdio/Manifest1
-rw-r--r--dev-python/pycdio/metadata.xml11
-rw-r--r--dev-python/pycdio/pycdio-0.20-r1.ebuild44
-rw-r--r--dev-python/pychart/Manifest2
-rw-r--r--dev-python/pychart/metadata.xml5
-rw-r--r--dev-python/pychart/pychart-1.39-r1.ebuild33
-rw-r--r--dev-python/pychecker/Manifest1
-rw-r--r--dev-python/pychecker/files/pychecker-0.8.17-no-data-files.patch15
-rw-r--r--dev-python/pychecker/files/pychecker-0.8.18-pychecker2.patch11
-rw-r--r--dev-python/pychecker/files/pychecker-0.8.19-create_script.patch13
-rw-r--r--dev-python/pychecker/files/pychecker-0.8.19-version.patch12
-rw-r--r--dev-python/pychecker/metadata.xml8
-rw-r--r--dev-python/pychecker/pychecker-0.8.19-r1.ebuild44
-rw-r--r--dev-python/pychef/Manifest2
-rw-r--r--dev-python/pychef/metadata.xml16
-rw-r--r--dev-python/pychef/pychef-0.2.1.ebuild27
-rw-r--r--dev-python/pychef/pychef-0.2.3.ebuild27
-rw-r--r--dev-python/pychm/Manifest1
-rw-r--r--dev-python/pychm/metadata.xml19
-rw-r--r--dev-python/pychm/pychm-0.8.4-r1.ebuild21
-rw-r--r--dev-python/pychm/pychm-0.8.4.ebuild24
-rw-r--r--dev-python/pychroot/Manifest2
-rw-r--r--dev-python/pychroot/metadata.xml12
-rw-r--r--dev-python/pychroot/pychroot-0.9.11.ebuild34
-rw-r--r--dev-python/pychroot/pychroot-0.9.9.ebuild34
-rw-r--r--dev-python/pychroot/pychroot-9999.ebuild47
-rw-r--r--dev-python/pycipher/Manifest1
-rw-r--r--dev-python/pycipher/metadata.xml8
-rw-r--r--dev-python/pycipher/pycipher-0.2.ebuild37
-rw-r--r--dev-python/pyclamav/Manifest1
-rw-r--r--dev-python/pyclamav/files/pyclamav-0.4.1-clamav-0.95.patch126
-rw-r--r--dev-python/pyclamav/metadata.xml5
-rw-r--r--dev-python/pyclamav/pyclamav-0.4.1-r1.ebuild36
-rw-r--r--dev-python/pyclamav/pyclamav-0.4.1-r2.ebuild35
-rw-r--r--dev-python/pyclimate/Manifest1
-rw-r--r--dev-python/pyclimate/metadata.xml20
-rw-r--r--dev-python/pyclimate/pyclimate-1.2.2-r1.ebuild39
-rw-r--r--dev-python/pyclimate/pyclimate-1.2.2-r2.ebuild39
-rw-r--r--dev-python/pycmd/Manifest2
-rw-r--r--dev-python/pycmd/metadata.xml8
-rw-r--r--dev-python/pycmd/pycmd-1.1.ebuild21
-rw-r--r--dev-python/pycmd/pycmd-1.2.ebuild23
-rw-r--r--dev-python/pycollada/Manifest1
-rw-r--r--dev-python/pycollada/metadata.xml8
-rw-r--r--dev-python/pycollada/pycollada-0.4.ebuild64
-rw-r--r--dev-python/pycollada/pycollada-9999.ebuild64
-rw-r--r--dev-python/pyconstruct/Manifest1
-rw-r--r--dev-python/pyconstruct/metadata.xml8
-rw-r--r--dev-python/pyconstruct/pyconstruct-2.5.2.ebuild25
-rw-r--r--dev-python/pycountry/Manifest2
-rw-r--r--dev-python/pycountry/metadata.xml10
-rw-r--r--dev-python/pycountry/pycountry-1.10.ebuild32
-rw-r--r--dev-python/pycountry/pycountry-1.12.ebuild31
-rw-r--r--dev-python/pycparser/Manifest4
-rw-r--r--dev-python/pycparser/metadata.xml9
-rw-r--r--dev-python/pycparser/pycparser-2.10.ebuild32
-rw-r--r--dev-python/pycparser/pycparser-2.12.ebuild34
-rw-r--r--dev-python/pycparser/pycparser-2.13.ebuild34
-rw-r--r--dev-python/pycparser/pycparser-2.14.ebuild34
-rw-r--r--dev-python/pycrypto/Manifest1
-rw-r--r--dev-python/pycrypto/files/pycrypto-2.6.1-cross-compile.patch13
-rw-r--r--dev-python/pycrypto/metadata.xml38
-rw-r--r--dev-python/pycrypto/pycrypto-2.6.1-r1.ebuild70
-rw-r--r--dev-python/pycrypto/pycrypto-2.6.1.ebuild54
-rw-r--r--dev-python/pycryptopp/Manifest1
-rw-r--r--dev-python/pycryptopp/metadata.xml8
-rw-r--r--dev-python/pycryptopp/pycryptopp-0.6.0.ebuild44
-rw-r--r--dev-python/pycuda/Manifest3
-rw-r--r--dev-python/pycuda/metadata.xml8
-rw-r--r--dev-python/pycuda/pycuda-2012.1.ebuild88
-rw-r--r--dev-python/pycuda/pycuda-2013.1.1.ebuild88
-rw-r--r--dev-python/pycuda/pycuda-2014.1.ebuild88
-rw-r--r--dev-python/pycuda/pycuda-9999.ebuild89
-rw-r--r--dev-python/pycups/Manifest2
-rw-r--r--dev-python/pycups/metadata.xml13
-rw-r--r--dev-python/pycups/pycups-1.9.72.ebuild51
-rw-r--r--dev-python/pycups/pycups-1.9.73.ebuild51
-rw-r--r--dev-python/pycurl/Manifest2
-rw-r--r--dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch64
-rw-r--r--dev-python/pycurl/metadata.xml17
-rw-r--r--dev-python/pycurl/pycurl-7.19.3.1-r2.ebuild70
-rw-r--r--dev-python/pycurl/pycurl-7.19.5.1.ebuild64
-rw-r--r--dev-python/pycxx/Manifest2
-rw-r--r--dev-python/pycxx/files/pycxx-6.2.3-installation.patch25
-rw-r--r--dev-python/pycxx/metadata.xml15
-rw-r--r--dev-python/pycxx/pycxx-6.2.5.ebuild37
-rw-r--r--dev-python/pycxx/pycxx-6.2.6.ebuild37
-rw-r--r--dev-python/pydb/Manifest1
-rw-r--r--dev-python/pydb/metadata.xml13
-rw-r--r--dev-python/pydb/pydb-1.26-r1.ebuild56
-rw-r--r--dev-python/pydiff/Manifest1
-rw-r--r--dev-python/pydiff/metadata.xml9
-rw-r--r--dev-python/pydiff/pydiff-0.2.ebuild20
-rw-r--r--dev-python/pydispatcher/Manifest2
-rw-r--r--dev-python/pydispatcher/metadata.xml8
-rw-r--r--dev-python/pydispatcher/pydispatcher-2.0.3-r1.ebuild43
-rw-r--r--dev-python/pydispatcher/pydispatcher-2.0.5.ebuild43
-rw-r--r--dev-python/pydns/Manifest2
-rw-r--r--dev-python/pydns/metadata.xml13
-rw-r--r--dev-python/pydns/pydns-2.3.6-r1.ebuild48
-rw-r--r--dev-python/pydns/pydns-3.1.0.ebuild42
-rw-r--r--dev-python/pyds/Manifest1
-rw-r--r--dev-python/pyds/files/pyds-0.6.5-py2.3.patch19
-rw-r--r--dev-python/pyds/files/pyds-pillow.patch14
-rw-r--r--dev-python/pyds/metadata.xml5
-rw-r--r--dev-python/pyds/pyds-0.7.3-r1.ebuild39
-rw-r--r--dev-python/pyds9/Manifest1
-rw-r--r--dev-python/pyds9/metadata.xml12
-rw-r--r--dev-python/pyds9/pyds9-1.7.ebuild42
-rw-r--r--dev-python/pydvdread/Manifest1
-rw-r--r--dev-python/pydvdread/files/pydvdread-1.0-api-update.patch287
-rw-r--r--dev-python/pydvdread/files/pydvdread-1.0-py3k.patch19
-rw-r--r--dev-python/pydvdread/metadata.xml8
-rw-r--r--dev-python/pydvdread/pydvdread-1.0-r1.ebuild29
-rw-r--r--dev-python/pyechonest/Manifest2
-rw-r--r--dev-python/pyechonest/metadata.xml30
-rw-r--r--dev-python/pyechonest/pyechonest-7.2.1.ebuild38
-rw-r--r--dev-python/pyechonest/pyechonest-9.0.0.ebuild38
-rw-r--r--dev-python/pyelemental/Manifest1
-rw-r--r--dev-python/pyelemental/files/pyelemental-1.2.0-gcc-4.7.patch25
-rw-r--r--dev-python/pyelemental/metadata.xml9
-rw-r--r--dev-python/pyelemental/pyelemental-1.2.0-r1.ebuild28
-rw-r--r--dev-python/pyelftools/Manifest3
-rw-r--r--dev-python/pyelftools/files/pyelftools-0.21-dyntable.patch143
-rw-r--r--dev-python/pyelftools/files/pyelftools-0.22-dyntable.patch153
-rw-r--r--dev-python/pyelftools/files/pyelftools-0.22-grace-string-dyn.patch75
-rw-r--r--dev-python/pyelftools/metadata.xml12
-rw-r--r--dev-python/pyelftools/pyelftools-0.21-r4.ebuild29
-rw-r--r--dev-python/pyelftools/pyelftools-0.22.ebuild35
-rw-r--r--dev-python/pyelftools/pyelftools-0.23-r1.ebuild30
-rw-r--r--dev-python/pyelftools/pyelftools-0.23.ebuild30
-rw-r--r--dev-python/pyemf/Manifest1
-rw-r--r--dev-python/pyemf/metadata.xml16
-rw-r--r--dev-python/pyemf/pyemf-2.0.0.ebuild22
-rw-r--r--dev-python/pyenchant/Manifest1
-rw-r--r--dev-python/pyenchant/files/pyenchant-setup.patch11
-rw-r--r--dev-python/pyenchant/metadata.xml14
-rw-r--r--dev-python/pyenchant/pyenchant-1.6.6.ebuild31
-rw-r--r--dev-python/pyev/Manifest2
-rw-r--r--dev-python/pyev/metadata.xml17
-rw-r--r--dev-python/pyev/pyev-0.8.1.ebuild35
-rw-r--r--dev-python/pyev/pyev-0.9.0.ebuild26
-rw-r--r--dev-python/pyface/Manifest2
-rw-r--r--dev-python/pyface/metadata.xml20
-rw-r--r--dev-python/pyface/pyface-4.3.0-r1.ebuild60
-rw-r--r--dev-python/pyface/pyface-4.4.0.ebuild44
-rw-r--r--dev-python/pyfeyn/Manifest1
-rw-r--r--dev-python/pyfeyn/files/pyfeyn-0.3.4.patch16
-rw-r--r--dev-python/pyfeyn/metadata.xml14
-rw-r--r--dev-python/pyfeyn/pyfeyn-0.3.4-r1.ebuild23
-rw-r--r--dev-python/pyfire/Manifest1
-rw-r--r--dev-python/pyfire/metadata.xml11
-rw-r--r--dev-python/pyfire/pyfire-0.3.4-r1.ebuild23
-rw-r--r--dev-python/pyfits/Manifest2
-rw-r--r--dev-python/pyfits/files/pyfits-3.2-unbundle-cfitsio.patch97
-rw-r--r--dev-python/pyfits/files/pyfits-3.2.1-unbundle-cfitsio.patch98
-rw-r--r--dev-python/pyfits/metadata.xml14
-rw-r--r--dev-python/pyfits/pyfits-2.4.0.ebuild43
-rw-r--r--dev-python/pyfits/pyfits-3.3.ebuild69
-rw-r--r--dev-python/pyflakes/Manifest4
-rw-r--r--dev-python/pyflakes/metadata.xml15
-rw-r--r--dev-python/pyflakes/pyflakes-0.7.2.ebuild27
-rw-r--r--dev-python/pyflakes/pyflakes-0.7.3.ebuild26
-rw-r--r--dev-python/pyflakes/pyflakes-0.8.1.ebuild26
-rw-r--r--dev-python/pyflakes/pyflakes-0.9.2.ebuild24
-rw-r--r--dev-python/pyflann/Manifest2
-rw-r--r--dev-python/pyflann/metadata.xml13
-rw-r--r--dev-python/pyflann/pyflann-1.8.4.ebuild48
-rw-r--r--dev-python/pyfltk/Manifest2
-rw-r--r--dev-python/pyfltk/files/fltk_wrap.patch15
-rw-r--r--dev-python/pyfltk/files/ignore-func.patch11
-rw-r--r--dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch74
-rw-r--r--dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch15
-rw-r--r--dev-python/pyfltk/metadata.xml12
-rw-r--r--dev-python/pyfltk/pyfltk-1.3.0-r1.ebuild46
-rw-r--r--dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild50
-rw-r--r--dev-python/pyfltk/pyfltk-1.3.3.ebuild49
-rw-r--r--dev-python/pyformance/Manifest1
-rw-r--r--dev-python/pyformance/metadata.xml12
-rw-r--r--dev-python/pyformance/pyformance-0.3.2.ebuild28
-rw-r--r--dev-python/pyftpdlib/Manifest3
-rw-r--r--dev-python/pyftpdlib/files/pyftpdlib-1-pypy-test.patch20
-rw-r--r--dev-python/pyftpdlib/metadata.xml14
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.0.1-r1.ebuild41
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.3.0.ebuild40
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.4.0.ebuild31
-rw-r--r--dev-python/pygal/Manifest4
-rw-r--r--dev-python/pygal/metadata.xml12
-rw-r--r--dev-python/pygal/pygal-1.5.1.ebuild18
-rw-r--r--dev-python/pygal/pygal-1.6.1.ebuild18
-rw-r--r--dev-python/pygal/pygal-1.7.0.ebuild21
-rw-r--r--dev-python/pygal/pygal-2.0.0.ebuild19
-rw-r--r--dev-python/pygame/Manifest1
-rw-r--r--dev-python/pygame/files/pygame-1.9.2_pre20120101-import-bdist.patch49
-rw-r--r--dev-python/pygame/metadata.xml5
-rw-r--r--dev-python/pygame/pygame-1.9.2_pre20120101-r2.ebuild88
-rw-r--r--dev-python/pygccxml/Manifest1
-rw-r--r--dev-python/pygccxml/metadata.xml12
-rw-r--r--dev-python/pygccxml/pygccxml-1.0.0.ebuild38
-rw-r--r--dev-python/pygene/Manifest1
-rw-r--r--dev-python/pygene/metadata.xml5
-rw-r--r--dev-python/pygene/pygene-0.2.1-r1.ebuild41
-rw-r--r--dev-python/pygeocoder/Manifest1
-rw-r--r--dev-python/pygeocoder/metadata.xml5
-rw-r--r--dev-python/pygeocoder/pygeocoder-1.2.5.ebuild19
-rw-r--r--dev-python/pygit2/Manifest3
-rw-r--r--dev-python/pygit2/metadata.xml12
-rw-r--r--dev-python/pygit2/pygit2-0.20.3.ebuild23
-rw-r--r--dev-python/pygit2/pygit2-0.21.4-r1.ebuild26
-rw-r--r--dev-python/pygit2/pygit2-0.22.1.ebuild29
-rw-r--r--dev-python/pyglet/Manifest3
-rw-r--r--dev-python/pyglet/metadata.xml22
-rw-r--r--dev-python/pyglet/pyglet-1.1.4-r2.ebuild34
-rw-r--r--dev-python/pyglet/pyglet-1.2.2.ebuild43
-rw-r--r--dev-python/pyglet/pyglet-1.2.3.ebuild43
-rw-r--r--dev-python/pygments/Manifest5
-rw-r--r--dev-python/pygments/metadata.xml9
-rw-r--r--dev-python/pygments/pygments-1.6.ebuild49
-rw-r--r--dev-python/pygments/pygments-1.6_p20140324-r1.ebuild64
-rw-r--r--dev-python/pygments/pygments-2.0.1-r1.ebuild51
-rw-r--r--dev-python/pygments/pygments-2.0.1.ebuild62
-rw-r--r--dev-python/pygments/pygments-2.0.2.ebuild51
-rw-r--r--dev-python/pygobject/Manifest5
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch64
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.3-make_check.patch76
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch103
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch98
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch50
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch315
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch28
-rw-r--r--dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch33
-rw-r--r--dev-python/pygobject/files/pygobject-3.16.1-unittest.patch15
-rw-r--r--dev-python/pygobject/metadata.xml6
-rw-r--r--dev-python/pygobject/pygobject-2.28.6-r55.ebuild132
-rw-r--r--dev-python/pygobject/pygobject-3.12.2.ebuild99
-rw-r--r--dev-python/pygobject/pygobject-3.14.0.ebuild99
-rw-r--r--dev-python/pygobject/pygobject-3.16.1.ebuild103
-rw-r--r--dev-python/pygobject/pygobject-3.16.2.ebuild115
-rw-r--r--dev-python/pygoocanvas/Manifest1
-rw-r--r--dev-python/pygoocanvas/metadata.xml6
-rw-r--r--dev-python/pygoocanvas/pygoocanvas-0.14.1-r1.ebuild72
-rw-r--r--dev-python/pygooglevoice/Manifest2
-rw-r--r--dev-python/pygooglevoice/files/pygooglevoice-0.5-auth.patch121
-rw-r--r--dev-python/pygooglevoice/metadata.xml8
-rw-r--r--dev-python/pygooglevoice/pygooglevoice-0.5-r2.ebuild35
-rw-r--r--dev-python/pygpgme/Manifest1
-rw-r--r--dev-python/pygpgme/metadata.xml18
-rw-r--r--dev-python/pygpgme/pygpgme-0.3-r1.ebuild33
-rw-r--r--dev-python/pygraphviz/Manifest1
-rw-r--r--dev-python/pygraphviz/files/pygraphviz-1.0-setup.py.patch33
-rw-r--r--dev-python/pygraphviz/files/pygraphviz-1.1-avoid_tests.patch41
-rw-r--r--dev-python/pygraphviz/files/pygraphviz-1.2-avoid_tests.patch47
-rw-r--r--dev-python/pygraphviz/metadata.xml14
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.2.ebuild40
-rw-r--r--dev-python/pygresql/Manifest1
-rw-r--r--dev-python/pygresql/metadata.xml9
-rw-r--r--dev-python/pygresql/pygresql-4.1.1-r1.ebuild74
-rw-r--r--dev-python/pygresql/pygresql-4.1.1-r2.ebuild76
-rw-r--r--dev-python/pygresql/pygresql-4.1.1.ebuild75
-rw-r--r--dev-python/pygsl/Manifest1
-rw-r--r--dev-python/pygsl/metadata.xml12
-rw-r--r--dev-python/pygsl/pygsl-0.9.5-r1.ebuild27
-rw-r--r--dev-python/pygsl/pygsl-0.9.5.ebuild38
-rw-r--r--dev-python/pygtk/Manifest1
-rw-r--r--dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch11
-rw-r--r--dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch12
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch58
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch9
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch28
-rw-r--r--dev-python/pygtk/metadata.xml17
-rw-r--r--dev-python/pygtk/pygtk-2.24.0-r4.ebuild103
-rw-r--r--dev-python/pygtkglext/Manifest1
-rw-r--r--dev-python/pygtkglext/metadata.xml8
-rw-r--r--dev-python/pygtkglext/pygtkglext-1.1.0-r1.ebuild51
-rw-r--r--dev-python/pygtkhelpers/Manifest1
-rw-r--r--dev-python/pygtkhelpers/metadata.xml8
-rw-r--r--dev-python/pygtkhelpers/pygtkhelpers-0.4.3-r1.ebuild52
-rw-r--r--dev-python/pygtkhelpers/pygtkhelpers-0.4.3.ebuild56
-rw-r--r--dev-python/pygtksourceview/Manifest1
-rw-r--r--dev-python/pygtksourceview/metadata.xml9
-rw-r--r--dev-python/pygtksourceview/pygtksourceview-2.10.1-r1.ebuild56
-rw-r--r--dev-python/pygui/Manifest1
-rw-r--r--dev-python/pygui/files/pygui-2.2-python-2.6.patch18
-rw-r--r--dev-python/pygui/files/pygui-2.2-resources.patch8
-rw-r--r--dev-python/pygui/metadata.xml12
-rw-r--r--dev-python/pygui/pygui-2.5.3-r1.ebuild30
-rw-r--r--dev-python/pyh2o/metadata.xml16
-rw-r--r--dev-python/pyh2o/pyh2o-9999.ebuild32
-rw-r--r--dev-python/pyhamcrest/Manifest3
-rw-r--r--dev-python/pyhamcrest/files/sphinx-rtd.patch20
-rw-r--r--dev-python/pyhamcrest/metadata.xml17
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-1.8.2.ebuild50
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-1.8.3.ebuild62
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-1.8.5.ebuild50
-rw-r--r--dev-python/pyid3lib/Manifest1
-rw-r--r--dev-python/pyid3lib/files/pyid3lib-0.5.1-gcc-4.4.patch20
-rw-r--r--dev-python/pyid3lib/files/pyid3lib-0.5.1-py25.patch57
-rw-r--r--dev-python/pyid3lib/metadata.xml8
-rw-r--r--dev-python/pyid3lib/pyid3lib-0.5.1-r1.ebuild36
-rw-r--r--dev-python/pyid3lib/pyid3lib-0.5.1-r2.ebuild34
-rw-r--r--dev-python/pyifp/Manifest1
-rw-r--r--dev-python/pyifp/files/pyifp-0.2.2-setup-fix.patch11
-rw-r--r--dev-python/pyifp/metadata.xml9
-rw-r--r--dev-python/pyifp/pyifp-0.2.2-r1.ebuild29
-rw-r--r--dev-python/pyinotify/Manifest3
-rw-r--r--dev-python/pyinotify/metadata.xml5
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.4-r1.ebuild25
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.5.ebuild26
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6.ebuild26
-rw-r--r--dev-python/pyinsane/Manifest1
-rw-r--r--dev-python/pyinsane/metadata.xml20
-rw-r--r--dev-python/pyinsane/pyinsane-1.3.8.ebuild20
-rw-r--r--dev-python/pyjwt/Manifest2
-rw-r--r--dev-python/pyjwt/metadata.xml9
-rw-r--r--dev-python/pyjwt/pyjwt-1.3.0.ebuild49
-rw-r--r--dev-python/pyjwt/pyjwt-1.4.0.ebuild50
-rw-r--r--dev-python/pykerberos/Manifest2
-rw-r--r--dev-python/pykerberos/metadata.xml15
-rw-r--r--dev-python/pykerberos/pykerberos-1.1.5.ebuild22
-rw-r--r--dev-python/pykerberos/pykerberos-1.1.7.ebuild22
-rw-r--r--dev-python/pykit/Manifest2
-rw-r--r--dev-python/pykit/metadata.xml15
-rw-r--r--dev-python/pykit/pykit-0.1.0.ebuild33
-rw-r--r--dev-python/pykit/pykit-0.2.0.ebuild33
-rw-r--r--dev-python/pykka/Manifest1
-rw-r--r--dev-python/pykka/metadata.xml13
-rw-r--r--dev-python/pykka/pykka-1.2.1.ebuild26
-rw-r--r--dev-python/pylast/Manifest2
-rw-r--r--dev-python/pylast/metadata.xml25
-rw-r--r--dev-python/pylast/pylast-0.5.11-r1.ebuild18
-rw-r--r--dev-python/pylast/pylast-1.0.0.ebuild18
-rw-r--r--dev-python/pylibacl/Manifest1
-rw-r--r--dev-python/pylibacl/metadata.xml11
-rw-r--r--dev-python/pylibacl/pylibacl-0.5.0-r1.ebuild36
-rw-r--r--dev-python/pyliblzma/Manifest1
-rw-r--r--dev-python/pyliblzma/metadata.xml9
-rw-r--r--dev-python/pyliblzma/pyliblzma-0.5.3-r1.ebuild28
-rw-r--r--dev-python/pylibmc/Manifest2
-rw-r--r--dev-python/pylibmc/metadata.xml18
-rw-r--r--dev-python/pylibmc/pylibmc-1.4.3.ebuild34
-rw-r--r--dev-python/pylibmc/pylibmc-1.5.0.ebuild34
-rw-r--r--dev-python/pylibpcap/Manifest1
-rw-r--r--dev-python/pylibpcap/metadata.xml8
-rw-r--r--dev-python/pylibpcap/pylibpcap-0.6.4-r1.ebuild25
-rw-r--r--dev-python/pylibpcap/pylibpcap-0.6.4.ebuild33
-rw-r--r--dev-python/pylint/Manifest5
-rw-r--r--dev-python/pylint/files/pylint-0.26.0-gtktest.patch32
-rw-r--r--dev-python/pylint/metadata.xml17
-rw-r--r--dev-python/pylint/pylint-0.25.2.ebuild55
-rw-r--r--dev-python/pylint/pylint-1.4.0.ebuild60
-rw-r--r--dev-python/pylint/pylint-1.4.1.ebuild60
-rw-r--r--dev-python/pylint/pylint-1.4.3.ebuild60
-rw-r--r--dev-python/pylint/pylint-1.4.4.ebuild60
-rw-r--r--dev-python/pylirc/Manifest1
-rw-r--r--dev-python/pylirc/metadata.xml9
-rw-r--r--dev-python/pylirc/pylirc-0.0.5-r1.ebuild20
-rw-r--r--dev-python/pylons/Manifest1
-rw-r--r--dev-python/pylons/metadata.xml12
-rw-r--r--dev-python/pylons/pylons-1.0.1-r1.ebuild54
-rw-r--r--dev-python/pyltxml/Manifest1
-rw-r--r--dev-python/pyltxml/metadata.xml5
-rw-r--r--dev-python/pyltxml/pyltxml-1.3-r1.ebuild36
-rw-r--r--dev-python/pylzma/Manifest4
-rw-r--r--dev-python/pylzma/metadata.xml8
-rw-r--r--dev-python/pylzma/pylzma-0.4.4-r1.ebuild29
-rw-r--r--dev-python/pylzma/pylzma-0.4.5.ebuild29
-rw-r--r--dev-python/pylzma/pylzma-0.4.6.ebuild29
-rw-r--r--dev-python/pylzma/pylzma-0.4.8.ebuild29
-rw-r--r--dev-python/pymad/Manifest1
-rw-r--r--dev-python/pymad/metadata.xml5
-rw-r--r--dev-python/pymad/pymad-0.6-r1.ebuild27
-rw-r--r--dev-python/pymad/pymad-0.6.ebuild29
-rw-r--r--dev-python/pymetar/Manifest1
-rw-r--r--dev-python/pymetar/files/setup.patch14
-rw-r--r--dev-python/pymetar/metadata.xml16
-rw-r--r--dev-python/pymetar/pymetar-0.19-r1.ebuild24
-rw-r--r--dev-python/pyminuit/Manifest2
-rw-r--r--dev-python/pyminuit/metadata.xml8
-rw-r--r--dev-python/pyminuit/pyminuit-1.2.1.ebuild38
-rw-r--r--dev-python/pyml/Manifest2
-rw-r--r--dev-python/pyml/metadata.xml12
-rw-r--r--dev-python/pyml/pyml-0.7.13.2-r1.ebuild35
-rw-r--r--dev-python/pyml/pyml-0.7.13.3.ebuild35
-rw-r--r--dev-python/pymongo/Manifest4
-rw-r--r--dev-python/pymongo/files/pymongo-2.5.1-greenlet.patch17
-rw-r--r--dev-python/pymongo/metadata.xml30
-rw-r--r--dev-python/pymongo/pymongo-2.6.3.ebuild130
-rw-r--r--dev-python/pymongo/pymongo-2.7.2.ebuild128
-rw-r--r--dev-python/pymongo/pymongo-2.8.1.ebuild128
-rw-r--r--dev-python/pymongo/pymongo-3.0.3.ebuild127
-rw-r--r--dev-python/pymountboot/Manifest2
-rw-r--r--dev-python/pymountboot/metadata.xml16
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.1.ebuild20
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.2.ebuild25
-rw-r--r--dev-python/pymountboot/pymountboot-9999.ebuild35
-rw-r--r--dev-python/pympler/Manifest3
-rw-r--r--dev-python/pympler/metadata.xml19
-rw-r--r--dev-python/pympler/pympler-0.3.1.ebuild38
-rw-r--r--dev-python/pympler/pympler-0.4.1.ebuild43
-rw-r--r--dev-python/pympler/pympler-0.4.ebuild43
-rw-r--r--dev-python/pymssql/Manifest1
-rw-r--r--dev-python/pymssql/metadata.xml11
-rw-r--r--dev-python/pymssql/pymssql-1.0.2-r1.ebuild26
-rw-r--r--dev-python/pymtp/Manifest1
-rw-r--r--dev-python/pymtp/metadata.xml6
-rw-r--r--dev-python/pymtp/pymtp-0.0.6.ebuild29
-rw-r--r--dev-python/pymysql/Manifest2
-rw-r--r--dev-python/pymysql/metadata.xml13
-rw-r--r--dev-python/pymysql/pymysql-0.6.3.ebuild30
-rw-r--r--dev-python/pymysql/pymysql-0.6.6.ebuild30
-rw-r--r--dev-python/pyndex/Manifest1
-rw-r--r--dev-python/pyndex/metadata.xml11
-rw-r--r--dev-python/pyndex/pyndex-0.3.2a-r1.ebuild31
-rw-r--r--dev-python/pyndex/pyndex-0.3.2a.ebuild27
-rw-r--r--dev-python/pynotifier/Manifest1
-rw-r--r--dev-python/pynotifier/metadata.xml10
-rw-r--r--dev-python/pynotifier/pynotifier-0.7.0-r2.ebuild28
-rw-r--r--dev-python/pynut/Manifest1
-rw-r--r--dev-python/pynut/metadata.xml5
-rw-r--r--dev-python/pynut/pynut-1.2.ebuild39
-rw-r--r--dev-python/pynzb/Manifest1
-rw-r--r--dev-python/pynzb/metadata.xml8
-rw-r--r--dev-python/pynzb/pynzb-0.1.0-r1.ebuild20
-rw-r--r--dev-python/pyocr/Manifest2
-rw-r--r--dev-python/pyocr/metadata.xml22
-rw-r--r--dev-python/pyocr/pyocr-0.2.4.ebuild24
-rw-r--r--dev-python/pyocr/pyocr-0.3.0.ebuild24
-rw-r--r--dev-python/pyodbc/Manifest1
-rw-r--r--dev-python/pyodbc/metadata.xml12
-rw-r--r--dev-python/pyodbc/pyodbc-3.0.7-r1.ebuild28
-rw-r--r--dev-python/pyode/Manifest1
-rw-r--r--dev-python/pyode/metadata.xml8
-rw-r--r--dev-python/pyode/pyode-1.2.0_p20100322-r1.ebuild44
-rw-r--r--dev-python/pyoembed/Manifest1
-rw-r--r--dev-python/pyoembed/metadata.xml19
-rw-r--r--dev-python/pyoembed/pyoembed-0.1.1.ebuild36
-rw-r--r--dev-python/pyoembed/pyoembed-9999.ebuild36
-rw-r--r--dev-python/pyogg/Manifest1
-rw-r--r--dev-python/pyogg/metadata.xml5
-rw-r--r--dev-python/pyogg/pyogg-1.3-r2.ebuild35
-rw-r--r--dev-python/pyopenal/Manifest1
-rw-r--r--dev-python/pyopenal/files/pyopenal-0.1.6-setup.patch20
-rw-r--r--dev-python/pyopenal/metadata.xml5
-rw-r--r--dev-python/pyopenal/pyopenal-0.1.6-r1.ebuild36
-rw-r--r--dev-python/pyopencl/Manifest2
-rw-r--r--dev-python/pyopencl/metadata.xml8
-rw-r--r--dev-python/pyopencl/pyopencl-2014.1.ebuild47
-rw-r--r--dev-python/pyopencl/pyopencl-2015.1.ebuild47
-rw-r--r--dev-python/pyopencl/pyopencl-9999.ebuild49
-rw-r--r--dev-python/pyopengl/Manifest2
-rw-r--r--dev-python/pyopengl/metadata.xml8
-rw-r--r--dev-python/pyopengl/pyopengl-3.0.2-r1.ebuild32
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.0.ebuild32
-rw-r--r--dev-python/pyopenssl/Manifest3
-rw-r--r--dev-python/pyopenssl/metadata.xml9
-rw-r--r--dev-python/pyopenssl/pyopenssl-0.13.1-r1.ebuild77
-rw-r--r--dev-python/pyopenssl/pyopenssl-0.13.1.ebuild75
-rw-r--r--dev-python/pyopenssl/pyopenssl-0.14.ebuild58
-rw-r--r--dev-python/pyopenssl/pyopenssl-0.15.1.ebuild52
-rw-r--r--dev-python/pyorbit/Manifest1
-rw-r--r--dev-python/pyorbit/metadata.xml6
-rw-r--r--dev-python/pyorbit/pyorbit-2.24.0-r1.ebuild48
-rw-r--r--dev-python/pyosd/Manifest1
-rw-r--r--dev-python/pyosd/metadata.xml5
-rw-r--r--dev-python/pyosd/pyosd-0.2.14-r1.ebuild32
-rw-r--r--dev-python/pyosd/pyosd-0.2.14.ebuild42
-rw-r--r--dev-python/pypam/Manifest1
-rw-r--r--dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch17
-rw-r--r--dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch128
-rw-r--r--dev-python/pypam/files/PyPAM-0.5.0-nofree.patch60
-rw-r--r--dev-python/pypam/files/PyPAM-0.5.0-return-value.patch57
-rw-r--r--dev-python/pypam/files/PyPAM-python3-support.patch198
-rw-r--r--dev-python/pypam/files/pypam-0.5.0-stricter.patch15
-rw-r--r--dev-python/pypam/metadata.xml5
-rw-r--r--dev-python/pypam/pypam-0.5.0-r3.ebuild47
-rw-r--r--dev-python/pyparsing/Manifest3
-rw-r--r--dev-python/pyparsing/metadata.xml15
-rw-r--r--dev-python/pyparsing/pyparsing-1.5.6-r2.ebuild51
-rw-r--r--dev-python/pyparsing/pyparsing-1.5.6.ebuild41
-rw-r--r--dev-python/pyparsing/pyparsing-2.0.1.ebuild29
-rw-r--r--dev-python/pyparsing/pyparsing-2.0.3.ebuild29
-rw-r--r--dev-python/pyparted/Manifest3
-rw-r--r--dev-python/pyparted/files/pyparted-3.10.3-greater.patch11
-rw-r--r--dev-python/pyparted/files/pyparted-3.10.3-sbin-parted.patch11
-rw-r--r--dev-python/pyparted/metadata.xml5
-rw-r--r--dev-python/pyparted/pyparted-3.10.3-r1.ebuild45
-rw-r--r--dev-python/pyparted/pyparted-3.10.4.ebuild45
-rw-r--r--dev-python/pyparted/pyparted-3.10.5.ebuild43
-rw-r--r--dev-python/pypax/Manifest2
-rw-r--r--dev-python/pypax/metadata.xml14
-rw-r--r--dev-python/pypax/pypax-0.8.4.ebuild38
-rw-r--r--dev-python/pypax/pypax-0.9.0.ebuild38
-rw-r--r--dev-python/pypcap/Manifest2
-rw-r--r--dev-python/pypcap/metadata.xml10
-rw-r--r--dev-python/pypcap/pypcap-1.1.1.ebuild27
-rw-r--r--dev-python/pypcap/pypcap-1.1.3.ebuild27
-rw-r--r--dev-python/pypeg2/Manifest1
-rw-r--r--dev-python/pypeg2/files/pypeg2-2.15.1-test.patch12
-rw-r--r--dev-python/pypeg2/metadata.xml9
-rw-r--r--dev-python/pypeg2/pypeg2-2.15.1.ebuild30
-rw-r--r--dev-python/pypgsql/Manifest1
-rw-r--r--dev-python/pypgsql/metadata.xml8
-rw-r--r--dev-python/pypgsql/pypgsql-2.5.1-r1.ebuild32
-rw-r--r--dev-python/pypgsql/pypgsql-2.5.1.ebuild38
-rw-r--r--dev-python/pyphen/Manifest2
-rw-r--r--dev-python/pyphen/metadata.xml9
-rw-r--r--dev-python/pyphen/pyphen-0.8.ebuild24
-rw-r--r--dev-python/pyphen/pyphen-0.9.1.ebuild24
-rw-r--r--dev-python/pyplusplus/Manifest2
-rw-r--r--dev-python/pyplusplus/files/pyplusplus-1.0.0_p20131206-numpy.patch179
-rw-r--r--dev-python/pyplusplus/metadata.xml15
-rw-r--r--dev-python/pyplusplus/pyplusplus-1.0.0-r1.ebuild39
-rw-r--r--dev-python/pyplusplus/pyplusplus-1.0.0_p20131206.ebuild44
-rw-r--r--dev-python/pyplusplus/pyplusplus-9999.ebuild39
-rw-r--r--dev-python/pyprof2calltree/Manifest2
-rw-r--r--dev-python/pyprof2calltree/metadata.xml8
-rw-r--r--dev-python/pyprof2calltree/pyprof2calltree-1.3.1.ebuild19
-rw-r--r--dev-python/pyprof2calltree/pyprof2calltree-1.3.2.ebuild19
-rw-r--r--dev-python/pyproj/Manifest2
-rw-r--r--dev-python/pyproj/metadata.xml10
-rw-r--r--dev-python/pyproj/pyproj-1.9.3-r1.ebuild24
-rw-r--r--dev-python/pyproj/pyproj-1.9.4.ebuild33
-rw-r--r--dev-python/pyprotocols/Manifest1
-rw-r--r--dev-python/pyprotocols/files/SkipTests.patch26
-rw-r--r--dev-python/pyprotocols/metadata.xml5
-rw-r--r--dev-python/pyprotocols/pyprotocols-1.0_pre2306-r1.ebuild45
-rw-r--r--dev-python/pyptlib/Manifest1
-rw-r--r--dev-python/pyptlib/metadata.xml11
-rw-r--r--dev-python/pyptlib/pyptlib-0.0.6.ebuild30
-rw-r--r--dev-python/pypy-bin/Manifest33
-rw-r--r--dev-python/pypy-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch11
-rw-r--r--dev-python/pypy-bin/files/1.9-scripts-location.patch11
-rw-r--r--dev-python/pypy-bin/files/2.3-21_all_distutils_c++.patch321
-rw-r--r--dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch324
-rw-r--r--dev-python/pypy-bin/metadata.xml12
-rw-r--r--dev-python/pypy-bin/pypy-bin-2.3.1-r2.ebuild183
-rw-r--r--dev-python/pypy-bin/pypy-bin-2.4.0.ebuild178
-rw-r--r--dev-python/pypy-bin/pypy-bin-2.5.1.ebuild178
-rw-r--r--dev-python/pypy-bin/pypy-bin-2.6.0.ebuild192
-rw-r--r--dev-python/pypy/Manifest5
-rw-r--r--dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch11
-rw-r--r--dev-python/pypy/files/1.9-scripts-location.patch11
-rw-r--r--dev-python/pypy/files/2.3-21_all_distutils_c++.patch321
-rw-r--r--dev-python/pypy/files/2.3.1-shared-lib.patch11
-rw-r--r--dev-python/pypy/files/2.5.0-shared-lib.patch12
-rw-r--r--dev-python/pypy/files/2.5.0_all_distutils_cxx.patch324
-rw-r--r--dev-python/pypy/metadata.xml17
-rw-r--r--dev-python/pypy/pypy-2.3.1-r2.ebuild235
-rw-r--r--dev-python/pypy/pypy-2.4.0.ebuild224
-rw-r--r--dev-python/pypy/pypy-2.5.1.ebuild224
-rw-r--r--dev-python/pypy/pypy-2.6.0.ebuild240
-rw-r--r--dev-python/pypy3-bin/Manifest8
-rw-r--r--dev-python/pypy3-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch11
-rw-r--r--dev-python/pypy3-bin/files/1.9-scripts-location.patch11
-rw-r--r--dev-python/pypy3-bin/files/2.3.1-shared-lib.patch11
-rw-r--r--dev-python/pypy3-bin/metadata.xml12
-rw-r--r--dev-python/pypy3-bin/pypy3-bin-2.4.0.ebuild173
-rw-r--r--dev-python/pypy3/Manifest1
-rw-r--r--dev-python/pypy3/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch11
-rw-r--r--dev-python/pypy3/files/1.9-scripts-location.patch11
-rw-r--r--dev-python/pypy3/files/2.3.1-shared-lib.patch11
-rw-r--r--dev-python/pypy3/metadata.xml14
-rw-r--r--dev-python/pypy3/pypy3-2.4.0.ebuild218
-rw-r--r--dev-python/pyqtgraph/Manifest2
-rw-r--r--dev-python/pyqtgraph/metadata.xml8
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.9.10.ebuild50
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.9.9.ebuild49
-rw-r--r--dev-python/pyquery/Manifest3
-rw-r--r--dev-python/pyquery/metadata.xml12
-rw-r--r--dev-python/pyquery/pyquery-1.2.4.ebuild44
-rw-r--r--dev-python/pyquery/pyquery-1.2.8.ebuild45
-rw-r--r--dev-python/pyquery/pyquery-1.2.9-r1.ebuild37
-rw-r--r--dev-python/pyquery/pyquery-1.2.9.ebuild36
-rw-r--r--dev-python/pyqwt/Manifest1
-rw-r--r--dev-python/pyqwt/metadata.xml15
-rw-r--r--dev-python/pyqwt/pyqwt-5.2.0-r1.ebuild89
-rw-r--r--dev-python/pyramid/Manifest4
-rw-r--r--dev-python/pyramid/metadata.xml8
-rw-r--r--dev-python/pyramid/pyramid-1.5.1.ebuild46
-rw-r--r--dev-python/pyramid/pyramid-1.5.2.ebuild46
-rw-r--r--dev-python/pyramid/pyramid-1.5.4.ebuild46
-rw-r--r--dev-python/pyramid/pyramid-1.5.7.ebuild46
-rw-r--r--dev-python/pyrax/Manifest3
-rw-r--r--dev-python/pyrax/metadata.xml22
-rw-r--r--dev-python/pyrax/pyrax-1.9.2.ebuild54
-rw-r--r--dev-python/pyrax/pyrax-1.9.3.ebuild53
-rw-r--r--dev-python/pyrax/pyrax-1.9.4.ebuild45
-rw-r--r--dev-python/pyregion/Manifest2
-rw-r--r--dev-python/pyregion/metadata.xml12
-rw-r--r--dev-python/pyregion/pyregion-1.1.2.ebuild32
-rw-r--r--dev-python/pyregion/pyregion-1.1.4.ebuild32
-rw-r--r--dev-python/pyrex/Manifest1
-rw-r--r--dev-python/pyrex/metadata.xml5
-rw-r--r--dev-python/pyrex/pyrex-0.9.9-r1.ebuild37
-rw-r--r--dev-python/pyrfc3339/Manifest1
-rw-r--r--dev-python/pyrfc3339/files/pyrfc3339-0.2-fixdoctests.patch54
-rw-r--r--dev-python/pyrfc3339/metadata.xml9
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-0.2.ebuild32
-rw-r--r--dev-python/pyringe/Manifest1
-rw-r--r--dev-python/pyringe/metadata.xml12
-rw-r--r--dev-python/pyringe/pyringe-1.0.2.ebuild22
-rw-r--r--dev-python/pyro/Manifest2
-rw-r--r--dev-python/pyro/files/4.20-0001-Use-unittest2-for-older-Python-version.patch354
-rw-r--r--dev-python/pyro/metadata.xml12
-rw-r--r--dev-python/pyro/pyro-3.16-r1.ebuild36
-rw-r--r--dev-python/pyro/pyro-4.25.ebuild77
-rw-r--r--dev-python/pyroma/Manifest1
-rw-r--r--dev-python/pyroma/metadata.xml12
-rw-r--r--dev-python/pyroma/pyroma-1.7.ebuild27
-rw-r--r--dev-python/pyrtf/Manifest1
-rw-r--r--dev-python/pyrtf/metadata.xml8
-rw-r--r--dev-python/pyrtf/pyrtf-0.45-r1.ebuild31
-rw-r--r--dev-python/pysaml2/Manifest1
-rw-r--r--dev-python/pysaml2/metadata.xml16
-rw-r--r--dev-python/pysaml2/pysaml2-2.1.0.ebuild32
-rw-r--r--dev-python/pyscard/Manifest1
-rw-r--r--dev-python/pyscard/metadata.xml9
-rw-r--r--dev-python/pyscard/pyscard-1.6.16.ebuild24
-rw-r--r--dev-python/pysctp/Manifest1
-rw-r--r--dev-python/pysctp/metadata.xml16
-rw-r--r--dev-python/pysctp/pysctp-0.6.ebuild26
-rw-r--r--dev-python/pysendfile/Manifest1
-rw-r--r--dev-python/pysendfile/metadata.xml8
-rw-r--r--dev-python/pysendfile/pysendfile-2.0.1.ebuild22
-rw-r--r--dev-python/pyserial/Manifest2
-rw-r--r--dev-python/pyserial/files/mapping.patch13
-rw-r--r--dev-python/pyserial/files/pyserial-2.5-python-3.patch43
-rw-r--r--dev-python/pyserial/files/pyserial-2.6-list_ports.patch15
-rw-r--r--dev-python/pyserial/metadata.xml8
-rw-r--r--dev-python/pyserial/pyserial-2.6-r1.ebuild22
-rw-r--r--dev-python/pyserial/pyserial-2.7-r1.ebuild38
-rw-r--r--dev-python/pyserial/pyserial-2.7.ebuild22
-rw-r--r--dev-python/pysfml/Manifest1
-rw-r--r--dev-python/pysfml/metadata.xml8
-rw-r--r--dev-python/pysfml/pysfml-1.6-r1.ebuild41
-rw-r--r--dev-python/pyshark/Manifest3
-rw-r--r--dev-python/pyshark/metadata.xml9
-rw-r--r--dev-python/pyshark/pyshark-0.3.4.ebuild28
-rw-r--r--dev-python/pyshark/pyshark-0.3.5.ebuild28
-rw-r--r--dev-python/pyshark/pyshark-0.3.6.ebuild28
-rw-r--r--dev-python/pyside-tools/Manifest1
-rw-r--r--dev-python/pyside-tools/files/0.2.13-fix-pysideuic-test-and-install.patch27
-rw-r--r--dev-python/pyside-tools/metadata.xml8
-rw-r--r--dev-python/pyside-tools/pyside-tools-0.2.15-r1.ebuild83
-rw-r--r--dev-python/pyside/Manifest1
-rw-r--r--dev-python/pyside/files/qgtkstyle-1.2.2.patch33
-rw-r--r--dev-python/pyside/files/rpath.cmake10
-rw-r--r--dev-python/pyside/metadata.xml20
-rw-r--r--dev-python/pyside/pyside-1.2.2-r1.ebuild142
-rw-r--r--dev-python/pyside/pyside-1.2.2.ebuild140
-rw-r--r--dev-python/pysnmp-apps/Manifest2
-rw-r--r--dev-python/pysnmp-apps/metadata.xml27
-rw-r--r--dev-python/pysnmp-apps/pysnmp-apps-0.3.2-r1.ebuild21
-rw-r--r--dev-python/pysnmp-apps/pysnmp-apps-0.3.4.ebuild24
-rw-r--r--dev-python/pysnmp-mibs/Manifest2
-rw-r--r--dev-python/pysnmp-mibs/metadata.xml26
-rw-r--r--dev-python/pysnmp-mibs/pysnmp-mibs-0.1.3-r1.ebuild21
-rw-r--r--dev-python/pysnmp-mibs/pysnmp-mibs-0.1.4.ebuild21
-rw-r--r--dev-python/pysnmp/Manifest3
-rw-r--r--dev-python/pysnmp/metadata.xml27
-rw-r--r--dev-python/pysnmp/pysnmp-3.4.4-r1.ebuild36
-rw-r--r--dev-python/pysnmp/pysnmp-4.2.2-r1.ebuild38
-rw-r--r--dev-python/pysnmp/pysnmp-4.2.5.ebuild36
-rw-r--r--dev-python/pysolr/Manifest2
-rw-r--r--dev-python/pysolr/metadata.xml13
-rw-r--r--dev-python/pysolr/pysolr-3.3.0.ebuild23
-rw-r--r--dev-python/pysolr/pysolr-3.3.2.ebuild22
-rw-r--r--dev-python/pyspf/Manifest2
-rw-r--r--dev-python/pyspf/metadata.xml8
-rw-r--r--dev-python/pyspf/pyspf-2.0.10.ebuild35
-rw-r--r--dev-python/pyspf/pyspf-2.0.11.ebuild35
-rw-r--r--dev-python/pysrt/Manifest3
-rw-r--r--dev-python/pysrt/metadata.xml12
-rw-r--r--dev-python/pysrt/pysrt-0.5.1.ebuild43
-rw-r--r--dev-python/pysrt/pysrt-1.0.0.ebuild37
-rw-r--r--dev-python/pysrt/pysrt-1.0.1.ebuild37
-rw-r--r--dev-python/pysrt/pysrt-9999.ebuild34
-rw-r--r--dev-python/pystache/Manifest2
-rw-r--r--dev-python/pystache/metadata.xml14
-rw-r--r--dev-python/pystache/pystache-0.5.3.ebuild27
-rw-r--r--dev-python/pystache/pystache-0.5.4.ebuild28
-rw-r--r--dev-python/pystatgrab/Manifest1
-rw-r--r--dev-python/pystatgrab/metadata.xml5
-rw-r--r--dev-python/pystatgrab/pystatgrab-0.6.ebuild30
-rw-r--r--dev-python/pystdf/Manifest1
-rw-r--r--dev-python/pystdf/metadata.xml10
-rw-r--r--dev-python/pystdf/pystdf-1.3.1-r1.ebuild17
-rw-r--r--dev-python/pysvg/Manifest1
-rw-r--r--dev-python/pysvg/metadata.xml8
-rw-r--r--dev-python/pysvg/pysvg-0.2.1-r1.ebuild21
-rw-r--r--dev-python/pysvn/Manifest2
-rw-r--r--dev-python/pysvn/files/pysvn-1.7.10-respect_flags.patch95
-rw-r--r--dev-python/pysvn/files/pysvn-1.7.9-respect_flags.patch96
-rw-r--r--dev-python/pysvn/metadata.xml5
-rw-r--r--dev-python/pysvn/pysvn-1.7.10.ebuild59
-rw-r--r--dev-python/pysvn/pysvn-1.7.9.ebuild59
-rw-r--r--dev-python/pysyck/Manifest1
-rw-r--r--dev-python/pysyck/metadata.xml13
-rw-r--r--dev-python/pysyck/pysyck-0.61.2-r1.ebuild30
-rw-r--r--dev-python/pytables/Manifest2
-rw-r--r--dev-python/pytables/files/pytables-3.1.1-blosc.patch16
-rw-r--r--dev-python/pytables/files/pytables-3.1.1-cython-backport.patch65
-rw-r--r--dev-python/pytables/files/pytables-3.1.1-numpy19-backport.patch51
-rw-r--r--dev-python/pytables/files/pytables-3.2.0-blosc.patch16
-rw-r--r--dev-python/pytables/metadata.xml17
-rw-r--r--dev-python/pytables/pytables-3.1.1-r2.ebuild75
-rw-r--r--dev-python/pytables/pytables-3.2.0.ebuild73
-rw-r--r--dev-python/pyte/Manifest1
-rw-r--r--dev-python/pyte/metadata.xml12
-rw-r--r--dev-python/pyte/pyte-0.4.9.ebuild27
-rw-r--r--dev-python/pytest-capturelog/Manifest1
-rw-r--r--dev-python/pytest-capturelog/metadata.xml13
-rw-r--r--dev-python/pytest-capturelog/pytest-capturelog-0.7.ebuild19
-rw-r--r--dev-python/pytest-cov/Manifest2
-rw-r--r--dev-python/pytest-cov/metadata.xml12
-rw-r--r--dev-python/pytest-cov/pytest-cov-1.6.ebuild21
-rw-r--r--dev-python/pytest-cov/pytest-cov-1.8.1.ebuild31
-rw-r--r--dev-python/pytest-localserver/Manifest1
-rw-r--r--dev-python/pytest-localserver/metadata.xml12
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.3.4.ebuild28
-rw-r--r--dev-python/pytest-runner/Manifest2
-rw-r--r--dev-python/pytest-runner/files/pytest-runner-2.1.2-hgtools.patch17
-rw-r--r--dev-python/pytest-runner/files/pytest-runner.patch12
-rw-r--r--dev-python/pytest-runner/metadata.xml15
-rw-r--r--dev-python/pytest-runner/pytest-runner-2.1.2.ebuild25
-rw-r--r--dev-python/pytest-runner/pytest-runner-2.5.1.ebuild23
-rw-r--r--dev-python/pytest-timeout/Manifest1
-rw-r--r--dev-python/pytest-timeout/metadata.xml8
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-0.4.ebuild25
-rw-r--r--dev-python/pytest/Manifest2
-rw-r--r--dev-python/pytest/metadata.xml8
-rw-r--r--dev-python/pytest/pytest-2.7.1.ebuild61
-rw-r--r--dev-python/pytest/pytest-2.7.2.ebuild61
-rw-r--r--dev-python/python-augeas/Manifest3
-rw-r--r--dev-python/python-augeas/metadata.xml10
-rw-r--r--dev-python/python-augeas/python-augeas-0.4.1.ebuild28
-rw-r--r--dev-python/python-augeas/python-augeas-0.4.2_pre131218.ebuild29
-rw-r--r--dev-python/python-augeas/python-augeas-0.5.0.ebuild28
-rw-r--r--dev-python/python-barbicanclient/Manifest2
-rw-r--r--dev-python/python-barbicanclient/metadata.xml16
-rw-r--r--dev-python/python-barbicanclient/python-barbicanclient-3.0.1.ebuild33
-rw-r--r--dev-python/python-barbicanclient/python-barbicanclient-3.0.3.ebuild37
-rw-r--r--dev-python/python-bibtex/Manifest1
-rw-r--r--dev-python/python-bibtex/files/python-bibtex-1.2.4-fix_tests.patch28
-rw-r--r--dev-python/python-bibtex/metadata.xml9
-rw-r--r--dev-python/python-bibtex/python-bibtex-1.2.7-r1.ebuild35
-rw-r--r--dev-python/python-biggles/Manifest1
-rw-r--r--dev-python/python-biggles/metadata.xml8
-rw-r--r--dev-python/python-biggles/python-biggles-1.6.6-r1.ebuild37
-rw-r--r--dev-python/python-bugzilla/Manifest1
-rw-r--r--dev-python/python-bugzilla/metadata.xml8
-rw-r--r--dev-python/python-bugzilla/python-bugzilla-1.1.0.ebuild23
-rw-r--r--dev-python/python-caja/Manifest1
-rw-r--r--dev-python/python-caja/metadata.xml8
-rw-r--r--dev-python/python-caja/python-caja-1.8.0.ebuild52
-rw-r--r--dev-python/python-catcher/Manifest1
-rw-r--r--dev-python/python-catcher/metadata.xml11
-rw-r--r--dev-python/python-catcher/python-catcher-0.1.7.ebuild28
-rw-r--r--dev-python/python-cdb/Manifest1
-rw-r--r--dev-python/python-cdb/metadata.xml5
-rw-r--r--dev-python/python-cdb/python-cdb-0.34-r1.ebuild26
-rw-r--r--dev-python/python-cdb/python-cdb-0.34.ebuild33
-rw-r--r--dev-python/python-ceilometerclient/Manifest1
-rw-r--r--dev-python/python-ceilometerclient/metadata.xml17
-rw-r--r--dev-python/python-ceilometerclient/python-ceilometerclient-1.0.10.ebuild43
-rw-r--r--dev-python/python-cinderclient/Manifest4
-rw-r--r--dev-python/python-cinderclient/metadata.xml16
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-1.0.9.ebuild45
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-1.1.1.ebuild48
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-1.1.2.ebuild58
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-1.2.1-r1.ebuild54
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-1.2.1.ebuild49
-rw-r--r--dev-python/python-cluster/Manifest1
-rw-r--r--dev-python/python-cluster/files/python-cluster-python3.patch37
-rw-r--r--dev-python/python-cluster/metadata.xml9
-rw-r--r--dev-python/python-cluster/python-cluster-1.2.2.ebuild24
-rw-r--r--dev-python/python-daap/Manifest1
-rw-r--r--dev-python/python-daap/metadata.xml6
-rw-r--r--dev-python/python-daap/python-daap-0.7.1-r1.ebuild31
-rw-r--r--dev-python/python-daemon/Manifest3
-rw-r--r--dev-python/python-daemon/metadata.xml8
-rw-r--r--dev-python/python-daemon/python-daemon-1.6-r1.ebuild28
-rw-r--r--dev-python/python-daemon/python-daemon-2.0.4.ebuild33
-rw-r--r--dev-python/python-daemon/python-daemon-2.0.5.ebuild34
-rw-r--r--dev-python/python-dateutil/Manifest5
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-1.4.1-locale.patch13
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.1-open-utf-8.patch21
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.4.2-timelex.patch13
-rw-r--r--dev-python/python-dateutil/metadata.xml13
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.1-r1.ebuild58
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.2.ebuild53
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.4.0.ebuild33
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.4.1-r1.ebuild33
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.4.2-r1.ebuild43
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.4.2.ebuild39
-rw-r--r--dev-python/python-debian/Manifest2
-rw-r--r--dev-python/python-debian/files/python-debian-0.1.26-CVE-2015-0840.patch29
-rw-r--r--dev-python/python-debian/files/python-debian-0.1.26-fix-tests.patch24
-rw-r--r--dev-python/python-debian/metadata.xml9
-rw-r--r--dev-python/python-debian/python-debian-0.1.26.ebuild45
-rw-r--r--dev-python/python-debian/python-debian-0.1.27.ebuild46
-rw-r--r--dev-python/python-digest/Manifest1
-rw-r--r--dev-python/python-digest/files/python-digest-1.7-unittest.patch9
-rw-r--r--dev-python/python-digest/metadata.xml13
-rw-r--r--dev-python/python-digest/python-digest-1.7-r1.ebuild28
-rw-r--r--dev-python/python-discid/Manifest1
-rw-r--r--dev-python/python-discid/metadata.xml12
-rw-r--r--dev-python/python-discid/python-discid-1.1.0.ebuild20
-rw-r--r--dev-python/python-distutils-extra/Manifest3
-rw-r--r--dev-python/python-distutils-extra/metadata.xml8
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.33-r1.ebuild46
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.33.ebuild49
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.37-r1.ebuild46
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.38.ebuild42
-rw-r--r--dev-python/python-djvulibre/Manifest1
-rw-r--r--dev-python/python-djvulibre/metadata.xml11
-rw-r--r--dev-python/python-djvulibre/python-djvulibre-0.3.9.ebuild23
-rw-r--r--dev-python/python-docs/Manifest12
-rw-r--r--dev-python/python-docs/metadata.xml5
-rw-r--r--dev-python/python-docs/python-docs-2.7.3.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-2.7.6-r1.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-2.7.7.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-2.7.8.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.2.5.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.3.2.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.3.3.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.3.4.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.3.5-r1.ebuild31
-rw-r--r--dev-python/python-docs/python-docs-3.4.0-r1.ebuild39
-rw-r--r--dev-python/python-docs/python-docs-3.4.1.ebuild39
-rw-r--r--dev-python/python-docs/python-docs-3.4.2.ebuild39
-rw-r--r--dev-python/python-dsv/Manifest1
-rw-r--r--dev-python/python-dsv/files/python-dsv-1.4.1-wxversion.patch16
-rw-r--r--dev-python/python-dsv/metadata.xml13
-rw-r--r--dev-python/python-dsv/python-dsv-1.4.1-r1.ebuild29
-rw-r--r--dev-python/python-etcd/Manifest2
-rw-r--r--dev-python/python-etcd/metadata.xml13
-rw-r--r--dev-python/python-etcd/python-etcd-0.3.2.ebuild24
-rw-r--r--dev-python/python-etcd/python-etcd-0.3.3.ebuild24
-rw-r--r--dev-python/python-evdev/Manifest2
-rw-r--r--dev-python/python-evdev/metadata.xml10
-rw-r--r--dev-python/python-evdev/python-evdev-0.4.3.ebuild19
-rw-r--r--dev-python/python-evdev/python-evdev-0.4.5.ebuild19
-rw-r--r--dev-python/python-exconsole/Manifest1
-rw-r--r--dev-python/python-exconsole/metadata.xml12
-rw-r--r--dev-python/python-exconsole/python-exconsole-0.1.5.ebuild18
-rw-r--r--dev-python/python-fastcgi/Manifest1
-rw-r--r--dev-python/python-fastcgi/files/python-fastcgi-1.1-setup.patch15
-rw-r--r--dev-python/python-fastcgi/metadata.xml8
-rw-r--r--dev-python/python-fastcgi/python-fastcgi-1.1-r1.ebuild30
-rw-r--r--dev-python/python-fastimport/Manifest1
-rw-r--r--dev-python/python-fastimport/metadata.xml12
-rw-r--r--dev-python/python-fastimport/python-fastimport-0.9.2-r1.ebuild35
-rw-r--r--dev-python/python-fchksum/Manifest1
-rw-r--r--dev-python/python-fchksum/files/python-fchksum-1.7.1-md5-align.patch26
-rw-r--r--dev-python/python-fchksum/metadata.xml5
-rw-r--r--dev-python/python-fchksum/python-fchksum-1.7.1-r1.ebuild22
-rw-r--r--dev-python/python-geoclue/Manifest1
-rw-r--r--dev-python/python-geoclue/metadata.xml8
-rw-r--r--dev-python/python-geoclue/python-geoclue-0.1.0-r1.ebuild37
-rw-r--r--dev-python/python-gflags/Manifest1
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch29
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-skip-test-as-root.patch28
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-tests-python-2.7.patch68
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch58
-rw-r--r--dev-python/python-gflags/metadata.xml8
-rw-r--r--dev-python/python-gflags/python-gflags-2.0.ebuild38
-rw-r--r--dev-python/python-glanceclient/Manifest7
-rw-r--r--dev-python/python-glanceclient/metadata.xml16
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.13.1.ebuild66
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.14.2.ebuild69
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.17.0.ebuild74
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.17.1.ebuild79
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.17.2.ebuild81
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.18.0.ebuild76
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.19.0-r1.ebuild77
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-0.19.0.ebuild76
-rw-r--r--dev-python/python-gnupg/Manifest1
-rw-r--r--dev-python/python-gnupg/files/python-gnupg-0.3.6-skip-search-keys-tests.patch20
-rw-r--r--dev-python/python-gnupg/files/python-gnupg-0.3.7-msg-handle.patch31
-rw-r--r--dev-python/python-gnupg/metadata.xml9
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.3.7.ebuild26
-rw-r--r--dev-python/python-gtkmvc/Manifest1
-rw-r--r--dev-python/python-gtkmvc/metadata.xml9
-rw-r--r--dev-python/python-gtkmvc/python-gtkmvc-1.99.1.ebuild35
-rw-r--r--dev-python/python-gudev/Manifest1
-rw-r--r--dev-python/python-gudev/files/automake.patch10
-rw-r--r--dev-python/python-gudev/metadata.xml12
-rw-r--r--dev-python/python-gudev/python-gudev-147.2-r1.ebuild46
-rw-r--r--dev-python/python-heatclient/Manifest6
-rw-r--r--dev-python/python-heatclient/metadata.xml15
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.2.12.ebuild129
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.2.9.ebuild57
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.3.0.ebuild97
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.4.0.ebuild102
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.5.0.ebuild98
-rw-r--r--dev-python/python-heatclient/python-heatclient-0.6.0.ebuild97
-rw-r--r--dev-python/python-iptables/Manifest2
-rw-r--r--dev-python/python-iptables/files/python-iptables-0.2.0-tests.patch21
-rw-r--r--dev-python/python-iptables/files/python-iptables-0.3.0-conntrack-fixes.patch182
-rw-r--r--dev-python/python-iptables/files/python-iptables-fix-ctypes.patch70
-rw-r--r--dev-python/python-iptables/metadata.xml22
-rw-r--r--dev-python/python-iptables/python-iptables-0.8.0.ebuild42
-rw-r--r--dev-python/python-iptables/python-iptables-0.9.0.ebuild37
-rw-r--r--dev-python/python-ironicclient/Manifest1
-rw-r--r--dev-python/python-ironicclient/metadata.xml14
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-0.5.1.ebuild71
-rw-r--r--dev-python/python-iwscan/Manifest1
-rw-r--r--dev-python/python-iwscan/files/python-iwscan-20080402-wireless-tools-30.patch14
-rw-r--r--dev-python/python-iwscan/metadata.xml9
-rw-r--r--dev-python/python-iwscan/python-iwscan-20080402-r1.ebuild29
-rw-r--r--dev-python/python-keystoneclient/Manifest7
-rw-r--r--dev-python/python-keystoneclient/files/keystoneclient-1.0.0-cve-2015-1852.patch63
-rw-r--r--dev-python/python-keystoneclient/metadata.xml15
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.0.0-r1.ebuild101
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.1.1.ebuild101
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.3.1.ebuild93
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.3.2.ebuild101
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.4.0.ebuild94
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.5.0.ebuild93
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.6.0-r1.ebuild94
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-1.6.0.ebuild93
-rw-r--r--dev-python/python-ldap/Manifest3
-rw-r--r--dev-python/python-ldap/metadata.xml13
-rw-r--r--dev-python/python-ldap/python-ldap-2.4.15.ebuild66
-rw-r--r--dev-python/python-ldap/python-ldap-2.4.19.ebuild74
-rw-r--r--dev-python/python-ldap/python-ldap-2.4.20.ebuild74
-rw-r--r--dev-python/python-ldap/python-ldap-9999.ebuild74
-rw-r--r--dev-python/python-levenshtein/Manifest4
-rw-r--r--dev-python/python-levenshtein/files/genextdoc.py214
-rw-r--r--dev-python/python-levenshtein/metadata.xml9
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.10.2-r1.ebuild38
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.11.1.ebuild38
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.11.2.ebuild43
-rw-r--r--dev-python/python-levenshtein/python-levenshtein-0.12.0.ebuild43
-rw-r--r--dev-python/python-linux-procfs/Manifest1
-rw-r--r--dev-python/python-linux-procfs/metadata.xml8
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.4.6.ebuild21
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-9999.ebuild21
-rw-r--r--dev-python/python-lzo/Manifest1
-rw-r--r--dev-python/python-lzo/files/lzo2compat.patch13
-rw-r--r--dev-python/python-lzo/metadata.xml5
-rw-r--r--dev-python/python-lzo/python-lzo-1.08-r1.ebuild26
-rw-r--r--dev-python/python-magic/Manifest1
-rw-r--r--dev-python/python-magic/metadata.xml13
-rw-r--r--dev-python/python-magic/python-magic-0.4.6-r1.ebuild21
-rw-r--r--dev-python/python-memcached/Manifest2
-rw-r--r--dev-python/python-memcached/metadata.xml14
-rw-r--r--dev-python/python-memcached/python-memcached-1.53-r1.ebuild43
-rw-r--r--dev-python/python-memcached/python-memcached-1.54.ebuild43
-rw-r--r--dev-python/python-mhash/Manifest1
-rw-r--r--dev-python/python-mhash/metadata.xml12
-rw-r--r--dev-python/python-mhash/python-mhash-1.4-r1.ebuild30
-rw-r--r--dev-python/python-mpd/Manifest2
-rw-r--r--dev-python/python-mpd/metadata.xml13
-rw-r--r--dev-python/python-mpd/python-mpd-0.5.3.ebuild26
-rw-r--r--dev-python/python-mpd/python-mpd-0.5.4.ebuild26
-rw-r--r--dev-python/python-musicbrainz-ngs/Manifest1
-rw-r--r--dev-python/python-musicbrainz-ngs/files/python-musicbrainz-ngs-0.4-fix-package_data-placement.patch20
-rw-r--r--dev-python/python-musicbrainz-ngs/metadata.xml13
-rw-r--r--dev-python/python-musicbrainz-ngs/python-musicbrainz-ngs-0.4.ebuild33
-rw-r--r--dev-python/python-musicbrainz/Manifest1
-rw-r--r--dev-python/python-musicbrainz/metadata.xml6
-rw-r--r--dev-python/python-musicbrainz/python-musicbrainz-0.7.4-r1.ebuild53
-rw-r--r--dev-python/python-nbxmpp/Manifest3
-rw-r--r--dev-python/python-nbxmpp/metadata.xml8
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-0.5.1.ebuild22
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-0.5.2.ebuild22
-rw-r--r--dev-python/python-nbxmpp/python-nbxmpp-0.5.3.ebuild22
-rw-r--r--dev-python/python-neutronclient/Manifest3
-rw-r--r--dev-python/python-neutronclient/metadata.xml16
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-2.3.6.ebuild82
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-2.4.0.ebuild96
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-2.6.0.ebuild90
-rw-r--r--dev-python/python-novaclient/Manifest5
-rw-r--r--dev-python/python-novaclient/metadata.xml19
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.17.0-r1.ebuild43
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.17.0.ebuild46
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.20.0.ebuild52
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.23.0.ebuild64
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.23.1.ebuild67
-rw-r--r--dev-python/python-novaclient/python-novaclient-2.25.0.ebuild63
-rw-r--r--dev-python/python-nss/Manifest2
-rw-r--r--dev-python/python-nss/files/gentoo_lib_name.patch38
-rw-r--r--dev-python/python-nss/files/python-nss-0.12-rsapssparams.patch25
-rw-r--r--dev-python/python-nss/metadata.xml17
-rw-r--r--dev-python/python-nss/python-nss-0.12-r1.ebuild45
-rw-r--r--dev-python/python-nss/python-nss-0.16.0.ebuild62
-rw-r--r--dev-python/python-oembed/Manifest2
-rw-r--r--dev-python/python-oembed/metadata.xml8
-rw-r--r--dev-python/python-oembed/python-oembed-0.2.1-r1.ebuild25
-rw-r--r--dev-python/python-oembed/python-oembed-0.2.2.ebuild25
-rw-r--r--dev-python/python-openid/Manifest1
-rw-r--r--dev-python/python-openid/files/python-openid-2.0.0-gentoo-test_fetchers.diff11
-rw-r--r--dev-python/python-openid/metadata.xml5
-rw-r--r--dev-python/python-openid/python-openid-2.2.5-r1.ebuild55
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/metadata.xml16
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-1.0.4.ebuild88
-rw-r--r--dev-python/python-pam/Manifest1
-rw-r--r--dev-python/python-pam/metadata.xml14
-rw-r--r--dev-python/python-pam/python-pam-0.1.4.ebuild20
-rw-r--r--dev-python/python-poppler-qt4/Manifest1
-rw-r--r--dev-python/python-poppler-qt4/files/python-poppler-qt4-0.18.1-update_for_new_PyQt4_build.patch185
-rw-r--r--dev-python/python-poppler-qt4/metadata.xml13
-rw-r--r--dev-python/python-poppler-qt4/python-poppler-qt4-0.18.1.ebuild27
-rw-r--r--dev-python/python-poppler/Manifest1
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff73
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff66
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff52
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-poppler-0.18.0-minimal-fix.patch65
-rw-r--r--dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch66
-rw-r--r--dev-python/python-poppler/metadata.xml8
-rw-r--r--dev-python/python-poppler/python-poppler-0.12.1-r4.ebuild57
-rw-r--r--dev-python/python-prctl/Manifest3
-rw-r--r--dev-python/python-prctl/metadata.xml8
-rw-r--r--dev-python/python-prctl/python-prctl-1.5.0-r1.ebuild25
-rw-r--r--dev-python/python-prctl/python-prctl-1.6.0.ebuild25
-rw-r--r--dev-python/python-prctl/python-prctl-1.6.1.ebuild25
-rw-r--r--dev-python/python-ptrace/Manifest1
-rw-r--r--dev-python/python-ptrace/files/0.8.1-python3.4.patch147
-rw-r--r--dev-python/python-ptrace/metadata.xml9
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.8.1-r1.ebuild30
-rw-r--r--dev-python/python-saharaclient/Manifest2
-rw-r--r--dev-python/python-saharaclient/metadata.xml16
-rw-r--r--dev-python/python-saharaclient/python-saharaclient-0.7.0.ebuild42
-rw-r--r--dev-python/python-saharaclient/python-saharaclient-0.9.0.ebuild59
-rw-r--r--dev-python/python-scw/Manifest1
-rw-r--r--dev-python/python-scw/metadata.xml5
-rw-r--r--dev-python/python-scw/python-scw-0.4.7-r1.ebuild21
-rw-r--r--dev-python/python-slip/Manifest2
-rw-r--r--dev-python/python-slip/files/python-slip-0.2.20-no-selinux.patch93
-rw-r--r--dev-python/python-slip/files/python-slip-0.4.0-no-selinux.patch93
-rw-r--r--dev-python/python-slip/metadata.xml5
-rw-r--r--dev-python/python-slip/python-slip-0.6.0.ebuild45
-rw-r--r--dev-python/python-slip/python-slip-0.6.1.ebuild45
-rw-r--r--dev-python/python-social-auth/Manifest2
-rw-r--r--dev-python/python-social-auth/metadata.xml8
-rw-r--r--dev-python/python-social-auth/python-social-auth-0.1.26.ebuild57
-rw-r--r--dev-python/python-social-auth/python-social-auth-0.2.10.ebuild58
-rw-r--r--dev-python/python-sqlparse/Manifest5
-rw-r--r--dev-python/python-sqlparse/metadata.xml13
-rw-r--r--dev-python/python-sqlparse/python-sqlparse-0.1.10.ebuild33
-rw-r--r--dev-python/python-sqlparse/python-sqlparse-0.1.13.ebuild48
-rw-r--r--dev-python/python-sqlparse/python-sqlparse-0.1.14.ebuild50
-rw-r--r--dev-python/python-sqlparse/python-sqlparse-0.1.15.ebuild50
-rw-r--r--dev-python/python-sqlparse/python-sqlparse-0.1.16.ebuild50
-rw-r--r--dev-python/python-stdnum/Manifest2
-rw-r--r--dev-python/python-stdnum/metadata.xml17
-rw-r--r--dev-python/python-stdnum/python-stdnum-0.9.ebuild23
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.1.ebuild28
-rw-r--r--dev-python/python-swiftclient/Manifest3
-rw-r--r--dev-python/python-swiftclient/metadata.xml15
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-2.0.3.ebuild55
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-2.1.0.ebuild56
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-2.2.0-r1.ebuild59
-rw-r--r--dev-python/python-systemd/Manifest1
-rw-r--r--dev-python/python-systemd/metadata.xml10
-rw-r--r--dev-python/python-systemd/python-systemd-230.ebuild26
-rw-r--r--dev-python/python-termstyle/Manifest1
-rw-r--r--dev-python/python-termstyle/files/tests-unicode.patch10
-rw-r--r--dev-python/python-termstyle/metadata.xml13
-rw-r--r--dev-python/python-termstyle/python-termstyle-0.1.10.ebuild36
-rw-r--r--dev-python/python-troveclient/Manifest1
-rw-r--r--dev-python/python-troveclient/metadata.xml16
-rw-r--r--dev-python/python-troveclient/python-troveclient-1.0.5.ebuild40
-rw-r--r--dev-python/python-tvrage/Manifest1
-rw-r--r--dev-python/python-tvrage/metadata.xml9
-rw-r--r--dev-python/python-tvrage/python-tvrage-0.4.1.ebuild25
-rw-r--r--dev-python/python-twitter/Manifest1
-rw-r--r--dev-python/python-twitter/metadata.xml8
-rw-r--r--dev-python/python-twitter/python-twitter-1.1.ebuild36
-rw-r--r--dev-python/python-uinput/Manifest3
-rw-r--r--dev-python/python-uinput/metadata.xml8
-rw-r--r--dev-python/python-uinput/python-uinput-0.10.1.ebuild29
-rw-r--r--dev-python/python-uinput/python-uinput-0.10.2.ebuild26
-rw-r--r--dev-python/python-uinput/python-uinput-0.9.ebuild29
-rw-r--r--dev-python/python-urljr/Manifest1
-rw-r--r--dev-python/python-urljr/files/python-urljr-1.0.1-gentoo-test_fetchers.patch11
-rw-r--r--dev-python/python-urljr/metadata.xml6
-rw-r--r--dev-python/python-urljr/python-urljr-1.0.1-r1.ebuild28
-rw-r--r--dev-python/python-virtkey/Manifest1
-rw-r--r--dev-python/python-virtkey/metadata.xml8
-rw-r--r--dev-python/python-virtkey/python-virtkey-0.60.0-r1.ebuild32
-rw-r--r--dev-python/python-wpactrl/Manifest1
-rw-r--r--dev-python/python-wpactrl/metadata.xml9
-rw-r--r--dev-python/python-wpactrl/python-wpactrl-20081102-r1.ebuild21
-rw-r--r--dev-python/python-xlib/Manifest1
-rw-r--r--dev-python/python-xlib/files/defs11
-rw-r--r--dev-python/python-xlib/metadata.xml8
-rw-r--r--dev-python/python-xlib/python-xlib-0.15_rc1-r2.ebuild49
-rw-r--r--dev-python/python-xlib/python-xlib-0.15_rc1.ebuild38
-rw-r--r--dev-python/python-yadis/Manifest1
-rw-r--r--dev-python/python-yadis/files/python-yadis-1.1.0-gentoo-test.patch82
-rw-r--r--dev-python/python-yadis/metadata.xml6
-rw-r--r--dev-python/python-yadis/python-yadis-1.1.0-r2.ebuild31
-rw-r--r--dev-python/python3-openid/Manifest1
-rw-r--r--dev-python/python3-openid/files/django-tests.patch32
-rw-r--r--dev-python/python3-openid/metadata.xml8
-rw-r--r--dev-python/python3-openid/python3-openid-3.0.4_p1.ebuild35
-rw-r--r--dev-python/pythondialog/Manifest2
-rw-r--r--dev-python/pythondialog/metadata.xml8
-rw-r--r--dev-python/pythondialog/pythondialog-3.2.2.ebuild36
-rw-r--r--dev-python/pythondialog/pythondialog-3.3.0.ebuild36
-rw-r--r--dev-python/pythong/Manifest2
-rw-r--r--dev-python/pythong/metadata.xml5
-rw-r--r--dev-python/pythong/pythong-2.1.5-r2.ebuild56
-rw-r--r--dev-python/pythonmagick/Manifest2
-rw-r--r--dev-python/pythonmagick/files/pythonmagick-0.9.10-Makefile.am.patch11
-rw-r--r--dev-python/pythonmagick/files/pythonmagick-0.9.10-ax_boost_python.patch18
-rw-r--r--dev-python/pythonmagick/metadata.xml8
-rw-r--r--dev-python/pythonmagick/pythonmagick-0.9.11.ebuild61
-rw-r--r--dev-python/pythonmagick/pythonmagick-0.9.12.ebuild60
-rw-r--r--dev-python/pythonutils/Manifest1
-rw-r--r--dev-python/pythonutils/metadata.xml5
-rw-r--r--dev-python/pythonutils/pythonutils-0.4.0-r1.ebuild26
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/metadata.xml10
-rw-r--r--dev-python/pytools/pytools-2014.3.5.ebuild30
-rw-r--r--dev-python/pytools/pytools-9999.ebuild29
-rw-r--r--dev-python/pytz/Manifest5
-rw-r--r--dev-python/pytz/files/pytz-2009h-zoneinfo-noinstall.patch32
-rw-r--r--dev-python/pytz/files/pytz-2009j-zoneinfo.patch14
-rw-r--r--dev-python/pytz/metadata.xml16
-rw-r--r--dev-python/pytz/pytz-2013d.ebuild33
-rw-r--r--dev-python/pytz/pytz-2014.10.ebuild31
-rw-r--r--dev-python/pytz/pytz-2014.9.ebuild31
-rw-r--r--dev-python/pytz/pytz-2015.2.ebuild31
-rw-r--r--dev-python/pytz/pytz-2015.4.ebuild34
-rw-r--r--dev-python/pyudev/Manifest1
-rw-r--r--dev-python/pyudev/metadata.xml16
-rw-r--r--dev-python/pyudev/pyudev-0.16.1-r1.ebuild70
-rw-r--r--dev-python/pyusb/Manifest2
-rw-r--r--dev-python/pyusb/metadata.xml12
-rw-r--r--dev-python/pyusb/pyusb-0.4.3.ebuild32
-rw-r--r--dev-python/pyusb/pyusb-1.0.0_beta2.ebuild28
-rw-r--r--dev-python/pyutil/Manifest1
-rw-r--r--dev-python/pyutil/metadata.xml24
-rw-r--r--dev-python/pyutil/pyutil-2.0.0.ebuild27
-rw-r--r--dev-python/pyutmp/Manifest1
-rw-r--r--dev-python/pyutmp/metadata.xml12
-rw-r--r--dev-python/pyutmp/pyutmp-0.2.1.ebuild18
-rw-r--r--dev-python/pyvorbis/Manifest1
-rw-r--r--dev-python/pyvorbis/files/pyvorbis-1.4-python25.patch65
-rw-r--r--dev-python/pyvorbis/files/pyvorbisfile.c-1.4.patch20
-rw-r--r--dev-python/pyvorbis/metadata.xml5
-rw-r--r--dev-python/pyvorbis/pyvorbis-1.4-r4.ebuild39
-rw-r--r--dev-python/pyvtk/Manifest1
-rw-r--r--dev-python/pyvtk/files/pyvtk-0.4.74.patch20
-rw-r--r--dev-python/pyvtk/metadata.xml8
-rw-r--r--dev-python/pyvtk/pyvtk-0.4.74.ebuild24
-rw-r--r--dev-python/pywavelets/Manifest1
-rw-r--r--dev-python/pywavelets/metadata.xml16
-rw-r--r--dev-python/pywavelets/pywavelets-0.2.2-r1.ebuild50
-rw-r--r--dev-python/pywcs/Manifest1
-rw-r--r--dev-python/pywcs/files/pywcs-1.11-wcslib.patch126
-rw-r--r--dev-python/pywcs/metadata.xml10
-rw-r--r--dev-python/pywcs/pywcs-1.11-r1.ebuild41
-rw-r--r--dev-python/pywebdav/Manifest1
-rw-r--r--dev-python/pywebdav/metadata.xml11
-rw-r--r--dev-python/pywebdav/pywebdav-0.9.8-r1.ebuild30
-rw-r--r--dev-python/pywebkitgtk/Manifest1
-rw-r--r--dev-python/pywebkitgtk/metadata.xml17
-rw-r--r--dev-python/pywebkitgtk/pywebkitgtk-1.1.8-r1.ebuild51
-rw-r--r--dev-python/pyx/Manifest3
-rw-r--r--dev-python/pyx/metadata.xml14
-rw-r--r--dev-python/pyx/pyx-0.12.1-r1.ebuild47
-rw-r--r--dev-python/pyx/pyx-0.13.ebuild47
-rw-r--r--dev-python/pyx/pyx-0.14.ebuild47
-rw-r--r--dev-python/pyxattr/Manifest2
-rw-r--r--dev-python/pyxattr/files/pyxattr-0.5.1-test-bytes.patch19
-rw-r--r--dev-python/pyxattr/metadata.xml16
-rw-r--r--dev-python/pyxattr/pyxattr-0.5.3.ebuild53
-rw-r--r--dev-python/pyxattr/pyxattr-0.5.5.ebuild56
-rw-r--r--dev-python/pyxattr/pyxattr-9999.ebuild40
-rw-r--r--dev-python/pyxdg/Manifest1
-rw-r--r--dev-python/pyxdg/files/pyxdg-subprocess.patch38
-rw-r--r--dev-python/pyxdg/files/sec-patch-CVE-2014-1624.patch54
-rw-r--r--dev-python/pyxdg/metadata.xml5
-rw-r--r--dev-python/pyxdg/pyxdg-0.25-r1.ebuild28
-rw-r--r--dev-python/pyxenstore/Manifest1
-rw-r--r--dev-python/pyxenstore/metadata.xml15
-rw-r--r--dev-python/pyxenstore/pyxenstore-0.0.2.ebuild20
-rw-r--r--dev-python/pyxenstore/pyxenstore-9999.ebuild22
-rw-r--r--dev-python/pyxml/Manifest1
-rw-r--r--dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch28
-rw-r--r--dev-python/pyxml/metadata.xml8
-rw-r--r--dev-python/pyxml/pyxml-0.8.4-r3.ebuild75
-rw-r--r--dev-python/pyyaml/Manifest1
-rw-r--r--dev-python/pyyaml/metadata.xml8
-rw-r--r--dev-python/pyyaml/pyyaml-3.11.ebuild41
-rw-r--r--dev-python/pyzmq/Manifest3
-rw-r--r--dev-python/pyzmq/files/pyzmq-2.2.0.1-python3.patch34
-rw-r--r--dev-python/pyzmq/metadata.xml11
-rw-r--r--dev-python/pyzmq/pyzmq-14.4.1.ebuild60
-rw-r--r--dev-python/pyzmq/pyzmq-14.6.0.ebuild65
-rw-r--r--dev-python/pyzmq/pyzmq-14.7.0.ebuild65
-rw-r--r--dev-python/pyzor/Manifest3
-rw-r--r--dev-python/pyzor/files/pyzor-0.5.0-python26_warnings.patch89
-rw-r--r--dev-python/pyzor/files/pyzord_getopt.patch24
-rw-r--r--dev-python/pyzor/metadata.xml14
-rw-r--r--dev-python/pyzor/pyzor-0.5.0-r2.ebuild66
-rw-r--r--dev-python/pyzor/pyzor-0.7.0.ebuild57
-rw-r--r--dev-python/pyzor/pyzor-1.0.0.ebuild67
-rw-r--r--dev-python/qpid-python/Manifest1
-rw-r--r--dev-python/qpid-python/metadata.xml8
-rw-r--r--dev-python/qpid-python/qpid-python-0.20.ebuild45
-rw-r--r--dev-python/qrcode/Manifest2
-rw-r--r--dev-python/qrcode/metadata.xml8
-rw-r--r--dev-python/qrcode/qrcode-5.0.1.ebuild30
-rw-r--r--dev-python/qrcode/qrcode-5.1.ebuild38
-rw-r--r--dev-python/qscintilla-python/Manifest2
-rw-r--r--dev-python/qscintilla-python/metadata.xml14
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.8.4.ebuild70
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.9.ebuild69
-rw-r--r--dev-python/qserve/Manifest1
-rw-r--r--dev-python/qserve/metadata.xml14
-rw-r--r--dev-python/qserve/qserve-0.2.8-r1.ebuild28
-rw-r--r--dev-python/queuelib/Manifest1
-rw-r--r--dev-python/queuelib/metadata.xml8
-rw-r--r--dev-python/queuelib/queuelib-1.1.1.ebuild32
-rw-r--r--dev-python/quixote/Manifest1
-rw-r--r--dev-python/quixote/metadata.xml6
-rw-r--r--dev-python/quixote/quixote-2.8.ebuild46
-rw-r--r--dev-python/rackspace-auth-openstack/Manifest2
-rw-r--r--dev-python/rackspace-auth-openstack/metadata.xml17
-rw-r--r--dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.0.ebuild19
-rw-r--r--dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.3.ebuild19
-rw-r--r--dev-python/rackspace-auth-openstack/rackspace-auth-openstack-9999.ebuild21
-rw-r--r--dev-python/rackspace-monitoring-cli/Manifest2
-rw-r--r--dev-python/rackspace-monitoring-cli/metadata.xml16
-rw-r--r--dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.10.ebuild29
-rw-r--r--dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.9.ebuild29
-rw-r--r--dev-python/rackspace-monitoring/Manifest1
-rw-r--r--dev-python/rackspace-monitoring/metadata.xml16
-rw-r--r--dev-python/rackspace-monitoring/rackspace-monitoring-0.6.5.ebuild34
-rw-r--r--dev-python/rackspace-novaclient/Manifest1
-rw-r--r--dev-python/rackspace-novaclient/metadata.xml16
-rw-r--r--dev-python/rackspace-novaclient/rackspace-novaclient-1.4.ebuild29
-rw-r--r--dev-python/radon/Manifest3
-rw-r--r--dev-python/radon/metadata.xml14
-rw-r--r--dev-python/radon/radon-1.2.1.ebuild51
-rw-r--r--dev-python/radon/radon-1.2.2.ebuild51
-rw-r--r--dev-python/radon/radon-1.2.ebuild47
-rw-r--r--dev-python/raet/Manifest3
-rw-r--r--dev-python/raet/metadata.xml13
-rw-r--r--dev-python/raet/raet-0.3.8.ebuild29
-rw-r--r--dev-python/raet/raet-0.6.1.ebuild30
-rw-r--r--dev-python/raet/raet-0.6.3.ebuild30
-rw-r--r--dev-python/rarfile/Manifest1
-rw-r--r--dev-python/rarfile/metadata.xml16
-rw-r--r--dev-python/rarfile/rarfile-2.6.ebuild20
-rw-r--r--dev-python/raven/Manifest2
-rw-r--r--dev-python/raven/metadata.xml12
-rw-r--r--dev-python/raven/raven-5.2.0.ebuild23
-rw-r--r--dev-python/raven/raven-5.3.0.ebuild23
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/Manifest3
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/metadata.xml16
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3-r1.ebuild21
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3.ebuild21
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.2.4.ebuild21
-rw-r--r--dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.3.1.ebuild21
-rw-r--r--dev-python/rax-scheduled-images-python-novaclient-ext/Manifest1
-rw-r--r--dev-python/rax-scheduled-images-python-novaclient-ext/metadata.xml16
-rw-r--r--dev-python/rax-scheduled-images-python-novaclient-ext/rax-scheduled-images-python-novaclient-ext-0.2.1.ebuild21
-rw-r--r--dev-python/rdflib/Manifest3
-rw-r--r--dev-python/rdflib/files/rdflib-3.1.0-test.patch20
-rw-r--r--dev-python/rdflib/metadata.xml12
-rw-r--r--dev-python/rdflib/rdflib-3.2.3-r1.ebuild47
-rw-r--r--dev-python/rdflib/rdflib-4.1.2.ebuild62
-rw-r--r--dev-python/rdflib/rdflib-4.2.0.ebuild62
-rw-r--r--dev-python/readme/Manifest3
-rw-r--r--dev-python/readme/metadata.xml9
-rw-r--r--dev-python/readme/readme-0.4.1.ebuild41
-rw-r--r--dev-python/readme/readme-0.4.2.ebuild41
-rw-r--r--dev-python/readme/readme-0.5.1.ebuild41
-rw-r--r--dev-python/recaptcha-client/Manifest1
-rw-r--r--dev-python/recaptcha-client/metadata.xml8
-rw-r--r--dev-python/recaptcha-client/recaptcha-client-1.0.6-r1.ebuild20
-rw-r--r--dev-python/reconfigure/Manifest2
-rw-r--r--dev-python/reconfigure/metadata.xml11
-rw-r--r--dev-python/reconfigure/reconfigure-0.1.50.ebuild21
-rw-r--r--dev-python/reconfigure/reconfigure-0.1.72.ebuild21
-rw-r--r--dev-python/redis-py/Manifest4
-rw-r--r--dev-python/redis-py/metadata.xml9
-rw-r--r--dev-python/redis-py/redis-py-2.10.1.ebuild75
-rw-r--r--dev-python/redis-py/redis-py-2.10.3.ebuild68
-rw-r--r--dev-python/redis-py/redis-py-2.7.4.ebuild71
-rw-r--r--dev-python/redis-py/redis-py-2.9.1.ebuild71
-rw-r--r--dev-python/rednose/Manifest2
-rw-r--r--dev-python/rednose/metadata.xml13
-rw-r--r--dev-python/rednose/rednose-0.4.1.ebuild20
-rw-r--r--dev-python/rednose/rednose-0.4.3.ebuild25
-rw-r--r--dev-python/regex/Manifest2
-rw-r--r--dev-python/regex/metadata.xml9
-rw-r--r--dev-python/regex/regex-2015.06.24.ebuild39
-rw-r--r--dev-python/regex/regex-2015.07.12.ebuild39
-rw-r--r--dev-python/remoteobjects/metadata.xml10
-rw-r--r--dev-python/remoteobjects/remoteobjects-99999999.ebuild38
-rw-r--r--dev-python/rencode/Manifest1
-rw-r--r--dev-python/rencode/metadata.xml18
-rw-r--r--dev-python/rencode/rencode-1.0.3.ebuild20
-rw-r--r--dev-python/reportlab/Manifest4
-rw-r--r--dev-python/reportlab/files/reportlab-2.2_qa_msg.patch16
-rw-r--r--dev-python/reportlab/files/reportlab-2.4-external_libart_lgpl.patch60
-rw-r--r--dev-python/reportlab/files/reportlab-2.5-pypy-implicit-PyArg_NoArgs.patch13
-rw-r--r--dev-python/reportlab/metadata.xml12
-rw-r--r--dev-python/reportlab/reportlab-2.6.ebuild81
-rw-r--r--dev-python/reportlab/reportlab-3.1.44-r1.ebuild76
-rw-r--r--dev-python/reportlab/reportlab-3.2.0.ebuild68
-rw-r--r--dev-python/repoze-lru/Manifest1
-rw-r--r--dev-python/repoze-lru/metadata.xml8
-rw-r--r--dev-python/repoze-lru/repoze-lru-0.6-r1.ebuild27
-rw-r--r--dev-python/repoze-sphinx-autointerface/Manifest1
-rw-r--r--dev-python/repoze-sphinx-autointerface/metadata.xml8
-rw-r--r--dev-python/repoze-sphinx-autointerface/repoze-sphinx-autointerface-0.7.1.ebuild30
-rw-r--r--dev-python/repoze-who/Manifest1
-rw-r--r--dev-python/repoze-who/metadata.xml15
-rw-r--r--dev-python/repoze-who/repoze-who-2.2.ebuild26
-rw-r--r--dev-python/requests-cache/Manifest2
-rw-r--r--dev-python/requests-cache/metadata.xml12
-rw-r--r--dev-python/requests-cache/requests-cache-0.4.10.ebuild34
-rw-r--r--dev-python/requests-cache/requests-cache-0.4.9.ebuild32
-rw-r--r--dev-python/requests-mock/Manifest2
-rw-r--r--dev-python/requests-mock/metadata.xml15
-rw-r--r--dev-python/requests-mock/requests-mock-0.5.1.ebuild41
-rw-r--r--dev-python/requests-mock/requests-mock-0.6.0.ebuild42
-rw-r--r--dev-python/requests-oauthlib/Manifest1
-rw-r--r--dev-python/requests-oauthlib/files/requests-oauthlib-0.4.0-expires_at.patch61
-rw-r--r--dev-python/requests-oauthlib/metadata.xml12
-rw-r--r--dev-python/requests-oauthlib/requests-oauthlib-0.4.1.ebuild32
-rw-r--r--dev-python/requests/Manifest3
-rw-r--r--dev-python/requests/files/requests-2.2.0-system-chardet.patch21
-rw-r--r--dev-python/requests/files/requests-2.4.0-system-cacerts.patch14
-rw-r--r--dev-python/requests/files/requests-2.5.0-system-cacerts.patch24
-rw-r--r--dev-python/requests/metadata.xml8
-rw-r--r--dev-python/requests/requests-2.6.0.ebuild42
-rw-r--r--dev-python/requests/requests-2.6.1.ebuild44
-rw-r--r--dev-python/requests/requests-2.7.0.ebuild44
-rw-r--r--dev-python/restkit/Manifest1
-rw-r--r--dev-python/restkit/files/setup.patch23
-rw-r--r--dev-python/restkit/metadata.xml15
-rw-r--r--dev-python/restkit/restkit-4.2.2.ebuild51
-rw-r--r--dev-python/retry-decorator/Manifest1
-rw-r--r--dev-python/retry-decorator/metadata.xml8
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.0.0.ebuild23
-rw-r--r--dev-python/retrying/Manifest1
-rw-r--r--dev-python/retrying/metadata.xml16
-rw-r--r--dev-python/retrying/retrying-1.3.2.ebuild24
-rw-r--r--dev-python/reverend/Manifest1
-rw-r--r--dev-python/reverend/metadata.xml13
-rw-r--r--dev-python/reverend/reverend-0.4-r1.ebuild31
-rw-r--r--dev-python/rfc3986/Manifest1
-rw-r--r--dev-python/rfc3986/metadata.xml15
-rw-r--r--dev-python/rfc3986/rfc3986-0.2.0.ebuild22
-rw-r--r--dev-python/rlcompleter2/Manifest1
-rw-r--r--dev-python/rlcompleter2/metadata.xml8
-rw-r--r--dev-python/rlcompleter2/rlcompleter2-0.98-r1.ebuild25
-rw-r--r--dev-python/rlcompleter2/rlcompleter2-0.98.ebuild28
-rw-r--r--dev-python/robotframework-selenium2library/Manifest2
-rw-r--r--dev-python/robotframework-selenium2library/metadata.xml9
-rw-r--r--dev-python/robotframework-selenium2library/robotframework-selenium2library-1.5.0.ebuild31
-rw-r--r--dev-python/robotframework-selenium2library/robotframework-selenium2library-1.6.0.ebuild31
-rw-r--r--dev-python/robotframework-selenium2library/robotframework-selenium2library-9999.ebuild32
-rw-r--r--dev-python/robotframework-sshlibrary/Manifest2
-rw-r--r--dev-python/robotframework-sshlibrary/metadata.xml9
-rw-r--r--dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.0.2.ebuild19
-rw-r--r--dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.1.1.ebuild19
-rw-r--r--dev-python/robotframework/Manifest3
-rw-r--r--dev-python/robotframework/metadata.xml9
-rw-r--r--dev-python/robotframework/robotframework-2.8.5.ebuild15
-rw-r--r--dev-python/robotframework/robotframework-2.8.6.ebuild15
-rw-r--r--dev-python/robotframework/robotframework-2.8.7.ebuild15
-rw-r--r--dev-python/roman/Manifest1
-rw-r--r--dev-python/roman/metadata.xml13
-rw-r--r--dev-python/roman/roman-2.0.0.ebuild28
-rw-r--r--dev-python/root_numpy/Manifest3
-rw-r--r--dev-python/root_numpy/metadata.xml18
-rw-r--r--dev-python/root_numpy/root_numpy-3.2.0.ebuild36
-rw-r--r--dev-python/root_numpy/root_numpy-3.3.0.ebuild36
-rw-r--r--dev-python/root_numpy/root_numpy-3.3.1.ebuild36
-rw-r--r--dev-python/rootpy/Manifest1
-rw-r--r--dev-python/rootpy/metadata.xml13
-rw-r--r--dev-python/rootpy/rootpy-0.7.1.ebuild47
-rw-r--r--dev-python/rope/Manifest2
-rw-r--r--dev-python/rope/files/rope-0.9.3-fix_tests_results.patch16
-rw-r--r--dev-python/rope/files/rope-0.9.3-python2.7.patch76
-rw-r--r--dev-python/rope/metadata.xml11
-rw-r--r--dev-python/rope/rope-0.10.2.ebuild28
-rw-r--r--dev-python/rope/rope-0.9.4-r1.ebuild31
-rw-r--r--dev-python/ropeide/Manifest1
-rw-r--r--dev-python/ropeide/metadata.xml8
-rw-r--r--dev-python/ropeide/ropeide-1.5.1-r2.ebuild28
-rw-r--r--dev-python/ropemacs/Manifest2
-rw-r--r--dev-python/ropemacs/metadata.xml9
-rw-r--r--dev-python/ropemacs/ropemacs-0.7.ebuild32
-rw-r--r--dev-python/ropemacs/ropemacs-0.8.ebuild32
-rw-r--r--dev-python/ropemode/Manifest1
-rw-r--r--dev-python/ropemode/metadata.xml8
-rw-r--r--dev-python/ropemode/ropemode-0.2-r1.ebuild26
-rw-r--r--dev-python/routes/Manifest3
-rw-r--r--dev-python/routes/files/routes-2.0-setup.py.patch38
-rw-r--r--dev-python/routes/files/routes-2.0-tests-py3.patch40
-rw-r--r--dev-python/routes/metadata.xml8
-rw-r--r--dev-python/routes/routes-1.13-r1.ebuild42
-rw-r--r--dev-python/routes/routes-2.0.ebuild61
-rw-r--r--dev-python/routes/routes-2.1-r1.ebuild73
-rw-r--r--dev-python/routes/routes-2.1.ebuild53
-rw-r--r--dev-python/rply/Manifest1
-rw-r--r--dev-python/rply/metadata.xml8
-rw-r--r--dev-python/rply/rply-0.7.3.ebuild36
-rw-r--r--dev-python/rpy/Manifest3
-rw-r--r--dev-python/rpy/files/2.5.0-setup.patch45
-rw-r--r--dev-python/rpy/metadata.xml15
-rw-r--r--dev-python/rpy/rpy-2.5.4.ebuild50
-rw-r--r--dev-python/rpy/rpy-2.6.0.ebuild51
-rw-r--r--dev-python/rpy/rpy-2.6.1.ebuild53
-rw-r--r--dev-python/rpyc/Manifest1
-rw-r--r--dev-python/rpyc/metadata.xml13
-rw-r--r--dev-python/rpyc/rpyc-3.2.3-r1.ebuild18
-rw-r--r--dev-python/rsa/Manifest1
-rw-r--r--dev-python/rsa/metadata.xml8
-rw-r--r--dev-python/rsa/rsa-3.1.4-r1.ebuild33
-rw-r--r--dev-python/rst2pdf/Manifest1
-rw-r--r--dev-python/rst2pdf/files/rst2pdf-0.93-fix-logging.patch26
-rw-r--r--dev-python/rst2pdf/metadata.xml8
-rw-r--r--dev-python/rst2pdf/rst2pdf-0.93-r2.ebuild50
-rw-r--r--dev-python/rtf2xml/Manifest1
-rw-r--r--dev-python/rtf2xml/metadata.xml10
-rw-r--r--dev-python/rtf2xml/rtf2xml-1.33-r1.ebuild25
-rw-r--r--dev-python/rtgraph/Manifest1
-rw-r--r--dev-python/rtgraph/metadata.xml5
-rw-r--r--dev-python/rtgraph/rtgraph-0.70-r1.ebuild33
-rw-r--r--dev-python/rtslib-fb/Manifest1
-rw-r--r--dev-python/rtslib-fb/metadata.xml16
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.1.47.ebuild20
-rw-r--r--dev-python/rtslib/metadata.xml10
-rw-r--r--dev-python/rtslib/rtslib-9999.ebuild33
-rw-r--r--dev-python/ruledispatch/Manifest1
-rw-r--r--dev-python/ruledispatch/files/ruledispatch_as_syntax_fix.patch49
-rw-r--r--dev-python/ruledispatch/metadata.xml5
-rw-r--r--dev-python/ruledispatch/ruledispatch-0.5_pre2306-r2.ebuild46
-rw-r--r--dev-python/runsnakerun/Manifest1
-rw-r--r--dev-python/runsnakerun/metadata.xml12
-rw-r--r--dev-python/runsnakerun/runsnakerun-2.0.4.ebuild28
-rw-r--r--dev-python/sampy/Manifest1
-rw-r--r--dev-python/sampy/metadata.xml13
-rw-r--r--dev-python/sampy/sampy-1.2.1.ebuild19
-rw-r--r--dev-python/sancho/Manifest1
-rw-r--r--dev-python/sancho/metadata.xml8
-rw-r--r--dev-python/sancho/sancho-2.4-r1.ebuild44
-rw-r--r--dev-python/sancho/sancho-2.4.ebuild49
-rw-r--r--dev-python/scientificpython/Manifest3
-rw-r--r--dev-python/scientificpython/files/scientificpython-2.9-mpi.patch40
-rw-r--r--dev-python/scientificpython/files/scientificpython-2.9.1-mpi-netcdf.patch29
-rw-r--r--dev-python/scientificpython/files/scientificpython-2.9.3-mpi-netcdf.patch43
-rw-r--r--dev-python/scientificpython/metadata.xml16
-rw-r--r--dev-python/scientificpython/scientificpython-2.9.1.ebuild84
-rw-r--r--dev-python/scientificpython/scientificpython-2.9.3.ebuild70
-rw-r--r--dev-python/scientificpython/scientificpython-2.9.4.ebuild70
-rw-r--r--dev-python/scimath/Manifest1
-rw-r--r--dev-python/scimath/metadata.xml14
-rw-r--r--dev-python/scimath/scimath-4.1.2-r1.ebuild46
-rw-r--r--dev-python/sclapp/Manifest1
-rw-r--r--dev-python/sclapp/files/sclapp-0.5.3-testsuite-fix-from-r235.patch40
-rw-r--r--dev-python/sclapp/metadata.xml8
-rw-r--r--dev-python/sclapp/sclapp-0.5.3-r1.ebuild35
-rw-r--r--dev-python/scoop/Manifest1
-rw-r--r--dev-python/scoop/metadata.xml15
-rw-r--r--dev-python/scoop/scoop-0.7.0-r1.ebuild24
-rw-r--r--dev-python/scrapy/Manifest3
-rw-r--r--dev-python/scrapy/files/0.25.1-setup.patch40
-rw-r--r--dev-python/scrapy/metadata.xml15
-rw-r--r--dev-python/scrapy/scrapy-0.25.1.ebuild65
-rw-r--r--dev-python/scrapy/scrapy-1.0.0.ebuild64
-rw-r--r--dev-python/scrapy/scrapy-1.0.1.ebuild64
-rw-r--r--dev-python/scripttest/Manifest1
-rw-r--r--dev-python/scripttest/metadata.xml8
-rw-r--r--dev-python/scripttest/scripttest-1.2-r1.ebuild25
-rw-r--r--dev-python/seaborn/Manifest2
-rw-r--r--dev-python/seaborn/metadata.xml35
-rw-r--r--dev-python/seaborn/seaborn-0.5.1.ebuild37
-rw-r--r--dev-python/seaborn/seaborn-0.6.0.ebuild37
-rw-r--r--dev-python/selenium/Manifest3
-rw-r--r--dev-python/selenium/metadata.xml9
-rw-r--r--dev-python/selenium/selenium-2.42.1.ebuild22
-rw-r--r--dev-python/selenium/selenium-2.45.0.ebuild24
-rw-r--r--dev-python/selenium/selenium-2.46.0.ebuild24
-rw-r--r--dev-python/semantic_version/Manifest1
-rw-r--r--dev-python/semantic_version/metadata.xml15
-rw-r--r--dev-python/semantic_version/semantic_version-2.4.1.ebuild20
-rw-r--r--dev-python/send2trash/Manifest1
-rw-r--r--dev-python/send2trash/metadata.xml9
-rw-r--r--dev-python/send2trash/send2trash-1.3.0.ebuild26
-rw-r--r--dev-python/sepolgen/Manifest3
-rw-r--r--dev-python/sepolgen/files/0030-default-path-for-tests-also-needed-bug-467264.patch12
-rw-r--r--dev-python/sepolgen/files/0040-have-test-run-with-PYTHON-variable-python-bug-467264.patch16
-rw-r--r--dev-python/sepolgen/metadata.xml9
-rw-r--r--dev-python/sepolgen/sepolgen-1.2.1-r1.ebuild74
-rw-r--r--dev-python/sepolgen/sepolgen-1.2.2.ebuild73
-rw-r--r--dev-python/sepolgen/sepolgen-9999.ebuild83
-rw-r--r--dev-python/serpent/Manifest4
-rw-r--r--dev-python/serpent/metadata.xml8
-rw-r--r--dev-python/serpent/serpent-1.10.ebuild17
-rw-r--r--dev-python/serpent/serpent-1.11.ebuild17
-rw-r--r--dev-python/serpent/serpent-1.7.ebuild17
-rw-r--r--dev-python/serpent/serpent-1.9.ebuild17
-rw-r--r--dev-python/service_identity/Manifest1
-rw-r--r--dev-python/service_identity/metadata.xml9
-rw-r--r--dev-python/service_identity/service_identity-14.0.0.ebuild47
-rw-r--r--dev-python/setproctitle/Manifest1
-rw-r--r--dev-python/setproctitle/metadata.xml8
-rw-r--r--dev-python/setproctitle/setproctitle-1.1.8.ebuild51
-rw-r--r--dev-python/setuptools-git/Manifest2
-rw-r--r--dev-python/setuptools-git/metadata.xml16
-rw-r--r--dev-python/setuptools-git/setuptools-git-1.0.ebuild22
-rw-r--r--dev-python/setuptools-git/setuptools-git-1.1.ebuild27
-rw-r--r--dev-python/setuptools/Manifest15
-rw-r--r--dev-python/setuptools/metadata.xml8
-rw-r--r--dev-python/setuptools/setuptools-12.0.1.ebuild50
-rw-r--r--dev-python/setuptools/setuptools-12.0.3.ebuild50
-rw-r--r--dev-python/setuptools/setuptools-12.0.5.ebuild50
-rw-r--r--dev-python/setuptools/setuptools-15.0.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-15.2.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-16.0.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-17.0.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-17.1.1.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-18.0.1.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-18.1.ebuild51
-rw-r--r--dev-python/setuptools/setuptools-2.2.ebuild39
-rw-r--r--dev-python/setuptools/setuptools-7.0.ebuild42
-rw-r--r--dev-python/setuptools/setuptools-8.0.1.ebuild42
-rw-r--r--dev-python/setuptools/setuptools-8.2.1.ebuild42
-rw-r--r--dev-python/setuptools/setuptools-9.1.ebuild42
-rw-r--r--dev-python/setuptools/setuptools-9999.ebuild50
-rw-r--r--dev-python/setuptools_hg/Manifest1
-rw-r--r--dev-python/setuptools_hg/metadata.xml10
-rw-r--r--dev-python/setuptools_hg/setuptools_hg-0.4-r1.ebuild21
-rw-r--r--dev-python/setuptools_scm/Manifest2
-rw-r--r--dev-python/setuptools_scm/metadata.xml9
-rw-r--r--dev-python/setuptools_scm/setuptools_scm-1.5.4.ebuild24
-rw-r--r--dev-python/setuptools_scm/setuptools_scm-1.5.5.ebuild25
-rw-r--r--dev-python/sexpdata/Manifest1
-rw-r--r--dev-python/sexpdata/metadata.xml11
-rw-r--r--dev-python/sexpdata/sexpdata-0.0.3.ebuild21
-rw-r--r--dev-python/sh/Manifest4
-rw-r--r--dev-python/sh/metadata.xml22
-rw-r--r--dev-python/sh/sh-1.07.ebuild21
-rw-r--r--dev-python/sh/sh-1.08.ebuild25
-rw-r--r--dev-python/sh/sh-1.09.ebuild26
-rw-r--r--dev-python/sh/sh-1.11.ebuild26
-rw-r--r--dev-python/shiboken/Manifest1
-rw-r--r--dev-python/shiboken/files/1.2.2-Fix-tests-with-Python-3.patch49
-rw-r--r--dev-python/shiboken/files/rpath.cmake10
-rw-r--r--dev-python/shiboken/metadata.xml5
-rw-r--r--dev-python/shiboken/shiboken-1.2.2.ebuild91
-rw-r--r--dev-python/shm/Manifest1
-rw-r--r--dev-python/shm/files/shm-1.2.2-compiler.patch11
-rw-r--r--dev-python/shm/metadata.xml5
-rw-r--r--dev-python/shm/shm-1.2.2-r1.ebuild28
-rw-r--r--dev-python/shortuuid/Manifest1
-rw-r--r--dev-python/shortuuid/metadata.xml12
-rw-r--r--dev-python/shortuuid/shortuuid-0.4.2.ebuild21
-rw-r--r--dev-python/simplecv/Manifest1
-rw-r--r--dev-python/simplecv/files/new-support-for-opencv-2.4.3-added.patch111
-rw-r--r--dev-python/simplecv/files/remove-failing-test.patch57
-rw-r--r--dev-python/simplecv/files/remove-failing-tests.patch301
-rw-r--r--dev-python/simplecv/metadata.xml13
-rw-r--r--dev-python/simplecv/simplecv-1.3.ebuild51
-rw-r--r--dev-python/simpleeval/Manifest2
-rw-r--r--dev-python/simpleeval/metadata.xml15
-rw-r--r--dev-python/simpleeval/simpleeval-0.8.2.ebuild22
-rw-r--r--dev-python/simpleeval/simpleeval-0.8.5.ebuild28
-rw-r--r--dev-python/simplegeneric/Manifest1
-rw-r--r--dev-python/simplegeneric/metadata.xml14
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild25
-rw-r--r--dev-python/simplegui/Manifest1
-rw-r--r--dev-python/simplegui/metadata.xml10
-rw-r--r--dev-python/simplegui/simplegui-0.1.0.ebuild31
-rw-r--r--dev-python/simplejson/Manifest2
-rw-r--r--dev-python/simplejson/metadata.xml8
-rw-r--r--dev-python/simplejson/simplejson-3.7.2.ebuild33
-rw-r--r--dev-python/simplejson/simplejson-3.8.0.ebuild33
-rw-r--r--dev-python/simplekv/Manifest2
-rw-r--r--dev-python/simplekv/metadata.xml14
-rw-r--r--dev-python/simplekv/simplekv-0.9.2.ebuild20
-rw-r--r--dev-python/simplekv/simplekv-0.9.3.ebuild20
-rw-r--r--dev-python/simpleparse/Manifest1
-rw-r--r--dev-python/simpleparse/metadata.xml8
-rw-r--r--dev-python/simpleparse/simpleparse-2.1.1-r1.ebuild46
-rw-r--r--dev-python/simpleparse/simpleparse-2.1.1.ebuild54
-rw-r--r--dev-python/simples3/Manifest1
-rw-r--r--dev-python/simples3/metadata.xml14
-rw-r--r--dev-python/simples3/simples3-1.0.ebuild31
-rw-r--r--dev-python/simplesettings/Manifest1
-rw-r--r--dev-python/simplesettings/metadata.xml8
-rw-r--r--dev-python/simplesettings/simplesettings-0.5-r1.ebuild20
-rw-r--r--dev-python/simpletal/Manifest3
-rw-r--r--dev-python/simpletal/metadata.xml5
-rw-r--r--dev-python/simpletal/simpletal-4.2-r1.ebuild41
-rw-r--r--dev-python/simpletal/simpletal-5.1-r1.ebuild41
-rw-r--r--dev-python/simpletal/simpletal-5.2.ebuild41
-rw-r--r--dev-python/simpy/Manifest3
-rw-r--r--dev-python/simpy/metadata.xml11
-rw-r--r--dev-python/simpy/simpy-2.3.1-r1.ebuild43
-rw-r--r--dev-python/simpy/simpy-3.0.3.ebuild41
-rw-r--r--dev-python/simpy/simpy-3.0.8.ebuild41
-rw-r--r--dev-python/singledispatch/Manifest1
-rw-r--r--dev-python/singledispatch/metadata.xml20
-rw-r--r--dev-python/singledispatch/singledispatch-3.4.0.3.ebuild20
-rw-r--r--dev-python/sip/Manifest3
-rw-r--r--dev-python/sip/files/sip-4.15.5-darwin.patch30
-rw-r--r--dev-python/sip/metadata.xml14
-rw-r--r--dev-python/sip/sip-4.16.2.ebuild113
-rw-r--r--dev-python/sip/sip-4.16.8.ebuild110
-rw-r--r--dev-python/sip/sip-4.16.9.ebuild112
-rw-r--r--dev-python/sip/sip-4.9999.ebuild112
-rw-r--r--dev-python/six/Manifest4
-rw-r--r--dev-python/six/files/1.9.0-mapping.patch12
-rw-r--r--dev-python/six/files/six-1.5.2-mapping.patch12
-rw-r--r--dev-python/six/files/six-1.9.0-winreg.patch27
-rw-r--r--dev-python/six/metadata.xml9
-rw-r--r--dev-python/six/six-1.3.0.ebuild34
-rw-r--r--dev-python/six/six-1.6.1.ebuild35
-rw-r--r--dev-python/six/six-1.8.0.ebuild35
-rw-r--r--dev-python/six/six-1.9.0-r1.ebuild41
-rw-r--r--dev-python/six/six-1.9.0.ebuild35
-rw-r--r--dev-python/six/six-9999.ebuild37
-rw-r--r--dev-python/skype4py/Manifest1
-rw-r--r--dev-python/skype4py/metadata.xml11
-rw-r--r--dev-python/skype4py/skype4py-1.0.35-r1.ebuild23
-rw-r--r--dev-python/sleekxmpp/Manifest2
-rw-r--r--dev-python/sleekxmpp/metadata.xml8
-rw-r--r--dev-python/sleekxmpp/sleekxmpp-1.3.0.ebuild29
-rw-r--r--dev-python/sleekxmpp/sleekxmpp-1.3.1.ebuild29
-rw-r--r--dev-python/slowaes/Manifest1
-rw-r--r--dev-python/slowaes/metadata.xml20
-rw-r--r--dev-python/slowaes/slowaes-0.1-r1.ebuild23
-rw-r--r--dev-python/smmap/Manifest2
-rw-r--r--dev-python/smmap/metadata.xml9
-rw-r--r--dev-python/smmap/smmap-0.8.3.ebuild33
-rw-r--r--dev-python/smmap/smmap-0.9.0.ebuild32
-rw-r--r--dev-python/snakefood/Manifest1
-rw-r--r--dev-python/snakefood/metadata.xml5
-rw-r--r--dev-python/snakefood/snakefood-1.3.1-r1.ebuild20
-rw-r--r--dev-python/snakeoil/Manifest1
-rw-r--r--dev-python/snakeoil/metadata.xml12
-rw-r--r--dev-python/snakeoil/snakeoil-0.6.4.ebuild30
-rw-r--r--dev-python/snakeoil/snakeoil-9999.ebuild32
-rw-r--r--dev-python/snappy/Manifest1
-rw-r--r--dev-python/snappy/metadata.xml8
-rw-r--r--dev-python/snappy/snappy-0.5-r2.ebuild29
-rw-r--r--dev-python/snowballstemmer/Manifest1
-rw-r--r--dev-python/snowballstemmer/metadata.xml9
-rw-r--r--dev-python/snowballstemmer/snowballstemmer-1.2.0.ebuild20
-rw-r--r--dev-python/soappy/Manifest3
-rw-r--r--dev-python/soappy/files/soappy-0.12.0-python-2.5-compat.patch68
-rw-r--r--dev-python/soappy/metadata.xml8
-rw-r--r--dev-python/soappy/soappy-0.12.20.ebuild42
-rw-r--r--dev-python/soappy/soappy-0.12.22.ebuild43
-rw-r--r--dev-python/soappy/soappy-0.12.5-r2.ebuild42
-rw-r--r--dev-python/socketio-client/Manifest1
-rw-r--r--dev-python/socketio-client/metadata.xml12
-rw-r--r--dev-python/socketio-client/socketio-client-0.5.6.ebuild36
-rw-r--r--dev-python/socketpool/Manifest2
-rw-r--r--dev-python/socketpool/files/socketpool-0.5.2-locale.patch21
-rw-r--r--dev-python/socketpool/files/socketpool-0.5.2-pool.patch35
-rw-r--r--dev-python/socketpool/metadata.xml13
-rw-r--r--dev-python/socketpool/socketpool-0.5.2-r1.ebuild37
-rw-r--r--dev-python/socketpool/socketpool-0.5.2.ebuild33
-rw-r--r--dev-python/socketpool/socketpool-0.5.3.ebuild32
-rw-r--r--dev-python/socksipy/Manifest2
-rw-r--r--dev-python/socksipy/metadata.xml9
-rw-r--r--dev-python/socksipy/socksipy-1.00.ebuild27
-rw-r--r--dev-python/socksipy/socksipy-1.02.ebuild27
-rw-r--r--dev-python/south/Manifest1
-rw-r--r--dev-python/south/files/south-0.7.5-tests.patch23
-rw-r--r--dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch60
-rw-r--r--dev-python/south/metadata.xml8
-rw-r--r--dev-python/south/south-1.0.ebuild48
-rw-r--r--dev-python/soya/Manifest2
-rw-r--r--dev-python/soya/files/soya-0.14-freetype-2.5.patch16
-rw-r--r--dev-python/soya/files/soya-0.14-glu.patch13
-rw-r--r--dev-python/soya/files/soya-pillow.patch21
-rw-r--r--dev-python/soya/metadata.xml5
-rw-r--r--dev-python/soya/soya-0.14-r1.ebuild65
-rw-r--r--dev-python/sparql-wrapper/Manifest5
-rw-r--r--dev-python/sparql-wrapper/metadata.xml8
-rw-r--r--dev-python/sparql-wrapper/sparql-wrapper-1.5.2.ebuild24
-rw-r--r--dev-python/sparql-wrapper/sparql-wrapper-1.6.0.ebuild24
-rw-r--r--dev-python/sparql-wrapper/sparql-wrapper-1.6.1.ebuild25
-rw-r--r--dev-python/sparql-wrapper/sparql-wrapper-1.6.2.ebuild25
-rw-r--r--dev-python/sparql-wrapper/sparql-wrapper-1.6.4.ebuild25
-rw-r--r--dev-python/speaklater/Manifest1
-rw-r--r--dev-python/speaklater/metadata.xml9
-rw-r--r--dev-python/speaklater/speaklater-1.3-r1.ebuild19
-rw-r--r--dev-python/sphinx-better-theme/Manifest1
-rw-r--r--dev-python/sphinx-better-theme/metadata.xml9
-rw-r--r--dev-python/sphinx-better-theme/sphinx-better-theme-0.1.5.ebuild18
-rw-r--r--dev-python/sphinx-bootstrap-theme/Manifest3
-rw-r--r--dev-python/sphinx-bootstrap-theme/metadata.xml8
-rw-r--r--dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.5.ebuild21
-rw-r--r--dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.6.ebuild21
-rw-r--r--dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.7.ebuild21
-rw-r--r--dev-python/sphinx/Manifest4
-rw-r--r--dev-python/sphinx/files/sphinx-1.1.3-docutils-manpage.patch35
-rw-r--r--dev-python/sphinx/files/sphinx-1.1.3-python3.patch45
-rw-r--r--dev-python/sphinx/metadata.xml10
-rw-r--r--dev-python/sphinx/sphinx-1.1.3-r7.ebuild127
-rw-r--r--dev-python/sphinx/sphinx-1.2.2.ebuild123
-rw-r--r--dev-python/sphinx/sphinx-1.2.3.ebuild125
-rw-r--r--dev-python/sphinx/sphinx-1.3.1.ebuild130
-rw-r--r--dev-python/sphinx_rtd_theme/Manifest3
-rw-r--r--dev-python/sphinx_rtd_theme/metadata.xml9
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.6.ebuild20
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.7.ebuild20
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.8.ebuild20
-rw-r--r--dev-python/sphinxcontrib-cheeseshop/Manifest1
-rw-r--r--dev-python/sphinxcontrib-cheeseshop/metadata.xml14
-rw-r--r--dev-python/sphinxcontrib-cheeseshop/sphinxcontrib-cheeseshop-0.2.ebuild32
-rw-r--r--dev-python/sphinxcontrib-doxylink/Manifest1
-rw-r--r--dev-python/sphinxcontrib-doxylink/metadata.xml14
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.3.ebuild29
-rw-r--r--dev-python/sphinxcontrib-googleanalytics/Manifest1
-rw-r--r--dev-python/sphinxcontrib-googleanalytics/files/setup.py.utf-8.patch16
-rw-r--r--dev-python/sphinxcontrib-googleanalytics/metadata.xml9
-rw-r--r--dev-python/sphinxcontrib-googleanalytics/sphinxcontrib-googleanalytics-0.1-r1.ebuild22
-rw-r--r--dev-python/sphinxcontrib-httpdomain/Manifest5
-rw-r--r--dev-python/sphinxcontrib-httpdomain/metadata.xml9
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.8.ebuild23
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.9.ebuild23
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.0.ebuild23
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.1.ebuild22
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.3.0.ebuild22
-rw-r--r--dev-python/sphinxcontrib-issuetracker/Manifest1
-rw-r--r--dev-python/sphinxcontrib-issuetracker/metadata.xml9
-rw-r--r--dev-python/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11-r1.ebuild56
-rw-r--r--dev-python/sphinxcontrib-plantuml/Manifest1
-rw-r--r--dev-python/sphinxcontrib-plantuml/metadata.xml15
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.4.ebuild28
-rw-r--r--dev-python/sphinxcontrib-programoutput/Manifest1
-rw-r--r--dev-python/sphinxcontrib-programoutput/metadata.xml13
-rw-r--r--dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.8.ebuild39
-rw-r--r--dev-python/sphinxtogithub/Manifest2
-rw-r--r--dev-python/sphinxtogithub/metadata.xml9
-rw-r--r--dev-python/sphinxtogithub/sphinxtogithub-1.0.0.ebuild25
-rw-r--r--dev-python/sphinxtogithub/sphinxtogithub-1.1.0.ebuild33
-rw-r--r--dev-python/spyder/Manifest2
-rw-r--r--dev-python/spyder/files/spyder-2.3.1-build.patch154
-rw-r--r--dev-python/spyder/metadata.xml30
-rw-r--r--dev-python/spyder/spyder-2.3.4.ebuild53
-rw-r--r--dev-python/spyder/spyder-2.3.5.2.ebuild51
-rw-r--r--dev-python/sqlalchemy-migrate/Manifest5
-rw-r--r--dev-python/sqlalchemy-migrate/metadata.xml9
-rw-r--r--dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.7.2-r1.ebuild25
-rw-r--r--dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.1.ebuild28
-rw-r--r--dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.2.ebuild28
-rw-r--r--dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.5.ebuild30
-rw-r--r--dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.6.ebuild52
-rw-r--r--dev-python/sqlalchemy/Manifest7
-rw-r--r--dev-python/sqlalchemy/files/0.9.7-test-fix.patch38
-rw-r--r--dev-python/sqlalchemy/files/lru_cache_timestamping.patch33
-rw-r--r--dev-python/sqlalchemy/files/sqlalchemy-0.7-logging.handlers.patch12
-rw-r--r--dev-python/sqlalchemy/files/sqlalchemy-0.8.1-pypy-fixtests.patch50
-rw-r--r--dev-python/sqlalchemy/metadata.xml8
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-0.7.10.ebuild70
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-0.9.2.ebuild84
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-0.9.8.ebuild85
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-0.9.9.ebuild85
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.0.5.ebuild85
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.0.6.ebuild85
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.0.8.ebuild85
-rw-r--r--dev-python/sqlite3dbm/Manifest1
-rw-r--r--dev-python/sqlite3dbm/metadata.xml12
-rw-r--r--dev-python/sqlite3dbm/sqlite3dbm-0.1.4-r1.ebuild41
-rw-r--r--dev-python/sqlitecachec/Manifest1
-rw-r--r--dev-python/sqlitecachec/metadata.xml5
-rw-r--r--dev-python/sqlitecachec/sqlitecachec-1.1.4-r1.ebuild30
-rw-r--r--dev-python/sqlobject/Manifest1
-rw-r--r--dev-python/sqlobject/metadata.xml12
-rw-r--r--dev-python/sqlobject/sqlobject-2.1.1-r1.ebuild44
-rw-r--r--dev-python/squaremap/Manifest2
-rw-r--r--dev-python/squaremap/metadata.xml12
-rw-r--r--dev-python/squaremap/squaremap-1.0.3.ebuild27
-rw-r--r--dev-python/squaremap/squaremap-1.0.4.ebuild27
-rw-r--r--dev-python/ssh/Manifest1
-rw-r--r--dev-python/ssh/metadata.xml8
-rw-r--r--dev-python/ssh/ssh-1.8.0-r1.ebuild38
-rw-r--r--dev-python/ssl-fetch/Manifest3
-rw-r--r--dev-python/ssl-fetch/metadata.xml16
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-0.2.1.ebuild42
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-0.2.ebuild42
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-0.3.ebuild42
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-9999.ebuild46
-rw-r--r--dev-python/starcluster/Manifest1
-rw-r--r--dev-python/starcluster/files/starcluster-0.93.3-requires.patch19
-rw-r--r--dev-python/starcluster/metadata.xml14
-rw-r--r--dev-python/starcluster/starcluster-0.93.3-r2.ebuild65
-rw-r--r--dev-python/statsmodels/Manifest2
-rw-r--r--dev-python/statsmodels/metadata.xml18
-rw-r--r--dev-python/statsmodels/statsmodels-0.5.0.ebuild67
-rw-r--r--dev-python/statsmodels/statsmodels-0.6.1.ebuild71
-rw-r--r--dev-python/steadymark/Manifest1
-rw-r--r--dev-python/steadymark/metadata.xml9
-rw-r--r--dev-python/steadymark/steadymark-0.5.3.ebuild20
-rw-r--r--dev-python/stevedore/Manifest4
-rw-r--r--dev-python/stevedore/files/1.1.0-requirements.patch13
-rw-r--r--dev-python/stevedore/files/1.4.0-requirements.patch13
-rw-r--r--dev-python/stevedore/metadata.xml10
-rw-r--r--dev-python/stevedore/stevedore-1.1.0-r1.ebuild49
-rw-r--r--dev-python/stevedore/stevedore-1.3.0.ebuild52
-rw-r--r--dev-python/stevedore/stevedore-1.4.0-r1.ebuild54
-rw-r--r--dev-python/stevedore/stevedore-1.6.0-r1.ebuild59
-rw-r--r--dev-python/stevedore/stevedore-1.6.0.ebuild59
-rw-r--r--dev-python/stomper/Manifest1
-rw-r--r--dev-python/stomper/metadata.xml8
-rw-r--r--dev-python/stomper/stomper-0.3.0.ebuild36
-rw-r--r--dev-python/storm/Manifest1
-rw-r--r--dev-python/storm/metadata.xml8
-rw-r--r--dev-python/storm/storm-0.20-r1.ebuild65
-rw-r--r--dev-python/stripogram/Manifest1
-rw-r--r--dev-python/stripogram/metadata.xml8
-rw-r--r--dev-python/stripogram/stripogram-1.5-r1.ebuild20
-rw-r--r--dev-python/stsci-distutils/Manifest1
-rw-r--r--dev-python/stsci-distutils/metadata.xml17
-rw-r--r--dev-python/stsci-distutils/stsci-distutils-0.3.7.ebuild26
-rw-r--r--dev-python/stsci-sphinxext/Manifest1
-rw-r--r--dev-python/stsci-sphinxext/metadata.xml12
-rw-r--r--dev-python/stsci-sphinxext/stsci-sphinxext-1.2.1.ebuild30
-rw-r--r--dev-python/subunit/Manifest8
-rw-r--r--dev-python/subunit/files/0.0.21-tests.patch25
-rw-r--r--dev-python/subunit/files/1.0.0-tests.patch25
-rw-r--r--dev-python/subunit/files/shell-tests.patch24
-rw-r--r--dev-python/subunit/metadata.xml10
-rw-r--r--dev-python/subunit/subunit-0.0.10-r1.ebuild47
-rw-r--r--dev-python/subunit/subunit-0.0.16.ebuild57
-rw-r--r--dev-python/subunit/subunit-0.0.18-r2.ebuild78
-rw-r--r--dev-python/subunit/subunit-0.0.19.ebuild79
-rw-r--r--dev-python/subunit/subunit-0.0.21-r1.ebuild81
-rw-r--r--dev-python/subunit/subunit-0.0.6.ebuild35
-rw-r--r--dev-python/subunit/subunit-1.0.0.ebuild89
-rw-r--r--dev-python/subunit/subunit-1.1.0.ebuild89
-rw-r--r--dev-python/subvertpy/Manifest1
-rw-r--r--dev-python/subvertpy/metadata.xml6
-rw-r--r--dev-python/subvertpy/subvertpy-0.9.1.ebuild40
-rw-r--r--dev-python/suds/Manifest2
-rw-r--r--dev-python/suds/metadata.xml10
-rw-r--r--dev-python/suds/suds-0.4-r1.ebuild32
-rw-r--r--dev-python/suds/suds-0.6-r1.ebuild51
-rw-r--r--dev-python/suds/suds-0.6.ebuild31
-rw-r--r--dev-python/sudsds/Manifest1
-rw-r--r--dev-python/sudsds/metadata.xml9
-rw-r--r--dev-python/sudsds/sudsds-1.0.1-r1.ebuild21
-rw-r--r--dev-python/sure/Manifest3
-rw-r--r--dev-python/sure/metadata.xml9
-rw-r--r--dev-python/sure/sure-1.2.3.ebuild20
-rw-r--r--dev-python/sure/sure-1.2.5-r1.ebuild45
-rw-r--r--dev-python/sure/sure-1.2.5.ebuild20
-rw-r--r--dev-python/symboltype/Manifest1
-rw-r--r--dev-python/symboltype/metadata.xml8
-rw-r--r--dev-python/symboltype/symboltype-1.0.ebuild30
-rw-r--r--dev-python/sympy/Manifest4
-rw-r--r--dev-python/sympy/files/sympy-0.7.6-doc-makefile.patch10
-rw-r--r--dev-python/sympy/metadata.xml30
-rw-r--r--dev-python/sympy/sympy-0.7.4.1.ebuild90
-rw-r--r--dev-python/sympy/sympy-0.7.6.ebuild95
-rw-r--r--dev-python/tablib/Manifest2
-rw-r--r--dev-python/tablib/metadata.xml8
-rw-r--r--dev-python/tablib/tablib-0.10.0.ebuild21
-rw-r--r--dev-python/tablib/tablib-0.9.11.ebuild21
-rw-r--r--dev-python/tabulate/Manifest3
-rw-r--r--dev-python/tabulate/metadata.xml11
-rw-r--r--dev-python/tabulate/tabulate-0.7.2.ebuild35
-rw-r--r--dev-python/tabulate/tabulate-0.7.3.ebuild35
-rw-r--r--dev-python/tabulate/tabulate-0.7.5.ebuild35
-rw-r--r--dev-python/tagpy/Manifest2
-rw-r--r--dev-python/tagpy/files/tagpy-0.94.8-taglib-1.8_compat.patch29
-rw-r--r--dev-python/tagpy/metadata.xml11
-rw-r--r--dev-python/tagpy/tagpy-0.94.8-r1.ebuild54
-rw-r--r--dev-python/tagpy/tagpy-2013.1.ebuild37
-rw-r--r--dev-python/taskflow/Manifest6
-rw-r--r--dev-python/taskflow/metadata.xml17
-rw-r--r--dev-python/taskflow/taskflow-0.1.3.ebuild46
-rw-r--r--dev-python/taskflow/taskflow-0.10.0.ebuild62
-rw-r--r--dev-python/taskflow/taskflow-0.10.1.ebuild62
-rw-r--r--dev-python/taskflow/taskflow-0.2.ebuild43
-rw-r--r--dev-python/taskflow/taskflow-0.5.0.ebuild48
-rw-r--r--dev-python/taskflow/taskflow-0.7.1.ebuild59
-rw-r--r--dev-python/tdaemon/Manifest1
-rw-r--r--dev-python/tdaemon/metadata.xml11
-rw-r--r--dev-python/tdaemon/tdaemon-0.1.6.ebuild30
-rw-r--r--dev-python/tempest-lib/Manifest3
-rw-r--r--dev-python/tempest-lib/metadata.xml17
-rw-r--r--dev-python/tempest-lib/tempest-lib-0.3.0.ebuild51
-rw-r--r--dev-python/tempest-lib/tempest-lib-0.4.0.ebuild51
-rw-r--r--dev-python/tempest-lib/tempest-lib-0.5.0.ebuild54
-rw-r--r--dev-python/tempita/Manifest1
-rw-r--r--dev-python/tempita/metadata.xml8
-rw-r--r--dev-python/tempita/tempita-0.5.3.ebuild27
-rw-r--r--dev-python/termcolor/Manifest1
-rw-r--r--dev-python/termcolor/metadata.xml15
-rw-r--r--dev-python/termcolor/termcolor-1.1.0-r1.ebuild20
-rw-r--r--dev-python/terminado/Manifest1
-rw-r--r--dev-python/terminado/metadata.xml12
-rw-r--r--dev-python/terminado/terminado-0.5.ebuild28
-rw-r--r--dev-python/testfixtures/Manifest3
-rw-r--r--dev-python/testfixtures/files/docbuild.patch25
-rw-r--r--dev-python/testfixtures/metadata.xml12
-rw-r--r--dev-python/testfixtures/testfixtures-3.0.0.ebuild45
-rw-r--r--dev-python/testfixtures/testfixtures-4.1.1.ebuild55
-rw-r--r--dev-python/testfixtures/testfixtures-4.1.2.ebuild55
-rw-r--r--dev-python/testify/Manifest2
-rw-r--r--dev-python/testify/metadata.xml9
-rw-r--r--dev-python/testify/testify-0.5.7.ebuild45
-rw-r--r--dev-python/testify/testify-0.7.2.ebuild53
-rw-r--r--dev-python/testrepository/Manifest2
-rw-r--r--dev-python/testrepository/metadata.xml16
-rw-r--r--dev-python/testrepository/testrepository-0.0.17-r1.ebuild36
-rw-r--r--dev-python/testrepository/testrepository-0.0.17-r2.ebuild39
-rw-r--r--dev-python/testrepository/testrepository-0.0.18-r1.ebuild39
-rw-r--r--dev-python/testresources/Manifest1
-rw-r--r--dev-python/testresources/metadata.xml20
-rw-r--r--dev-python/testresources/testresources-0.2.7-r2.ebuild27
-rw-r--r--dev-python/testscenarios/Manifest2
-rw-r--r--dev-python/testscenarios/metadata.xml21
-rw-r--r--dev-python/testscenarios/testscenarios-0.4-r2.ebuild27
-rw-r--r--dev-python/testscenarios/testscenarios-0.4-r4.ebuild24
-rw-r--r--dev-python/testscenarios/testscenarios-0.4-r5.ebuild24
-rw-r--r--dev-python/testscenarios/testscenarios-0.4.ebuild28
-rw-r--r--dev-python/testscenarios/testscenarios-0.5.0.ebuild31
-rw-r--r--dev-python/testtools/Manifest6
-rw-r--r--dev-python/testtools/metadata.xml11
-rw-r--r--dev-python/testtools/testtools-0.9.36.ebuild56
-rw-r--r--dev-python/testtools/testtools-1.2.1.ebuild42
-rw-r--r--dev-python/testtools/testtools-1.3.0.ebuild42
-rw-r--r--dev-python/testtools/testtools-1.5.0.ebuild44
-rw-r--r--dev-python/testtools/testtools-1.7.1.ebuild45
-rw-r--r--dev-python/testtools/testtools-1.8.0.ebuild46
-rw-r--r--dev-python/texttable/Manifest2
-rw-r--r--dev-python/texttable/metadata.xml13
-rw-r--r--dev-python/texttable/texttable-0.8.1.ebuild20
-rw-r--r--dev-python/texttable/texttable-0.8.2.ebuild20
-rw-r--r--dev-python/tgmochikit/Manifest1
-rw-r--r--dev-python/tgmochikit/metadata.xml8
-rw-r--r--dev-python/tgmochikit/tgmochikit-1.4.2-r1.ebuild30
-rw-r--r--dev-python/theano/Manifest1
-rw-r--r--dev-python/theano/metadata.xml14
-rw-r--r--dev-python/theano/theano-0.6.0.ebuild33
-rw-r--r--dev-python/thunarx-python/Manifest1
-rw-r--r--dev-python/thunarx-python/metadata.xml12
-rw-r--r--dev-python/thunarx-python/thunarx-python-0.3.0-r1.ebuild44
-rw-r--r--dev-python/timelib/Manifest1
-rw-r--r--dev-python/timelib/metadata.xml8
-rw-r--r--dev-python/timelib/timelib-0.2.4-r1.ebuild21
-rw-r--r--dev-python/tinycss/Manifest1
-rw-r--r--dev-python/tinycss/metadata.xml9
-rw-r--r--dev-python/tinycss/tinycss-0.3.ebuild31
-rw-r--r--dev-python/tlslite/Manifest1
-rw-r--r--dev-python/tlslite/metadata.xml17
-rw-r--r--dev-python/tlslite/tlslite-0.4.3-r1.ebuild39
-rw-r--r--dev-python/tmdb3/Manifest2
-rw-r--r--dev-python/tmdb3/metadata.xml13
-rw-r--r--dev-python/tmdb3/tmdb3-0.6.17.ebuild20
-rw-r--r--dev-python/tmdb3/tmdb3-0.7.2.ebuild17
-rw-r--r--dev-python/toolz/Manifest3
-rw-r--r--dev-python/toolz/metadata.xml8
-rw-r--r--dev-python/toolz/toolz-0.7.0.ebuild20
-rw-r--r--dev-python/toolz/toolz-0.7.1.ebuild20
-rw-r--r--dev-python/toolz/toolz-0.7.2.ebuild20
-rw-r--r--dev-python/torment/Manifest3
-rw-r--r--dev-python/torment/metadata.xml14
-rw-r--r--dev-python/torment/torment-2.0.1.ebuild46
-rw-r--r--dev-python/torment/torment-2.0.2.ebuild46
-rw-r--r--dev-python/torment/torment-2.0.3.ebuild46
-rw-r--r--dev-python/tox/Manifest4
-rw-r--r--dev-python/tox/metadata.xml8
-rw-r--r--dev-python/tox/tox-1.8.0.ebuild58
-rw-r--r--dev-python/tox/tox-1.8.1.ebuild59
-rw-r--r--dev-python/tox/tox-1.9.0.ebuild59
-rw-r--r--dev-python/tox/tox-1.9.2.ebuild59
-rw-r--r--dev-python/tpg/Manifest1
-rw-r--r--dev-python/tpg/metadata.xml5
-rw-r--r--dev-python/tpg/tpg-3.2.2-r1.ebuild32
-rw-r--r--dev-python/traceback2/Manifest1
-rw-r--r--dev-python/traceback2/metadata.xml14
-rw-r--r--dev-python/traceback2/traceback2-1.4.0.ebuild24
-rw-r--r--dev-python/tracing/Manifest2
-rw-r--r--dev-python/tracing/metadata.xml8
-rw-r--r--dev-python/tracing/tracing-0.7-r1.ebuild35
-rw-r--r--dev-python/tracing/tracing-0.8.ebuild35
-rw-r--r--dev-python/traits/Manifest1
-rw-r--r--dev-python/traits/metadata.xml22
-rw-r--r--dev-python/traits/traits-4.5.0.ebuild37
-rw-r--r--dev-python/traitsui/Manifest1
-rw-r--r--dev-python/traitsui/files/traitsui-4.3.0-tests.patch34
-rw-r--r--dev-python/traitsui/metadata.xml16
-rw-r--r--dev-python/traitsui/traitsui-4.4.0.ebuild36
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/metadata.xml14
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-1.12.0.ebuild71
-rw-r--r--dev-python/translationstring/Manifest1
-rw-r--r--dev-python/translationstring/metadata.xml9
-rw-r--r--dev-python/translationstring/translationstring-1.3.ebuild41
-rw-r--r--dev-python/transmissionrpc/Manifest2
-rw-r--r--dev-python/transmissionrpc/metadata.xml12
-rw-r--r--dev-python/transmissionrpc/transmissionrpc-0.11.ebuild39
-rw-r--r--dev-python/transmissionrpc/transmissionrpc-9999.ebuild33
-rw-r--r--dev-python/treq/Manifest1
-rw-r--r--dev-python/treq/metadata.xml12
-rw-r--r--dev-python/treq/treq-0.2.1.ebuild42
-rw-r--r--dev-python/trollius/Manifest1
-rw-r--r--dev-python/trollius/metadata.xml9
-rw-r--r--dev-python/trollius/trollius-1.0.4.ebuild23
-rw-r--r--dev-python/ttfquery/Manifest1
-rw-r--r--dev-python/ttfquery/metadata.xml9
-rw-r--r--dev-python/ttfquery/ttfquery-1.0.5-r1.ebuild26
-rw-r--r--dev-python/ttystatus/Manifest2
-rw-r--r--dev-python/ttystatus/metadata.xml8
-rw-r--r--dev-python/ttystatus/ttystatus-0.22.ebuild20
-rw-r--r--dev-python/ttystatus/ttystatus-0.23.ebuild20
-rw-r--r--dev-python/turbocheetah/Manifest1
-rw-r--r--dev-python/turbocheetah/metadata.xml8
-rw-r--r--dev-python/turbocheetah/turbocheetah-1.0-r1.ebuild33
-rw-r--r--dev-python/turbojson/Manifest1
-rw-r--r--dev-python/turbojson/metadata.xml8
-rw-r--r--dev-python/turbojson/turbojson-1.3.2-r1.ebuild27
-rw-r--r--dev-python/turbokid/Manifest1
-rw-r--r--dev-python/turbokid/metadata.xml8
-rw-r--r--dev-python/turbokid/turbokid-1.0.5-r1.ebuild31
-rw-r--r--dev-python/turbolift/Manifest1
-rw-r--r--dev-python/turbolift/metadata.xml16
-rw-r--r--dev-python/turbolift/turbolift-2.0.5.ebuild36
-rw-r--r--dev-python/tvdb_api/Manifest1
-rw-r--r--dev-python/tvdb_api/metadata.xml11
-rw-r--r--dev-python/tvdb_api/tvdb_api-1.9.ebuild20
-rw-r--r--dev-python/tweepy/Manifest2
-rw-r--r--dev-python/tweepy/metadata.xml9
-rw-r--r--dev-python/tweepy/tweepy-2.3.ebuild44
-rw-r--r--dev-python/tweepy/tweepy-3.3.0.ebuild48
-rw-r--r--dev-python/twilio/Manifest1
-rw-r--r--dev-python/twilio/metadata.xml11
-rw-r--r--dev-python/twilio/twilio-3.6.9.ebuild33
-rw-r--r--dev-python/twill/Manifest1
-rw-r--r--dev-python/twill/metadata.xml9
-rw-r--r--dev-python/twill/twill-0.9-r1.ebuild41
-rw-r--r--dev-python/twisted-conch/Manifest7
-rw-r--r--dev-python/twisted-conch/metadata.xml5
-rw-r--r--dev-python/twisted-conch/twisted-conch-13.0.0-r1.ebuild30
-rw-r--r--dev-python/twisted-conch/twisted-conch-13.2.0.ebuild30
-rw-r--r--dev-python/twisted-conch/twisted-conch-14.0.0.ebuild30
-rw-r--r--dev-python/twisted-conch/twisted-conch-14.0.1.ebuild19
-rw-r--r--dev-python/twisted-conch/twisted-conch-14.0.2.ebuild19
-rw-r--r--dev-python/twisted-conch/twisted-conch-15.1.0.ebuild19
-rw-r--r--dev-python/twisted-conch/twisted-conch-15.2.1.ebuild19
-rw-r--r--dev-python/twisted-core/Manifest8
-rw-r--r--dev-python/twisted-core/files/twistd.conf7
-rw-r--r--dev-python/twisted-core/files/twistd.init25
-rw-r--r--dev-python/twisted-core/files/twisted-core-12.0.0-fix-test-timeFormatting.patch26
-rw-r--r--dev-python/twisted-core/files/twisted-core-12.1.0-remove-tests-conch-dependency.patch15
-rw-r--r--dev-python/twisted-core/files/twisted-core-2.1.0-echo-less.patch13
-rw-r--r--dev-python/twisted-core/files/twisted-core-2.1.0-zsh-head.patch13
-rw-r--r--dev-python/twisted-core/files/twisted-core-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch11
-rw-r--r--dev-python/twisted-core/metadata.xml14
-rw-r--r--dev-python/twisted-core/twisted-core-12.3.0-r1.ebuild107
-rw-r--r--dev-python/twisted-core/twisted-core-13.0.0-r3.ebuild107
-rw-r--r--dev-python/twisted-core/twisted-core-13.2.0.ebuild117
-rw-r--r--dev-python/twisted-core/twisted-core-14.0.0.ebuild123
-rw-r--r--dev-python/twisted-core/twisted-core-14.0.1.ebuild126
-rw-r--r--dev-python/twisted-core/twisted-core-14.0.2.ebuild126
-rw-r--r--dev-python/twisted-core/twisted-core-15.1.0.ebuild126
-rw-r--r--dev-python/twisted-core/twisted-core-15.2.1.ebuild119
-rw-r--r--dev-python/twisted-lore/Manifest7
-rw-r--r--dev-python/twisted-lore/metadata.xml5
-rw-r--r--dev-python/twisted-lore/twisted-lore-13.0.0-r1.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-13.2.0.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-14.0.0.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-14.0.1.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-14.0.2.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-15.1.0.ebuild17
-rw-r--r--dev-python/twisted-lore/twisted-lore-15.2.1.ebuild17
-rw-r--r--dev-python/twisted-mail/Manifest7
-rw-r--r--dev-python/twisted-mail/metadata.xml5
-rw-r--r--dev-python/twisted-mail/twisted-mail-13.0.0-r1.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-13.2.0.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-14.0.0.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-14.0.1.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-14.0.2.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-15.1.0.ebuild17
-rw-r--r--dev-python/twisted-mail/twisted-mail-15.2.1.ebuild17
-rw-r--r--dev-python/twisted-names/Manifest7
-rw-r--r--dev-python/twisted-names/metadata.xml5
-rw-r--r--dev-python/twisted-names/twisted-names-13.0.0-r1.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-13.2.0.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-14.0.0.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-14.0.1.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-14.0.2.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-15.1.0.ebuild16
-rw-r--r--dev-python/twisted-names/twisted-names-15.2.1.ebuild16
-rw-r--r--dev-python/twisted-news/Manifest7
-rw-r--r--dev-python/twisted-news/metadata.xml5
-rw-r--r--dev-python/twisted-news/twisted-news-13.0.0-r1.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-13.2.0.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-14.0.0.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-14.0.1.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-14.0.2.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-15.1.0.ebuild17
-rw-r--r--dev-python/twisted-news/twisted-news-15.2.1.ebuild17
-rw-r--r--dev-python/twisted-pair/Manifest7
-rw-r--r--dev-python/twisted-pair/files/14.0.0-tests.patch26
-rw-r--r--dev-python/twisted-pair/metadata.xml5
-rw-r--r--dev-python/twisted-pair/twisted-pair-13.0.0-r1.ebuild17
-rw-r--r--dev-python/twisted-pair/twisted-pair-13.2.0.ebuild17
-rw-r--r--dev-python/twisted-pair/twisted-pair-14.0.0.ebuild20
-rw-r--r--dev-python/twisted-pair/twisted-pair-14.0.1.ebuild20
-rw-r--r--dev-python/twisted-pair/twisted-pair-14.0.2.ebuild20
-rw-r--r--dev-python/twisted-pair/twisted-pair-15.1.0.ebuild20
-rw-r--r--dev-python/twisted-pair/twisted-pair-15.2.1.ebuild20
-rw-r--r--dev-python/twisted-runner/Manifest7
-rw-r--r--dev-python/twisted-runner/metadata.xml5
-rw-r--r--dev-python/twisted-runner/twisted-runner-13.0.0-r1.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-13.2.0.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-14.0.0.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-14.0.1.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-14.0.2.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-15.1.0.ebuild16
-rw-r--r--dev-python/twisted-runner/twisted-runner-15.2.1.ebuild16
-rw-r--r--dev-python/twisted-web/Manifest8
-rw-r--r--dev-python/twisted-web/metadata.xml5
-rw-r--r--dev-python/twisted-web/twisted-web-12.3.0-r1.ebuild27
-rw-r--r--dev-python/twisted-web/twisted-web-13.0.0-r1.ebuild27
-rw-r--r--dev-python/twisted-web/twisted-web-13.2.0.ebuild31
-rw-r--r--dev-python/twisted-web/twisted-web-14.0.0.ebuild31
-rw-r--r--dev-python/twisted-web/twisted-web-14.0.1.ebuild31
-rw-r--r--dev-python/twisted-web/twisted-web-14.0.2.ebuild31
-rw-r--r--dev-python/twisted-web/twisted-web-15.1.0.ebuild31
-rw-r--r--dev-python/twisted-web/twisted-web-15.2.1.ebuild31
-rw-r--r--dev-python/twisted-words/Manifest7
-rw-r--r--dev-python/twisted-words/files/twisted-words-10.2.0-twisted.words.protocols.jabber.jstrports.parse.patch67
-rw-r--r--dev-python/twisted-words/metadata.xml5
-rw-r--r--dev-python/twisted-words/twisted-words-13.0.0-r1.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-13.2.0.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-14.0.0.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-14.0.1.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-14.0.2.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-15.1.0.ebuild17
-rw-r--r--dev-python/twisted-words/twisted-words-15.2.1.ebuild17
-rw-r--r--dev-python/twistedsnmp/Manifest1
-rw-r--r--dev-python/twistedsnmp/metadata.xml11
-rw-r--r--dev-python/twistedsnmp/twistedsnmp-0.3.13-r1.ebuild50
-rw-r--r--dev-python/twitter/Manifest4
-rw-r--r--dev-python/twitter/metadata.xml8
-rw-r--r--dev-python/twitter/twitter-1.14.3.ebuild20
-rw-r--r--dev-python/twitter/twitter-1.15.0.ebuild20
-rw-r--r--dev-python/twitter/twitter-1.16.0.ebuild20
-rw-r--r--dev-python/twitter/twitter-1.17.0.ebuild20
-rw-r--r--dev-python/twython/Manifest3
-rw-r--r--dev-python/twython/metadata.xml13
-rw-r--r--dev-python/twython/twython-3.0.0.ebuild22
-rw-r--r--dev-python/twython/twython-3.2.0.ebuild22
-rw-r--r--dev-python/twython/twython-3.3.0.ebuild22
-rw-r--r--dev-python/txAMQP/Manifest1
-rw-r--r--dev-python/txAMQP/metadata.xml9
-rw-r--r--dev-python/txAMQP/txAMQP-0.6.2.ebuild19
-rw-r--r--dev-python/txaio/Manifest1
-rw-r--r--dev-python/txaio/files/util.py40
-rw-r--r--dev-python/txaio/metadata.xml9
-rw-r--r--dev-python/txaio/txaio-1.0.0.ebuild47
-rw-r--r--dev-python/txsocksx/Manifest1
-rw-r--r--dev-python/txsocksx/metadata.xml12
-rw-r--r--dev-python/txsocksx/txsocksx-1.13.0.3.ebuild25
-rw-r--r--dev-python/tzlocal/Manifest2
-rw-r--r--dev-python/tzlocal/metadata.xml9
-rw-r--r--dev-python/tzlocal/tzlocal-1.1.2.ebuild27
-rw-r--r--dev-python/tzlocal/tzlocal-1.2.ebuild26
-rw-r--r--dev-python/ujson/Manifest1
-rw-r--r--dev-python/ujson/files/ujson-1.33-test-py3.patch38
-rw-r--r--dev-python/ujson/metadata.xml12
-rw-r--r--dev-python/ujson/ujson-1.33.ebuild44
-rw-r--r--dev-python/unicodecsv/Manifest5
-rw-r--r--dev-python/unicodecsv/metadata.xml8
-rw-r--r--dev-python/unicodecsv/unicodecsv-0.11.0.ebuild20
-rw-r--r--dev-python/unicodecsv/unicodecsv-0.11.1.ebuild20
-rw-r--r--dev-python/unicodecsv/unicodecsv-0.12.0.ebuild17
-rw-r--r--dev-python/unicodecsv/unicodecsv-0.13.0.ebuild25
-rw-r--r--dev-python/unicodecsv/unicodecsv-0.9.4.ebuild20
-rw-r--r--dev-python/unidecode/Manifest2
-rw-r--r--dev-python/unidecode/metadata.xml14
-rw-r--r--dev-python/unidecode/unidecode-0.04.17.ebuild27
-rw-r--r--dev-python/unidecode/unidecode-0.04.18.ebuild27
-rw-r--r--dev-python/unittest2/Manifest5
-rw-r--r--dev-python/unittest2/files/remove-argparse-dependence.patch12
-rw-r--r--dev-python/unittest2/files/unittest2-0.8.0-argparse.patch15
-rw-r--r--dev-python/unittest2/metadata.xml8
-rw-r--r--dev-python/unittest2/unittest2-0.5.1-r1.ebuild61
-rw-r--r--dev-python/unittest2/unittest2-0.5.1-r2.ebuild68
-rw-r--r--dev-python/unittest2/unittest2-0.8.0.ebuild30
-rw-r--r--dev-python/unittest2/unittest2-1.0.1-r1.ebuild37
-rw-r--r--dev-python/unittest2/unittest2-1.1.0.ebuild38
-rw-r--r--dev-python/uritemplate/Manifest1
-rw-r--r--dev-python/uritemplate/metadata.xml8
-rw-r--r--dev-python/uritemplate/uritemplate-0.6.ebuild23
-rw-r--r--dev-python/urlgrabber/Manifest2
-rw-r--r--dev-python/urlgrabber/files/urlgrabber-3.9.1.patch26
-rw-r--r--dev-python/urlgrabber/metadata.xml33
-rw-r--r--dev-python/urlgrabber/urlgrabber-3.10.1.ebuild22
-rw-r--r--dev-python/urlgrabber/urlgrabber-3.9.1-r2.ebuild28
-rw-r--r--dev-python/urllib3/Manifest4
-rw-r--r--dev-python/urllib3/metadata.xml9
-rw-r--r--dev-python/urllib3/urllib3-1.10.3.ebuild80
-rw-r--r--dev-python/urllib3/urllib3-1.10.4.ebuild71
-rw-r--r--dev-python/urllib3/urllib3-1.10.ebuild70
-rw-r--r--dev-python/urllib3/urllib3-1.9.1.ebuild76
-rw-r--r--dev-python/urwid/Manifest2
-rw-r--r--dev-python/urwid/files/urwid-1.1.0-sphinx.patch11
-rw-r--r--dev-python/urwid/metadata.xml25
-rw-r--r--dev-python/urwid/urwid-1.2.2.ebuild54
-rw-r--r--dev-python/urwid/urwid-1.3.0.ebuild55
-rw-r--r--dev-python/utidylib/Manifest1
-rw-r--r--dev-python/utidylib/files/utidylib-0.2-fix_tests.patch48
-rw-r--r--dev-python/utidylib/files/utidylib-0.2-no-docs-in-site-packages.patch11
-rw-r--r--dev-python/utidylib/metadata.xml5
-rw-r--r--dev-python/utidylib/utidylib-0.2-r2.ebuild52
-rw-r--r--dev-python/utmp/Manifest1
-rw-r--r--dev-python/utmp/metadata.xml12
-rw-r--r--dev-python/utmp/utmp-0.4.ebuild29
-rw-r--r--dev-python/vatnumber/Manifest1
-rw-r--r--dev-python/vatnumber/files/vatnumber-1.0-skiptest.patch18
-rw-r--r--dev-python/vatnumber/metadata.xml12
-rw-r--r--dev-python/vatnumber/vatnumber-1.1.ebuild33
-rw-r--r--dev-python/vcrpy/Manifest1
-rw-r--r--dev-python/vcrpy/metadata.xml12
-rw-r--r--dev-python/vcrpy/vcrpy-1.5.2.ebuild33
-rw-r--r--dev-python/vcversioner/Manifest1
-rw-r--r--dev-python/vcversioner/metadata.xml12
-rw-r--r--dev-python/vcversioner/vcversioner-2.14.0.0.ebuild18
-rw-r--r--dev-python/venusian/Manifest2
-rw-r--r--dev-python/venusian/metadata.xml8
-rw-r--r--dev-python/venusian/venusian-1.0.ebuild31
-rw-r--r--dev-python/venusian/venusian-1.0_alpha8.ebuild34
-rw-r--r--dev-python/verboselogs/Manifest1
-rw-r--r--dev-python/verboselogs/metadata.xml12
-rw-r--r--dev-python/verboselogs/verboselogs-1.0.1.ebuild22
-rw-r--r--dev-python/versiontools/Manifest1
-rw-r--r--dev-python/versiontools/metadata.xml13
-rw-r--r--dev-python/versiontools/versiontools-1.9.1-r1.ebuild30
-rw-r--r--dev-python/vertex/Manifest2
-rw-r--r--dev-python/vertex/metadata.xml16
-rw-r--r--dev-python/vertex/vertex-0.3.0-r1.ebuild27
-rw-r--r--dev-python/vertex/vertex-0.3.1.ebuild27
-rw-r--r--dev-python/virtualenv-clone/Manifest3
-rw-r--r--dev-python/virtualenv-clone/metadata.xml9
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.2.4-r2.ebuild21
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.2.5.ebuild21
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.2.6.ebuild21
-rw-r--r--dev-python/virtualenv/Manifest2
-rw-r--r--dev-python/virtualenv/files/virtualenv-1.8.2-no-versioned-script.patch10
-rw-r--r--dev-python/virtualenv/files/virtualenv-12.0-skip-broken-test.patch18
-rw-r--r--dev-python/virtualenv/files/virtualenv-12.1.1-skip-broken-test.patch19
-rw-r--r--dev-python/virtualenv/metadata.xml9
-rw-r--r--dev-python/virtualenv/virtualenv-12.0.5.ebuild45
-rw-r--r--dev-python/virtualenv/virtualenv-13.1.0.ebuild46
-rw-r--r--dev-python/virtualenvwrapper/Manifest4
-rw-r--r--dev-python/virtualenvwrapper/files/tox.ini3
-rw-r--r--dev-python/virtualenvwrapper/metadata.xml8
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.3.1.ebuild36
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.3.2.ebuild36
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.5.1.ebuild36
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.6.0.ebuild36
-rw-r--r--dev-python/visual/Manifest1
-rw-r--r--dev-python/visual/files/visual-5.74-boost-1.50.patch28
-rw-r--r--dev-python/visual/metadata.xml5
-rw-r--r--dev-python/visual/visual-5.74.ebuild85
-rw-r--r--dev-python/vo/Manifest2
-rw-r--r--dev-python/vo/files/vo-0.6-expat.patch19
-rw-r--r--dev-python/vo/metadata.xml12
-rw-r--r--dev-python/vo/vo-0.8-r1.ebuild45
-rw-r--r--dev-python/vobject/Manifest1
-rw-r--r--dev-python/vobject/metadata.xml5
-rw-r--r--dev-python/vobject/vobject-0.8.1c-r1.ebuild27
-rw-r--r--dev-python/w3lib/Manifest1
-rw-r--r--dev-python/w3lib/metadata.xml12
-rw-r--r--dev-python/w3lib/w3lib-1.11.0.ebuild21
-rw-r--r--dev-python/waitress/Manifest2
-rw-r--r--dev-python/waitress/files/waitress-0.8.9-doc.patch29
-rw-r--r--dev-python/waitress/metadata.xml9
-rw-r--r--dev-python/waitress/waitress-0.8.9.ebuild50
-rw-r--r--dev-python/warlock/Manifest2
-rw-r--r--dev-python/warlock/metadata.xml16
-rw-r--r--dev-python/warlock/warlock-1.0.1.ebuild33
-rw-r--r--dev-python/warlock/warlock-1.1.0.ebuild33
-rw-r--r--dev-python/watchdog/Manifest3
-rw-r--r--dev-python/watchdog/metadata.xml12
-rw-r--r--dev-python/watchdog/watchdog-0.8.1.ebuild27
-rw-r--r--dev-python/watchdog/watchdog-0.8.2.ebuild37
-rw-r--r--dev-python/watchdog/watchdog-0.8.3.ebuild37
-rw-r--r--dev-python/wcsaxes/Manifest1
-rw-r--r--dev-python/wcsaxes/metadata.xml11
-rw-r--r--dev-python/wcsaxes/wcsaxes-0.3.ebuild46
-rw-r--r--dev-python/wcwidth/Manifest1
-rw-r--r--dev-python/wcwidth/metadata.xml12
-rw-r--r--dev-python/wcwidth/wcwidth-0.1.4.ebuild18
-rw-r--r--dev-python/weasyprint/Manifest3
-rw-r--r--dev-python/weasyprint/metadata.xml9
-rw-r--r--dev-python/weasyprint/weasyprint-0.21-r1.ebuild34
-rw-r--r--dev-python/weasyprint/weasyprint-0.22.ebuild42
-rw-r--r--dev-python/weasyprint/weasyprint-0.23.ebuild42
-rw-r--r--dev-python/webassets/Manifest1
-rw-r--r--dev-python/webassets/metadata.xml11
-rw-r--r--dev-python/webassets/webassets-0.10.1.ebuild19
-rw-r--r--dev-python/weberror/Manifest2
-rw-r--r--dev-python/weberror/metadata.xml8
-rw-r--r--dev-python/weberror/weberror-0.10.3-r1.ebuild35
-rw-r--r--dev-python/weberror/weberror-0.11.ebuild35
-rw-r--r--dev-python/webhelpers/Manifest1
-rw-r--r--dev-python/webhelpers/files/mime9ad434b.patch14
-rw-r--r--dev-python/webhelpers/metadata.xml8
-rw-r--r--dev-python/webhelpers/webhelpers-1.3-r1.ebuild61
-rw-r--r--dev-python/webob/Manifest2
-rw-r--r--dev-python/webob/files/webob-1.0.7-tests.patch27
-rw-r--r--dev-python/webob/files/webob-1.2.3-tests.patch24
-rw-r--r--dev-python/webob/metadata.xml8
-rw-r--r--dev-python/webob/webob-1.4.1.ebuild44
-rw-r--r--dev-python/webob/webob-1.4.ebuild44
-rw-r--r--dev-python/webpy/Manifest1
-rw-r--r--dev-python/webpy/metadata.xml10
-rw-r--r--dev-python/webpy/webpy-0.37-r1.ebuild33
-rw-r--r--dev-python/webpy/webpy-0.37.ebuild41
-rw-r--r--dev-python/websocket-client/Manifest4
-rw-r--r--dev-python/websocket-client/metadata.xml15
-rw-r--r--dev-python/websocket-client/websocket-client-0.21.0.ebuild33
-rw-r--r--dev-python/websocket-client/websocket-client-0.29.0.ebuild35
-rw-r--r--dev-python/websocket-client/websocket-client-0.31.0.ebuild35
-rw-r--r--dev-python/websocket-client/websocket-client-0.32.0.ebuild35
-rw-r--r--dev-python/websockify/Manifest1
-rw-r--r--dev-python/websockify/metadata.xml15
-rw-r--r--dev-python/websockify/websockify-0.6.0.ebuild19
-rw-r--r--dev-python/webtest/Manifest4
-rw-r--r--dev-python/webtest/files/webtest-1.3-doctest-ellipsis.patch38
-rw-r--r--dev-python/webtest/files/webtest-1.3.4-index_fixt.patch13
-rw-r--r--dev-python/webtest/files/webtest-1.4.3-doctest.patch15
-rw-r--r--dev-python/webtest/metadata.xml8
-rw-r--r--dev-python/webtest/webtest-1.4.3-r1.ebuild62
-rw-r--r--dev-python/webtest/webtest-2.0.16.ebuild72
-rw-r--r--dev-python/webtest/webtest-2.0.17.ebuild68
-rw-r--r--dev-python/webtest/webtest-2.0.18.ebuild68
-rw-r--r--dev-python/webut/Manifest1
-rw-r--r--dev-python/webut/metadata.xml5
-rw-r--r--dev-python/webut/webut-0.1.0.2-r1.ebuild31
-rw-r--r--dev-python/webut/webut-0.1.0.2.ebuild39
-rw-r--r--dev-python/wehjit/Manifest1
-rw-r--r--dev-python/wehjit/files/wehjit-0.2.2-SkipTest.patch23
-rw-r--r--dev-python/wehjit/metadata.xml18
-rw-r--r--dev-python/wehjit/wehjit-0.2.2-r1.ebuild37
-rw-r--r--dev-python/werkzeug/Manifest5
-rw-r--r--dev-python/werkzeug/metadata.xml12
-rw-r--r--dev-python/werkzeug/werkzeug-0.10.1.ebuild31
-rw-r--r--dev-python/werkzeug/werkzeug-0.10.4.ebuild31
-rw-r--r--dev-python/werkzeug/werkzeug-0.10.ebuild31
-rw-r--r--dev-python/werkzeug/werkzeug-0.9.4.ebuild30
-rw-r--r--dev-python/werkzeug/werkzeug-0.9.6.ebuild30
-rw-r--r--dev-python/wheel/Manifest1
-rw-r--r--dev-python/wheel/metadata.xml8
-rw-r--r--dev-python/wheel/wheel-0.24.0.ebuild20
-rw-r--r--dev-python/whirlpool/Manifest1
-rw-r--r--dev-python/whirlpool/files/tests.py96
-rw-r--r--dev-python/whirlpool/metadata.xml12
-rw-r--r--dev-python/whirlpool/whirlpool-0.3-r1.ebuild38
-rw-r--r--dev-python/whisper/Manifest1
-rw-r--r--dev-python/whisper/metadata.xml12
-rw-r--r--dev-python/whisper/whisper-0.9.13.ebuild18
-rw-r--r--dev-python/whoosh/Manifest2
-rw-r--r--dev-python/whoosh/metadata.xml25
-rw-r--r--dev-python/whoosh/whoosh-2.6.0.ebuild57
-rw-r--r--dev-python/whoosh/whoosh-2.7.0.ebuild53
-rw-r--r--dev-python/winpdb/Manifest1
-rw-r--r--dev-python/winpdb/metadata.xml8
-rw-r--r--dev-python/winpdb/winpdb-1.4.8-r1.ebuild36
-rw-r--r--dev-python/winpdb/winpdb-1.4.8.ebuild40
-rw-r--r--dev-python/workerpool/Manifest2
-rw-r--r--dev-python/workerpool/metadata.xml13
-rw-r--r--dev-python/workerpool/workerpool-0.9.2-r1.ebuild33
-rw-r--r--dev-python/workerpool/workerpool-0.9.4.ebuild33
-rw-r--r--dev-python/wrapt/Manifest2
-rw-r--r--dev-python/wrapt/metadata.xml13
-rw-r--r--dev-python/wrapt/wrapt-1.10.4.ebuild46
-rw-r--r--dev-python/wrapt/wrapt-1.10.5.ebuild46
-rw-r--r--dev-python/ws4py/Manifest1
-rw-r--r--dev-python/ws4py/files/ws4py-0.2-cherrypy_test.patch24
-rw-r--r--dev-python/ws4py/files/ws4py-0.2.1-process-data.patch27
-rw-r--r--dev-python/ws4py/metadata.xml16
-rw-r--r--dev-python/ws4py/ws4py-0.3.4.ebuild52
-rw-r--r--dev-python/ws4py/ws4py-9999.ebuild52
-rw-r--r--dev-python/wsaccel/Manifest1
-rw-r--r--dev-python/wsaccel/metadata.xml12
-rw-r--r--dev-python/wsaccel/wsaccel-0.6.2.ebuild27
-rw-r--r--dev-python/wsgiintercept/Manifest4
-rw-r--r--dev-python/wsgiintercept/metadata.xml20
-rw-r--r--dev-python/wsgiintercept/wsgiintercept-0.10.0.ebuild59
-rw-r--r--dev-python/wsgiintercept/wsgiintercept-0.10.2.ebuild59
-rw-r--r--dev-python/wsgiintercept/wsgiintercept-0.9.0.ebuild50
-rw-r--r--dev-python/wsgiintercept/wsgiintercept-0.9.1.ebuild50
-rw-r--r--dev-python/wsgilog/Manifest1
-rw-r--r--dev-python/wsgilog/metadata.xml14
-rw-r--r--dev-python/wsgilog/wsgilog-0.3-r1.ebuild22
-rw-r--r--dev-python/wsgiproxy2/Manifest2
-rw-r--r--dev-python/wsgiproxy2/metadata.xml8
-rw-r--r--dev-python/wsgiproxy2/wsgiproxy2-0.4.1.ebuild51
-rw-r--r--dev-python/wsgiproxy2/wsgiproxy2-0.4.2.ebuild50
-rw-r--r--dev-python/wstools/Manifest1
-rw-r--r--dev-python/wstools/metadata.xml9
-rw-r--r--dev-python/wstools/wstools-0.4.3.ebuild22
-rw-r--r--dev-python/wtf-peewee/Manifest1
-rw-r--r--dev-python/wtf-peewee/metadata.xml8
-rw-r--r--dev-python/wtf-peewee/wtf-peewee-0.2.3.ebuild36
-rw-r--r--dev-python/wtforms/Manifest3
-rw-r--r--dev-python/wtforms/metadata.xml8
-rw-r--r--dev-python/wtforms/wtforms-1.0.4.ebuild42
-rw-r--r--dev-python/wtforms/wtforms-2.0.1.ebuild40
-rw-r--r--dev-python/wtforms/wtforms-2.0.2.ebuild40
-rw-r--r--dev-python/wxpython/Manifest13
-rw-r--r--dev-python/wxpython/files/wxpython-2.8-cache-writable.patch20
-rw-r--r--dev-python/wxpython/files/wxpython-2.8-no-preservatives-added.patch16
-rw-r--r--dev-python/wxpython/files/wxpython-2.8-wxversion-demo.patch10
-rw-r--r--dev-python/wxpython/files/wxpython-2.8.11-drop-editra.patch48
-rw-r--r--dev-python/wxpython/files/wxpython-2.8.12-drop-categories.patch37
-rw-r--r--dev-python/wxpython/files/wxpython-2.8.12-drop-editra.patch55
-rw-r--r--dev-python/wxpython/files/wxpython-2.8.12.1-disable-egging-mode.patch34
-rw-r--r--dev-python/wxpython/files/wxpython-2.8.9-wxversion-scripts.patch191
-rw-r--r--dev-python/wxpython/files/wxpython-2.9-wxversion-demo.patch10
-rw-r--r--dev-python/wxpython/files/wxpython-2.9-wxversion-scripts.patch221
-rw-r--r--dev-python/wxpython/files/wxpython-2.9.4.1-wxversion-scripts.patch211
-rw-r--r--dev-python/wxpython/files/wxpython-3.0-wxversion-demo.patch10
-rw-r--r--dev-python/wxpython/files/wxpython-3.0.0.0-wxversion-scripts.patch211
-rw-r--r--dev-python/wxpython/metadata.xml13
-rw-r--r--dev-python/wxpython/wxpython-2.8.12.1-r2.ebuild195
-rw-r--r--dev-python/wxpython/wxpython-2.9.4.1-r2.ebuild168
-rw-r--r--dev-python/wxpython/wxpython-3.0.0.0.ebuild163
-rw-r--r--dev-python/wxpython/wxpython-3.0.1.1.ebuild163
-rw-r--r--dev-python/wxpython/wxpython-3.0.2.0.ebuild163
-rw-r--r--dev-python/xcffib/Manifest6
-rw-r--r--dev-python/xcffib/metadata.xml9
-rw-r--r--dev-python/xcffib/xcffib-0.1.10.ebuild27
-rw-r--r--dev-python/xcffib/xcffib-0.2.0.ebuild26
-rw-r--r--dev-python/xcffib/xcffib-0.2.1.ebuild26
-rw-r--r--dev-python/xcffib/xcffib-0.2.5.ebuild34
-rw-r--r--dev-python/xcffib/xcffib-0.3.2.ebuild33
-rw-r--r--dev-python/xcffib/xcffib-0.3.4.ebuild33
-rw-r--r--dev-python/xhtml2pdf/Manifest2
-rw-r--r--dev-python/xhtml2pdf/metadata.xml8
-rw-r--r--dev-python/xhtml2pdf/xhtml2pdf-0.0.5-r1.ebuild22
-rw-r--r--dev-python/xhtml2pdf/xhtml2pdf-0.0.6-r1.ebuild25
-rw-r--r--dev-python/xlrd/Manifest1
-rw-r--r--dev-python/xlrd/files/xlrd-0.9.3-column.patch59
-rw-r--r--dev-python/xlrd/metadata.xml11
-rw-r--r--dev-python/xlrd/xlrd-0.9.3-r1.ebuild30
-rw-r--r--dev-python/xlrd/xlrd-0.9.3.ebuild28
-rw-r--r--dev-python/xlsxwriter/Manifest1
-rw-r--r--dev-python/xlsxwriter/metadata.xml9
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-0.7.3.ebuild33
-rw-r--r--dev-python/xlutils/Manifest1
-rw-r--r--dev-python/xlutils/metadata.xml12
-rw-r--r--dev-python/xlutils/xlutils-1.5.2-r1.ebuild33
-rw-r--r--dev-python/xlwt/Manifest2
-rw-r--r--dev-python/xlwt/files/docbuild.patch17
-rw-r--r--dev-python/xlwt/metadata.xml13
-rw-r--r--dev-python/xlwt/xlwt-0.7.5.ebuild33
-rw-r--r--dev-python/xlwt/xlwt-1.0.0.ebuild49
-rw-r--r--dev-python/xmltodict/Manifest2
-rw-r--r--dev-python/xmltodict/metadata.xml9
-rw-r--r--dev-python/xmltodict/xmltodict-0.9.1.ebuild30
-rw-r--r--dev-python/xmltodict/xmltodict-0.9.2.ebuild23
-rw-r--r--dev-python/xmpppy/Manifest1
-rw-r--r--dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch69
-rw-r--r--dev-python/xmpppy/metadata.xml18
-rw-r--r--dev-python/xmpppy/xmpppy-0.5.0_rc1-r1.ebuild38
-rw-r--r--dev-python/xmpppy/xmpppy-0.5.0_rc1.ebuild42
-rw-r--r--dev-python/xvfbwrapper/Manifest2
-rw-r--r--dev-python/xvfbwrapper/metadata.xml9
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.2.ebuild28
-rw-r--r--dev-python/xvfbwrapper/xvfbwrapper-0.2.4.ebuild28
-rw-r--r--dev-python/yapps/Manifest1
-rw-r--r--dev-python/yapps/metadata.xml9
-rw-r--r--dev-python/yapps/yapps-2.2.0.ebuild24
-rw-r--r--dev-python/yapsy/Manifest3
-rw-r--r--dev-python/yapsy/metadata.xml12
-rw-r--r--dev-python/yapsy/yapsy-1.10.423.ebuild27
-rw-r--r--dev-python/yapsy/yapsy-1.11.023.ebuild44
-rw-r--r--dev-python/yapsy/yapsy-1.11.223.ebuild44
-rw-r--r--dev-python/yenc/Manifest1
-rw-r--r--dev-python/yenc/files/yenc-remove-cflags.patch11
-rw-r--r--dev-python/yenc/metadata.xml7
-rw-r--r--dev-python/yenc/yenc-0.4.0-r1.ebuild30
-rw-r--r--dev-python/yolk-portage/Manifest1
-rw-r--r--dev-python/yolk-portage/metadata.xml14
-rw-r--r--dev-python/yolk-portage/yolk-portage-0.1-r1.ebuild21
-rw-r--r--dev-python/yolk/Manifest1
-rw-r--r--dev-python/yolk/files/yolk-0.4.1_entry_map.patch20
-rw-r--r--dev-python/yolk/metadata.xml14
-rw-r--r--dev-python/yolk/yolk-0.4.3-r1.ebuild28
-rw-r--r--dev-python/yubiotp/Manifest1
-rw-r--r--dev-python/yubiotp/metadata.xml12
-rw-r--r--dev-python/yubiotp/yubiotp-0.2.1.ebuild34
-rw-r--r--dev-python/zake/Manifest1
-rw-r--r--dev-python/zake/metadata.xml16
-rw-r--r--dev-python/zake/zake-0.2.1.ebuild30
-rw-r--r--dev-python/zbase32/Manifest1
-rw-r--r--dev-python/zbase32/metadata.xml10
-rw-r--r--dev-python/zbase32/zbase32-1.1.5.ebuild20
-rw-r--r--dev-python/zc-buildout/Manifest1
-rw-r--r--dev-python/zc-buildout/metadata.xml23
-rw-r--r--dev-python/zc-buildout/zc-buildout-2.3.1.ebuild34
-rw-r--r--dev-python/zfec/Manifest1
-rw-r--r--dev-python/zfec/metadata.xml16
-rw-r--r--dev-python/zfec/zfec-1.4.24.ebuild30
-rw-r--r--dev-python/zope-interface/Manifest2
-rw-r--r--dev-python/zope-interface/metadata.xml8
-rw-r--r--dev-python/zope-interface/zope-interface-4.1.1.ebuild41
-rw-r--r--dev-python/zope-interface/zope-interface-4.1.2.ebuild41
-rw-r--r--dev-python/zsi/Manifest1
-rw-r--r--dev-python/zsi/metadata.xml15
-rw-r--r--dev-python/zsi/zsi-2.1_alpha1-r1.ebuild55
5636 files changed, 156541 insertions, 0 deletions
diff --git a/dev-python/3to2/3to2-1.0.ebuild b/dev-python/3to2/3to2-1.0.ebuild
new file mode 100644
index 000000000000..20208263e15b
--- /dev/null
+++ b/dev-python/3to2/3to2-1.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7)
+inherit distutils-r1
+
+DESCRIPTION="Refactors valid 3.x syntax into valid 2.x syntax, if a syntactical conversion is possible"
+HOMEPAGE="http://pypi.python.org/pypi/3to2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ # the standard test runner fails to properly return failure
+ "${PYTHON}" -m unittest discover || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/3to2/3to2-1.1.1.ebuild b/dev-python/3to2/3to2-1.1.1.ebuild
new file mode 100644
index 000000000000..f7120694405e
--- /dev/null
+++ b/dev-python/3to2/3to2-1.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Refactors valid 3.x syntax into valid 2.x syntax, if a syntactical conversion is possible"
+HOMEPAGE="http://pypi.python.org/pypi/3to2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ # the standard test runner fails to properly return failure
+ "${PYTHON}" -m unittest discover || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/3to2/Manifest b/dev-python/3to2/Manifest
new file mode 100644
index 000000000000..caf4972d8d4b
--- /dev/null
+++ b/dev-python/3to2/Manifest
@@ -0,0 +1,2 @@
+DIST 3to2-1.0.tar.gz 46028 SHA256 1c5179e0ff3a1270e98aa213035185298392693a692a5e9053cea3c45e220182 SHA512 0f1eb0397e3e777a88a9530472349febaa36a5ddf45b000da174e8cb073dada65c3db566785550b2fa812651a1b2651fcbd281b29e3a3a8f6429379cd66536f0 WHIRLPOOL 970004480bd9abe48ce17527774b594bf25ed932eed96c9219786325783eba8ace8420db1598c615e1183907424d2b2f5a84c690d1341fee658aa440505200b7
+DIST 3to2-1.1.1.zip 78779 SHA256 fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c SHA512 7580f174409420556f89ae78eba07cc95b95aee9d062586d0862bd41980ae31bf4ac82a43855e160eec745fcdd3b4aff614f68e77da1bfc5f9f404413cab1492 WHIRLPOOL 39b8b8c2da3f759c93488888d4ccf9eae123302a5b7ae5861fdf4ad1be75a31e57dc752e382cb3ebc49b46921ab12d95d7837948e78c3c96dd98f4701805bf14
diff --git a/dev-python/3to2/metadata.xml b/dev-python/3to2/metadata.xml
new file mode 100644
index 000000000000..d64659c2f2b8
--- /dev/null
+++ b/dev-python/3to2/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">3to2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/APScheduler/APScheduler-3.0.1.ebuild b/dev-python/APScheduler/APScheduler-3.0.1.ebuild
new file mode 100644
index 000000000000..67ba8903d3bb
--- /dev/null
+++ b/dev-python/APScheduler/APScheduler-3.0.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="In-process task scheduler with Cron-like capabilities"
+HOMEPAGE="https://bitbucket.org/agronholm/apscheduler"
+SRC_URI="mirror://pypi/A/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # Unsetting PYTHONPATH prevents a bunch of errors. I have no idea why.
+ unset PYTHONPATH
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/APScheduler/Manifest b/dev-python/APScheduler/Manifest
new file mode 100644
index 000000000000..71a71223fb7f
--- /dev/null
+++ b/dev-python/APScheduler/Manifest
@@ -0,0 +1 @@
+DIST APScheduler-3.0.1.tar.gz 74325 SHA256 4e71d83578166fdc73d8adb646b40a6a7c70d9f7cb017ca93b0dc2ad51999eb5 SHA512 1a63518f02a4a17b4f11210736b7fafc11e77c78620934c50d21f4c34c85473b4f6f00647b7f39122e865d94bec027c564245a66516fee35552c012001965f18 WHIRLPOOL 168054d8405502c9366dd3366a7e5e1b49c084846b969ce3524c420cc40c3a5178021acb0187485351297ba8da5a5a6e3275dba473434196e62f03700f84bc3e
diff --git a/dev-python/APScheduler/metadata.xml b/dev-python/APScheduler/metadata.xml
new file mode 100644
index 000000000000..d1646e4cea34
--- /dev/null
+++ b/dev-python/APScheduler/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">APScheduler</remote-id>
+ <remote-id type="bitbucket">agronholm/apscheduler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/Babel/Babel-1.3-r1.ebuild b/dev-python/Babel/Babel-1.3-r1.ebuild
new file mode 100644
index 000000000000..0fd71a8f69d8
--- /dev/null
+++ b/dev-python/Babel/Babel-1.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="A collection of tools for internationalizing Python applications"
+HOMEPAGE="http://babel.edgewall.org/ http://pypi.python.org/pypi/Babel"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Make the tests use implementation-specific datadir,
+ # because they try to write in it.
+ sed -e '/datadir =/s:os\.path\.dirname(__file__):os.environ["BUILD_DIR"]:' \
+ -i tests/messages/test_frontend.py || die
+ sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Create implementation-specific datadir for tests.
+ cp -R -l tests/messages/data "${BUILD_DIR}"/ || die
+ export BUILD_DIR
+ py.test || die
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/Babel/Babel-2.0.ebuild b/dev-python/Babel/Babel-2.0.ebuild
new file mode 100644
index 000000000000..04989246dc93
--- /dev/null
+++ b/dev-python/Babel/Babel-2.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of tools for internationalizing Python applications"
+HOMEPAGE="http://babel.edgewall.org/ http://pypi.python.org/pypi/Babel"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Make the tests use implementation-specific datadir,
+ # because they try to write in it.
+ sed -e '/datadir =/s:os\.path\.dirname(__file__):os.environ["BUILD_DIR"]:' \
+ -i tests/messages/test_frontend.py || die
+ sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Create implementation-specific datadir for tests.
+ cp -R -l tests/messages/data "${BUILD_DIR}"/ || die
+ export BUILD_DIR
+ py.test || die
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/Babel/Manifest b/dev-python/Babel/Manifest
new file mode 100644
index 000000000000..f5ed01d410ee
--- /dev/null
+++ b/dev-python/Babel/Manifest
@@ -0,0 +1,2 @@
+DIST Babel-1.3.tar.gz 3401237 SHA256 9f02d0357184de1f093c10012b52e7454a1008be6a5c185ab7a3307aceb1d12e SHA512 3173d578c36d7a20d14ffcf6406ec9fe301e71a199069b3d2e53bd0c66e7f83d6e94f071dc08f2708202ec1ace4d14f4476234cc8347a37b05317302f0cfe0cf WHIRLPOOL fb48c95d0bdd775fa273f24236a05186f64b0e69a53ad99e2c4fa89b306d2d6c0856f72abe506b655baceaabe1fa481719e002c52188f4e01ead0a6f7057db00
+DIST Babel-2.0.tar.gz 3415906 SHA256 44988df191123065af9857eca68e9151526a931c12659ca29904e4f11de7ec1b SHA512 9f12573d97f688baf0d1fc0f61055e34b67964054e70c8a6c286a8b0e42ce58da4d9c8cf54f94e51b47a5256cc4504a14bea497bd626cfad8c860d952e7a5e18 WHIRLPOOL e08b0d2d6192321f653200b9e4e96d898c12ea8176f7e0fb7c2144d3dfb6c4b6c12b85833b05b1a5e2d9ed8cec3712d09c3b0a1822ca9cc7ea4bf1cb24dac3f3
diff --git a/dev-python/Babel/files/Babel-0.9.6-setuptools.patch b/dev-python/Babel/files/Babel-0.9.6-setuptools.patch
new file mode 100644
index 000000000000..ff4ba7bba7b1
--- /dev/null
+++ b/dev-python/Babel/files/Babel-0.9.6-setuptools.patch
@@ -0,0 +1,23 @@
+From: Ben Kohler
+Date: 2012-08-13 19:59:01 UTC
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=431278
+
+remove distutils fallback which silently fails resulting
+in a broken installation
+
+this patch enforces a real failure in case of broken setuptools
+
+--- Babel-0.9.6/setup.py
++++ Babel-0.9.6/setup.py
+@@ -16,10 +16,7 @@
+ import doctest
+ from glob import glob
+ import os
+-try:
+- from setuptools import setup
+-except ImportError:
+- from distutils.core import setup
++from setuptools import setup
+ import sys
+
+ sys.path.append(os.path.join('doc', 'common'))
diff --git a/dev-python/Babel/metadata.xml b/dev-python/Babel/metadata.xml
new file mode 100644
index 000000000000..e0b8d2edbff3
--- /dev/null
+++ b/dev-python/Babel/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ A collection of tools for internationalizing Python applications
+ Babel is composed of two major parts:
+ - tools to build and work with gettext message catalogs
+ - a Python interface to the CLDR (Common Locale Data Repository),
+ providing access to various locale display names, localized number
+ and date formatting, etc.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">Babel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/BitVector/BitVector-3.3.2.ebuild b/dev-python/BitVector/BitVector-3.3.2.ebuild
new file mode 100644
index 000000000000..f8285f12344d
--- /dev/null
+++ b/dev-python/BitVector/BitVector-3.3.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure-Python memory-efficient packed representation for bit arrays"
+HOMEPAGE="http://cobweb.ecn.purdue.edu/~kak/dist/ http://pypi.python.org/pypi/BitVector"
+SRC_URI="http://cobweb.ecn.purdue.edu/~kak/dist/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+python_test() {
+ "${PYTHON}" TestBitVector/Test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/BitVector/Manifest b/dev-python/BitVector/Manifest
new file mode 100644
index 000000000000..d3171603230f
--- /dev/null
+++ b/dev-python/BitVector/Manifest
@@ -0,0 +1 @@
+DIST BitVector-3.3.2.tar.gz 128784 SHA256 8d63d4410f345e6cb7ea236d0b15b5b4b775bcff3bc1409ba2a07da3c1341c83 SHA512 47cdfec67e83679b5777004f76d7b920481d65745595aeda2e07b091ba54b332b37d8a447344dbcbbc861cba6af042f0031fe77a57b6bae57e010d9b208e3426 WHIRLPOOL 6ac840d0c7f2cd8711e68c65d81c4530c993b598c2c86a363e730a1a040a9a011075fc217e8041137a4c22b635570ffc4209bdf8f2961e82ee5b4177774d6b54
diff --git a/dev-python/BitVector/metadata.xml b/dev-python/BitVector/metadata.xml
new file mode 100644
index 000000000000..bf0f41e4651d
--- /dev/null
+++ b/dev-python/BitVector/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>
+ A pure-Python memory-efficient packed representation for bit arrays
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/Coffin/Coffin-0.3.8.ebuild b/dev-python/Coffin/Coffin-0.3.8.ebuild
new file mode 100644
index 000000000000..cfee55e95ed5
--- /dev/null
+++ b/dev-python/Coffin/Coffin-0.3.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Jinja2 adapter for Django"
+HOMEPAGE="http://github.com/coffin/coffin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/Coffin/Coffin-2.0.1.ebuild b/dev-python/Coffin/Coffin-2.0.1.ebuild
new file mode 100644
index 000000000000..f05201ec9f93
--- /dev/null
+++ b/dev-python/Coffin/Coffin-2.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Jinja2 adapter for Django"
+HOMEPAGE="http://github.com/coffin/coffin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+# Tests attempt to import an abandonned module
diff --git a/dev-python/Coffin/Manifest b/dev-python/Coffin/Manifest
new file mode 100644
index 000000000000..0d48379a8665
--- /dev/null
+++ b/dev-python/Coffin/Manifest
@@ -0,0 +1,2 @@
+DIST Coffin-0.3.8.tar.gz 35269 SHA256 be3e804ea1c740d8f09c0f811253eee4c6aeeb993455521cac6e95e1e4d6151b SHA512 e3e0b9855e14b7fc57cd164aa3ba50f84847eb8a324d4ceaf52513224d235889407c061d542a894b82d6cdc96fc378fd44856d46f471333017d7a6ac6427c7d3 WHIRLPOOL c8105e5900e0f07a461689ca0c7295bb483991ec86466f4e72b8e837631fe6135a5db9192598d1f763bbfff773a06d5b611e391620a9ac76f3313f475802d978
+DIST Coffin-2.0.1.tar.gz 9858 SHA256 b1cfb44b1ef7daabc7c607a937f85e4b89b63bd9536ee3b817461747a476a65c SHA512 e618c74a91f84e7f41411c8e34b2c97fad1a59bc5124f0f5b3439abf1b0c2972d5f59d4b71f49393e843cd588ec143c08d659e90d2cfd006d55b5244b5727ccc WHIRLPOOL a1c745eca498ac5e7877c0ce20433d22c647d9e419b5269eb1a167d9ab478c068acfd6d2d59f485e8cb2f2fe7b440aa84c34ccefdc7595fb43a9d320e08d12cd
diff --git a/dev-python/Coffin/metadata.xml b/dev-python/Coffin/metadata.xml
new file mode 100644
index 000000000000..69bd5d0783f4
--- /dev/null
+++ b/dev-python/Coffin/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Coffin</remote-id>
+ <remote-id type="github">coffin/coffin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/CoverageTestRunner/CoverageTestRunner-1.10.ebuild b/dev-python/CoverageTestRunner/CoverageTestRunner-1.10.ebuild
new file mode 100644
index 000000000000..fa8e60769951
--- /dev/null
+++ b/dev-python/CoverageTestRunner/CoverageTestRunner-1.10.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 python-r1
+
+MY_PN="python-coverage-test-runner"
+DESCRIPTION="fail Python program unit tests unless they test everything"
+HOMEPAGE="http://liw.fi/coverage-test-runner/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/${MY_PN}/${MY_PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}
+ dev-python/coverage"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/CoverageTestRunner/CoverageTestRunner-1.9-r1.ebuild b/dev-python/CoverageTestRunner/CoverageTestRunner-1.9-r1.ebuild
new file mode 100644
index 000000000000..340ad75a99fa
--- /dev/null
+++ b/dev-python/CoverageTestRunner/CoverageTestRunner-1.9-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 python-r1
+
+MY_PN="python-coverage-test-runner"
+DESCRIPTION="fail Python program unit tests unless they test everything"
+HOMEPAGE="http://liw.fi/coverage-test-runner/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/${MY_PN}/${MY_PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}
+ dev-python/coverage"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/CoverageTestRunner/Manifest b/dev-python/CoverageTestRunner/Manifest
new file mode 100644
index 000000000000..63e1ff54e6af
--- /dev/null
+++ b/dev-python/CoverageTestRunner/Manifest
@@ -0,0 +1,2 @@
+DIST python-coverage-test-runner_1.10.orig.tar.gz 19149 SHA256 550fbffe220007608e6aa41904134321d2fb32af11078cc280fe39d84b251300 SHA512 041896468863d1f06a932da4a4113d9afe952ca88004feb3ac872cc8352a94e5f4b5d7444f8b5dce49e5dc3ccfc727553d540b9865e8bf00724ae312ff1be2e6 WHIRLPOOL 3d11391e7624e8e3743d3d01cfb915523361f9cae3dbae1709eb45b6c467f4bbbbe83eacb7f093e74b25f82c2ce6e982bf921c748b73a233e96bc19cd99a4eae
+DIST python-coverage-test-runner_1.9.orig.tar.gz 19175 SHA256 d3bf062e6f7797a71e8958f2cf1b879e2037c0b2cb9b4deb73c769bafe295437 SHA512 7793fc4eed0eb92a53a4dd1662a92dc131ebefe1194196f9a8e022d8d63da779aa8f978c056e981629324465f919869b5dc31cc9b31fe5e3173f1ac3f3f5c83e WHIRLPOOL f54e309fd0526740c8b580ac2d1eea4858af313564fa59ce92b812f771199a5b6b8dc4b36d235554939db45d18d4671287e1ab7bace37fdce136c0c52c215931
diff --git a/dev-python/CoverageTestRunner/metadata.xml b/dev-python/CoverageTestRunner/metadata.xml
new file mode 100644
index 000000000000..ea7bd021a21e
--- /dev/null
+++ b/dev-python/CoverageTestRunner/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/Djblets/Djblets-0.7.31.ebuild b/dev-python/Djblets/Djblets-0.7.31.ebuild
new file mode 100644
index 000000000000..1737f53fd26c
--- /dev/null
+++ b/dev-python/Djblets/Djblets-0.7.31.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="A collection of useful extensions for Django"
+HOMEPAGE="http://github.com/djblets/djblets"
+SRC_URI="http://downloads.reviewboard.org/releases/${PN}/$(get_version_component_range 1-2)/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/django-1.4.13[${PYTHON_USEDEP}]
+ =dev-python/django-1.4*[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/django-pipeline-1.2.24[${PYTHON_USEDEP}]
+ >=dev-python/feedparser-5.1.2[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/django-evolution[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # use pillow, not PIL
+ sed -e 's/PIL/pillow/' -i setup.py Djblets.egg-info/requires.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/Djblets/Manifest b/dev-python/Djblets/Manifest
new file mode 100644
index 000000000000..732f56a82c88
--- /dev/null
+++ b/dev-python/Djblets/Manifest
@@ -0,0 +1 @@
+DIST Djblets-0.7.31.tar.gz 430369 SHA256 c6bdb1fed30ec1c77a8b07d670a170ecc55404363adf09b2860903a328909e12 SHA512 d0defd2a6e0caecd807e156d968b0128266d60aaf336303ec9ea3e01be1f01455bc763da02d639e677f1122f8eda8e039054ae16222879392eff332ec7b49969 WHIRLPOOL 7063209e5d3e55d89d4cc6fcfea584e24712d2427870448141eefedd29a94af0f4eb41df6097962d513ba09fa56b7cb1a1e5cf17a13646a2c3f046407b4f9977
diff --git a/dev-python/Djblets/metadata.xml b/dev-python/Djblets/metadata.xml
new file mode 100644
index 000000000000..ef11b595c506
--- /dev/null
+++ b/dev-python/Djblets/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">djblets/djblets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/Flask-KVSession/Flask-KVSession-0.6.1.ebuild b/dev-python/Flask-KVSession/Flask-KVSession-0.6.1.ebuild
new file mode 100644
index 000000000000..2ce175e7c357
--- /dev/null
+++ b/dev-python/Flask-KVSession/Flask-KVSession-0.6.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Transparent server-side session support for flask"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-KVSession https://github.com/mbr/flask-kvsession"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/simplekv-0.9.1[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.20[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/Flask-KVSession/Flask-KVSession-0.6.2.ebuild b/dev-python/Flask-KVSession/Flask-KVSession-0.6.2.ebuild
new file mode 100644
index 000000000000..6eb4c965cd06
--- /dev/null
+++ b/dev-python/Flask-KVSession/Flask-KVSession-0.6.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Transparent server-side session support for flask"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-KVSession https://github.com/mbr/flask-kvsession"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/simplekv-0.9.1[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.20[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/Flask-KVSession/Manifest b/dev-python/Flask-KVSession/Manifest
new file mode 100644
index 000000000000..0482ceaa704a
--- /dev/null
+++ b/dev-python/Flask-KVSession/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-KVSession-0.6.1.tar.gz 37725 SHA256 19a5d44aca843999f5f6f87a618dab44272db227a959867a4c6c64ae3a743a55 SHA512 a0de01d546996c0f09d1cfa2c537fb3868717bcfcdbd3f3f93c2102349bdd1e9fd00d1efcf1c3a80f9cddf173ed43781774e75c7cf1114a1aff549c1f98160da WHIRLPOOL 8f08cc60e26699352199fb479cc6eac7ac0c224d2cee5089dc2d45cfb29380842444bd90662175357f35ee0414c8d418d3c8f172ce303602499946250f80f3e4
+DIST Flask-KVSession-0.6.2.tar.gz 38037 SHA256 9c0ee93fae089c45baeda0a3fd3ae32a96ee81c34996017749f8b3fd06df936c SHA512 11cbb4ee74dc2a1b44dd1f91729dfb65fc9beb9d93c86ce06a861eba8bd87139897a9f6dca0b5f7f8249034b5eeb3c93327e956b4ea34cd409adfc889b75e33b WHIRLPOOL 2f1363edbb93fbbe33b4e1e08247a717ac45c4cad50554e8ecf824590376e77aa645cfb5e6e37d200cd561db69840d0f986797f519c74f4adf0dc562ea6db3ea
diff --git a/dev-python/Flask-KVSession/metadata.xml b/dev-python/Flask-KVSession/metadata.xml
new file mode 100644
index 000000000000..c4f1b66a1a32
--- /dev/null
+++ b/dev-python/Flask-KVSession/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ <description>Python team can take the package if they wish.</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Flask-KVSession</remote-id>
+ <remote-id type="github">mbr/flask-kvsession</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/GridDataFormats/GridDataFormats-0.2.2.ebuild b/dev-python/GridDataFormats/GridDataFormats-0.2.2.ebuild
new file mode 100644
index 000000000000..e445b9bc2db0
--- /dev/null
+++ b/dev-python/GridDataFormats/GridDataFormats-0.2.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Reading and writing of data on regular grids in Python"
+HOMEPAGE="https://pypi.python.org/pypi/GridDataFormats"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/numpy-1.0.3[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
diff --git a/dev-python/GridDataFormats/GridDataFormats-0.2.5.ebuild b/dev-python/GridDataFormats/GridDataFormats-0.2.5.ebuild
new file mode 100644
index 000000000000..68462ade6c18
--- /dev/null
+++ b/dev-python/GridDataFormats/GridDataFormats-0.2.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Reading and writing of data on regular grids in Python"
+HOMEPAGE="https://pypi.python.org/pypi/GridDataFormats https://github.com/MDAnalysis/GridDataFormats"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/numpy-1.0.3[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
diff --git a/dev-python/GridDataFormats/Manifest b/dev-python/GridDataFormats/Manifest
new file mode 100644
index 000000000000..8f1f30cc5235
--- /dev/null
+++ b/dev-python/GridDataFormats/Manifest
@@ -0,0 +1,2 @@
+DIST GridDataFormats-0.2.2.tar.gz 42363 SHA256 8305897bb291b5cd4e6513e54225f149fab2f5ad13b3437dff77aa6d6c02a383 SHA512 671ed6da8a4447f90f6a95b8fdec53ba793134bbe0adac0b12d97b66ea7e36754a14b64a21926438e8c901d7e9171e56a82fab8d8989fa09fa6bae512bbac229 WHIRLPOOL 2a2bdb3267faed86264297bb5933af7b2d3308587341c905bc091d214dfa9d11bdce3b9efc7c13baae234a291d93374f38326bd8585c75c0de0fe8848414c17b
+DIST GridDataFormats-0.2.5.tar.gz 40725 SHA256 f13d8412433d625fa8dfb17152f3593ec5364f771d2157a387f1abda9d1eeefb SHA512 aa16f9046855417f9878b8f7d59fd7ec96025f7c4696c6025fad520f55a5684881966ba3e8a6189c746dcfb57ac969ed62acdcc38d758fe6bea1b20d45b8fa85 WHIRLPOOL a80f19025c01a76f937d636d4d18dad1604a6a60f7cac27aacec5d6d0f81cbd077d01e702dffeae2e8429746465c185def42380a967cc9c08c9049fb065e01f0
diff --git a/dev-python/GridDataFormats/metadata.xml b/dev-python/GridDataFormats/metadata.xml
new file mode 100644
index 000000000000..f73931c612f7
--- /dev/null
+++ b/dev-python/GridDataFormats/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">GridDataFormats</remote-id>
+ <remote-id type="github">MDAnalysis/GridDataFormats</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/Kivy/Kivy-1.8.0.ebuild b/dev-python/Kivy/Kivy-1.8.0.ebuild
new file mode 100644
index 000000000000..af6192ab7228
--- /dev/null
+++ b/dev-python/Kivy/Kivy-1.8.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A software library for rapid development of hardware-accelerated multitouch applications"
+HOMEPAGE="http://kivy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cairo camera doc examples garden gstreamer spell"
+
+RDEPEND="
+ dev-python/pygame[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ cairo? ( dev-python/pycairo[${PYTHON_USEDEP}] )
+ camera? ( media-libs/opencv )
+ garden? ( dev-python/kivy-garden[${PYTHON_USEDEP}] )
+ gstreamer? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+ "
+RDEPEND="${DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e '/data_files=/d' -i "${S}/setup.py" || die
+ epatch "${FILESDIR}/cython-fixes.patch"
+ if has_version '>=dev-python/cython-0.22' ; then
+ epatch "${FILESDIR}/cython-0.22.patch"
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && DOCS=( doc/sources/. )
+ use examples && EXAMPLES=( examples )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/Kivy/Kivy-1.9.0.ebuild b/dev-python/Kivy/Kivy-1.9.0.ebuild
new file mode 100644
index 000000000000..9dbec84d0a6d
--- /dev/null
+++ b/dev-python/Kivy/Kivy-1.9.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A software library for rapid development of hardware-accelerated multitouch applications"
+HOMEPAGE="http://kivy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cairo camera doc examples garden gstreamer spell"
+
+RDEPEND="
+ dev-python/pygame[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ cairo? ( dev-python/pycairo[${PYTHON_USEDEP}] )
+ camera? ( media-libs/opencv )
+ garden? ( dev-python/kivy-garden[${PYTHON_USEDEP}] )
+ gstreamer? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ spell? ( dev-python/pyenchant[${PYTHON_USEDEP}] )
+ "
+DEPEND="${RDEPEND}
+ <=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}"/${P}-cython-0.22-backport.patch )
+
+python_prepare_all() {
+ sed -e '/data_files=/d' -i "${S}/setup.py" || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && DOCS=( doc/sources/. )
+ use examples && EXAMPLES=( examples )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/Kivy/Manifest b/dev-python/Kivy/Manifest
new file mode 100644
index 000000000000..f81ab10cd867
--- /dev/null
+++ b/dev-python/Kivy/Manifest
@@ -0,0 +1,2 @@
+DIST Kivy-1.8.0.tar.gz 14655888 SHA256 1bb5add88132c902ed746e7624034ecaab49e61f3fbbfde231604e887e6fb324 SHA512 e7057b008cceec9513961ddc3d4aaef2aa1a10de9c2de09ad82bd90ca88300047374e5f8c982cb018712fb0465c03208108c3110887ef383c00a45ee9e5bc81d WHIRLPOOL a6530edebcae34aede981c2f0db37a26a9378e148a073dc1396096b4db04ebdef0f6d96de4222383a5e2d84858bdf10383611751f9bf5ae625eafc67d1cf702f
+DIST Kivy-1.9.0.tar.gz 16178808 SHA256 b828617f858963f7873f5c81bb8824ca1dfa265e7811fce03599e2ba7200ffa0 SHA512 e0efc27f8ae070f5748570ee9224220791d32e931bbaf0bad5ddee894cf1d0f9ded5eebcc54d3b666491edaab0316923311f5e0cc7b1e46929d87ea3bec87f21 WHIRLPOOL c57c696752c88d3c8643e126180aa00b864df45bad0de4e6456143fd0f1486085a258a787ec2e4017b982004dd5a1212b11dbcb352f1f72b77591fa5fd9c934e
diff --git a/dev-python/Kivy/files/Kivy-1.9.0-cython-0.22-backport.patch b/dev-python/Kivy/files/Kivy-1.9.0-cython-0.22-backport.patch
new file mode 100644
index 000000000000..cea6fd2501d7
--- /dev/null
+++ b/dev-python/Kivy/files/Kivy-1.9.0-cython-0.22-backport.patch
@@ -0,0 +1,713 @@
+From 124fe6c7f08defb36305f6aa0bba203ab645ab8a Mon Sep 17 00:00:00 2001
+From: Alexander Taylor <alexanderjohntaylor@gmail.com>
+Date: Sat, 18 Apr 2015 17:03:03 +0100
+Subject: [PATCH] Changed 'except *' to 'except -1' for cython 0.22
+
+---
+ kivy/graphics/context_instructions.pxd | 22 +++++++-------
+ kivy/graphics/context_instructions.pyx | 8 ++---
+ kivy/graphics/fbo.pxd | 2 +-
+ kivy/graphics/fbo.pyx | 3 +-
+ kivy/graphics/gl_instructions.pyx | 8 +++--
+ kivy/graphics/instructions.pxd | 30 +++++++++---------
+ kivy/graphics/instructions.pyx | 49 ++++++++++++++++++------------
+ kivy/graphics/shader.pxd | 12 ++++----
+ kivy/graphics/shader.pyx | 25 +++++++++------
+ kivy/graphics/stencil_instructions.pxd | 8 ++---
+ kivy/graphics/stencil_instructions.pyx | 14 ++++++---
+ kivy/graphics/vertex_instructions_line.pxi | 9 +++---
+ setup.py | 8 ++---
+ 13 files changed, 110 insertions(+), 88 deletions(-)
+
+diff --git a/kivy/graphics/context_instructions.pxd b/kivy/graphics/context_instructions.pxd
+index f6562b1..f8027e2 100644
+--- a/kivy/graphics/context_instructions.pxd
++++ b/kivy/graphics/context_instructions.pxd
+@@ -16,39 +16,39 @@ cdef class PopState(ContextInstruction):
+ pass
+
+ cdef class LineWidth(ContextInstruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class Color(ContextInstruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class BindTexture(ContextInstruction):
+ cdef int _index
+ cdef object _source
+ cdef Texture _texture
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+
+ cdef class LoadIdentity(ContextInstruction):
+ pass
+
+ cdef class PushMatrix(ContextInstruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class PopMatrix(ContextInstruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class ApplyContextMatrix(ContextInstruction):
+ cdef object _target_stack
+ cdef object _source_stack
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class UpdateNormalMatrix(ContextInstruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class MatrixInstruction(ContextInstruction):
+ cdef object _stack
+ cdef Matrix _matrix
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+ cdef class Transform(MatrixInstruction):
+ cpdef transform(self, Matrix trans)
+@@ -61,17 +61,17 @@ cdef class Rotate(Transform):
+ cdef float _angle
+ cdef tuple _axis
+ cdef tuple _origin
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef void compute(self)
+
+ cdef class Scale(Transform):
+ cdef tuple _origin
+ cdef float _x, _y, _z
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef set_scale(self, double x, double y, double z)
+
+ cdef class Translate(Transform):
+ cdef double _x, _y, _z
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef set_translate(self, double x, double y, double z)
+
+diff --git a/kivy/graphics/context_instructions.pyx b/kivy/graphics/context_instructions.pyx
+index 2107a2c..189656a 100644
+--- a/kivy/graphics/context_instructions.pyx
++++ b/kivy/graphics/context_instructions.pyx
+@@ -344,7 +344,7 @@ cdef class BindTexture(ContextInstruction):
+
+ self.index = kwargs.get('index', 0)
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef RenderContext context = self.get_context()
+ context.set_texture(self._index, self._texture)
+
+@@ -458,7 +458,7 @@ cdef class ApplyContextMatrix(ContextInstruction):
+ self.target_stack = kwargs.get('target_stack', 'modelview_mat')
+ self.source_stack = kwargs.get('source_stack', 'modelview_mat')
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef RenderContext context = self.get_context()
+ m = context.get_state(self._target_stack)
+ m = m.multiply(context.get_state(self._source_stack))
+@@ -494,7 +494,7 @@ cdef class UpdateNormalMatrix(ContextInstruction):
+
+ .. versionadded:: 1.6.0
+ '''
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef RenderContext context = self.get_context()
+ mvm = context.get_state('modelview_mat')
+ context.set_state('normal_mat', mvm.normal_matrix())
+@@ -509,7 +509,7 @@ cdef class MatrixInstruction(ContextInstruction):
+ self.stack = kwargs.get('stack', 'modelview_mat')
+ self._matrix = None
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ '''Apply the matrix of this instance to the
+ context model view matrix.
+ '''
+diff --git a/kivy/graphics/fbo.pxd b/kivy/graphics/fbo.pxd
+index 31b281a..2c202dd 100644
+--- a/kivy/graphics/fbo.pxd
++++ b/kivy/graphics/fbo.pxd
+@@ -24,7 +24,7 @@ cdef class Fbo(RenderContext):
+
+ cdef void create_fbo(self)
+ cdef void delete_fbo(self)
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef void raise_exception(self, str message, int status=?)
+ cdef str resolve_status(self, int status)
+ cdef void reload(self)
+diff --git a/kivy/graphics/fbo.pyx b/kivy/graphics/fbo.pyx
+index 901d600..d7f6c09 100644
+--- a/kivy/graphics/fbo.pyx
++++ b/kivy/graphics/fbo.pyx
+@@ -323,12 +323,13 @@ cdef class Fbo(RenderContext):
+ else:
+ glClear(GL_COLOR_BUFFER_BIT)
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ if self.flags & GI_NEEDS_UPDATE:
+ self.bind()
+ RenderContext.apply(self)
+ self.release()
+ self.flag_update_done()
++ return 0
+
+ cdef void reload(self):
+ # recreate the framebuffer, without deleting it. the deletion is not
+diff --git a/kivy/graphics/gl_instructions.pyx b/kivy/graphics/gl_instructions.pyx
+index afe3404..78b0fe5 100644
+--- a/kivy/graphics/gl_instructions.pyx
++++ b/kivy/graphics/gl_instructions.pyx
+@@ -50,8 +50,9 @@ cdef class ClearColor(Instruction):
+ self.b = b
+ self.a = a
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ glClearColor(self.r, self.g, self.b, self.a)
++ return 0
+
+ property rgba:
+ '''RGBA color used for the clear color, a list of 4 values in the 0-1
+@@ -136,7 +137,7 @@ cdef class ClearBuffers(Instruction):
+ self.clear_stencil = int(kwargs.get('clear_stencil', 0))
+ self.clear_depth = int(kwargs.get('clear_depth', 0))
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef GLbitfield mask = 0
+ if self.clear_color:
+ mask |= GL_COLOR_BUFFER_BIT
+@@ -145,7 +146,8 @@ cdef class ClearBuffers(Instruction):
+ if self.clear_depth:
+ mask |= GL_DEPTH_BUFFER_BIT
+ glClear(mask)
+-
++ return 0
++
+ property clear_color:
+ '''If True, the color buffer will be cleared.
+ '''
+diff --git a/kivy/graphics/instructions.pxd b/kivy/graphics/instructions.pxd
+index 9008aef..09b0fd6 100644
+--- a/kivy/graphics/instructions.pxd
++++ b/kivy/graphics/instructions.pxd
+@@ -26,7 +26,7 @@ cdef class Instruction(ObjectWithUid):
+ cdef object __weakref__
+ cdef object __proxy_ref
+
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ IF DEBUG:
+ cdef int flag_update(self, int do_parent=?, list _instrs=?) except -1
+ ELSE:
+@@ -58,9 +58,9 @@ cdef class ContextInstruction(Instruction):
+ cdef list context_pop
+
+ cdef RenderContext get_context(self)
+- cdef void set_state(self, str name, value) except *
+- cdef void push_state(self, str name) except *
+- cdef void pop_state(self, str name) except *
++ cdef int set_state(self, str name, value) except -1
++ cdef int push_state(self, str name) except -1
++ cdef int pop_state(self, str name) except -1
+
+
+ from context_instructions cimport BindTexture
+@@ -80,8 +80,8 @@ cdef class Callback(Instruction):
+ cdef Shader _shader
+ cdef object func
+ cdef int _reset_context
+- cdef void apply(self)
+- cdef void enter(self)
++ cdef int apply(self) except -1
++ cdef int enter(self) except -1
+
+
+
+@@ -99,7 +99,7 @@ cdef class Canvas(CanvasBase):
+ cpdef add(self, Instruction c)
+ cpdef remove(self, Instruction c)
+ cpdef draw(self)
+- cdef void apply(self)
++ cdef int apply(self) except -1
+
+
+ cdef class RenderContext(Canvas):
+@@ -113,14 +113,14 @@ cdef class RenderContext(Canvas):
+ cdef void set_texture(self, int index, Texture texture)
+ cdef void set_state(self, str name, value, int apply_now=?)
+ cdef get_state(self, str name)
+- cdef void set_states(self, dict states) except *
+- cdef void push_state(self, str name) except *
+- cdef void push_states(self, list names) except *
+- cdef void pop_state(self, str name) except *
+- cdef void pop_states(self, list names) except *
+- cdef void enter(self) except *
+- cdef void leave(self) except *
+- cdef void apply(self) except *
++ cdef int set_states(self, dict states) except -1
++ cdef int push_state(self, str name) except -1
++ cdef int push_states(self, list names) except -1
++ cdef int pop_state(self, str name) except -1
++ cdef int pop_states(self, list names) except -1
++ cdef int enter(self) except -1
++ cdef int leave(self) except -1
++ cdef int apply(self) except -1
+ cpdef draw(self)
+ cdef void reload(self)
+
+diff --git a/kivy/graphics/instructions.pyx b/kivy/graphics/instructions.pyx
+index 2b5e081..5249556 100644
+--- a/kivy/graphics/instructions.pyx
++++ b/kivy/graphics/instructions.pyx
+@@ -57,8 +57,8 @@ cdef class Instruction(ObjectWithUid):
+ if self.parent:
+ self.parent.add(self)
+
+- cdef void apply(self):
+- pass
++ cdef int apply(self) except -1:
++ return 0
+
+ IF DEBUG:
+ cdef int flag_update(self, int do_parent=1, list _instrs=None) except -1:
+@@ -145,7 +145,7 @@ cdef class InstructionGroup(Instruction):
+ else:
+ self.compiler = GraphicsCompiler()
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef Instruction c
+ cdef list children
+ if self.compiler is not None:
+@@ -161,6 +161,7 @@ cdef class InstructionGroup(Instruction):
+ else:
+ for c in self.children:
+ c.apply()
++ return 0
+
+ cdef void build(self):
+ self.compiled_children = self.compiler.compile(self)
+@@ -246,7 +247,7 @@ cdef class ContextInstruction(Instruction):
+ cdef RenderContext context = getActiveContext()
+ return context
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef RenderContext context = self.get_context()
+ if self.context_push:
+ context.push_states(self.context_push)
+@@ -254,20 +255,20 @@ cdef class ContextInstruction(Instruction):
+ context.set_states(self.context_state)
+ if self.context_pop:
+ context.pop_states(self.context_pop)
++ return 0
+
+- cdef void set_state(self, str name, value):
++ cdef int set_state(self, str name, value) except -1:
+ self.context_state[name] = value
+ self.flag_update()
+
+- cdef void push_state(self, str name):
++ cdef int push_state(self, str name) except -1:
+ self.context_push.append(name)
+ self.flag_update()
+
+- cdef void pop_state(self, str name):
++ cdef int pop_state(self, str name) except -1:
+ self.context_pop.append(name)
+ self.flag_update()
+
+-
+ cdef class VertexInstruction(Instruction):
+ '''The VertexInstruction class is the base for all graphics instructions
+ that have a direct visual representation on the canvas, such as Rectangles,
+@@ -400,11 +401,12 @@ cdef class VertexInstruction(Instruction):
+ cdef void build(self):
+ pass
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ if self.flags & GI_NEEDS_UPDATE:
+ self.build()
+ self.flag_update_done()
+ self.batch.draw()
++ return 0
+
+
+ cdef class Callback(Instruction):
+@@ -466,7 +468,7 @@ cdef class Callback(Instruction):
+ '''
+ self.flag_update()
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef RenderContext rcx
+ cdef Context ctx
+ cdef Shader shader
+@@ -512,9 +514,11 @@ cdef class Callback(Instruction):
+ rcx.set_texture(index, texture)
+
+ reset_gl_context()
++ return 0
+
+- cdef void enter(self):
++ cdef int enter(self) except -1:
+ self._shader.use()
++ return 0
+
+ property reset_context:
+ '''Set this to True if you want to reset the OpenGL context for Kivy
+@@ -597,7 +601,7 @@ cdef class Canvas(CanvasBase):
+ '''
+ self.apply()
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef float opacity = self._opacity
+ cdef float rc_opacity
+ cdef RenderContext rc
+@@ -609,6 +613,7 @@ cdef class Canvas(CanvasBase):
+ InstructionGroup.apply(self)
+ if opacity != 1.0:
+ rc.pop_state('opacity')
++ return 0
+
+ cpdef add(self, Instruction c):
+ # the after group must remain the last one.
+@@ -786,29 +791,29 @@ cdef class RenderContext(Canvas):
+ cdef get_state(self, str name):
+ return self.state_stacks[name][-1]
+
+- cdef void set_states(self, dict states):
++ cdef int set_states(self, dict states) except -1:
+ cdef str name
+ for name, value in states.iteritems():
+ self.set_state(name, value)
+
+- cdef void push_state(self, str name):
++ cdef int push_state(self, str name) except -1:
+ stack = self.state_stacks[name]
+ stack.append(stack[-1])
+ self.flag_update()
+
+- cdef void push_states(self, list names):
++ cdef int push_states(self, list names) except -1:
+ cdef str name
+ for name in names:
+ self.push_state(name)
+
+- cdef void pop_state(self, str name):
++ cdef int pop_state(self, str name) except -1:
+ stack = self.state_stacks[name]
+ oldvalue = stack.pop()
+ if oldvalue != stack[-1]:
+ self.set_state(name, stack[-1])
+ self.flag_update()
+
+- cdef void pop_states(self, list names):
++ cdef int pop_states(self, list names) except -1:
+ cdef str name
+ for name in names:
+ self.pop_state(name)
+@@ -828,13 +833,15 @@ cdef class RenderContext(Canvas):
+ texture.bind()
+ self.flag_update()
+
+- cdef void enter(self):
++ cdef int enter(self) except -1:
+ self._shader.use()
++ return 0
+
+- cdef void leave(self):
++ cdef int leave(self) except -1:
+ self._shader.stop()
++ return 0
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ cdef list keys
+ if PY2:
+ keys = self.state_stacks.keys()
+@@ -857,6 +864,8 @@ cdef class RenderContext(Canvas):
+ popActiveContext()
+ self.flag_update_done()
+
++ return 0
++
+ cdef void reload(self):
+ pushActiveContext(self)
+ reset_gl_context()
+diff --git a/kivy/graphics/shader.pxd b/kivy/graphics/shader.pxd
+index c418207..1058ff4 100644
+--- a/kivy/graphics/shader.pxd
++++ b/kivy/graphics/shader.pxd
+@@ -26,14 +26,14 @@ cdef class Shader:
+
+ cdef void use(self)
+ cdef void stop(self)
+- cdef void set_uniform(self, str name, value) except *
+- cdef void upload_uniform(self, str name, value) except *
++ cdef int set_uniform(self, str name, value) except -1
++ cdef int upload_uniform(self, str name, value) except -1
+ cdef void upload_uniform_matrix(self, int loc, Matrix value)
+ cdef int get_uniform_loc(self, str name) except *
+- cdef void build(self) except *
+- cdef void build_vertex(self, int link=*) except *
+- cdef void build_fragment(self, int link=*) except *
+- cdef void link_program(self) except *
++ cdef int build(self) except -1
++ cdef int build_vertex(self, int link=*) except -1
++ cdef int build_fragment(self, int link=*) except -1
++ cdef int link_program(self) except -1
+ cdef int is_linked(self)
+ cdef ShaderSource compile_shader(self, str source, int shadertype)
+ cdef get_program_log(self, shader)
+diff --git a/kivy/graphics/shader.pyx b/kivy/graphics/shader.pyx
+index acda2bf..edb1c5a 100644
+--- a/kivy/graphics/shader.pyx
++++ b/kivy/graphics/shader.pyx
+@@ -230,13 +230,14 @@ cdef class Shader:
+ '''
+ glUseProgram(0)
+
+- cdef void set_uniform(self, str name, value):
++ cdef int set_uniform(self, str name, value) except -1:
+ if name in self.uniform_values and self.uniform_values[name] == value:
+- return
++ return 0
+ self.uniform_values[name] = value
+ self.upload_uniform(name, value)
++ return 0
+
+- cdef void upload_uniform(self, str name, value):
++ cdef int upload_uniform(self, str name, value) except -1:
+ '''Pass a uniform variable to the shader.
+ '''
+ cdef long vec_size, index, x, y
+@@ -255,7 +256,7 @@ cdef class Shader:
+ #Logger.debug('Shader: uploading uniform %s (loc=%d, value=%r)' % (name, loc, value))
+ if loc == -1:
+ #Logger.debug('Shader: -> ignored')
+- return
++ return 0
+ #Logger.debug('Shader: -> (gl:%d) %s' % (glGetError(), str(value)))
+
+ if val_type is Matrix:
+@@ -414,6 +415,7 @@ cdef class Shader:
+ free(int_list)
+ else:
+ raise Exception('for <%s>, type not handled <%s>' % (name, val_type))
++ return 0
+
+ cdef void upload_uniform_matrix(self, int loc, Matrix value):
+ cdef GLfloat mat[16]
+@@ -421,7 +423,7 @@ cdef class Shader:
+ mat[x] = <GLfloat>value.mat[x]
+ glUniformMatrix4fv(loc, 1, False, mat)
+
+- cdef int get_uniform_loc(self, str name):
++ cdef int get_uniform_loc(self, str name) except *:
+ cdef bytes c_name = name.encode('utf-8')
+ cdef int loc = glGetUniformLocation(self.program, c_name)
+ self.uniform_locations[name] = loc
+@@ -462,11 +464,12 @@ cdef class Shader:
+ # save for the next run.
+ self._current_vertex_format = vertex_format
+
+- cdef void build(self):
++ cdef int build(self) except -1:
+ self.build_vertex()
+ self.build_fragment()
++ return 0
+
+- cdef void build_vertex(self, int link=1):
++ cdef int build_vertex(self, int link=1) except -1:
+ if self.vertex_shader is not None:
+ glDetachShader(self.program, self.vertex_shader.shader)
+ self.vertex_shader = None
+@@ -475,8 +478,9 @@ cdef class Shader:
+ glAttachShader(self.program, self.vertex_shader.shader)
+ if link:
+ self.link_program()
++ return 0
+
+- cdef void build_fragment(self, int link=1):
++ cdef int build_fragment(self, int link=1) except -1:
+ if self.fragment_shader is not None:
+ glDetachShader(self.program, self.fragment_shader.shader)
+ self.fragment_shader = None
+@@ -486,9 +490,9 @@ cdef class Shader:
+ if link:
+ self.link_program()
+
+- cdef void link_program(self):
++ cdef int link_program(self) except -1:
+ if self.vertex_shader is None or self.fragment_shader is None:
+- return
++ return 0
+
+ # XXX to ensure that shader is ok, read error state right now.
+ glGetError()
+@@ -503,6 +507,7 @@ cdef class Shader:
+ self._success = 0
+ raise Exception('Shader didnt link, check info log.')
+ self._success = 1
++ return 0
+
+ cdef int is_linked(self):
+ cdef GLint result = 0
+diff --git a/kivy/graphics/stencil_instructions.pxd b/kivy/graphics/stencil_instructions.pxd
+index 1cf556e..4d33c44 100644
+--- a/kivy/graphics/stencil_instructions.pxd
++++ b/kivy/graphics/stencil_instructions.pxd
+@@ -1,11 +1,11 @@
+ from kivy.graphics.instructions cimport Instruction
+
+ cdef class StencilPush(Instruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef class StencilPop(Instruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef class StencilUse(Instruction):
+ cdef unsigned int _op
+- cdef void apply(self)
++ cdef int apply(self) except -1
+ cdef class StencilUnUse(Instruction):
+- cdef void apply(self)
++ cdef int apply(self) except -1
+diff --git a/kivy/graphics/stencil_instructions.pyx b/kivy/graphics/stencil_instructions.pyx
+index 469a239..67cc709 100644
+--- a/kivy/graphics/stencil_instructions.pyx
++++ b/kivy/graphics/stencil_instructions.pyx
+@@ -126,7 +126,7 @@ cdef class StencilPush(Instruction):
+ '''Push the stencil stack. See the module documentation for more
+ information.
+ '''
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ global _stencil_level, _stencil_in_push
+ if _stencil_in_push:
+ raise Exception('Cannot use StencilPush inside another '
+@@ -146,11 +146,12 @@ cdef class StencilPush(Instruction):
+ glStencilFunc(GL_ALWAYS, 0, 0)
+ glStencilOp(GL_INCR, GL_INCR, GL_INCR)
+ glColorMask(0, 0, 0, 0)
++ return 0
+
+ cdef class StencilPop(Instruction):
+ '''Pop the stencil stack. See the module documentation for more information.
+ '''
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ global _stencil_level, _stencil_in_push
+ if _stencil_level == 0:
+ raise Exception('Too much StencilPop (stack underflow)')
+@@ -159,10 +160,11 @@ cdef class StencilPop(Instruction):
+ glColorMask(1, 1, 1, 1)
+ if _stencil_level == 0:
+ glDisable(GL_STENCIL_TEST)
+- return
++ return 0
+ # reset for previous
+ glStencilFunc(GL_EQUAL, _stencil_level, 0xff)
+ glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)
++ return 0
+
+
+ cdef class StencilUse(Instruction):
+@@ -176,12 +178,13 @@ cdef class StencilUse(Instruction):
+ else:
+ self._op = GL_EQUAL
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ global _stencil_in_push
+ _stencil_in_push = 0
+ glColorMask(1, 1, 1, 1)
+ glStencilFunc(self._op, _stencil_level, 0xff)
+ glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)
++ return 0
+
+ property func_op:
+ '''Determine the stencil operation to use for glStencilFunc(). Can be
+@@ -207,7 +210,8 @@ cdef class StencilUse(Instruction):
+ cdef class StencilUnUse(Instruction):
+ '''Use current stencil buffer to unset the mask.
+ '''
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ glStencilFunc(GL_ALWAYS, 0, 0)
+ glStencilOp(GL_DECR, GL_DECR, GL_DECR)
+ glColorMask(0, 0, 0, 0)
++ return 0
+diff --git a/kivy/graphics/vertex_instructions_line.pxi b/kivy/graphics/vertex_instructions_line.pxi
+index b074a22..0c13132 100644
+--- a/kivy/graphics/vertex_instructions_line.pxi
++++ b/kivy/graphics/vertex_instructions_line.pxi
+@@ -174,10 +174,10 @@ cdef class Line(VertexInstruction):
+ self._stencil_use = StencilUse(op='lequal')
+ self._stencil_unuse = StencilUnUse()
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ if self._width == 1.:
+ VertexInstruction.apply(self)
+- return
++ return 0
+
+ cdef double alpha = getActiveContext()['color'][-1]
+ self._use_stencil = alpha < 1
+@@ -195,6 +195,7 @@ cdef class Line(VertexInstruction):
+ self._stencil_pop.apply()
+ else:
+ VertexInstruction.apply(self)
++ return 0
+
+ cdef void build_legacy(self):
+ cdef int i
+@@ -1238,9 +1239,9 @@ cdef class SmoothLine(Line):
+
+ self.build_smooth()
+
+- cdef void apply(self):
++ cdef int apply(self) except -1:
+ VertexInstruction.apply(self)
+- return
++ return 0
+
+ cdef void build_smooth(self):
+ cdef:
+diff --git a/setup.py b/setup.py
+index 76d7c82..30cc091 100644
+--- a/setup.py
++++ b/setup.py
+@@ -31,12 +31,12 @@ def ver_equal(self, other):
+
+ MIN_CYTHON_STRING = '0.20'
+ MIN_CYTHON_VERSION = LooseVersion(MIN_CYTHON_STRING)
+-MAX_CYTHON_STRING = '0.21.2'
++MAX_CYTHON_STRING = '0.22'
+ MAX_CYTHON_VERSION = LooseVersion(MAX_CYTHON_STRING)
+ CYTHON_UNSUPPORTED = (
+- LooseVersion('0.22'),
+- LooseVersion('0.22.beta0'),
+- LooseVersion('0.22.alpha0'),
++ # LooseVersion('0.22'),
++ # LooseVersion('0.22.beta0'),
++ # LooseVersion('0.22.alpha0'),
+ )
+
+
diff --git a/dev-python/Kivy/files/cython-0.22.patch b/dev-python/Kivy/files/cython-0.22.patch
new file mode 100644
index 000000000000..9b125f9ad648
--- /dev/null
+++ b/dev-python/Kivy/files/cython-0.22.patch
@@ -0,0 +1,139 @@
+--- kivy/graphics.orig/shader.pyx 2015-02-19 07:27:13.062070969 +0100
++++ kivy/graphics/shader.pyx 2015-02-19 07:27:22.838737743 +0100
+@@ -221,13 +221,13 @@
+ '''
+ glUseProgram(0)
+
+- cdef void set_uniform(self, str name, value):
++ cdef void set_uniform(self, str name, value) except *:
+ if name in self.uniform_values and self.uniform_values[name] == value:
+ return
+ self.uniform_values[name] = value
+ self.upload_uniform(name, value)
+
+- cdef void upload_uniform(self, str name, value):
++ cdef void upload_uniform(self, str name, value) except *:
+ '''Pass a uniform variable to the shader.
+ '''
+ cdef long vec_size, index, x, y
+@@ -412,7 +412,7 @@
+ mat[x] = <GLfloat>value.mat[x]
+ glUniformMatrix4fv(loc, 1, False, mat)
+
+- cdef int get_uniform_loc(self, str name):
++ cdef int get_uniform_loc(self, str name) except *:
+ cdef bytes c_name = name.encode('utf-8')
+ cdef int loc = glGetUniformLocation(self.program, c_name)
+ self.uniform_locations[name] = loc
+@@ -453,11 +453,11 @@
+ # save for the next run.
+ self._current_vertex_format = vertex_format
+
+- cdef void build(self):
++ cdef void build(self) except *:
+ self.build_vertex()
+ self.build_fragment()
+
+- cdef void build_vertex(self, int link=1):
++ cdef void build_vertex(self, int link=1) except *:
+ if self.vertex_shader is not None:
+ glDetachShader(self.program, self.vertex_shader.shader)
+ self.vertex_shader = None
+@@ -467,7 +467,7 @@
+ if link:
+ self.link_program()
+
+- cdef void build_fragment(self, int link=1):
++ cdef void build_fragment(self, int link=1) except *:
+ if self.fragment_shader is not None:
+ glDetachShader(self.program, self.fragment_shader.shader)
+ self.fragment_shader = None
+@@ -477,7 +477,7 @@
+ if link:
+ self.link_program()
+
+- cdef void link_program(self):
++ cdef void link_program(self) except *:
+ if self.vertex_shader is None or self.fragment_shader is None:
+ return
+
+--- kivy/graphics.orig/instructions.pyx 2015-02-19 07:27:13.062070969 +0100
++++ kivy/graphics/instructions.pyx 2014-01-20 03:49:50.000000000 +0100
+@@ -233,15 +233,15 @@
+ if self.context_pop:
+ context.pop_states(self.context_pop)
+
+- cdef void set_state(self, str name, value):
++ cdef void set_state(self, str name, value) except *:
+ self.context_state[name] = value
+ self.flag_update()
+
+- cdef void push_state(self, str name):
++ cdef void push_state(self, str name) except *:
+ self.context_push.append(name)
+ self.flag_update()
+
+- cdef void pop_state(self, str name):
++ cdef void pop_state(self, str name) except *:
+ self.context_pop.append(name)
+ self.flag_update()
+
+@@ -764,29 +764,29 @@
+ cdef get_state(self, str name):
+ return self.state_stacks[name][-1]
+
+- cdef void set_states(self, dict states):
++ cdef void set_states(self, dict states) except *:
+ cdef str name
+ for name, value in states.iteritems():
+ self.set_state(name, value)
+
+- cdef void push_state(self, str name):
++ cdef void push_state(self, str name) except *:
+ stack = self.state_stacks[name]
+ stack.append(stack[-1])
+ self.flag_update()
+
+- cdef void push_states(self, list names):
++ cdef void push_states(self, list names) except *:
+ cdef str name
+ for name in names:
+ self.push_state(name)
+
+- cdef void pop_state(self, str name):
++ cdef void pop_state(self, str name) except *:
+ stack = self.state_stacks[name]
+ oldvalue = stack.pop()
+ if oldvalue != stack[-1]:
+ self.set_state(name, stack[-1])
+ self.flag_update()
+
+- cdef void pop_states(self, list names):
++ cdef void pop_states(self, list names) except *:
+ cdef str name
+ for name in names:
+ self.pop_state(name)
+@@ -806,10 +806,10 @@
+ texture.bind()
+ self.flag_update()
+
+- cdef void enter(self):
++ cdef void enter(self) except *:
+ self._shader.use()
+
+- cdef void leave(self):
++ cdef void leave(self) except *:
+ self._shader.stop()
+
+ cdef void apply(self):
+--- kivy/graphics.orig/instructions.pxd 2015-02-19 07:44:16.315415541 +0100
++++ kivy/graphics/instructions.pxd 2014-01-20 03:49:50.000000000 +0100
+@@ -115,7 +115,7 @@
+ cdef void pop_states(self, list names) except *
+ cdef void enter(self) except *
+ cdef void leave(self) except *
+- cdef void apply(self) except *
++ cdef void apply(self)
+ cpdef draw(self)
+ cdef void reload(self)
+
diff --git a/dev-python/Kivy/files/cython-fixes.patch b/dev-python/Kivy/files/cython-fixes.patch
new file mode 100644
index 000000000000..b9eca4c5d5da
--- /dev/null
+++ b/dev-python/Kivy/files/cython-fixes.patch
@@ -0,0 +1,42 @@
+--- kivy/lib/gstplayer/_gstplayer.pyx.orig 2014-01-29 17:45:32.000000000 +0100
++++ kivy/lib/gstplayer/_gstplayer.pyx 2015-01-01 21:24:55.480191418 +0100
+@@ -207,7 +207,7 @@
+ self.eos_cb()
+
+ def load(self):
+- cdef char *c_uri
++ cdef bytes py_uri
+
+ # if already loaded before, clean everything.
+ if self.pipeline != NULL:
+@@ -256,8 +256,8 @@
+
+ # configure playbin
+ g_object_set_int(self.pipeline, 'async-handling', 1)
+- c_uri = <bytes>self.uri.encode('utf-8')
+- g_object_set_void(self.playbin, 'uri', c_uri)
++ py_uri = <bytes>self.uri.encode('utf-8')
++ g_object_set_void(self.playbin, 'uri', <char *>py_uri)
+
+ # attach the callback
+ # NOTE no need to create a weakref here, as we manage to grab/release
+--- kivy/graphics/shader.pyx.orig 2014-01-20 03:49:50.000000000 +0100
++++ kivy/graphics/shader.pyx 2015-01-01 21:25:01.446858150 +0100
+@@ -421,6 +421,7 @@
+ cdef void bind_vertex_format(self, VertexFormat vertex_format):
+ cdef unsigned int i
+ cdef vertex_attr_t *attr
++ cdef bytes name
+
+ # if the current vertex format used in the shader is the current one, do
+ # nothing.
+@@ -445,7 +446,8 @@
+ attr = &vertex_format.vattr[i]
+ if attr.per_vertex == 0:
+ continue
+- attr.index = glGetAttribLocation(self.program, <char *><bytes>attr.name)
++ name = <bytes>attr.name
++ attr.index = glGetAttribLocation(self.program, <char *>name)
+ glEnableVertexAttribArray(attr.index)
+
+ # save for the next run.
diff --git a/dev-python/Kivy/metadata.xml b/dev-python/Kivy/metadata.xml
new file mode 100644
index 000000000000..7da70174c4ee
--- /dev/null
+++ b/dev-python/Kivy/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="camera">
+ Install libraries needed to support camera
+ </flag>
+ <flag name="garden">
+ Install garden tool to manage user maintained widgets
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">Kivy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/Numdifftools/Manifest b/dev-python/Numdifftools/Manifest
new file mode 100644
index 000000000000..708796bbecd3
--- /dev/null
+++ b/dev-python/Numdifftools/Manifest
@@ -0,0 +1,2 @@
+DIST Numdifftools-0.6.0.zip 184293 SHA256 56bee55a361c263dd250fcd009923ee9289dbc9bde635fe10b41d84e6a404549 SHA512 57c3a63e9fc2738478534cd81542d1398667824c80ad5263610be29bec38209f4f9963ad61f2b02327724946567d61fe310a9e82b1b301d1b36fe229f33445bd WHIRLPOOL 9780391abf8774137b3aaa03c88bed521ff6367c7bdefdb23c7e412e162ec8c81a6724a7af525ccddb69673b0afa1c862dbf7285f0faa659af46f758ad48ae9b
+DIST numdifftools-0.7.7.zip 181520 SHA256 c5a309a7a0b58f6177dc7e3d55c2830c07ca2715c9c706644d500fc4eca97c4d SHA512 ccb5f8a06bf21dfb803004fa104d36e07cdbebb72682d84577506cca6fc63abd2e4b1c13cbc960ad691ee70bef616c282b8dbb682f78d1ff8d230213afd58428 WHIRLPOOL b6579d64f1e6beded914189b392952988eb1396ee9ad06d4ba4b3edfbe4666c1e7de35cf1405c38422aa459e9a631a94d8f821a9fe22309a681043883ec56ae2
diff --git a/dev-python/Numdifftools/Numdifftools-0.6.0.ebuild b/dev-python/Numdifftools/Numdifftools-0.6.0.ebuild
new file mode 100644
index 000000000000..ff4ba2c92ef6
--- /dev/null
+++ b/dev-python/Numdifftools/Numdifftools-0.6.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Solves automatic numerical differentiation problems in one or more variables"
+HOMEPAGE="https://pypi.python.org/pypi/Numdifftools http://code.google.com/p/numdifftools/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ "
+DEPEND="test? ( ${RDEPEND} )"
+
+# Seems to be broken
+RESTRICT="test"
+
+python_test() {
+ ${PYTHON} \
+ -c 'import numdifftools as nd; nd.test(coverage=False, doctests=False)' \
+ || die
+}
diff --git a/dev-python/Numdifftools/Numdifftools-0.7.7.ebuild b/dev-python/Numdifftools/Numdifftools-0.7.7.ebuild
new file mode 100644
index 000000000000..d3daabfc2d67
--- /dev/null
+++ b/dev-python/Numdifftools/Numdifftools-0.7.7.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN=numdifftools
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Solves automatic numerical differentiation problems in one or more variables"
+HOMEPAGE="https://pypi.python.org/pypi/Numdifftools http://code.google.com/p/numdifftools/ https://github.com/pbrod/numdifftools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.zip"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/algopy[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ "
+DEPEND="test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+# Seems to be broken
+RESTRICT="test"
+
+S="${WORKDIR}"/${MY_P}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/Numdifftools/metadata.xml b/dev-python/Numdifftools/metadata.xml
new file mode 100644
index 000000000000..0c96f3ffdf55
--- /dev/null
+++ b/dev-python/Numdifftools/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Numdifftools</remote-id>
+ <remote-id type="github">pbrod/numdifftools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyECLib/Manifest b/dev-python/PyECLib/Manifest
new file mode 100644
index 000000000000..5dc5ef6d5578
--- /dev/null
+++ b/dev-python/PyECLib/Manifest
@@ -0,0 +1 @@
+DIST PyECLib-1.0.7.tar.gz 8376329 SHA256 f2136f187900fe3b84c75fea671c9bcb3d4d4a6307e44d9f960ed8296ce52dc3 SHA512 8f1bbf6bd0c8ceb62862337fd204e497e5826e01c8b7532bd68485b2203e755144d0ac6b7ee9aa59fb290e8c9ee5fa3bd865203dbbdbf471e0112d10c3ea8720 WHIRLPOOL 62839fe028fc5a5d96005f337425773254d1fb287d4e2d02010ca9e1fb3df6e79f7a7fc4e03797d854b8965c24665dd93010623cf7bae8a5612b1c2e50513e80
diff --git a/dev-python/PyECLib/PyECLib-1.0.7.ebuild b/dev-python/PyECLib/PyECLib-1.0.7.ebuild
new file mode 100644
index 000000000000..7e2428fc6764
--- /dev/null
+++ b/dev-python/PyECLib/PyECLib-1.0.7.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/PyECLib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-libs/liberasurecode"
+
+PATCHES=( "${FILESDIR}/1.0.7-erasurecode_locations.patch" )
diff --git a/dev-python/PyECLib/files/1.0.7-erasurecode_locations.patch b/dev-python/PyECLib/files/1.0.7-erasurecode_locations.patch
new file mode 100644
index 000000000000..9f12a56cf19a
--- /dev/null
+++ b/dev-python/PyECLib/files/1.0.7-erasurecode_locations.patch
@@ -0,0 +1,11 @@
+--- setup.py 2015-04-15 18:13:08.000000000 -0500
++++ setup.py.new 2015-08-04 20:36:06.236656803 -0500
+@@ -66,7 +66,7 @@
+ default_include_paths = [default_python_incdir,
+ '/usr/local/include', '/usr/local/include/jerasure',
+ '/usr/include', 'src/c/pyeclib_c',
+- '/usr/local/include']
++ '/usr/include/liberasurecode', '/usr/local/include']
+
+ libflags = ''
+ includeflags = ''
diff --git a/dev-python/PyECLib/metadata.xml b/dev-python/PyECLib/metadata.xml
new file mode 100644
index 000000000000..c981fdb3e31f
--- /dev/null
+++ b/dev-python/PyECLib/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This library provides a simple Python interface for implementing erasure codes. To obtain the best possible performance, the underlying erasure code algorithms are written in C.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">PyECLib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyFoam/Manifest b/dev-python/PyFoam/Manifest
new file mode 100644
index 000000000000..b77aff1cc1b9
--- /dev/null
+++ b/dev-python/PyFoam/Manifest
@@ -0,0 +1 @@
+DIST PyFoam-0.5.4.tar.gz 4492783 SHA256 c6bab9d1772a86a704c732e938419be453430e15447b6be676ddb4fa3d1157dc SHA512 97ba7f8a10e6d408f4fd4bff0e28ccda36ffced6c6c945d1c20737a1251e61331b9fdd3c4e60b5fd95a4d80bb9816cd384b72d1f39fda8da32c4cbd776dec642 WHIRLPOOL 037c009dfba7d0616bd745d60941ee92e7f24feaad5273dcb54e6619a1bc7e22969f5fb9cde81325c1fb783dbdd17e231337fc58a94125aa91c1e7e492740c85
diff --git a/dev-python/PyFoam/PyFoam-0.5.4-r2.ebuild b/dev-python/PyFoam/PyFoam-0.5.4-r2.ebuild
new file mode 100644
index 000000000000..b24e1e19ea4d
--- /dev/null
+++ b/dev-python/PyFoam/PyFoam-0.5.4-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool to analyze and plot the residual files of OpenFOAM computations"
+HOMEPAGE="http://openfoamwiki.net/index.php/Contrib_PyFoam"
+SRC_URI="http://openfoamwiki.net/images/a/ae/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="extras"
+
+DEPEND="sci-visualization/gnuplot
+ || ( sci-libs/openfoam sci-libs/openfoam-bin )
+ extras? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ sci-libs/vtk[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${DEPEND}"
diff --git a/dev-python/PyFoam/metadata.xml b/dev-python/PyFoam/metadata.xml
new file mode 100644
index 000000000000..bea7baf226cf
--- /dev/null
+++ b/dev-python/PyFoam/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer>
+ <email>oli.borm@web.de</email>
+ <name>Oliver Borm</name>
+ </maintainer>
+ <use>
+ <flag name='extras'>Enable optional dependencies</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
new file mode 100644
index 000000000000..5918ed64da24
--- /dev/null
+++ b/dev-python/PyGithub/Manifest
@@ -0,0 +1,3 @@
+DIST PyGithub-1.25.0.tar.gz 2514171 SHA256 bea24a94b8450161efb258257342617617e5582b70419224ee0e436c6a410110 SHA512 02245bf3f75a6144d1632f1eb27b13e719042ed66eaf8540a966b75ec880322a062490d6c3cd0e65599af613add59862201964955f2ff0e3fee75ea46f1f35b1 WHIRLPOOL 5ed09fa21d633e4ca07c5c71870948c1ab90fccfb2caf73178af183b81cfcc45ca95ae4050e3c9ea39fffc9efbca559042d730a8ac2348952cfa49ea5bbcb9e6
+DIST PyGithub-1.25.1.tar.gz 2514716 SHA256 6c39a6077e08f2f266039c5184911fc30c7b90a42f875fe98d7cef52a7aa8afa SHA512 5e17de013465ec2452d0c3018d83c000e3cd90d3a9a0590e409769438321035140fccc2aa10468a116573b374552232dac69b96189ae3627f2399289fba77287 WHIRLPOOL a8aef2edad109edbe8b0ab3272ad39f235b90f425b18ec7ac5e822a9d05838f6514320e2fdc46195cf4a5dbb0141b044e0fc2a2ebbd5aa03ae87c68edcbbbbdd
+DIST PyGithub-1.25.2.tar.gz 2624603 SHA256 3afce80516998ce4478424797f341d961d1c251958859c70b8d3986d00faafd7 SHA512 24b8370552889e748de1f51e6d5a14f11e2f77a9b1f920743f90ffbadc849cb887bf6d84c1c251b7a86ee454d919004255fc3046b199792cd078ce49d892cec0 WHIRLPOOL 56d7989c63f0b0943da3c88e38ec266277659f124566ab20c9a9f30ceec74c792d4f13cc201d7b7851ac3074c05f5608280674803597652913f0a1b71f430505
diff --git a/dev-python/PyGithub/PyGithub-1.25.0.ebuild b/dev-python/PyGithub/PyGithub-1.25.0.ebuild
new file mode 100644
index 000000000000..c09c5b9eaf62
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-1.25.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="https://github.com/jacquev6/PyGithub/"
+# Use github since pypi is missing test data
+SRC_URI="https://github.com/jacquev6/PyGithub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/PyGithub/PyGithub-1.25.1.ebuild b/dev-python/PyGithub/PyGithub-1.25.1.ebuild
new file mode 100644
index 000000000000..d292169d4fc9
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-1.25.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="https://github.com/jacquev6/PyGithub/"
+# Use github since pypi is missing test data
+SRC_URI="https://github.com/jacquev6/PyGithub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/PyGithub/PyGithub-1.25.2.ebuild b/dev-python/PyGithub/PyGithub-1.25.2.ebuild
new file mode 100644
index 000000000000..439f4bd1456b
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-1.25.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="https://github.com/jacquev6/PyGithub/"
+# Use github since pypi is missing test data
+SRC_URI="https://github.com/jacquev6/PyGithub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/PyGithub/metadata.xml b/dev-python/PyGithub/metadata.xml
new file mode 100644
index 000000000000..285e151315a2
--- /dev/null
+++ b/dev-python/PyGithub/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">jacquev6/PyGithub</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyPDF2/Manifest b/dev-python/PyPDF2/Manifest
new file mode 100644
index 000000000000..1a162ee5fb0a
--- /dev/null
+++ b/dev-python/PyPDF2/Manifest
@@ -0,0 +1 @@
+DIST PyPDF2-1.24.tar.gz 59891 SHA256 aca40d5155524120fceaf2eb4ae054480b8a2b6ffcfa0a2e77e3e45666428c64 SHA512 91a9338b0338eee1cfddc25dd0f21494f73696e630b08a71ff9195fe7b0fc77cf6c07b38a0c6aa4856536be6fe0a474c3b292c13fdd0187b62cb8848e69b29f9 WHIRLPOOL b5d33c209d5e0ce7d2d567d9266faacbbc6c1e49ac714e0063eeeb3879f400482a3fa887bd165b364a7216b4240b5236dec1954683ade632ea802a36a5272303
diff --git a/dev-python/PyPDF2/PyPDF2-1.24.ebuild b/dev-python/PyPDF2/PyPDF2-1.24.ebuild
new file mode 100644
index 000000000000..768c7c73d18f
--- /dev/null
+++ b/dev-python/PyPDF2/PyPDF2-1.24.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with pdf files"
+HOMEPAGE="http://pypi.python.org/pypi/${PN}/ http://mstamy2.github.com/PyPDF2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+python_install_all() {
+ use examples && local EXAMPLES=( Sample_Code/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/PyPDF2/metadata.xml b/dev-python/PyPDF2/metadata.xml
new file mode 100644
index 000000000000..d8f3f772b0e3
--- /dev/null
+++ b/dev-python/PyPDF2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PyPDF2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyQt4/Manifest b/dev-python/PyQt4/Manifest
new file mode 100644
index 000000000000..ecc690557558
--- /dev/null
+++ b/dev-python/PyQt4/Manifest
@@ -0,0 +1,2 @@
+DIST PyQt-x11-gpl-4.11.1.tar.gz 11118850 SHA256 df9d7358d70748efa5b84fa3fe9e182a80c39ac590157daaabcc2618df176da3 SHA512 3851d4e61d9c6a0c62cbfd2a08153972fa3446c1982fc925796eb1d4c6524e7054cdb14ed2f4566386727e9e0cf67246765de19fab79152b0834477452681113 WHIRLPOOL 17e23997afcf06b99028d0d2115bc9328848acaaa1b6bcd8ec7397409ab2001d5fa29ca08bf42e0cef6dcd0441d0cff04e349fa8913a2b0fc86da878b79b5a5d
+DIST PyQt-x11-gpl-4.11.4.tar.gz 11317088 SHA256 fc1fe77495432ba3b0d74ff5cb164d375a97f5dddb728256330f615a7cdcf407 SHA512 58d0c5e30b0480c1b6ce1a3cc3ef0a1841bb15631830fb937d1f17f5d3d8cbe66a5e2adcfb2c3990fae38db66dd430668bd25413e254e72064a38c48f689f170 WHIRLPOOL cf635d6399bd04def2648eee65e038d720f06dddfac70f3df6f87deb7483e023ee1a4aa07285a5075adc19dc91bca4500b82f65b342e07a8845023cf98bb6233
diff --git a/dev-python/PyQt4/PyQt4-4.11.1.ebuild b/dev-python/PyQt4/PyQt4-4.11.1.ebuild
new file mode 100644
index 000000000000..42b49c764e5e
--- /dev/null
+++ b/dev-python/PyQt4/PyQt4-4.11.1.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multibuild python-r1 qmake-utils toolchain-funcs
+
+DESCRIPTION="Python bindings for the Qt toolkit"
+HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
+ https://pypi.python.org/pypi/PyQt4"
+
+if [[ ${PV} == *_pre* ]]; then
+ MY_P="PyQt-x11-gpl-snapshot-${PV%_pre*}-${REVISION}"
+ SRC_URI="http://dev.gentoo.org/~hwoarang/distfiles/${MY_P}.tar.gz"
+else
+ MY_P="PyQt-x11-gpl-${PV}"
+ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+fi
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+
+IUSE="X dbus debug declarative designer doc examples help kde multimedia opengl phonon script scripttools sql svg webkit xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ declarative? ( X )
+ designer? ( X )
+ help? ( X )
+ multimedia? ( X )
+ opengl? ( X )
+ phonon? ( X )
+ scripttools? ( X script )
+ sql? ( X )
+ svg? ( X )
+ webkit? ( X )
+"
+
+# Minimal supported version of Qt.
+QT_PV="4.8.5:4"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16:=[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ X? (
+ >=dev-qt/qtgui-${QT_PV}
+ >=dev-qt/qttest-${QT_PV}
+ )
+ dbus? (
+ >=dev-python/dbus-python-0.80[${PYTHON_USEDEP}]
+ >=dev-qt/qtdbus-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV} )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ phonon? (
+ kde? ( media-libs/phonon[qt4] )
+ !kde? ( || ( >=dev-qt/qtphonon-${QT_PV} media-libs/phonon[qt4] ) )
+ )
+ script? ( >=dev-qt/qtscript-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ dbus? ( virtual/pkgconfig )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # Support qreal on arm architecture (bug 322349).
+ use arm && epatch "${FILESDIR}/${PN}-4.7.3-qreal_float_support.patch"
+
+ # Allow building against KDE's phonon (bug 433944 and others).
+ sed -i \
+ -e "s:VideoWidget()\":&, extra_include_dirs=[\"${EPREFIX}/usr/include/qt4/QtGui\"]:" \
+ -e "s:^\s\+generate_code(\"phonon\":&, extra_include_dirs=[\"${EPREFIX}/usr/include/phonon\"]:" \
+ configure.py || die
+
+ if ! use dbus; then
+ sed -i -e 's/^\(\s\+\)check_dbus()/\1pass/' configure.py || die
+ fi
+
+ python_copy_sources
+
+ preparation() {
+ if [[ ${EPYTHON} == python3.* ]]; then
+ rm -fr pyuic/uic/port_v2
+ else
+ rm -fr pyuic/uic/port_v3
+ fi
+ }
+ python_foreach_impl run_in_build_dir preparation
+}
+
+pyqt4_use_enable() {
+ use $1 && echo --enable=${2:-Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}}
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}" configure.py
+ --confirm-license
+ --bindir="${EPREFIX}/usr/bin"
+ --destdir="$(python_get_sitedir)"
+ --sipdir="${EPREFIX}/usr/share/sip"
+ --assume-shared
+ --no-timestamp
+ --qsci-api
+ $(use debug && echo --debug)
+ --enable=QtCore
+ --enable=QtNetwork
+ --enable=QtXml
+ $(pyqt4_use_enable X QtGui)
+ $(pyqt4_use_enable X QtTest)
+ $(pyqt4_use_enable dbus QtDBus)
+ $(pyqt4_use_enable declarative)
+ $(pyqt4_use_enable designer) $(use designer || echo --no-designer-plugin)
+ $(pyqt4_use_enable help)
+ $(pyqt4_use_enable multimedia)
+ $(pyqt4_use_enable opengl QtOpenGL)
+ $(pyqt4_use_enable phonon phonon)
+ $(pyqt4_use_enable script)
+ $(pyqt4_use_enable scripttools QtScriptTools)
+ $(pyqt4_use_enable sql)
+ $(pyqt4_use_enable svg)
+ $(pyqt4_use_enable webkit QtWebKit)
+ $(pyqt4_use_enable xmlpatterns QtXmlPatterns)
+ AR="$(tc-getAR) cqs"
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ CFLAGS_RELEASE=
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS_RELEASE=
+ LINK="$(tc-getCXX)"
+ LINK_SHLIB="$(tc-getCXX)"
+ LFLAGS="${LDFLAGS}"
+ LFLAGS_RELEASE=
+ RANLIB=
+ STRIP=
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ local mod
+ for mod in QtCore \
+ $(use X && echo QtGui) \
+ $(use dbus && echo QtDBus) \
+ $(use declarative && echo QtDeclarative) \
+ $(use designer && echo QtDesigner) \
+ $(use opengl && echo QtOpenGL); do
+ # Run eqmake4 inside the qpy subdirectories to respect
+ # CC, CXX, CFLAGS, CXXFLAGS, LDFLAGS and avoid stripping.
+ pushd qpy/${mod} > /dev/null || return
+ eqmake4 $(ls w_qpy*.pro)
+ popd > /dev/null || return
+
+ # Fix insecure runpaths.
+ sed -i -e "/^LFLAGS\s*=/ s:-Wl,-rpath,${BUILD_DIR}/qpy/${mod}::" \
+ ${mod}/Makefile || die "failed to fix rpath for ${mod}"
+ done
+
+ # Avoid stripping of libpythonplugin.so.
+ if use designer; then
+ pushd designer > /dev/null || return
+ eqmake4 python.pro
+ popd > /dev/null || return
+ fi
+ }
+ python_parallel_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ local tmp_root=${D%/}/tmp
+
+ # INSTALL_ROOT is used by designer/Makefile, other Makefiles use DESTDIR.
+ emake DESTDIR="${tmp_root}" INSTALL_ROOT="${tmp_root}" install
+
+ python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic4
+ rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 || die
+
+ multibuild_merge_root "${tmp_root}" "${D}"
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc NEWS THANKS
+
+ if use doc; then
+ dodoc -r doc/html
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/PyQt4/PyQt4-4.11.4.ebuild b/dev-python/PyQt4/PyQt4-4.11.4.ebuild
new file mode 100644
index 000000000000..a717793fca92
--- /dev/null
+++ b/dev-python/PyQt4/PyQt4-4.11.4.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multibuild multilib python-r1 qmake-utils
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
+ https://pypi.python.org/pypi/PyQt4"
+
+MY_PN="PyQt-x11-gpl"
+if [[ ${PV} == *_pre* ]]; then
+ MY_P=${MY_PN}-${PV%_pre*}-snapshot-${REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
+else
+ MY_P=${MY_PN}-${PV}
+ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="X dbus debug declarative designer doc examples help kde multimedia
+ opengl phonon script scripttools sql svg testlib webkit xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ sql? ( X )
+ testlib? ( X )
+"
+
+# Minimal supported version of Qt.
+QT_PV="4.8.5:4"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16.6:=[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ X? ( >=dev-qt/qtgui-${QT_PV} )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-qt/qtdbus-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV} )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ phonon? (
+ kde? ( >=media-libs/phonon-4.7[qt4] )
+ !kde? ( || ( >=dev-qt/qtphonon-${QT_PV} >=media-libs/phonon-4.7[qt4] ) )
+ )
+ script? ( >=dev-qt/qtscript-${QT_PV} )
+ scripttools? ( >=dev-qt/qtgui-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ testlib? ( >=dev-qt/qttest-${QT_PV} )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ dbus? ( virtual/pkgconfig )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # Support qreal on arm architecture (bug 322349).
+ use arm && epatch "${FILESDIR}/${PN}-4.7.3-qreal_float_support.patch"
+
+ # Allow building against KDE's phonon (bug 525354).
+ epatch "${FILESDIR}/${PN}-4.11.2-phonon.patch"
+}
+
+pyqt_use_enable() {
+ use $1 && echo --enable=${2:-Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}}
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure-ng.py
+ $(use debug && echo --debug --trace)
+ --verbose
+ --confirm-license
+ --qmake="$(qt4_get_bindir)"/qmake
+ --destdir="$(python_get_sitedir)"
+ --qsci-api
+ --enable=QtCore
+ --enable=QtNetwork
+ --enable=QtXml
+ $(pyqt_use_enable X QtGui)
+ $(pyqt_use_enable dbus QtDBus)
+ $(usex dbus '' --no-python-dbus)
+ $(pyqt_use_enable declarative)
+ $(pyqt_use_enable designer)
+ $(usex designer '' --no-designer-plugin)
+ $(pyqt_use_enable help)
+ $(pyqt_use_enable multimedia)
+ $(pyqt_use_enable opengl QtOpenGL)
+ $(pyqt_use_enable phonon phonon)
+ $(pyqt_use_enable script)
+ $(pyqt_use_enable scripttools QtScriptTools)
+ $(pyqt_use_enable sql)
+ $(pyqt_use_enable svg)
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable webkit QtWebKit)
+ $(pyqt_use_enable xmlpatterns QtXmlPatterns)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ eqmake4 -recursive ${PN}.pro
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ local tmp_root=${D%/}/tmp
+ emake INSTALL_ROOT="${tmp_root}" install
+
+ local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
+ if python_is_python3; then
+ rm -r "${uic_dir}"/port_v2 || die
+ else
+ rm -r "${uic_dir}"/port_v3 || die
+ fi
+
+ python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic4
+ rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 || die
+
+ multibuild_merge_root "${tmp_root}" "${D}"
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS THANKS
+
+ if use doc; then
+ dodoc -r doc/html
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/PyQt4/files/PyQt4-4.11.2-phonon.patch b/dev-python/PyQt4/files/PyQt4-4.11.2-phonon.patch
new file mode 100644
index 000000000000..e3449b3b4bfc
--- /dev/null
+++ b/dev-python/PyQt4/files/PyQt4-4.11.2-phonon.patch
@@ -0,0 +1,25 @@
+From e8931ed7f49eb55d6259328a5a78f3fc18472d48 Mon Sep 17 00:00:00 2001
+From: Davide Pesavento <pesa@gentoo.org>
+Date: Tue, 14 Oct 2014 04:30:29 +0200
+Subject: [PATCH] Support building against KDE's phonon variant.
+
+---
+ configure-ng.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure-ng.py b/configure-ng.py
+index a80cb57..fd2c56c 100644
+--- a/configure-ng.py
++++ b/configure-ng.py
+@@ -2256,6 +2256,8 @@ def generate_sip_module_code(target_config, verbose, no_timestamp, parts, tracin
+ if mname == 'QtCore':
+ includepath = target_config.vend_inc_dir
+ libs = '-L%s -lvendorid' % target_config.vend_lib_dir
++ if mname == 'phonon':
++ includepath = os.path.join(sys.prefix, 'include', 'phonon')
+
+ generate_module_makefile(target_config, verbose, mname,
+ includepath=includepath, libs=libs, qpy_sources=qpy_sources,
+--
+2.1.2
+
diff --git a/dev-python/PyQt4/files/PyQt4-4.7.3-qreal_float_support.patch b/dev-python/PyQt4/files/PyQt4-4.7.3-qreal_float_support.patch
new file mode 100644
index 000000000000..37e1e69eb3f4
--- /dev/null
+++ b/dev-python/PyQt4/files/PyQt4-4.7.3-qreal_float_support.patch
@@ -0,0 +1,239 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com>
+##
+## DP: Corrects a configure test, and adds explicate double handling
+## to qlist.sip on architectures where qreal != double
+
+@DPATCH@
+Index: python-qt4-4.7.2/sip/QtCore/qlist.sip
+===================================================================
+--- python-qt4-4.7.2.orig/sip/QtCore/qlist.sip 2010-03-17 19:29:26.000000000 +0100
++++ python-qt4-4.7.2/sip/QtCore/qlist.sip 2010-03-25 23:53:55.468631945 +0100
+@@ -749,3 +749,227 @@
+ return sipGetState(sipTransferObj);
+ %End
+ };
++
++// If we're on an architecture where qreal != double, then we need to also
++// explicately handle doubles. On architectures where qreal == double, they
++// will automaticially be cast upwards
++
++%If (!PyQt_qreal_double)
++
++%If (Qt_4_3_0 -)
++// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
++%MappedType QList<QPair<double, double> >
++{
++%TypeHeaderCode
++#include <qlist.h>
++#include <qpair.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ const QPair<double, double> &p = sipCpp->at(i);
++ PyObject *pobj;
++
++ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
++ {
++ Py_DECREF(l);
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
++ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
++
++ ql->append(QPair<double, double>(first, second));
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++%End
++%If (Qt_4_3_0 -)
++// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
++template<double, TYPE>
++%MappedType QList<QPair<double, TYPE> >
++{
++%TypeHeaderCode
++#include <qlist.h>
++#include <qpair.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ const QPair<double, TYPE> &p = sipCpp->at(i);
++ TYPE *t = new TYPE(p.second);
++ PyObject *pobj;
++
++ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL)
++ {
++ Py_DECREF(l);
++ delete t;
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++
++ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
++ return 0;
++
++ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE))
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *tup = PySequence_ITEM(sipPy, i);
++ double d;
++ int state;
++
++ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
++ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
++
++ if (*sipIsErr)
++ {
++ sipReleaseInstance(t, sipClass_TYPE, state);
++
++ delete ql;
++ return 0;
++ }
++
++ ql->append(QPair<double, TYPE>(d, *t));
++
++ sipReleaseInstance(t, sipClass_TYPE, state);
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++%End
++
++// QList<double> is implemented as a Python list of doubles.
++%MappedType QList<double>
++{
++%TypeHeaderCode
++#include <qlist.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the list.
++ PyObject *l;
++
++ if ((l = PyList_New(sipCpp->size())) == NULL)
++ return NULL;
++
++ // Set the list elements.
++ for (int i = 0; i < sipCpp->size(); ++i)
++ {
++ PyObject *pobj;
++
++ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL)
++ {
++ Py_DECREF(l);
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, pobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0);
++
++ QList<double> *ql = new QList<double>;
++ SIP_SSIZE_T len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i)));
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++
++%End
diff --git a/dev-python/PyQt4/metadata.xml b/dev-python/PyQt4/metadata.xml
new file mode 100644
index 000000000000..31d70a3f30fb
--- /dev/null
+++ b/dev-python/PyQt4/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <use>
+ <flag name="X">Build bindings for the QtGui module</flag>
+ <flag name="dbus">Build bindings for the QtDBus module</flag>
+ <flag name="declarative">Build bindings for the QtDeclarative module</flag>
+ <flag name="designer">Build bindings for the QtDesigner module and enable the designer plugin</flag>
+ <flag name="help">Build bindings for the QtHelp module</flag>
+ <flag name="kde">Select <pkg>media-libs/phonon</pkg> as Phonon variant (needed for KDE)</flag>
+ <flag name="multimedia">Build bindings for the QtMultimedia module</flag>
+ <flag name="opengl">Build bindings for the QtOpenGL module</flag>
+ <flag name="phonon">Build bindings for the phonon module</flag>
+ <flag name="script">Build bindings for the QtScript module</flag>
+ <flag name="scripttools">Build bindings for the QtScriptTools module</flag>
+ <flag name="sql">Build bindings for the QtSql module</flag>
+ <flag name="svg">Build bindings for the QtSvg module</flag>
+ <flag name="testlib">Build bindings for the QtTest module</flag>
+ <flag name="webkit">Build bindings for the QtWebKit module</flag>
+ <flag name="xmlpatterns">Build bindings for the QtXmlPatterns module</flag>
+ </use>
+ <upstream>
+ <maintainer status="active">
+ <email>phil@riverbankcomputing.com</email>
+ <name>Phil Thompson</name>
+ </maintainer>
+ <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <remote-id type="pypi">PyQt4</remote-id>
+ <remote-id type="sourceforge">pyqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyQt5/Manifest b/dev-python/PyQt5/Manifest
new file mode 100644
index 000000000000..5b0c91d15b2d
--- /dev/null
+++ b/dev-python/PyQt5/Manifest
@@ -0,0 +1,2 @@
+DIST PyQt-gpl-5.4.2.tar.gz 3639966 SHA256 4cd90580558722ef24d499700faafbdc242d930cb36f55cc1a27b5cf67b10290 SHA512 c080a0e17644a15bf10c0999b8404e40709bd227e3b1d0ae87aa428c1b336397fb35aa274c75a3d95b7528ef84a32b67892f41aa4841d568d1535466d1215a4b WHIRLPOOL 8ada565355d772c1d7090af11afd139f5422c5aeb8d56c86e4fe0c8b62bf2724e18bdc82765ca9f5e8729853d4e84b4e90c9867b05606817f05e3e33dc334d63
+DIST PyQt-gpl-5.5.tar.gz 3675521 SHA256 cdd1bb55b431acdb50e9210af135428a13fb32d7b1ab86e972ac7101f6acd814 SHA512 84e591da37032763f961e546250fa1da617e3f9b08c8586e0764d1ecf09fb0eed03b6e602742fa6921a7dd6f10db3255cb834770dba606613bf9897f5276bf43 WHIRLPOOL bcfa7e113ddb692b7d035671f47fcf92300e4ff4048e1c6c44724de0f1b3255d0b4901b88d05cc229263f003c45a6fda4a518127a05484a3cc2b487269c28ca2
diff --git a/dev-python/PyQt5/PyQt5-5.4.2.ebuild b/dev-python/PyQt5/PyQt5-5.4.2.ebuild
new file mode 100644
index 000000000000..e06dcf542fbc
--- /dev/null
+++ b/dev-python/PyQt5/PyQt5-5.4.2.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multibuild multilib python-r1 qmake-utils
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
+ https://pypi.python.org/pypi/PyQt5"
+
+MY_PN="PyQt-gpl"
+if [[ ${PV} == *_pre* ]]; then
+ MY_P=${MY_PN}-${PV%_pre*}-snapshot-${REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
+else
+ MY_P=${MY_PN}-${PV}
+ SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+# TODO: QtBluetooth, QtWebEngineWidgets
+IUSE="dbus debug declarative designer doc examples gles2 gui help multimedia
+ network opengl positioning printsupport sensors serialport sql svg
+ testlib webchannel webkit websockets widgets x11extras xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ positioning? ( gui )
+ sensors? ( gui )
+ serialport? ( gui )
+ sql? ( widgets )
+ testlib? ( widgets )
+ webchannel? ( network )
+"
+
+# Minimal supported version of Qt.
+QT_PV="5.4.2:5"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16.6:=[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ >=dev-qt/qtxml-${QT_PV}
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-qt/qtdbus-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ gui? ( >=dev-qt/qtgui-${QT_PV}[gles2=] )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
+ network? ( >=dev-qt/qtnetwork-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ testlib? ( >=dev-qt/qttest-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV}[printsupport] )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+ widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
+ x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ dbus? ( virtual/pkgconfig )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # Avoid automagic dependency.
+ use dbus || rm -fr dbus
+}
+
+pyqt_use_enable() {
+ use "$1" || return
+
+ if [[ $# -eq 1 ]]; then
+ echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}
+ else
+ shift
+ echo ${@/#/--enable=}
+ fi
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure.py
+ $(use debug && echo --debug --trace)
+ --verbose
+ --confirm-license
+ --qmake="$(qt5_get_bindir)"/qmake
+ --destdir="$(python_get_sitedir)"
+ --qsci-api
+ --enable=QtCore
+ --enable=QtXml
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
+ $(usex declarative '' --no-qml-plugin)
+ $(pyqt_use_enable designer)
+ $(usex designer '' --no-designer-plugin)
+ $(pyqt_use_enable gui)
+ $(pyqt_use_enable gui $(use gles2 && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
+ $(pyqt_use_enable help)
+ $(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets ''))
+ $(pyqt_use_enable network)
+ $(pyqt_use_enable opengl QtOpenGL)
+ $(pyqt_use_enable positioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable sensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable sql)
+ $(pyqt_use_enable svg)
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable webkit QtWebKit QtWebKitWidgets)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets)
+ $(pyqt_use_enable x11extras QtX11Extras)
+ $(pyqt_use_enable xmlpatterns QtXmlPatterns)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ eqmake5 -recursive ${PN}.pro
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ local tmp_root=${D%/}/tmp
+ emake INSTALL_ROOT="${tmp_root}" install
+
+ local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
+ if python_is_python3; then
+ rm -r "${uic_dir}"/port_v2 || die
+ else
+ rm -r "${uic_dir}"/port_v3 || die
+ fi
+
+ python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic5
+ rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic5 || die
+
+ multibuild_merge_root "${tmp_root}" "${D}"
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS
+
+ if use doc; then
+ dodoc -r doc/html
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/PyQt5/PyQt5-5.5.ebuild b/dev-python/PyQt5/PyQt5-5.5.ebuild
new file mode 100644
index 000000000000..076aeee97633
--- /dev/null
+++ b/dev-python/PyQt5/PyQt5-5.5.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multibuild multilib python-r1 qmake-utils
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
+ https://pypi.python.org/pypi/PyQt5"
+
+MY_PN="PyQt-gpl"
+if [[ ${PV} == *_pre* ]]; then
+ MY_P=${MY_PN}-${PV%_pre*}-snapshot-${REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
+else
+ MY_P=${MY_PN}-${PV}
+ SRC_URI="http://www.riverbankcomputing.com/static/Downloads/${PN}/${MY_P}.tar.gz"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+# TODO: QtBluetooth, QtLocation, QtNfc, QtWebEngineWidgets
+IUSE="dbus debug declarative designer doc examples gles2 gui help multimedia
+ network opengl positioning printsupport sensors serialport sql svg
+ testlib webchannel webkit websockets widgets x11extras xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ positioning? ( gui )
+ sensors? ( gui )
+ serialport? ( gui )
+ sql? ( widgets )
+ testlib? ( widgets )
+ webchannel? ( network )
+"
+
+# Minimal supported version of Qt.
+QT_PV="5.4.2:5"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16.6:=[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ >=dev-qt/qtxml-${QT_PV}
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-qt/qtdbus-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ gui? ( >=dev-qt/qtgui-${QT_PV}[gles2=] )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
+ network? ( >=dev-qt/qtnetwork-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ testlib? ( >=dev-qt/qttest-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV}[printsupport] )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+ widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
+ x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ dbus? ( virtual/pkgconfig )
+"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # Avoid automagic dependency.
+ use dbus || rm -fr dbus
+}
+
+pyqt_use_enable() {
+ use "$1" || return
+
+ if [[ $# -eq 1 ]]; then
+ echo --enable=Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}
+ else
+ shift
+ echo ${@/#/--enable=}
+ fi
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure.py
+ $(use debug && echo --debug --trace)
+ --verbose
+ --confirm-license
+ --qmake="$(qt5_get_bindir)"/qmake
+ --destdir="$(python_get_sitedir)"
+ --qsci-api
+ --enable=QtCore
+ --enable=QtXml
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable declarative QtQml QtQuick $(usex widgets QtQuickWidgets ''))
+ $(usex declarative '' --no-qml-plugin)
+ $(pyqt_use_enable designer)
+ $(usex designer '' --no-designer-plugin)
+ $(pyqt_use_enable gui)
+ $(pyqt_use_enable gui $(use gles2 && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
+ $(pyqt_use_enable help)
+ $(pyqt_use_enable multimedia QtMultimedia $(usex widgets QtMultimediaWidgets ''))
+ $(pyqt_use_enable network)
+ $(pyqt_use_enable opengl QtOpenGL)
+ $(pyqt_use_enable positioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable sensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable sql)
+ $(pyqt_use_enable svg)
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable webkit QtWebKit QtWebKitWidgets)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets)
+ $(pyqt_use_enable x11extras QtX11Extras)
+ $(pyqt_use_enable xmlpatterns QtXmlPatterns)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ eqmake5 -recursive ${PN}.pro
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ local tmp_root=${D%/}/tmp
+ emake INSTALL_ROOT="${tmp_root}" install
+
+ local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic
+ if python_is_python3; then
+ rm -r "${uic_dir}"/port_v2 || die
+ else
+ rm -r "${uic_dir}"/port_v3 || die
+ fi
+
+ python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic5
+ rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic5 || die
+
+ multibuild_merge_root "${tmp_root}" "${D}"
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS
+
+ if use doc; then
+ dodoc -r doc/html
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/PyQt5/metadata.xml b/dev-python/PyQt5/metadata.xml
new file mode 100644
index 000000000000..82e1aa1b7d4d
--- /dev/null
+++ b/dev-python/PyQt5/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <use>
+ <flag name="dbus">Build bindings for the QtDBus module</flag>
+ <flag name="declarative">Build bindings for the QtQml/QtQuick modules and enable the qmlscene plugin</flag>
+ <flag name="designer">Build bindings for the QtDesigner module and enable the designer plugin</flag>
+ <flag name="gles2">Use GLES 2.0 or later instead of full OpenGL</flag>
+ <flag name="gui">Build bindings for the QtGui module</flag>
+ <flag name="help">Build bindings for the QtHelp module</flag>
+ <flag name="multimedia">Build bindings for the QtMultimedia module</flag>
+ <flag name="network">Build bindings for the QtNetwork module</flag>
+ <flag name="opengl">Build bindings for the QtOpenGL module</flag>
+ <flag name="positioning">Build bindings for the QtPositioning module</flag>
+ <flag name="printsupport">Build bindings for the QtPrintSupport module</flag>
+ <flag name="sensors">Build bindings for the QtSensors module</flag>
+ <flag name="serialport">Build bindings for the QtSerialPort module</flag>
+ <flag name="sql">Build bindings for the QtSql module</flag>
+ <flag name="svg">Build bindings for the QtSvg module</flag>
+ <flag name="testlib">Build bindings for the QtTest module</flag>
+ <flag name="webchannel">Build bindings for the QtWebChannel module</flag>
+ <flag name="webkit">Build bindings for the QtWebKit module</flag>
+ <flag name="websockets">Build bindings for the QtWebSockets module</flag>
+ <flag name="widgets">Build bindings for the QtWidgets module</flag>
+ <flag name="x11extras">Build bindings for the QtX11Extras module</flag>
+ <flag name="xmlpatterns">Build bindings for the QtXmlPatterns module</flag>
+ </use>
+ <upstream>
+ <maintainer status="active">
+ <email>phil@riverbankcomputing.com</email>
+ <name>Phil Thompson</name>
+ </maintainer>
+ <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <remote-id type="pypi">PyQt5</remote-id>
+ <remote-id type="sourceforge">pyqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyQtMobility/Manifest b/dev-python/PyQtMobility/Manifest
new file mode 100644
index 000000000000..52d36676cbd8
--- /dev/null
+++ b/dev-python/PyQtMobility/Manifest
@@ -0,0 +1 @@
+DIST PyQtMobility-gpl-1.0.1.tar.gz 111999 SHA256 8496a47f5345ff547c04e8301cfcdf7862fe9557f56d0d93818c947060b442df SHA512 09bb77f348abe0caf174dea505f3a10ee2adf99698048c9fffc1da66a36dcb907cef7896ee92af7d9ec98a5b30f5229fd9eedc6a64e1476ca340c29b5d842770 WHIRLPOOL 49bbd93b79418f34872a76665d7d54d4a5adca0bdd44a31fe095bfd148d7a673671bc3b61015bc0489d91b7386dc23c57b462e10def00460cc448c165cfe4d8a
diff --git a/dev-python/PyQtMobility/PyQtMobility-1.0.1.ebuild b/dev-python/PyQtMobility/PyQtMobility-1.0.1.ebuild
new file mode 100644
index 000000000000..46963c2ae82e
--- /dev/null
+++ b/dev-python/PyQtMobility/PyQtMobility-1.0.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="*"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython 2.7-pypy-*"
+
+inherit python
+
+MY_P=${PN}-gpl-${PV}
+
+DESCRIPTION="Python bindings for Nokia's QtMobility libraries"
+HOMEPAGE="http://www.riverbankcomputing.co.uk/software/pyqtmobility/intro"
+SRC_URI="http://www.riverbankcomputing.co.uk/static/Downloads/${PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 GPL-3 )"
+KEYWORDS="~amd64"
+
+PYQTM_MODULES="+contacts feedback gallery location messaging multimedia organizer
+ publishsubscribe sensors serviceframework systeminfo versit"
+IUSE="debug ${PYQTM_MODULES}"
+
+REQUIRED_USE="
+ || ( ${PYQTM_MODULES//+} )
+ versit? ( contacts )
+"
+
+QTM_USE_DEPS=
+for mod in ${PYQTM_MODULES//+}; do
+ QTM_USE_DEPS+="${mod}?,"
+done
+unset mod
+
+DEPEND="
+ >=dev-python/sip-4.12.2
+ >=dev-python/PyQt4-4.8.4[X]
+ >=dev-qt/qt-mobility-1.2.0[${QTM_USE_DEPS%,}]
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ # Disable pre-stripping of modules
+ sed -i -e '/SIPModuleMakefile/s|$|strip=0,|' configure.py || die
+
+ python_src_prepare
+}
+
+pyqtm_use_enable() {
+ use $1 && echo --enable=${2:-Qt$(echo ${1:0:1} | tr '[:lower:]' '[:upper:]')${1:1}}
+}
+
+src_configure() {
+ configuration() {
+ local myconf=("$(PYTHON)"
+ configure.py
+ --destdir="${EPREFIX}$(python_get_sitedir)"
+ --sipdir="${EPREFIX}/usr/share/sip"
+ $(use debug && echo --debug)
+ $(pyqtm_use_enable contacts)
+ $(pyqtm_use_enable feedback)
+ $(pyqtm_use_enable gallery)
+ $(pyqtm_use_enable location)
+ $(pyqtm_use_enable messaging)
+ $(pyqtm_use_enable multimedia QtMultimediaKit)
+ $(pyqtm_use_enable organizer)
+ $(pyqtm_use_enable publishsubscribe QtPublishSubscribe)
+ $(pyqtm_use_enable sensors)
+ $(pyqtm_use_enable serviceframework QtServiceFramework)
+ $(pyqtm_use_enable systeminfo QtSystemInfo)
+ $(pyqtm_use_enable versit)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}"
+ }
+ python_execute_function -s configuration
+}
+
+pkg_postinst() {
+ python_mod_optimize QtMobility
+}
+
+pkg_postrm() {
+ python_mod_cleanup QtMobility
+}
diff --git a/dev-python/PyQtMobility/metadata.xml b/dev-python/PyQtMobility/metadata.xml
new file mode 100644
index 000000000000..d46620955c1d
--- /dev/null
+++ b/dev-python/PyQtMobility/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <use>
+ <flag name="contacts">Build bindings for the QtContacts module</flag>
+ <flag name="feedback">Build bindings for the QtFeedback module</flag>
+ <flag name="gallery">Build bindings for the QtGallery module</flag>
+ <flag name="location">Build bindings for the QtLocation module</flag>
+ <flag name="messaging">Build bindings for the QtMessaging module</flag>
+ <flag name="multimedia">Build bindings for the QtMultimediaKit module</flag>
+ <flag name="organizer">Build bindings for the QtOrganizer module</flag>
+ <flag name="publishsubscribe">Build bindings for the QtPublishSubscribe module</flag>
+ <flag name="sensors">Build bindings for the QtSensors module</flag>
+ <flag name="serviceframework">Build bindings for the QtServiceFramework module</flag>
+ <flag name="systeminfo">Build bindings for the QtSystemInfo module</flag>
+ <flag name="versit">Build bindings for the QtVersit module</flag>
+ </use>
+ <upstream>
+ <maintainer status="active">
+ <email>phil@riverbankcomputing.com</email>
+ <name>Phil Thompson</name>
+ </maintainer>
+ <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/PyRSS2Gen/Manifest b/dev-python/PyRSS2Gen/Manifest
new file mode 100644
index 000000000000..aa062e83ec52
--- /dev/null
+++ b/dev-python/PyRSS2Gen/Manifest
@@ -0,0 +1,2 @@
+DIST PyRSS2Gen-1.0.0.tar.gz 8819 SHA256 61a15ee50d7bccafb5f6bc2ecc59f18963f45425b3836da637a2121b415ed11e SHA512 0c8dfeed8cff3b1985e439d60083a16515883b2884310df7ea6af6f2f8cb32a5540373413b27ada0a7c5f56692c9cf61be04818d45030f2f888da33848b5a68c WHIRLPOOL 2d842bb9d8cc570dd0dc07ea97ef6081b72044be0cd0be4c45706adc5155ae3244363556c73a01aa24b6608dfa443e185b5f92cadfad2eeac5612cc3dacee435
+DIST PyRSS2Gen-1.1.tar.gz 9149 SHA256 2a9a3ee7c8e30cb40434ef3a295f9a60166f7d8c3eaefac9f46f7ed4b27c2269 SHA512 2240686914c87984626eb739676927fcd53488158bdebf589e07e8a778e6d24305964e032581c61836f0fabc1264e42d05c88eac8f4c5f6536c31c775434ce02 WHIRLPOOL 4ee5f7fefc942600f00a07bd081bc2c0324c6e651d3008f591608dc537dceaf22029d887dd04360ef381975fcab12d8ed6fa5858c526c7c9467a475a48971a5d
diff --git a/dev-python/PyRSS2Gen/PyRSS2Gen-1.0.0-r1.ebuild b/dev-python/PyRSS2Gen/PyRSS2Gen-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..1b503ad18035
--- /dev/null
+++ b/dev-python/PyRSS2Gen/PyRSS2Gen-1.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RSS feed generator written in Python"
+HOMEPAGE="http://www.dalkescientific.com/Python/PyRSS2Gen.html http://pypi.python.org/pypi/PyRSS2Gen"
+SRC_URI="http://www.dalkescientific.com/Python/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/PyRSS2Gen/PyRSS2Gen-1.1.ebuild b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1.ebuild
new file mode 100644
index 000000000000..93c3dac58c38
--- /dev/null
+++ b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RSS feed generator written in Python"
+HOMEPAGE="http://www.dalkescientific.com/Python/PyRSS2Gen.html http://pypi.python.org/pypi/PyRSS2Gen"
+SRC_URI="http://www.dalkescientific.com/Python/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/PyRSS2Gen/metadata.xml b/dev-python/PyRSS2Gen/metadata.xml
new file mode 100644
index 000000000000..f320dd15bcfb
--- /dev/null
+++ b/dev-python/PyRSS2Gen/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/PyZilla/Manifest b/dev-python/PyZilla/Manifest
new file mode 100644
index 000000000000..03d9a799f964
--- /dev/null
+++ b/dev-python/PyZilla/Manifest
@@ -0,0 +1 @@
+DIST PyZilla-0.1.0.tar.gz 14686 SHA256 43b814f897c7cc518965db1ff4e315d3cf21bcd3dce4f556d7538b7d50b8f02f SHA512 20f893e1251eb9f3c62ee702c12064eb3d560c82131cf4b228d11426f2b8a7c9cf08b8d45439445b381f9c23861f75b5c11c71ef59c50fbca7c0ef952a4fe5e5 WHIRLPOOL 9793b25f56774ac0585baed48ca12c4c11e541210ed8b3a280b55d110b3566c1f5557b8f817817df9202da31c22920ab3055990a5bd0ad8a5660da7207429c4d
diff --git a/dev-python/PyZilla/PyZilla-0.1.0-r1.ebuild b/dev-python/PyZilla/PyZilla-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..f8554f285289
--- /dev/null
+++ b/dev-python/PyZilla/PyZilla-0.1.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for the BugZilla XML-RPC API"
+HOMEPAGE="http://pypi.python.org/pypi/PyZilla"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/PyZilla/metadata.xml b/dev-python/PyZilla/metadata.xml
new file mode 100644
index 000000000000..0317e4dbdf9a
--- /dev/null
+++ b/dev-python/PyZilla/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>williamh@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">PyZilla</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/RecSQL/Manifest b/dev-python/RecSQL/Manifest
new file mode 100644
index 000000000000..6e2d435eaf38
--- /dev/null
+++ b/dev-python/RecSQL/Manifest
@@ -0,0 +1 @@
+DIST RecSQL-0.7.8.tar.gz 140025 SHA256 1b74b7c177e51a39d4889740ca015d793d48d1026c380e77fdbcc84919188c18 SHA512 bbe5dc547d8e254eac2513c66cdcbf564e491212ee549cafd5051caf545c4b8b7c6d9f728807ab1fff98a55a5c617f4736dd67b1c5a2ab882408d9289340c33c WHIRLPOOL 470bc80dfcb631cf9b5e4bf4844a606fa1aec4409bbee58227bd575c0a18748bf8956e7f6a75c1fce94a6870b7a8477a48e4694b972485c62fc58eef0918734a
diff --git a/dev-python/RecSQL/RecSQL-0.7.8.ebuild b/dev-python/RecSQL/RecSQL-0.7.8.ebuild
new file mode 100644
index 000000000000..258fe806fff3
--- /dev/null
+++ b/dev-python/RecSQL/RecSQL-0.7.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-2
+ EGIT_REPO_URI="
+ git://github.com/orbeckst/${PN}.git
+ https://github.com/orbeckst/${PN}.git"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ scm_eclass=vcs-snapshot
+ SRC_URI="https://github.com/orbeckst/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+inherit eutils distutils-r1 ${scm_eclass}
+
+DESCRIPTION="Simple SQL analysis of python records"
+HOMEPAGE="http://orbeckst.github.com/RecSQL/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/RecSQL/metadata.xml b/dev-python/RecSQL/metadata.xml
new file mode 100644
index 000000000000..ba2081c24180
--- /dev/null
+++ b/dev-python/RecSQL/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">orbeckst/RecSQL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/SaltTesting/Manifest b/dev-python/SaltTesting/Manifest
new file mode 100644
index 000000000000..d873528b40a2
--- /dev/null
+++ b/dev-python/SaltTesting/Manifest
@@ -0,0 +1,3 @@
+DIST SaltTesting-2014.8.5.tar.gz 32787 SHA256 ee1681e13f09646ce08f9e95e700eddb7d882f6a87051f2caee0e844aca69339 SHA512 f3a25d36c94e01d448c3a3ce1bbf831ab9d806847ccc44a4e3d2cc40ac8f967f570d6724fef3b61838e14f8624a092e83e9db46101509c22e817836b545c9f58 WHIRLPOOL bed7114ea75b496bf87efccb937e75d744b2f416a74f4df979ce151037cab13485b863d1ab757ff59810517df9c1a297b1f0e891e63ad64d7436081ddc5d281b
+DIST SaltTesting-2015.2.16.tar.gz 77908 SHA256 05ddb56d9775c404b2c8536bd5f8fce97cf35777b1077eed895175ae8db02d1d SHA512 170ff267be0edd24da1e90d70795fb2ff5193407e766a4d90cef550130b997ce4f4ecc0d327ca8555fbe14fd3587620b8e356e1060a91edac62cf114356ada48 WHIRLPOOL 736babf2df8922ce092fd0578fc2c45b3a9773975d63dbd12d04bb428e020ad4f8f798f9876fceb922154e5d8e55f105524a70b4514a582e84064f5fc332887a
+DIST SaltTesting-2015.5.8.tar.gz 79236 SHA256 c4256f1e22bf90951fdee46444ec8c9f040f5a75b405151f4b8cd9a30091a559 SHA512 8f517c13428d679d44c288cccd02033f79cbbe93c0c1adad48179d41d97cb7c4f2b49d43a10fa52e803f1fddf9b05595b8a9f894612777388ee5c15a3919ecbf WHIRLPOOL 9b8f2f9dc7043d16f3479d15f1c668899a2991c7af789f5b1c02ca4a5749aad8dd50183da9567f78412d0d2f32170c5c63341fd440a5c14b4e38664b3f433776
diff --git a/dev-python/SaltTesting/SaltTesting-2014.8.5.ebuild b/dev-python/SaltTesting/SaltTesting-2014.8.5.ebuild
new file mode 100644
index 000000000000..6f4a8cdcbda6
--- /dev/null
+++ b/dev-python/SaltTesting/SaltTesting-2014.8.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Required testing tools needed in the several Salt Stack projects"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/saltstack/salt-testing.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
diff --git a/dev-python/SaltTesting/SaltTesting-2015.2.16.ebuild b/dev-python/SaltTesting/SaltTesting-2015.2.16.ebuild
new file mode 100644
index 000000000000..4664b1c5c316
--- /dev/null
+++ b/dev-python/SaltTesting/SaltTesting-2015.2.16.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7)
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Required testing tools needed in the several Salt Stack projects"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/saltstack/salt-testing.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND=">=dev-python/requests-2.4.2"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/SaltTesting/SaltTesting-2015.5.8.ebuild b/dev-python/SaltTesting/SaltTesting-2015.5.8.ebuild
new file mode 100644
index 000000000000..43517199653a
--- /dev/null
+++ b/dev-python/SaltTesting/SaltTesting-2015.5.8.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Required testing tools needed in the several Salt Stack projects"
+HOMEPAGE="http://saltstack.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/saltstack/salt-testing.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~x86 ~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="
+ >=dev-python/requests-2.4.2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+# The testsuite requires the package salt itself which has never been added to portage
diff --git a/dev-python/SaltTesting/files/SaltTesting-0.5.2-silence-DepricationWarning.patch b/dev-python/SaltTesting/files/SaltTesting-0.5.2-silence-DepricationWarning.patch
new file mode 100644
index 000000000000..292a74c5c648
--- /dev/null
+++ b/dev-python/SaltTesting/files/SaltTesting-0.5.2-silence-DepricationWarning.patch
@@ -0,0 +1,17 @@
+--- a/salttesting/unit.py 2013-10-24 10:57:42.000000000 +0000
++++ b/salttesting/unit.py 2013-11-12 18:47:11.245838201 +0000
+@@ -42,10 +42,10 @@
+ class TestCase(_TestCase):
+
+ def assertEquals(self, *args, **kwargs):
+- raise DeprecationWarning(
+- 'The {0}() function is deprecated. Please start using {1}() '
+- 'instead.'.format('assertEquals', 'assertEqual')
+- )
++ #raise DeprecationWarning(
++ # 'The {0}() function is deprecated. Please start using {1}() '
++ # 'instead.'.format('assertEquals', 'assertEqual')
++ #)
+ return _TestCase.assertEquals(self, *args, **kwargs)
+
+ def failUnlessEqual(self, *args, **kwargs):
diff --git a/dev-python/SaltTesting/metadata.xml b/dev-python/SaltTesting/metadata.xml
new file mode 100644
index 000000000000..9e2d309a1252
--- /dev/null
+++ b/dev-python/SaltTesting/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SaltTesting</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/SchemaObject/Manifest b/dev-python/SchemaObject/Manifest
new file mode 100644
index 000000000000..7cb6db6490be
--- /dev/null
+++ b/dev-python/SchemaObject/Manifest
@@ -0,0 +1 @@
+DIST SchemaObject-0.5.3.tar.gz 19921 SHA256 8d63dde2ed6a6773b7a10cdb3aa9c43e05c6e16a7b3cc59b42ad71b80511d4e0 SHA512 5f46672b6e069979db47aa96c4b1989f2575853803db84e27a4e15d40219829866e3aaf9e2a7f6f59a24cea7e6e166b8f310941a86f4f459cbe331ac6b3564d2 WHIRLPOOL 4c040c4ac382a3ec8cb0a5fba4605003674cea795186c693a5331f74649f803cb005852990ab88abdf4cc1f026d5986d45d7dff46f628e74549578ecb1ca799f
diff --git a/dev-python/SchemaObject/SchemaObject-0.5.3.ebuild b/dev-python/SchemaObject/SchemaObject-0.5.3.ebuild
new file mode 100644
index 000000000000..5cb07d3f8834
--- /dev/null
+++ b/dev-python/SchemaObject/SchemaObject-0.5.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="2:2.5:2.7"
+
+inherit distutils
+
+DESCRIPTION="A simple Python object interface to a MySQL database schema"
+HOMEPAGE="http://matuson.com/code/schemaobject/"
+SRC_URI="http://www.matuson.com/code/schemaobject/downloads/${P}.tar.gz"
+
+pn="${PN,,}"
+S="${WORKDIR}/${pn}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ python_convert_shebangs -r 2 .
+}
+
+pkg_postinst() {
+ python_mod_optimize "${pn}"
+}
+
+pkg_postrm() {
+ python_mod_cleanup "${pn}"
+}
diff --git a/dev-python/SchemaObject/metadata.xml b/dev-python/SchemaObject/metadata.xml
new file mode 100644
index 000000000000..1e7587374fdf
--- /dev/null
+++ b/dev-python/SchemaObject/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/WSME/Manifest b/dev-python/WSME/Manifest
new file mode 100644
index 000000000000..31c711c7ba18
--- /dev/null
+++ b/dev-python/WSME/Manifest
@@ -0,0 +1 @@
+DIST WSME-0.6.2.tar.gz 117174 SHA256 a3aede98e9cd1531a697db9f0e4bc038a423cff44ca7c196a1b4fe648427ec74 SHA512 edfbc4f1e0df40273adb1064faced3b047751e611688853fbd66c78248ef57b6cfbab2177ca506afa7727ee26136aa066eb53ea2c012eda3ba65b7ca05b25cb2 WHIRLPOOL babdcb786c636ec7fc7cb067aba72d601e877520fc81bc03d099710a03ed393dfdcc8767a4982de01e75c88da0a0b902eeba903185c491aee846a261574c9da0
diff --git a/dev-python/WSME/WSME-0.6.2.ebuild b/dev-python/WSME/WSME-0.6.2.ebuild
new file mode 100644
index 000000000000..5f433dd94d5f
--- /dev/null
+++ b/dev-python/WSME/WSME-0.6.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplify the writing of REST APIs, and extend them with additional protocols."
+HOMEPAGE="http://pythonhosted.org//WSME"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]' python{2_7,3_2})
+"
diff --git a/dev-python/WSME/metadata.xml b/dev-python/WSME/metadata.xml
new file mode 100644
index 000000000000..ebde72ca9945
--- /dev/null
+++ b/dev-python/WSME/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Simplify the writing of REST APIs, and extend them with additional protocols.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">WSME</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/XenAPI/Manifest b/dev-python/XenAPI/Manifest
new file mode 100644
index 000000000000..2550c7da56e5
--- /dev/null
+++ b/dev-python/XenAPI/Manifest
@@ -0,0 +1 @@
+DIST XenAPI-1.2.tar.gz 3901 SHA256 b981924e1449eb24a1f0eea5bd1d11179c78be5c3f9bf32e98a486c43d513645 SHA512 24b0fd6591d5bca0ac2b17808afa8c762a3fdefdb44fac41cc223aaa16a58073a4160ecedeef0e1490df18fba8b20e2072b6dc68cbe0f53145351f76d9d1e621 WHIRLPOOL 9d7352502f1fb0f342d0b13ca992775c3e5010770586fb302eade96c40c27df451ce7d8ddb1a76defdbae7b7a5b694380ec7713015d0eedfe0cbf8dae97b802a
diff --git a/dev-python/XenAPI/XenAPI-1.2.ebuild b/dev-python/XenAPI/XenAPI-1.2.ebuild
new file mode 100644
index 000000000000..49324bece892
--- /dev/null
+++ b/dev-python/XenAPI/XenAPI-1.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Xen API SDK, for communication with Citrix XenServer and Xen Cloud Platform"
+HOMEPAGE="http://community.citrix.com/display/xs/Download+SDKs"
+SRC_URI="mirror://pypi/X/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/XenAPI/metadata.xml b/dev-python/XenAPI/metadata.xml
new file mode 100644
index 000000000000..0e0a1dcb0ea5
--- /dev/null
+++ b/dev-python/XenAPI/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>xen</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">XenAPI</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/addons/Manifest b/dev-python/addons/Manifest
new file mode 100644
index 000000000000..63b1452bc2d3
--- /dev/null
+++ b/dev-python/addons/Manifest
@@ -0,0 +1 @@
+DIST addons-0.7.zip 34220 SHA256 4d5f248c31db312081a3d562d1de433971e6cd2e94aeb00c4ebc08e22ea8f15c SHA512 4847508aebfac56586878e987eafc852bf41abb5734efbd4c0f12480a871e9820449f0c56a2da82060234a36b3b5b359d908283e6d830df56b759dd39661adb4 WHIRLPOOL 3a4cd4d4bafed479e8abb52ba904af8935a6592d9e479f03af11869f2046d50257e0f29a0e47d2fcc95720764b75fc17f793605ee047c97f4c618a5d0c602fa7
diff --git a/dev-python/addons/addons-0.7.ebuild b/dev-python/addons/addons-0.7.ebuild
new file mode 100644
index 000000000000..dda5629e9096
--- /dev/null
+++ b/dev-python/addons/addons-0.7.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="AddOns"
+
+DESCRIPTION="Dynamically extend other objects (formerly ObjectRoles)"
+HOMEPAGE="http://pypi.python.org/pypi/AddOns/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip -> ${P}.zip"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="ZPL"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_test() {
+ "${PYTHON}" peak/util/addons.py && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/addons/metadata.xml b/dev-python/addons/metadata.xml
new file mode 100644
index 000000000000..50e8fbf189c9
--- /dev/null
+++ b/dev-python/addons/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">AddOns</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/adns-python/Manifest b/dev-python/adns-python/Manifest
new file mode 100644
index 000000000000..7bdf00ceee5e
--- /dev/null
+++ b/dev-python/adns-python/Manifest
@@ -0,0 +1 @@
+DIST adns-python-1.2.1.tar.gz 18252 SHA256 30f4ae0c40f6b09b0fad60c1aa4b4b9ff250e62f6e5e6cc112949f880359a23e SHA512 00770a3eeb27acf7cdeeac9c76acc2cea30cd0f2620b98f3d2976cacbaf3103376cce1ce7a868114caa06caecd8a4fdbf29bdf1ef60f7b43294b41738e02a736 WHIRLPOOL 5ae46975a2bb671654c5c361cf2457604129d9caa72320dec6071211acfd67c35e43d027a44d02f27856aaee47d9c3b22c6afa1c5df2a7c618e6382f08524aa4
diff --git a/dev-python/adns-python/adns-python-1.2.1-r1.ebuild b/dev-python/adns-python/adns-python-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..6dde44690dc3
--- /dev/null
+++ b/dev-python/adns-python/adns-python-1.2.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for ADNS"
+HOMEPAGE="http://code.google.com/p/adns-python/ http://pypi.python.org/pypi/adns-python"
+SRC_URI="http://adns-python.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND=">=net-libs/adns-1.3"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/adns-python/metadata.xml b/dev-python/adns-python/metadata.xml
new file mode 100644
index 000000000000..10b55c2f3116
--- /dev/null
+++ b/dev-python/adns-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">adns-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/adodb-py/Manifest b/dev-python/adodb-py/Manifest
new file mode 100644
index 000000000000..8938cade1ce4
--- /dev/null
+++ b/dev-python/adodb-py/Manifest
@@ -0,0 +1 @@
+DIST adodb-220.zip 32438 SHA256 92dd475b96853f4932da64c1833cd5247e83cd61196dce67827b4b682d1fa50b SHA512 7aba87a32835b51639240194bc0745d58fd713fe2d6d5d5145f82eb1acb192377bc5dae904fa013b323f38ccd9d8dff77d99c0a8c91e1ee38c21e6a6b05a81d8 WHIRLPOOL d2d3f882c4f10d9a3771b69b40174481a5fed458a3e1d044a4d493b868c5152efdf8e2af67794738979e199a29267e085dbac3b25c954577b7865a38c01d8246
diff --git a/dev-python/adodb-py/adodb-py-2.20-r1.ebuild b/dev-python/adodb-py/adodb-py-2.20-r1.ebuild
new file mode 100644
index 000000000000..7c6847b5f0b2
--- /dev/null
+++ b/dev-python/adodb-py/adodb-py-2.20-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='sqlite?'
+
+inherit distutils-r1
+
+MY_P=${PN/-py/}-${PV//./}
+
+DESCRIPTION="Active Data Objects Data Base library for Python"
+HOMEPAGE="http://adodb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/adodb/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 x86"
+IUSE="mysql postgres sqlite"
+
+RDEPEND="postgres? ( dev-python/psycopg:0[${PYTHON_USEDEP}] )
+ mysql? ( >=dev-python/mysql-python-0.9.2[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}_sandbox_violation.patch"
+)
+
+python_install_all() {
+ local HTML_DOCS=( adodb-py-docs.htm *.gif )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/adodb-py/files/adodb-py_sandbox_violation.patch b/dev-python/adodb-py/files/adodb-py_sandbox_violation.patch
new file mode 100644
index 000000000000..ca79eb5a7db6
--- /dev/null
+++ b/dev-python/adodb-py/files/adodb-py_sandbox_violation.patch
@@ -0,0 +1,22 @@
+diff -uNtr adodb-220.orig/setup.py adodb-220/setup.py
+--- adodb-220.orig/setup.py 2008-07-16 15:28:26.000000000 -0430
++++ adodb-220/setup.py 2009-09-19 00:01:24.000000000 -0430
+@@ -25,17 +25,3 @@
+ except:
+ pass
+
+-
+-for p in sys.path:
+- if p.find('site-packages')>0:
+- trydel(p+os.sep+'adodb.py')
+- trydel(p+os.sep+'adodb_access.py')
+- trydel(p+os.sep+'adodb_mssql.py')
+- trydel(p+os.sep+'adodb_mxodbc.py')
+- trydel(p+os.sep+'adodb_mxoracle.py')
+- trydel(p+os.sep+'adodb_mysql.py')
+- trydel(p+os.sep+'adodb_oci8.py')
+- trydel(p+os.sep+'adodb_odbc.py')
+- trydel(p+os.sep+'adodb_odbc_mssql.py')
+- trydel(p+os.sep+'adodb_postgres.py')
+- trydel(p+os.sep+'adodb_vfp.py')
+\ No newline at end of file
diff --git a/dev-python/adodb-py/metadata.xml b/dev-python/adodb-py/metadata.xml
new file mode 100644
index 000000000000..3f948189258c
--- /dev/null
+++ b/dev-python/adodb-py/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>Database abstraction library for Python</longdescription>
+ <longdescription lang="ja">
+Python言語用データベース抽象化ライブラリã§ã™ã€‚
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">adodb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aioeventlet/Manifest b/dev-python/aioeventlet/Manifest
new file mode 100644
index 000000000000..dfc7df906bfd
--- /dev/null
+++ b/dev-python/aioeventlet/Manifest
@@ -0,0 +1 @@
+DIST aioeventlet-0.4.tar.gz 64314 SHA256 fe78c2b227ce077b1581e2ae2c071f351111d0878ec1b0216435f6a898df79a6 SHA512 6d76bacd1ccaf477f121bf57f2963d37c86208547beb5fe7d2c8dc22d787d7ed98761869d3957b9c1f62dc40ca462363f4a7cb2a80b6dabf13f89950d314c2ce WHIRLPOOL 4be9753fb9d2784ffd7e1590d0cebb5a9163d9fa178d5cf3537bf1c297d0e64eb921172af5d50c9cf9ada62ec77be6adbd74679f0aa429cfdba5eb193aeb87c1
diff --git a/dev-python/aioeventlet/aioeventlet-0.4.ebuild b/dev-python/aioeventlet/aioeventlet-0.4.ebuild
new file mode 100644
index 000000000000..62160f3bb179
--- /dev/null
+++ b/dev-python/aioeventlet/aioeventlet-0.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="asyncio event loop scheduling callbacks in eventlet"
+HOMEPAGE="http://pypi.python.org/pypi/aioeventlet https://bitbucket.org/haypo/aioeventlet"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-python/eventlet[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/asyncio-0.4.1[${PYTHON_USEDEP}]' 'python3_3')
+ $(python_gen_cond_dep '>=dev-python/trollius-0.3[${PYTHON_USEDEP}]' 'python2_7')"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/aioeventlet/metadata.xml b/dev-python/aioeventlet/metadata.xml
new file mode 100644
index 000000000000..595605a0ea16
--- /dev/null
+++ b/dev-python/aioeventlet/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+aioeventlet implements the asyncio API (PEP 3156) on top of eventlet. It makes possible to write asyncio code in a project currently written for eventlet.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">aioeventlet</remote-id>
+ <remote-id type="bitbucket">haypo/aioeventlet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
new file mode 100644
index 000000000000..9dc53ab8a78b
--- /dev/null
+++ b/dev-python/aiohttp/Manifest
@@ -0,0 +1 @@
+DIST aiohttp-0.14.4.tar.gz 1253273 SHA256 2338c8506ce7853ac2df7efba731a3fd015a7ee2561afab0d69ddefb43403f5a SHA512 453626e2acb2da85b39fd9dab01c51bbbbdf3422e2d7ff833e8be141f43d27d046646bafe6d58d96d37457208ecc2347a3724f056152c639c18de99da619538d WHIRLPOOL 42e8e23c3b1c28463617f9137288886ccf2d61fe404e8b06e105e0a48b36b06382a7a58a6e6c91bc38886e09874ba6112300fd6bf3adfce704129a7edbc4936d
diff --git a/dev-python/aiohttp/aiohttp-0.14.4-r1.ebuild b/dev-python/aiohttp/aiohttp-0.14.4-r1.ebuild
new file mode 100644
index 000000000000..b66fe1e3cf67
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-0.14.4-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="https://github.com/KeepSafe/aiohttp https://pypi.python.org/pypi/aiohttp"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/asyncio[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/aiohttp/metadata.xml b/dev-python/aiohttp/metadata.xml
new file mode 100644
index 000000000000..79da0ee6f17a
--- /dev/null
+++ b/dev-python/aiohttp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>bman@gentoo.org</email>
+ <name>Aaron Bauman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">aiohttp</remote-id>
+ <remote-id type="github">KeepSafe/aiohttp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/alabaster/Manifest b/dev-python/alabaster/Manifest
new file mode 100644
index 000000000000..f0df1af0adf9
--- /dev/null
+++ b/dev-python/alabaster/Manifest
@@ -0,0 +1,6 @@
+DIST alabaster-0.6.0.tar.gz 11086 SHA256 86423a9d10cff61524df31cba430e9beff4829d49d1334fa836f319eea1f8fdf SHA512 89946c37e069860791a0429ea183619d8052e661d2f5ded906456ca6b7fabe66a9f222b18f3f089d1a34929c0001bd2dd255b8c593d2acf733c4e409771372e0 WHIRLPOOL 712e39761cae5ec2e76ccce90a58b61880159991cf7663456dcf1c10208df6aef8e35a1a478b0a12219f7333a8ac96bb543509bf14fe029fda93b0a36cc2667b
+DIST alabaster-0.6.3.tar.gz 11749 SHA256 30d72e732d61f3ac74bb8bd6a2b063ec7b0522b00bfef979dce4435f7982439e SHA512 c9d102884eca20063da8929dbbd030faa3e86c7f8aeb4e72f9f7dcccbf94334efe2de0143939d8fcb8e79afbbfe6922cedc9621332242d0a482ab4f61b365c0f WHIRLPOOL 15eee45a1e868f765257c6655e33adb1c4da807875b704a76f08d760c4b688ffc26567fd8e00315f6cabbf45e7d82d7d968ccdef83d21e1b1339ed8f5e0ac4e7
+DIST alabaster-0.7.2.tar.gz 15024 SHA256 f8f436a350e37607a3a3d333b6c2d9baf3320cd661e72e95ee0e3037ac7a3157 SHA512 1a1b2c7f76b2c93042044c869e376512bda975765497186908520cba314129bb3ad34d39ab365105331d696b54eeae3094e320c2cb6429ebbd30a2019157b5e3 WHIRLPOOL 532da1cee88e9eedbb53acc263031ecbc796d90ea11075fc02108329b416c6a516ae7681b5ce7970d6e094dc836ed40f050bc75c8966b4e611b50f9af015d1b1
+DIST alabaster-0.7.4.tar.gz 15183 SHA256 ce77e2fdbaabaae393ffce2a6252a0a666e3977c6c2fa1c48c4ded0569785951 SHA512 42d7939b49b843611f6fe8be8b8c5f02cda9a3bb81b27a60c7764ff894d40a4a74deeadf183b3a23631100e925c76ce2cb3f8b479ce9c17ae279d5f720cf26af WHIRLPOOL e07b8cb114421463c105f9ec8eb4a6ffe6cdd1bd27eccdb36348e22f61fafb18d9b00eb5db1e4238897e8aec328840ec8a4ca259dce9f3fe2a1bb5ea2a9fb4fd
+DIST alabaster-0.7.5.tar.gz 16204 SHA256 8022f269eba3aefd390b927ac740ab1da7af15838e1c90caed0e66370eef8fd3 SHA512 abe51a04224163cd834609dd3a07710f12ec7c52e0859f25327e8067db27a460d723d340c25f8f2440f92c9ba2a968e021993a07bb8faef093d6af0a6209a4c8 WHIRLPOOL 1838aa91704b5c533847127052170731c2aad786c791c31a53d675fe95bc80fa764c595b272d9e4a3a01e646f533752320d2029057f794b3368ac1242e9aac89
+DIST alabaster-0.7.6.tar.gz 16598 SHA256 309d33e0282c8209f792f3527f41ec04e508ff837c61fc1906dde988a256deeb SHA512 90058e56365c59a4eed6034273ea83132fcf77ee26e3dfd2d9aa0233657192e1f32d8f40cd6477e307d063d0136ea5e18b94c6c0874a378d6386874dceccfdc8 WHIRLPOOL 2249f055772ce7a389df88a4a659a9a2b0b7c45992d9e225f93ecc79c9038c89474554fdf3557c78ff645242cffa0f1c4822f1b08831f1943140244931b7c812
diff --git a/dev-python/alabaster/alabaster-0.6.0.ebuild b/dev-python/alabaster/alabaster-0.6.0.ebuild
new file mode 100644
index 000000000000..42b190a34df6
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.6.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/alabaster-0.6.3.ebuild b/dev-python/alabaster/alabaster-0.6.3.ebuild
new file mode 100644
index 000000000000..af905cf4f0e6
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.6.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/alabaster-0.7.2.ebuild b/dev-python/alabaster/alabaster-0.7.2.ebuild
new file mode 100644
index 000000000000..fe40f4500105
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.7.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/alabaster-0.7.4.ebuild b/dev-python/alabaster/alabaster-0.7.4.ebuild
new file mode 100644
index 000000000000..9aa52bdf086a
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.7.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/alabaster-0.7.5.ebuild b/dev-python/alabaster/alabaster-0.7.5.ebuild
new file mode 100644
index 000000000000..9aa52bdf086a
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.7.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/alabaster-0.7.6.ebuild b/dev-python/alabaster/alabaster-0.7.6.ebuild
new file mode 100644
index 000000000000..9aa52bdf086a
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.7.6.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="https://github.com/bitprophet/alabaster"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/alabaster/metadata.xml b/dev-python/alabaster/metadata.xml
new file mode 100644
index 000000000000..1dc910e6eccb
--- /dev/null
+++ b/dev-python/alabaster/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">alabaster</remote-id>
+ <remote-id type="github">bitprophet/alabaster</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
new file mode 100644
index 000000000000..18304e6ecda2
--- /dev/null
+++ b/dev-python/alembic/Manifest
@@ -0,0 +1,4 @@
+DIST alembic-0.6.7.tar.gz 467942 SHA256 55c35e897d2970bae45345ff4c8a190e773a08f4289299de694ebfebfb0c6946 SHA512 21bf62bb035cac6686599ec3a5a7dcd8505ca590f37f5667990f18b3070b1490ca083950cec9714fe10947ca05df9598e14c69eb915d3e5d5d958414d00dc5f6 WHIRLPOOL b3a10fbef104167cbd89f08e6dfe00a2559b2e6d620026539af64911d23f5db60873c91c995d55204bbaed6646f2f7f9b834e477c690d0b5abd8050de3e1fdd9
+DIST alembic-0.7.4.tar.gz 604836 SHA256 550f10b2266f689778eced2fed899bfd05755737478454b97fb99385f2e780e5 SHA512 258d2f7fe046e7fd662fae0b68ba19988cc59fd1d0d8bb6e1b3b0ea133d076d649d6bc99933ac50be538d1c4d64062b2b2d259cb042d9bbddf7346d0283af383 WHIRLPOOL eaa17f8b0bd91ca8eb11292bc0be45443b43564b06ec1461c5d6b60dcbd3777c443c6a355164057334080a7dbf37f32cf591f176deb52afdb12d7ca79de4a766
+DIST alembic-0.7.6.tar.gz 623931 SHA256 864fa461265d6c97bcefee603e9ef0b6385bda9063d41b3db3e010abbba5ef61 SHA512 08d04f4ad0d5e8fe5741fab7480e6652f26449e393af4406c62acd7aa039618cce8db64ebf113565ee5b98c5e19a813b4ebd2ad15d68a717c48080a3418d517e WHIRLPOOL ce2a5894df399b773a1ee8e8163391fd05c3df8d8b5f6f31bd949f8e5a1ec7b4f837f1eb32e231ce5b5b831faedf35f685b02b02f88075125df2561b2ab64846
+DIST alembic-0.7.7.tar.gz 721855 SHA256 abdeded3f92766d30d2e00015f73573e23f96bcb38037fac199a75445e3e66c6 SHA512 5478987f37ca724e168fd4de4bd557ca3344aa0539ae25dd56fc05b855ec02004a1d8c3c14aa3f3715eaaa74431d1b25121810c3f197ba5def67afbbe41e62eb WHIRLPOOL e10e6930a559fa7a8e90dab83a08d3f9c2a252085d4732036e5e07c9b75329d851a64f6d68639eda88fdb136cfc43078434e23e5438551569ca55eb295a192a8
diff --git a/dev-python/alembic/alembic-0.6.7.ebuild b/dev-python/alembic/alembic-0.6.7.ebuild
new file mode 100644
index 000000000000..448ef447b037
--- /dev/null
+++ b/dev-python/alembic/alembic-0.6.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="https://bitbucket.org/zzzeek/alembic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test doc"
+
+# requires.txt cites 'SQLAlchemy>=0.7.3' which is really both old and silly
+# because it shatters the testsuite. If 'someone' cares to adhere to correct form
+# and edit to -0.7.3, feel free, and then pick up the pieces.
+RDEPEND=">=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# For test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # suite passes all if run from source. The residual fail & error are quite erroneous
+ sed -e 's:class SourcelessVersioningTest(VersioningTest):#&:' \
+ -e 's:sourceless = True:#&:' \
+ -e 's:test_needs_flag:_&:' \
+ -i tests/test_versioning.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests tests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/alembic/alembic-0.7.4.ebuild b/dev-python/alembic/alembic-0.7.4.ebuild
new file mode 100644
index 000000000000..26782e5fb0ed
--- /dev/null
+++ b/dev-python/alembic/alembic-0.7.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="https://bitbucket.org/zzzeek/alembic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test doc"
+
+# requires.txt cites 'SQLAlchemy>=0.7.3' which is really both old and silly
+# because it shatters the testsuite. If 'someone' cares to adhere to correct form
+# and edit to -0.7.3, feel free, and then pick up the pieces.
+RDEPEND=">=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# For test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # suite passes all if run from source. The residual fail & error are quite erroneous
+ rm tests/test_script_consumption.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} run_tests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/alembic/alembic-0.7.6.ebuild b/dev-python/alembic/alembic-0.7.6.ebuild
new file mode 100644
index 000000000000..424534017e2c
--- /dev/null
+++ b/dev-python/alembic/alembic-0.7.6.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="https://bitbucket.org/zzzeek/alembic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test doc"
+
+# requires.txt cites 'SQLAlchemy>=0.7.3' which is really both old and silly
+# because it shatters the testsuite. If 'someone' cares to adhere to correct form
+# and edit to -0.7.3, feel free, and then pick up the pieces.
+RDEPEND=">=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# For test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # suite passes all if run from source. The residual fail & error are quite erroneous
+ rm tests/test_script_consumption.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} run_tests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/alembic/alembic-0.7.7.ebuild b/dev-python/alembic/alembic-0.7.7.ebuild
new file mode 100644
index 000000000000..424534017e2c
--- /dev/null
+++ b/dev-python/alembic/alembic-0.7.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="https://bitbucket.org/zzzeek/alembic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test doc"
+
+# requires.txt cites 'SQLAlchemy>=0.7.3' which is really both old and silly
+# because it shatters the testsuite. If 'someone' cares to adhere to correct form
+# and edit to -0.7.3, feel free, and then pick up the pieces.
+RDEPEND=">=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# For test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # suite passes all if run from source. The residual fail & error are quite erroneous
+ rm tests/test_script_consumption.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} run_tests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/alembic/metadata.xml b/dev-python/alembic/metadata.xml
new file mode 100644
index 000000000000..b0ab8676db40
--- /dev/null
+++ b/dev-python/alembic/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yac@gentoo.org</email>
+ <name>Jan Matějka</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">alembic</remote-id>
+ <remote-id type="bitbucket">zzzeek/alembic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/algopy/Manifest b/dev-python/algopy/Manifest
new file mode 100644
index 000000000000..fbb8a6163888
--- /dev/null
+++ b/dev-python/algopy/Manifest
@@ -0,0 +1,3 @@
+DIST algopy-0.5.1.tar.gz 135183 SHA256 509e3ec6068bd6ed4c336546f8a8d84aa1083c2fd50a1a4f4d26df606bd0e901 SHA512 384e22e89db7bc999aad29269d0f9669d4b72f3cd08860a4346801470b5b912d63cea8493c902639f35526e53979771dea8c8b3caf2d431ca45bb47892cd1308 WHIRLPOOL b8121f3106d5b05e60ce81517531d4d0de6756dc7fa2af11eea0c2fce55cfc9a306dfd928fc778886f4742308e7bea12ea49eed87d11438fc1e6efd274d0d282
+DIST algopy-0.5.2.tar.gz 148172 SHA256 a87aeb8a406fd26a3aecd6f2d7634135411ce77b9623665c51cb8a194fb76234 SHA512 9c8cd6947050d39d312836c14b790acab4ccdc9e8fcb060916f777a330da35ea8c7f987c26e3116da8a7a3bd004860d5aef789e74768c21c687febcfffdf6444 WHIRLPOOL 966d21c2d71eddba0d277706c3a88d14d76024bba60433ab8dd4e45459cbef1f08efd141debd05b039c9180618f13c23f92cb68bad6fd648109f1a3b3b69d5fc
+DIST algopy-0.5.3.tar.gz 149560 SHA256 2380bafeeeca4e07012d4b0017e163fce260dc50f2d8593ca883b2d761338aed SHA512 43b3cd4f17fa821fc61898534f595202097cd56d57133a1d13e23743c794166a0f8877947cc6eae6d2ac2fd7400e2a6527ee8229ec1b26ea660ac9c01cd22912 WHIRLPOOL d81ae613354879d99bdfc60b962ee5be7b6a2eeef1f7da7c76a2e90cd0ae187abd860f658c379e945b10fbf82b3972eae9ef2036ccd8f251c618a58f0cf09969
diff --git a/dev-python/algopy/algopy-0.5.1.ebuild b/dev-python/algopy/algopy-0.5.1.ebuild
new file mode 100644
index 000000000000..900facfc5559
--- /dev/null
+++ b/dev-python/algopy/algopy-0.5.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Taylor Arithmetic Computation and Algorithmic Differentiation"
+HOMEPAGE="https://pypi.python.org/pypi/algopy http://packages.python.org/algopy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ ${EPYTHON} run_tests.py || die
+}
diff --git a/dev-python/algopy/algopy-0.5.2.ebuild b/dev-python/algopy/algopy-0.5.2.ebuild
new file mode 100644
index 000000000000..900facfc5559
--- /dev/null
+++ b/dev-python/algopy/algopy-0.5.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Taylor Arithmetic Computation and Algorithmic Differentiation"
+HOMEPAGE="https://pypi.python.org/pypi/algopy http://packages.python.org/algopy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ ${EPYTHON} run_tests.py || die
+}
diff --git a/dev-python/algopy/algopy-0.5.3.ebuild b/dev-python/algopy/algopy-0.5.3.ebuild
new file mode 100644
index 000000000000..900facfc5559
--- /dev/null
+++ b/dev-python/algopy/algopy-0.5.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Taylor Arithmetic Computation and Algorithmic Differentiation"
+HOMEPAGE="https://pypi.python.org/pypi/algopy http://packages.python.org/algopy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ ${EPYTHON} run_tests.py || die
+}
diff --git a/dev-python/algopy/metadata.xml b/dev-python/algopy/metadata.xml
new file mode 100644
index 000000000000..d94b08720819
--- /dev/null
+++ b/dev-python/algopy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">algopy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/amodem/Manifest b/dev-python/amodem/Manifest
new file mode 100644
index 000000000000..49a37e5bf836
--- /dev/null
+++ b/dev-python/amodem/Manifest
@@ -0,0 +1,3 @@
+DIST amodem-1.10.tar.gz 19168 SHA256 a3ba8fc29230d40e0077040561e47b2626a375ca2a42e31aed1401187ae2c421 SHA512 408e2ec0c81f08d5e1567cf0216b9918efbd76887726dc8afade03669aa43f7f32052d8428718333d4e118be8716e9edf4cccd8a813609bc025ad6f1e1631c63 WHIRLPOOL 7fba535ad787303e281ebdc3a1482399fc50f5dd61ca4afe1a202334662e6e28bae53d9e4dd30992811e6b075bc0c1b446180634c91eaa5cb824a4e1832f0c5f
+DIST amodem-1.11.tar.gz 19869 SHA256 00a4c19fb8a9e6dff9459a2cb021c0adc5c669ac1658685f2388457c409931c6 SHA512 f045a771215b50eb387a92209bd1aba0f47f7779b78b720ce49590d6e14ad0b176be6099f78e3b959a61f018b06768bad1f39555c77388d545d088f5cede3fb7 WHIRLPOOL b6b42dd5b240c4704ee26a86a43e9b254673bee2782c976317abf501075b0ed225028df650e03f1b88195c31d75269217ee573ac29370af2afc367cc7488fae9
+DIST amodem-1.9.tar.gz 19301 SHA256 a668abe618446a6925b4262cbd884ea9f2ef38bf44481d37f09cf1f1f0989c95 SHA512 92206cc45d58605f3bc2f00c466712e9ca7e4af6e257817483e69c9f84cdcf8996c99872360b1717f584357b395d81c907493180318bf8b93c6f0ad40caf1305 WHIRLPOOL a1c0ec6cbcf4d18890d22f1c051e78dc904a4bbca3d745fc7615ea93eca57f1110038e21a4091479d0ba75f4d5c885d361ec05b6b51d0385498ac328987f5318
diff --git a/dev-python/amodem/amodem-1.10.ebuild b/dev-python/amodem/amodem-1.10.ebuild
new file mode 100644
index 000000000000..1eb9d3a0f427
--- /dev/null
+++ b/dev-python/amodem/amodem-1.10.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Transmit data between two computers using audio"
+HOMEPAGE="https://github.com/romanz/amodem"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/amodem/amodem-1.11.ebuild b/dev-python/amodem/amodem-1.11.ebuild
new file mode 100644
index 000000000000..1eb9d3a0f427
--- /dev/null
+++ b/dev-python/amodem/amodem-1.11.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Transmit data between two computers using audio"
+HOMEPAGE="https://github.com/romanz/amodem"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/amodem/amodem-1.9.ebuild b/dev-python/amodem/amodem-1.9.ebuild
new file mode 100644
index 000000000000..1eb9d3a0f427
--- /dev/null
+++ b/dev-python/amodem/amodem-1.9.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Transmit data between two computers using audio"
+HOMEPAGE="https://github.com/romanz/amodem"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/amodem/metadata.xml b/dev-python/amodem/metadata.xml
new file mode 100644
index 000000000000..18386e75e2fe
--- /dev/null
+++ b/dev-python/amodem/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">amodem</remote-id>
+ <remote-id type="github">romanz/amodem</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/amqplib/Manifest b/dev-python/amqplib/Manifest
new file mode 100644
index 000000000000..35fa5a096ebf
--- /dev/null
+++ b/dev-python/amqplib/Manifest
@@ -0,0 +1,2 @@
+DIST amqplib-0.6.1.tgz 53680 SHA256 0f2618b74d95cd360a6d46a309a3fb1c37d881a237e269ac195a69a34e0e2f62 SHA512 ec97312e8fe8a297dff37057f7498ab72d1655aa3ac22453c84b6142db8469a51a29c676a359802be45a575b91e7f72f624233564a8e41aeeb987acbb1412954 WHIRLPOOL a75b19a1bd74d8d9a212d703c6a7b0a240ec0866cae4276e580a5f4abc5ad72224152f419b3dc37c12529d08dffc14c18107077ea4a93570fa5ff6341448a8d7
+DIST amqplib-1.0.2.tgz 58544 SHA256 843d69b681a60afd21fbf50f310404ec67fcdf9d13dfcf6e9d41f3b456217e5b SHA512 6c8c9fd7fd68fd6a1eb944962094e57f89525bc78dd002dc0dadd491b262293367a86569dfc52f0701723b4327b7c290150dc2e69e3ac1a28613578d9e0d0710 WHIRLPOOL f3584906a9f6407271335d838cd3b49d3d04b1ec9da04cbc0483272c6f3a73c7307f6bacd6ef8f4a6cf64a348eae631619c1ab09a951d0f3aaa69a1271964cb2
diff --git a/dev-python/amqplib/amqplib-0.6.1-r1.ebuild b/dev-python/amqplib/amqplib-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..f283aaf974c1
--- /dev/null
+++ b/dev-python/amqplib/amqplib-0.6.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python client for the Advanced Message Queuing Procotol (AMQP)"
+HOMEPAGE="http://code.google.com/p/py-amqplib/"
+SRC_URI="http://py-amqplib.googlecode.com/files/${P}.tgz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="examples extras test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}/${P}_disable_socket_tests.patch"
+)
+
+python_test() {
+ "${PYTHON}" tests/client_0_8/run_all.py \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc -r docs/.
+ if use examples; then
+ docinto examples
+ dodoc -r demo/.
+ fi
+ if use extras; then
+ insinto /usr/share/${PF}
+ doins -r extras
+ fi
+}
diff --git a/dev-python/amqplib/amqplib-1.0.2-r1.ebuild b/dev-python/amqplib/amqplib-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..cbb514b5b0c7
--- /dev/null
+++ b/dev-python/amqplib/amqplib-1.0.2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python client for the Advanced Message Queuing Procotol (AMQP)"
+HOMEPAGE="http://code.google.com/p/py-amqplib/"
+SRC_URI="http://py-amqplib.googlecode.com/files/${P}.tgz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples extras test"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.6.1_disable_socket_tests.patch"
+ "${FILESDIR}/${P}-unicode_tests_py3.patch"
+)
+
+python_test() {
+ "${PYTHON}" tests/client_0_8/run_all.py \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc -r docs/.
+ if use examples; then
+ docinto examples
+ dodoc -r demo/.
+ fi
+ if use extras; then
+ insinto /usr/share/${PF}
+ doins -r extras
+ fi
+}
diff --git a/dev-python/amqplib/files/amqplib-0.6.1_disable_socket_tests.patch b/dev-python/amqplib/files/amqplib-0.6.1_disable_socket_tests.patch
new file mode 100644
index 000000000000..c92e3cba64f4
--- /dev/null
+++ b/dev-python/amqplib/files/amqplib-0.6.1_disable_socket_tests.patch
@@ -0,0 +1,17 @@
+diff -uNr amqplib-0.6.1.org/tests/client_0_8/run_all.py amqplib-0.6.1/tests/client_0_8/run_all.py
+--- amqplib-0.6.1.org/tests/client_0_8/run_all.py 2011-07-06 16:21:22.000000000 -0400
++++ amqplib-0.6.1/tests/client_0_8/run_all.py 2011-07-06 16:21:38.000000000 -0400
+@@ -28,13 +28,8 @@
+ 'test_exceptions',
+ 'test_serialization',
+ 'test_basic_message',
+- 'test_connection',
+- 'test_channel',
+ ]
+
+-if sys.version_info >= (2, 5):
+- TEST_NAMES.append('test_with')
+-
+ def main():
+ suite = unittest.TestLoader().loadTestsFromNames(TEST_NAMES)
+ unittest.TextTestRunner(**settings.test_args).run(suite)
diff --git a/dev-python/amqplib/files/amqplib-1.0.2-unicode_tests_py3.patch b/dev-python/amqplib/files/amqplib-1.0.2-unicode_tests_py3.patch
new file mode 100644
index 000000000000..14252a678203
--- /dev/null
+++ b/dev-python/amqplib/files/amqplib-1.0.2-unicode_tests_py3.patch
@@ -0,0 +1,63 @@
+--- a/tests/client_0_8/test_serialization.py 2011-07-18 00:11:48.000000000 -0400
++++ b/tests/client_0_8/test_serialization.py 2012-03-02 16:54:35.000000000 -0500
+@@ -32,6 +32,18 @@
+ # Python 2.5 and lower
+ bytes = str
+
++#Unicode Strings for py3 tests
++uni_strings = {
++ 'u0100' : '\u0100',
++ 'hello' : 'hello',
++ 'a' : 'a',
++ 'another' : 'And something in unicode'
++}
++
++if hasattr(str, 'decode'):
++ for wk, wv in uni_strings.iteritems():
++ uni_strings[wk] = wv.decode("utf-8")
++
+ import settings
+
+ from amqplib.client_0_8.serialization import AMQPReader, AMQPWriter, GenericContent
+@@ -232,12 +244,12 @@
+
+ def test_shortstr_unicode(self):
+ w = AMQPWriter()
+- w.write_shortstr(u'hello')
++ w.write_shortstr(uni_strings['hello'])
+ s = w.getvalue()
+ self.assertEqualBinary(s, '\x05hello')
+
+ r = AMQPReader(s)
+- self.assertEqual(r.read_shortstr(), u'hello')
++ self.assertEqual(r.read_shortstr(),uni_strings['hello'])
+
+ def test_long_shortstr(self):
+ w = AMQPWriter()
+@@ -245,7 +257,7 @@
+
+ def test_long_shortstr_unicode(self):
+ w = AMQPWriter()
+- self.assertRaises(ValueError, w.write_shortstr, u'\u0100' * 128)
++ self.assertRaises(ValueError, w.write_shortstr, uni_strings['u0100'] * 128)
+
+
+ #
+@@ -273,7 +285,7 @@
+ self.assertEqual(r.read_longstr(), str(val))
+
+ def test_longstr_unicode(self):
+- val = u'a' * 512
++ val = uni_strings['a'] * 512
+ w = AMQPWriter()
+ w.write_longstr(val)
+ s = w.getvalue()
+@@ -324,7 +336,7 @@
+ 'foo': 7,
+ 'bar': Decimal('123345.1234'),
+ 'baz': 'this is some random string I typed',
+- 'ubaz': u'And something in unicode',
++ 'ubaz': uni_strings['another'],
+ 'dday_aniv': datetime(1994, 6, 6),
+ 'more': {
+ 'abc': -123,
diff --git a/dev-python/amqplib/metadata.xml b/dev-python/amqplib/metadata.xml
new file mode 100644
index 000000000000..c021a58ce6e8
--- /dev/null
+++ b/dev-python/amqplib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+ <use>
+ <flag name="extras">Install extra tools to generate initial Python mod
+ from an AMQP XML file</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">py-amqplib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aniso8601/Manifest b/dev-python/aniso8601/Manifest
new file mode 100644
index 000000000000..1d7cc79c3995
--- /dev/null
+++ b/dev-python/aniso8601/Manifest
@@ -0,0 +1,5 @@
+DIST aniso8601-0.82.tar.gz 64186 SHA256 e33ffc4ff6882e6a318c07844e346cd6160abe2f48cc2e797d2fe5f36364789e SHA512 7b43f0d6284b55f4a56d376f1898c8375336f7c66ddda3fc35766409feae80b5d9e0d86667204fbc896195ab625233d0207eefe52c110a52d79acf07378e55fc WHIRLPOOL 895ef0c4e5d00f142376db3a40200775ed9e1fbe509b82bec279a79c82374afdeb8da7d2f5e5e7720ec2c892d498f61538f977ae8cc806e62472d01f66fd5583
+DIST aniso8601-0.83.tar.gz 58487 SHA256 1153cfe2599da556c6ce664b12c0e39659340cc6633a316b34eaac480f276429 SHA512 393bbc59dfad69be4224c1149fdfd305486188aae14336b065791e994c50719ba163ba7a701fc785a25ff983861242a8d171a39139f4d475c002f4f4b8405761 WHIRLPOOL f32edfa8d52c820d466322b7b1a4e1cd1d5514276fe7c4cbf529453d4015b1608abd507a199b5079fb36fcb7f0c070675384677877649bb0da51c1249f85d818
+DIST aniso8601-0.90.tar.gz 64577 SHA256 2c0ec72a4185c2dd05eac0b2faa8d47a0477a17ca0784e1a547e544777116226 SHA512 b238461b5fa10236a9f6e9af5befff88b263fea872655dfb479b00045f4da07b7ec6ead9822f49b19ea0bc105d33db76a99efb4dec04fe85761bb0dcdc2a7d44 WHIRLPOOL 6c6df3d4cb1a2484050ff29113ad7f5a45c5dc2efd49aed50cb2286541c3cf562cee777fca3845108f7dd19f3281f720b32a7bafe337f01b13dc59978f0b768c
+DIST aniso8601-0.92.tar.gz 17810 SHA256 60860b5a13bf3c60ab5bc849ac5c55a1cb4113434eff032281ceb47578cc9da9 SHA512 4c962d42d4a09cb7b2625338489a76dd998201e9f12c86b81ca166113741837941a3b0287dbb13fb3bb42ef95a86c0f28816553556d283b85114b1ce705059d5 WHIRLPOOL 0d39a2309e4687ce1699db2a23bfd3a35ae15e65c056c3823dd77d74f6e863b0c2243bb2284fdb0c2f9d56e30f1e50110c857fcf5183967509efb0091f9458bc
+DIST aniso8601-1.0.0.tar.gz 44260 SHA256 f0bf0108bb24f7c7cb0b0408721a52bee9ac2fd838082c135cd8da87f4d951f4 SHA512 d1275420ece5323c176dd7a21767cb3c4126dcd94a8aa7f4334f1ba8223aecd9a7510cf5edd62990bd8dae505a3fa4fd2eb18178cfafbf28fae9dd857cc2cee3 WHIRLPOOL b4b13f2d05f24a6172619ecc197a820bc72e699b7e6ca93c789fd1b15db4696b5afb47d796fa496e8db482e19db392ffc321812ccc06129078c6628fc158cdac
diff --git a/dev-python/aniso8601/aniso8601-0.82.ebuild b/dev-python/aniso8601/aniso8601-0.82.ebuild
new file mode 100644
index 000000000000..be461ba600fc
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-0.82.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.python.org/pypi/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local testdir=python2
+ python_is_python3 && testdir=python3
+
+ "${PYTHON}" -m unittest discover ${testdir}/${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/aniso8601/aniso8601-0.83.ebuild b/dev-python/aniso8601/aniso8601-0.83.ebuild
new file mode 100644
index 000000000000..9ab1be70f0b0
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-0.83.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.python.org/pypi/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local testdir=python2
+ python_is_python3 && testdir=python3
+
+ "${PYTHON}" -m unittest discover ${testdir}/${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/aniso8601/aniso8601-0.90.ebuild b/dev-python/aniso8601/aniso8601-0.90.ebuild
new file mode 100644
index 000000000000..eb3d2a90a813
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-0.90.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.python.org/pypi/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local testdir=python2
+ python_is_python3 && testdir=python3
+
+ "${PYTHON}" -m unittest discover ${testdir}/${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/aniso8601/aniso8601-0.92.ebuild b/dev-python/aniso8601/aniso8601-0.92.ebuild
new file mode 100644
index 000000000000..1cc7e337b175
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-0.92.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.python.org/pypi/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" -m unittest discover ${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/aniso8601/aniso8601-1.0.0.ebuild b/dev-python/aniso8601/aniso8601-1.0.0.ebuild
new file mode 100644
index 000000000000..ea7701711b67
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-1.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.python.org/pypi/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" -m unittest discover ${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/aniso8601/metadata.xml b/dev-python/aniso8601/metadata.xml
new file mode 100644
index 000000000000..551ccb5eb0f6
--- /dev/null
+++ b/dev-python/aniso8601/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">aniso8601</remote-id>
+ <remote-id type="bitbucket">nielsenb/aniso8601</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ansi2html/Manifest b/dev-python/ansi2html/Manifest
new file mode 100644
index 000000000000..6b65e06957b9
--- /dev/null
+++ b/dev-python/ansi2html/Manifest
@@ -0,0 +1,2 @@
+DIST ansi2html-1.0.7.tar.gz 52307 SHA256 fcc732e4d10627f8060921c54c751ff181a098ceccd116311b4c6e26ec2ea5cd SHA512 75f6601315e47ec5fbd28fb360316e55f8204cf81f9ed9f6374318436b04b1baf86b556885a5a9a1f67a3495357b89d74ad23d3b0680817c09b5d9e82eb4c1f6 WHIRLPOOL 47834d7efc2fe475d2d588b73fc3dd641c37147e574d0ef4e57c997f3a090eb3da8d73aa6f2ad02479d32a82b55fd0c6dc45a4e8593d6598086bed71c3486df2
+DIST ansi2html-1.1.0.tar.gz 51514 SHA256 537fc4ececf872f83d5cbd218fb64bb49304d258487e283736bb9e5e64319ad3 SHA512 2121c91c821a89d63fcb6c27a8a088968a150a447c5c2a270b781aabd19e07387e59bc1c291e818569c4bafe495c2d3d2c2c6f172406fa830467e3ad541e3e21 WHIRLPOOL db8292f3ebd434a3507ea4f55c32c80e62bbe06a80f9baf2d21089ae27b6a3365cea1e9be4d16d9ed050d01402bdccfad477a8c7b5d19004fa6d250f87d9a6a9
diff --git a/dev-python/ansi2html/ansi2html-1.0.7.ebuild b/dev-python/ansi2html/ansi2html-1.0.7.ebuild
new file mode 100644
index 000000000000..83f388cb90d6
--- /dev/null
+++ b/dev-python/ansi2html/ansi2html-1.0.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Convert text with ANSI color codes to HTML"
+HOMEPAGE="http://pypi.python.org/pypi/ansi2html https://github.com/ralphbean/ansi2html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ chmod -x "${S}"/tests/* || die
+ esetup.py check
+ esetup.py test
+}
+
+python_install_all() {
+ doman man/ansi2html.1
+ DOCS=( README.rst man/ansi2html.1.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ansi2html/ansi2html-1.1.0.ebuild b/dev-python/ansi2html/ansi2html-1.1.0.ebuild
new file mode 100644
index 000000000000..3a0a68e5f40c
--- /dev/null
+++ b/dev-python/ansi2html/ansi2html-1.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Convert text with ANSI color codes to HTML"
+HOMEPAGE="http://pypi.python.org/pypi/ansi2html https://github.com/ralphbean/ansi2html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ chmod -x "${S}"/tests/* || die
+ esetup.py check
+ esetup.py test
+}
+
+python_install_all() {
+ doman man/ansi2html.1
+ DOCS=( README.rst man/ansi2html.1.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ansi2html/files/ansi2html-0.9.1-fix-0-control-code.patch b/dev-python/ansi2html/files/ansi2html-0.9.1-fix-0-control-code.patch
new file mode 100644
index 000000000000..6e51d3f1d975
--- /dev/null
+++ b/dev-python/ansi2html/files/ansi2html-0.9.1-fix-0-control-code.patch
@@ -0,0 +1,28 @@
+From f4371f16fd9ba9bffdd32a877b32f78222aef87c Mon Sep 17 00:00:00 2001
+From: Corentin Chary <corentin.chary@gmail.com>
+Date: Sun, 22 Jul 2012 09:25:15 +0200
+Subject: [PATCH 3/3] The 0 control code could be at the end of a sequence
+
+Example: u"\x1b[32;01m * \x1b[39;49;00m *"
+Note that here 39 and 49 "reset to default" codes are still
+not handled.
+---
+ ansi2html/converter.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ansi2html/converter.py b/ansi2html/converter.py
+index 0609a9e..23be2d0 100755
+--- a/ansi2html/converter.py
++++ b/ansi2html/converter.py
+@@ -147,7 +147,7 @@ class Ansi2HTMLConverter(object):
+ if params[0] in [38, 48]:
+ params = ["%i-%i" % (params[0], params[2])] + params[3:]
+
+- if params == [0]:
++ if 0 in params:
+ # If the control code 0 is present, close all tags we've
+ # opened so far. i.e. reset all attributes
+ yield '</span>' * n_open
+--
+1.7.9.5
+
diff --git a/dev-python/ansi2html/files/ansi2html-0.9.1-fix-sys-argv-in-tests.patch b/dev-python/ansi2html/files/ansi2html-0.9.1-fix-sys-argv-in-tests.patch
new file mode 100644
index 000000000000..9e8fbe38c0fc
--- /dev/null
+++ b/dev-python/ansi2html/files/ansi2html-0.9.1-fix-sys-argv-in-tests.patch
@@ -0,0 +1,27 @@
+From d70863b135d959a6e79cf3019700cac302336abe Mon Sep 17 00:00:00 2001
+From: Corentin Chary <corentin.chary@gmail.com>
+Date: Sun, 22 Jul 2012 09:24:52 +0200
+Subject: [PATCH 2/3] Always patch sys.argv when calling main()
+
+---
+ tests/test_ansi2html.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_ansi2html.py b/tests/test_ansi2html.py
+index 00b794f..c961859 100644
+--- a/tests/test_ansi2html.py
++++ b/tests/test_ansi2html.py
+@@ -45,8 +45,9 @@ class TestAnsi2HTML(unittest.TestCase):
+ actual = html[idx].strip()
+ self.assertEqual(expected, actual)
+
++ @patch("sys.argv", new_callable=lambda: ["ansi2html"])
+ @patch("sys.stdout", new_callable=six.StringIO)
+- def test_conversion_as_command(self, mock_stdout):
++ def test_conversion_as_command(self, mock_stdout, mock_argv):
+ with open(join(_here, "ansicolor.txt"), "rb") as input:
+ test_data = "".join(read_to_unicode(input))
+
+--
+1.7.9.5
+
diff --git a/dev-python/ansi2html/metadata.xml b/dev-python/ansi2html/metadata.xml
new file mode 100644
index 000000000000..3936c4a0cc84
--- /dev/null
+++ b/dev-python/ansi2html/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ansi2html</remote-id>
+ <remote-id type="github">ralphbean/ansi2html</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ansicolor/Manifest b/dev-python/ansicolor/Manifest
new file mode 100644
index 000000000000..d7bd44de5851
--- /dev/null
+++ b/dev-python/ansicolor/Manifest
@@ -0,0 +1,2 @@
+DIST ansicolor-0.2.1.tar.gz 5678 SHA256 f5a5e105cf2457112df3cb2fe0200803129fa5dde86395a680e95b0e951b3956 SHA512 334b90eaf3f21469062ff4f70043fa902c1cfd53e7d73d22e4df63dbeb55db1f33d71b5a88ef6ba4481a9144ee7652ea68d9554f5155e129f462872d064430b5 WHIRLPOOL 38b24fc0880ace1d632e932fcfd3fbe805e7139f40410709477c17659839ca8b0cf909e0ef7f594ec9bde7b51ae3016486b4931d63b50cc9b63e28e2012636e7
+DIST ansicolor-0.2.4.tar.gz 5971 SHA256 30f889b330f611271e97d850fd09d911d5389deec8b6cfa1f6c576034e9a937e SHA512 1f20955a5ddf6a2125146fab220884b3dace2faef5b06c637c396b1769ad60e69ef7ae8a4ae3ecd49d0b849efdbd388b611eb738dc7c1b7f19027afc3f30e57c WHIRLPOOL 83ee2de115d02f38bf45a12cf0b3b9930516fd189b7947d4c1d05ae71d1e406feab4ff003f495a14d4e17a9e7f3c18f60b8271d47df6a007731861ddbe0aafc4
diff --git a/dev-python/ansicolor/ansicolor-0.2.1.ebuild b/dev-python/ansicolor/ansicolor-0.2.1.ebuild
new file mode 100644
index 000000000000..68b3d1edd32c
--- /dev/null
+++ b/dev-python/ansicolor/ansicolor-0.2.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
+HOMEPAGE="https://github.com/numerodix/ansicolor"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/ansicolor/ansicolor-0.2.4.ebuild b/dev-python/ansicolor/ansicolor-0.2.4.ebuild
new file mode 100644
index 000000000000..4c8b69ccc3ba
--- /dev/null
+++ b/dev-python/ansicolor/ansicolor-0.2.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
+HOMEPAGE="https://github.com/numerodix/ansicolor"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/ansicolor/metadata.xml b/dev-python/ansicolor/metadata.xml
new file mode 100644
index 000000000000..ba9c7abdaf97
--- /dev/null
+++ b/dev-python/ansicolor/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ansicolor</remote-id>
+ <remote-id type="github">numerodix/ansicolor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/anyjson/Manifest b/dev-python/anyjson/Manifest
new file mode 100644
index 000000000000..eebabfb8800e
--- /dev/null
+++ b/dev-python/anyjson/Manifest
@@ -0,0 +1 @@
+DIST anyjson-0.3.3.tar.gz 8332 SHA256 37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba SHA512 9e70df3cb8bfe2348fdb0eb03cf3c33ca5a1171aca6467787fc28c161354b5ebe89b2f73badfa00708774d6825799860493ddcac7f5da8cc9c251b92b5a343bc WHIRLPOOL 9a17b6296ddf6359c217a7deea989a6dd3c07c2f11125f934c5c4325a909b9a923c08b03fd49a96c30df8ed06c81cdba54ae5391240c7d288edaafb9c44b50a7
diff --git a/dev-python/anyjson/anyjson-0.3.3-r1.ebuild b/dev-python/anyjson/anyjson-0.3.3-r1.ebuild
new file mode 100644
index 000000000000..7d594774fdc9
--- /dev/null
+++ b/dev-python/anyjson/anyjson-0.3.3-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Wraps the best available JSON implementation available in a common interface"
+HOMEPAGE="http://bitbucket.org/runeh/anyjson"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+# please keep all supported implementations in 'test?'
+# to make sure the package is used in the widest way
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/simplejson[$(python_gen_usedep 'python2*' python3_3 'pypy*')]
+ )"
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/anyjson/metadata.xml b/dev-python/anyjson/metadata.xml
new file mode 100644
index 000000000000..f73b5edab803
--- /dev/null
+++ b/dev-python/anyjson/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">anyjson</remote-id>
+ <remote-id type="bitbucket">runeh/anyjson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/anyvc/Manifest b/dev-python/anyvc/Manifest
new file mode 100644
index 000000000000..8b6b79c78b01
--- /dev/null
+++ b/dev-python/anyvc/Manifest
@@ -0,0 +1 @@
+DIST anyvc-0.3.7.1.tar.gz 45890 SHA256 264ccd659269ff62ca983d48c7affd27194992880d094e32fff58225a9b6311c SHA512 90151133b4da41acb10c2d8e421963e5ccb1e8da1e5327d5a69a77ccc647086683f1ff8ef600c69e01cfda28193c69166fa5717af3dbd13761d95ab3f1c7be46 WHIRLPOOL 5f6500d069eafa56434d57c225e566e55aedadaad0c1d4afc7ff76c0481f3e797f6ea64e88d3001e06d6a529dc01d6c38cbb9e2324245c103d7031b7ef00278a
diff --git a/dev-python/anyvc/anyvc-0.3.7.1-r1.ebuild b/dev-python/anyvc/anyvc-0.3.7.1-r1.ebuild
new file mode 100644
index 000000000000..a287a9c465ae
--- /dev/null
+++ b/dev-python/anyvc/anyvc-0.3.7.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to access any version control system"
+HOMEPAGE="http://pypi.python.org/pypi/anyvc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bazaar doc git mercurial subversion"
+
+RDEPEND="dev-python/apipkg[${PYTHON_USEDEP}]
+ dev-python/execnet[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ bazaar? ( dev-vcs/bzr )
+ git? ( dev-python/dulwich[${PYTHON_USEDEP}] )
+ mercurial? ( dev-vcs/mercurial )
+ subversion? ( dev-python/subvertpy )"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/hgdistver[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# dev-python/hgdistver )"
+
+python_prepare_all() {
+ # Do not use unsupported theme options.
+ sed -e "/'tagline':/d" \
+ -e "/'bitbucket_project':/d" \
+ -i docs/conf.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html docs docs_output || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ if use doc; then
+ pushd docs_output > /dev/null
+ docinto html
+ cp -R [a-z]* _static "${ED}usr/share/doc/${PF}/html" || die "Installation of documentation failed"
+ popd > /dev/null
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/anyvc/metadata.xml b/dev-python/anyvc/metadata.xml
new file mode 100644
index 000000000000..8c0318f0aa77
--- /dev/null
+++ b/dev-python/anyvc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="bazaar">Add support for Bazaar</flag>
+ <flag name="mercurial">Add support for Mercurial</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">anyvc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/apipkg/Manifest b/dev-python/apipkg/Manifest
new file mode 100644
index 000000000000..e2f8c92b4b59
--- /dev/null
+++ b/dev-python/apipkg/Manifest
@@ -0,0 +1,2 @@
+DIST apipkg-1.2.zip 12842 SHA256 ea86c4660e83015b6a3faad106cdf5a8d640688a93b84b93e8b64c60815789d4 SHA512 abd00a7c36914b9f79d5a54e1d0facc89fd6673f86d774784cd9a3a0e8e913cf3ef575914bcbbe4d17464b09e8b57d94c761453b2b19466e7dc408f321d22603 WHIRLPOOL 5693c8f1422d96e702eb929c2b3fe3f1a33b7d731ba4f6dced2b42229b941ca87848a31d19c2e79b0ce6fc0db98e24e6c81775c68374ca7f7bed59cf9682d049
+DIST apipkg-1.4.tar.gz 11224 SHA256 2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6 SHA512 118f806706944513f50d3cdef596b32f8ce585cfaf94d2531a6d260f90a0e2147177161aaa6f5d6823150e6182d0f73be3dc01259b8a2f8d710733a22ea54789 WHIRLPOOL b0162094ee5209fb06727b5ad6d346e5738af9999f4fa21081cfedd4607d6025dd1d20621fe6c2e7801e5b405757987a6c0d63f698d74497401053847a9109bd
diff --git a/dev-python/apipkg/apipkg-1.2-r1.ebuild b/dev-python/apipkg/apipkg-1.2-r1.ebuild
new file mode 100644
index 000000000000..746d4450afd9
--- /dev/null
+++ b/dev-python/apipkg/apipkg-1.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="namespace control and lazy-import mechanism"
+HOMEPAGE="http://pypi.python.org/pypi/apipkg"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # https://bitbucket.org/hpk42/apipkg/issue/5/test-failure-with-python-34
+ sed -e 's:test_initpkg_not_transfers_not_existing_attrs:_&:' -i test_apipkg.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Bug 530388. The test requires patching to match py3.4; trivial.
+ py.test || die "Tests fail under ${EPYTHON}"
+}
diff --git a/dev-python/apipkg/apipkg-1.4.ebuild b/dev-python/apipkg/apipkg-1.4.ebuild
new file mode 100644
index 000000000000..b3ec9583c0e7
--- /dev/null
+++ b/dev-python/apipkg/apipkg-1.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="namespace control and lazy-import mechanism"
+HOMEPAGE="http://pypi.python.org/pypi/apipkg"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/hgdistver[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test test_apipkg.py || die "Tests fail under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/apipkg/metadata.xml b/dev-python/apipkg/metadata.xml
new file mode 100644
index 000000000000..efc3b570c70c
--- /dev/null
+++ b/dev-python/apipkg/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">apipkg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aplpy/Manifest b/dev-python/aplpy/Manifest
new file mode 100644
index 000000000000..f6a8ac76b340
--- /dev/null
+++ b/dev-python/aplpy/Manifest
@@ -0,0 +1 @@
+DIST APLpy-0.9.14.tar.gz 1095547 SHA256 0313a91523b6a32a40e5b97da55243d5e59722cd8fa2e6642915edd26d464d69 SHA512 9cf12aa30d3c4540c2cc33907be3a12e78247a8880720e4de7e513842ef437f616b2c63a345a63e7a7081676aff56032840dc1528ed10438f7729cf2acb9da9f WHIRLPOOL 55c25aa11065b741e89b1538d96e57974bcb6b80f5708e5ee5f975742f7e04cbfe6df3da7b030c67a54bbcc929eaec46e2d2e34551d8f9e7365e2f2c4d5b3a0d
diff --git a/dev-python/aplpy/aplpy-0.9.14.ebuild b/dev-python/aplpy/aplpy-0.9.14.ebuild
new file mode 100644
index 000000000000..0ebbfbf83dba
--- /dev/null
+++ b/dev-python/aplpy/aplpy-0.9.14.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MYPN=APLpy
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="Astronomical Plotting Library in Python"
+HOMEPAGE="http://aplpy.github.com/"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/astropy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pyavm[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries --offline
+}
+
+python_test() {
+ distutils_install_for_testing --offline
+ cd "${TEST_DIR}" || die
+ "${EPYTHON}" -c "import aplpy, sys;r = aplpy.test();sys.exit(r)" \
+ || die "tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install --offline
+}
diff --git a/dev-python/aplpy/metadata.xml b/dev-python/aplpy/metadata.xml
new file mode 100644
index 000000000000..9f00245ca4e2
--- /dev/null
+++ b/dev-python/aplpy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ APLpy (the Astronomical Plotting Library in Python) is a Python
+ module aimed at producing publication-quality plots of astronomical
+ imaging data in FITS format. The module uses Matplotlib. It is
+ capable of creating output files in several graphical formats,
+ including EPS, PDF, PS, PNG, and SVG.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">APLpy</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/appdirs/Manifest b/dev-python/appdirs/Manifest
new file mode 100644
index 000000000000..0c9e7933dad4
--- /dev/null
+++ b/dev-python/appdirs/Manifest
@@ -0,0 +1,2 @@
+DIST appdirs-1.2.0.zip 22478 SHA256 266036a5f1eb785a5eff2a362f552b7943dc7d83737a6a201f21276bd9ef234d SHA512 26605262f01f6f4cd508155b8199a88645d8203700b87660bdf6f3bfa409b04136df101a5ca3ddbcf7f97a30bea2fc5ce34e197e8be21f6a20b1257b44440093 WHIRLPOOL 60ab7b58dfd63d161d8d30ca411cb8f4d654f2a56bb7b0078ee85f0f315abbb13035e0609c7f87d5f8cce44234fa714ad461edad3f0817adaa8388a73ba91411
+DIST appdirs-1.4.0.tar.gz 14358 SHA256 8fc245efb4387a4e3e0ac8ebcc704582df7d72ff6a42a53f5600bbb18fdaadc5 SHA512 a16fbad419e593acf1b58a3f8f893d206b3fc1a269757213a34d129e6fc39aa041efacb7964d326b82376373315357c93e85b272f374a096d9a63e73e3ce1dac WHIRLPOOL 0e12bf1875e489fbfb2ed48b125917bb6e176b90051a0afe2b64f431bbd1f5be499b7c0631302513387c440a05b2eb067fefaf54141424c260834cba854b7e6f
diff --git a/dev-python/appdirs/appdirs-1.2.0-r1.ebuild b/dev-python/appdirs/appdirs-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..04d22ddda98c
--- /dev/null
+++ b/dev-python/appdirs/appdirs-1.2.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for determining appropriate platform-specific dirs"
+HOMEPAGE="http://github.com/ActiveState/appdirs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# api.doctests is missing in the dist zipfile
+# and the 'internal' doctest does nothing
+RESTRICT=test
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test.py \
+ || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/appdirs/appdirs-1.4.0.ebuild b/dev-python/appdirs/appdirs-1.4.0.ebuild
new file mode 100644
index 000000000000..2ca055f8c360
--- /dev/null
+++ b/dev-python/appdirs/appdirs-1.4.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for determining appropriate platform-specific dirs"
+HOMEPAGE="http://github.com/ActiveState/appdirs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# api.doctests is missing in the dist zipfile
+# and the 'internal' doctest does nothing
+RESTRICT=test
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test.py \
+ || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/appdirs/metadata.xml b/dev-python/appdirs/metadata.xml
new file mode 100644
index 000000000000..ffe48945f004
--- /dev/null
+++ b/dev-python/appdirs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ A small Python module for determining appropriate platform-specific
+ dirs, e.g. a "user data dir".
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">appdirs</remote-id>
+ <remote-id type="github">ActiveState/appdirs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/apptools/Manifest b/dev-python/apptools/Manifest
new file mode 100644
index 000000000000..7916eeb348c1
--- /dev/null
+++ b/dev-python/apptools/Manifest
@@ -0,0 +1,2 @@
+DIST apptools-4.2.0.tar.gz 275495 SHA256 0ff03b47529718b6c12de1d5512a7baed9b1be7f5d54f60b953b9235f412d0d4 SHA512 40113a0cc2eedc48ff4d5f7cf685486b397fe19ff57dfd11a66fa77191a7efacbe92373cb93b5ce0748d42a7452724bcf20bd855a36152530d65f178226c6f6e WHIRLPOOL 38807b3998d29292a22c996d902df9695184f26a59b2bbbe899406065beae56183c52cd7ea45ff4003e3f4919baba39733a3fabfae46cd96412ea50895d21bc4
+DIST apptools-4.2.1.tar.gz 274521 SHA256 66f4d61e4be80fd0b153f4a8c1d680c45d5b2e0734899695cb6e918f3f594369 SHA512 03f89b431db496082ac404456f97792f68b580ee77451e6f003b5a2830cd2f698124487045b6cd5fc15b700fbf7467553a384d6e638a322627f8dad7c0b45fc6 WHIRLPOOL 0b0d99b11e251be730b9e5772cce8cfdd0c654fb02ab031fe122f82f8e4555223142e65186c9f3c0068d9b4266f71d6c3209072c3b6939b67daa5ddbc14c3ede
diff --git a/dev-python/apptools/apptools-4.2.0-r1.ebuild b/dev-python/apptools/apptools-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..41c195eea95a
--- /dev/null
+++ b/dev-python/apptools/apptools-4.2.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Application tools"
+HOMEPAGE="http://code.enthought.com/projects/app_tools/ http://pypi.python.org/pypi/apptools"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/traits-4[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ >=dev-python/pyface-4[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ sci-visualization/mayavi[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}_test.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests" virtualmake
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r docs/build/html/
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/apptools/apptools-4.2.1.ebuild b/dev-python/apptools/apptools-4.2.1.ebuild
new file mode 100644
index 000000000000..a850c9aa770f
--- /dev/null
+++ b/dev-python/apptools/apptools-4.2.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Application tools"
+HOMEPAGE="http://code.enthought.com/projects/app_tools/ http://pypi.python.org/pypi/apptools"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/traits-4[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ >=dev-python/pyface-4[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ sci-visualization/mayavi[${PYTHON_USEDEP}]
+ dev-python/traits[${PYTHON_USEDEP}]
+ dev-python/traitsui[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Ignore test file that imports a long deprecated module of traits
+ VIRTUALX_COMMAND="nosetests -I test_state_pickler.py" virtualmake
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/apptools/files/apptools_test.patch b/dev-python/apptools/files/apptools_test.patch
new file mode 100644
index 000000000000..ce2d688346ba
--- /dev/null
+++ b/dev-python/apptools/files/apptools_test.patch
@@ -0,0 +1,15 @@
+Disable test that use package installed in ${ROOT}
+
+https://bugs.gentoo.org/show_bug.cgi?id=429668
+
+Patch written by Ian Delaney <johneed@hotmail.com>
+--- apptools/persistence/tests/check_version_registry.py
++++ apptools/persistence/tests/check_version_registry.py
+@@ -39,6 +39,7 @@
+
+
+ class TestVersionRegistry(unittest.TestCase):
++ @unittest.skip("This tests uses installed version")
+ def test_get_version(self):
+ """Test the get_version function."""
+ c = Classic()
diff --git a/dev-python/apptools/metadata.xml b/dev-python/apptools/metadata.xml
new file mode 100644
index 000000000000..87c3bbcbfdae
--- /dev/null
+++ b/dev-python/apptools/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The Enthought Tool Suite AppTools project includes a set of
+ packages that Enthought has found useful in creating a number of
+ applications. They implement functionality that is commonly needed
+ by many applications.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/apse/Manifest b/dev-python/apse/Manifest
new file mode 100644
index 000000000000..559c1f926a28
--- /dev/null
+++ b/dev-python/apse/Manifest
@@ -0,0 +1 @@
+DIST Apse-0.2.tar.gz 18005 SHA256 cacdb5fa76bc63998bae65c858797423d8b5c047290a762ab9e299097faa983f SHA512 accad6d4fa4056e5dd0ac1036b47b6e258ceea9b458ca91065b0a8411d5e3a3461cd8e87bebbf884982d02bc0f6cc996a3df800fe74a0567a336ee79e05a9837 WHIRLPOOL 912327a3d5ca2f8a20c41604a67323f7c97c71aa1a4120498420bb335eb081e33c39b5bab1de80d0a693b54cefbd91eeefca644fba100182d45e27454bd70b8e
diff --git a/dev-python/apse/apse-0.2-r3.ebuild b/dev-python/apse/apse-0.2-r3.ebuild
new file mode 100644
index 000000000000..c332281524af
--- /dev/null
+++ b/dev-python/apse/apse-0.2-r3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="Apse-${PV}"
+
+DESCRIPTION="Approximate String Matching in Python"
+HOMEPAGE="http://www.personal.psu.edu/staff/i/u/iua1/python/apse/"
+SRC_URI="http://www.personal.psu.edu/staff/i/u/iua1/python/${PN}/dist/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-lang/swig:1"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Prevent the build system from calling swig over and over again.
+ sed -i -e 's:Apse.i:Apse_wrap.c:' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ set -- swig1.3 -python -o Apse_wrap.c Apse.i
+ echo "${@}" >&2
+ "${@}" || die
+}
+
+python_test() {
+ "${PYTHON}" test/test_Apse.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/apse/metadata.xml b/dev-python/apse/metadata.xml
new file mode 100644
index 000000000000..104473b5e099
--- /dev/null
+++ b/dev-python/apse/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Approximate String Matching in Python: identifies typing and spelling
+ errors, closely related vocabularies, genetic mutations (GAG ACT),
+ abbreviations. While it implements the same algorithm as the agrep
+ program, Apse lets the user choose how many edits (substitutions,
+ deletions, additions) will be acceptable as 'match'.
+ </longdescription>
+ <longdescription lang="ja">
+ Python言語ã«è¿‘ä¼¼ã—ãŸæ–‡å­—列ã®ä¸€è‡´ã‚’判断ã•ã›ã¾ã™ã€‚タイピング・エラーã€ã‚¹ãƒšãƒªãƒ³ã‚°ãƒ»
+ エラーã€ãƒœã‚­ãƒ£ãƒ–ラリ的ã«è¿‘ã„å˜èªžã€ä¸€èˆ¬çš„ãªåŒæ„語(GAG ACT)ã€ç•¥èªžã‚’åŒä¸€è¦–ã§ãã¾ã™>。agrepプログラムã¨åŒä¸€ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’用ã„ã¦ã€Apseã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«"一致ã™ã‚‹"ã¨åˆ¤æ–­>ã—ãŸå ´åˆã®å‡¦ç†(ç½®æ›ã€å‰Šé™¤ã€è¿½åŠ )を何回行ã†ã‹ã‚’é¸ã°ã›ã¾ã™ã€‚
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
new file mode 100644
index 000000000000..fb4a27c5e044
--- /dev/null
+++ b/dev-python/apsw/Manifest
@@ -0,0 +1 @@
+DIST apsw-3.8.7.1_p1.tar.gz 303446 SHA256 7aee29cc170332aa1a16fb80753152e809208bbc91823f64178e4afc32526fec SHA512 104aad3a8cec07647b71c77814cc069587daf84450b41f992d0b3c752c476105351b28912768a29f7952bfd75e9b2d3fcd8e6ae758b3bab8b986bf8e1300c256 WHIRLPOOL cc95728b07e384ee88002afce4b68abcfb259a62188cc77bad1154a83bf3e1979fec8761fe8a3c9e5ae35d5027cdf42c1b4a4b7749ad76d7935e032e253c8167
diff --git a/dev-python/apsw/apsw-3.8.7.1_p1.ebuild b/dev-python/apsw/apsw-3.8.7.1_p1.ebuild
new file mode 100644
index 000000000000..72df5b5e0b85
--- /dev/null
+++ b/dev-python/apsw/apsw-3.8.7.1_p1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PV=${PV/_p/-r}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="http://code.google.com/p/apsw/"
+HOMEPAGE="https://github.com/rogerbinns/apsw/"
+SRC_URI="https://github.com/rogerbinns/apsw/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc64 x86"
+IUSE="doc"
+
+RDEPEND=">=dev-db/sqlite-${PV%_p*}"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-3.6.20.1-fix_tests.patch )
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile --enable=load_extension
+}
+
+src_test() {
+ # tests use overlapping database files
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" setup.py build_test_extension || die "Building of test loadable extension failed"
+ "${PYTHON}" tests.py -v || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc ; then
+ dohtml -r doc/*
+ fi
+}
diff --git a/dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch b/dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch
new file mode 100644
index 000000000000..3bbce88500be
--- /dev/null
+++ b/dev-python/apsw/files/apsw-3.6.20.1-fix_tests.patch
@@ -0,0 +1,11 @@
+--- tests.py
++++ tests.py
+@@ -5480,7 +5480,7 @@
+ testnasty()
+
+ # What happens if db cannot be opened?
+- s.process_args(args=["/"])
++ s.process_args(args=["src"])
+ reset()
+ cmd("select * from sqlite_master;\n.bail on\nselect 3;\n")
+ self.assertRaises(apsw.CantOpenError, s.cmdloop)
diff --git a/dev-python/apsw/metadata.xml b/dev-python/apsw/metadata.xml
new file mode 100644
index 000000000000..ede09cb0f62a
--- /dev/null
+++ b/dev-python/apsw/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>APSW provides an SQLite 3 wrapper that provides the thinnest layer over SQLite 3 possible.
+Everything you can do from the C API to SQLite 3, you can do from Python.
+Although APSW looks vaguely similar to the DBAPI, it is not compliant with that API and instead
+works the way SQLite 3 does.</longdescription>
+ <upstream>
+ <remote-id type="google-code">apsw</remote-id>
+ <remote-id type="github">rogerbinns/apsw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aquarium/Manifest b/dev-python/aquarium/Manifest
new file mode 100644
index 000000000000..e7dc795c0587
--- /dev/null
+++ b/dev-python/aquarium/Manifest
@@ -0,0 +1 @@
+DIST aquarium-2.3.tar.gz 200341 SHA256 89c8fab11dd6022cf1ac13fe4c4b4090f7da24af6fed296c67db03e2653fef07 SHA512 d4d31d390a9f121c869dfb893ceea57130f3d51bccd61506a5b9e8f749388bc4834e6399eb1576948ac7d105572982c9d02f633fee2c16a7891c5845fb15b35d WHIRLPOOL 5004dde4f619ae481486d4fcffbc3c837584d9caad68f4d1a43876adcfee5f42c70f91e8b9955188ba4f6a895267f08a6446a91ccd5ca07068270e018dfbe0c9
diff --git a/dev-python/aquarium/aquarium-2.3-r1.ebuild b/dev-python/aquarium/aquarium-2.3-r1.ebuild
new file mode 100644
index 000000000000..7447118795e2
--- /dev/null
+++ b/dev-python/aquarium/aquarium-2.3-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Aquarium web application framework"
+HOMEPAGE="http://aquarium.sourceforge.net/ http://pypi.python.org/pypi/aquarium"
+SRC_URI="mirror://sourceforge/aquarium/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/cheetah[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/aquarium/metadata.xml b/dev-python/aquarium/metadata.xml
new file mode 100644
index 000000000000..8f91aaabcc97
--- /dev/null
+++ b/dev-python/aquarium/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">aquarium</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/argcomplete/Manifest b/dev-python/argcomplete/Manifest
new file mode 100644
index 000000000000..bcfa66aeae56
--- /dev/null
+++ b/dev-python/argcomplete/Manifest
@@ -0,0 +1,3 @@
+DIST argcomplete-0.8.1.tar.gz 30272 SHA256 12e36f784160547ca855a2c9d753cf60cd3f87cab72b1e4993ceffb6ba51443b SHA512 faf37f5a5c3f619066503b6fb53570e8c084d2f28895da6bfe38db58b06447dd3aee00d6073a33000486ba9c3c12b784276a57c625ed02f4bfcc78319bee0ea4 WHIRLPOOL 7c55337ca8bafb2779ee4e5cd3c42b0df0e3953bef548ceed516bc65c64870ea62c29914b9ad140dbab446bcec286e611ea82356b0a9c0e6c92a020986f4b161
+DIST argcomplete-0.8.9.tar.gz 30575 SHA256 98f04fa2ca22479459d8ba04583dca653a41c2d7a57648ba7f3b4d7e19ea82be SHA512 21b7d267f2d5a43a299841ca05b3b4dc38587e9ac90db8634d8e13d089e58483b88506376eff16d8ea2d03a169e118a5be32549b74c5168a337e6a6d22a01f7f WHIRLPOOL 336d7096a0dbfd3fa2beeacee6189fe375586ddec7dfe5277687149701bb52befcc83234de6ea59c06f662c20e44de00420b51fc640517055d5505374f0fcd26
+DIST argcomplete-0.9.0.tar.gz 35214 SHA256 f97577332d19aea09583ecb426a49e85dc7bbc9822ab345b9c790d923413af0e SHA512 e127a8d2e7914f2601d649963115595db40ed612d352c134c5b68acdcbcd52477728e6e1edddd405562b28329f960d87d1418fa8fe3b3f1dcb9c3ad10c42a65d WHIRLPOOL 03c5f4eac0aeac9887d8ba1d21b585854b91c7399c95260ecf58f92d709b9194f801b730ab26435e329e003f8041c96d11410983a83c21f262cd2ad68a32a100
diff --git a/dev-python/argcomplete/argcomplete-0.8.1.ebuild b/dev-python/argcomplete/argcomplete-0.8.1.ebuild
new file mode 100644
index 000000000000..3ef50e21a3b5
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-0.8.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 bash-completion-r1
+
+DESCRIPTION="Bash tab completion for argparse"
+HOMEPAGE="https://pypi.python.org/pypi/argcomplete"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # purge test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} test/test.py || die
+}
+
+python_install_all() {
+ sed \
+ -e "/complete /d" \
+ -i argcomplete/bash_completion.d/python-argcomplete.sh || die
+ insinto "$(_bash-completion-r1_get_bashhelpersdir)"
+ doins argcomplete/bash_completion.d/python-argcomplete.sh
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/argcomplete/argcomplete-0.8.9.ebuild b/dev-python/argcomplete/argcomplete-0.8.9.ebuild
new file mode 100644
index 000000000000..153dded379f6
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-0.8.9.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 bash-completion-r1
+
+DESCRIPTION="Bash tab completion for argparse"
+HOMEPAGE="https://pypi.python.org/pypi/argcomplete"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # purge test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} test/test.py || die
+}
+
+python_install_all() {
+ sed \
+ -e "/complete /d" \
+ -i argcomplete/bash_completion.d/python-argcomplete.sh || die
+
+ distutils-r1_python_install_all
+ newbashcomp "${S}"/${PN}/bash_completion.d/python-argcomplete.sh python-${PN}
+}
diff --git a/dev-python/argcomplete/argcomplete-0.9.0.ebuild b/dev-python/argcomplete/argcomplete-0.9.0.ebuild
new file mode 100644
index 000000000000..153dded379f6
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-0.9.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 bash-completion-r1
+
+DESCRIPTION="Bash tab completion for argparse"
+HOMEPAGE="https://pypi.python.org/pypi/argcomplete"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # purge test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${EPYTHON} test/test.py || die
+}
+
+python_install_all() {
+ sed \
+ -e "/complete /d" \
+ -i argcomplete/bash_completion.d/python-argcomplete.sh || die
+
+ distutils-r1_python_install_all
+ newbashcomp "${S}"/${PN}/bash_completion.d/python-argcomplete.sh python-${PN}
+}
diff --git a/dev-python/argcomplete/metadata.xml b/dev-python/argcomplete/metadata.xml
new file mode 100644
index 000000000000..b1a0b6c66f1c
--- /dev/null
+++ b/dev-python/argcomplete/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">argcomplete</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/argh/Manifest b/dev-python/argh/Manifest
new file mode 100644
index 000000000000..7090900a63cd
--- /dev/null
+++ b/dev-python/argh/Manifest
@@ -0,0 +1,3 @@
+DIST argh-0.25.0.tar.gz 30865 SHA256 f55f004a9077db0abc50e8ef5c0e0d0e3573b4a1c8365439c8186ca69197ff33 SHA512 76d4a1451e7f7bb759525b4e0f7dd5fcae4528b92e2866c3d543519df0394fb8de88511869ac04e2f160ac8ae150c1f0c7d348848af2039a26f71b7179555a69 WHIRLPOOL 4fd748081b2973a87f3d425f7468e2cc03edbf64dcff785e6080829ea9728c931f236cfbb2bc6eb6599a2480adabc9448d6bdd57e9a6bb8f8af825ab1fdf2053
+DIST argh-0.26.0.tar.gz 32238 SHA256 3417619f76d18cbb2d19fae4ad27a8ecf1432b22fdf8834df77cf1a1c86716a4 SHA512 be6c52b6e7b438152c145e9ce303f7ba9d44713cb0c68b2526ea725a99522f848c8afceded43da889e335656bc38f69bc4cb1dc7cb39ae238eda55083c9e9076 WHIRLPOOL b589fccf8d31d5aa543c1da9418804461acfa58b08d272cb03ea03080fc808ffc3a810cb487f0c02a94c9a47e1a392bde684850b9f8fc8bfd9b59f74309fb2ab
+DIST argh-0.26.1.tar.gz 32261 SHA256 06a7442cb9130fb8806fe336000fcf20edf1f2f8ad205e7b62cec118505510db SHA512 8c286434b13fe72eca7c35313581921f49ab8934e0c791bd230ed775067507dc492b73b76c9ec521161395aeb8d1cfedc71e3251bba8f68d2227c3cf56c326bf WHIRLPOOL b33570b453f11deecddd1ec6eb2901647f24ec9c78e499ed14b97950ef09fcc4d3842a69ef802e14a218c9c376d386c5f5ec724a93af47141b1d07c9d57761da
diff --git a/dev-python/argh/argh-0.25.0.ebuild b/dev-python/argh/argh-0.25.0.ebuild
new file mode 100644
index 000000000000..afe3f95f4ca7
--- /dev/null
+++ b/dev-python/argh/argh-0.25.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="http://packages.python.org/argh/"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+LICENSE="LGPL-3"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+python_test() {
+ # setup.py tries to install argparse for some reason...
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/argh/argh-0.26.0.ebuild b/dev-python/argh/argh-0.26.0.ebuild
new file mode 100644
index 000000000000..c2b37b62e24f
--- /dev/null
+++ b/dev-python/argh/argh-0.26.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="http://packages.python.org/argh/"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+LICENSE="LGPL-3"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ ${RDEPEND}
+ )"
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/argh/argh-0.26.1.ebuild b/dev-python/argh/argh-0.26.1.ebuild
new file mode 100644
index 000000000000..bce25c552048
--- /dev/null
+++ b/dev-python/argh/argh-0.26.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="http://packages.python.org/argh/"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+LICENSE="LGPL-3"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ ${RDEPEND}
+ )"
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/argh/metadata.xml b/dev-python/argh/metadata.xml
new file mode 100644
index 000000000000..a9dcfbd8363b
--- /dev/null
+++ b/dev-python/argh/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">argh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/args/Manifest b/dev-python/args/Manifest
new file mode 100644
index 000000000000..bb70a4eced73
--- /dev/null
+++ b/dev-python/args/Manifest
@@ -0,0 +1 @@
+DIST args-0.1.0.tar.gz 3048 SHA256 a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814 SHA512 664d33386af2ac0b9d30344db5fb5cea4210f600df28708ada19266afec237d6e6d9d57f03c8b64cfdbb6a17eff05f633a2cc4ddbfedc320dd133be246aee033 WHIRLPOOL 0f410bf8cc2d3c226bfc15dd3adc848f1139ec0f22ffdd77fbb921d64b5eb2b370059d07ef847f4161a020b7928ff32895b4ba0216b9fc633f0347d4195376fc
diff --git a/dev-python/args/args-0.1.0.ebuild b/dev-python/args/args-0.1.0.ebuild
new file mode 100644
index 000000000000..464745d8b54d
--- /dev/null
+++ b/dev-python/args/args-0.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Arguments for Humans"
+HOMEPAGE="https://github.com/kennethreitz/args"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/args/metadata.xml b/dev-python/args/metadata.xml
new file mode 100644
index 000000000000..2bdaff86dd50
--- /dev/null
+++ b/dev-python/args/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">args</remote-id>
+ <remote-id type="github">kennethreitz/args</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/arrayterator/Manifest b/dev-python/arrayterator/Manifest
new file mode 100644
index 000000000000..79640a722b23
--- /dev/null
+++ b/dev-python/arrayterator/Manifest
@@ -0,0 +1 @@
+DIST arrayterator-1.0.1.tar.gz 7840 SHA256 ec38a888adf2c8f7d78ad9cc5dc455a7a92c41c9ca4e42f9aa67fc1bc6a69d6e SHA512 91d560f1aac1e64cda6feaf6ead5ab8ac59555e046760b6caa8cd80c47b7c96f032bde064eee82b9d5e287e8845afa2a17b3460c68561d8ff3c6fe7eecb69cb4 WHIRLPOOL 03ff14a0750dd24195207f61720a47fa6a21523875248c2b54b3c8a47601041524ae5767298bba1b24e9266118ef204d0416cba6fe201aa1ccb0e2cd2c27d38b
diff --git a/dev-python/arrayterator/arrayterator-1.0.1-r1.ebuild b/dev-python/arrayterator/arrayterator-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..7ccba61858ee
--- /dev/null
+++ b/dev-python/arrayterator/arrayterator-1.0.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A buffered iterator for reading big arrays in small contiguous blocks"
+HOMEPAGE="http://pypi.python.org/pypi/arrayterator"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+RDEPEND=">=dev-python/numpy-1.0_rc1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ cd tests || die
+
+ "${PYTHON}" -c "import test_stochastic; test_stochastic.test()" \
+ || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/arrayterator/metadata.xml b/dev-python/arrayterator/metadata.xml
new file mode 100644
index 000000000000..ec2c375cc348
--- /dev/null
+++ b/dev-python/arrayterator/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">arrayterator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/asciitable/Manifest b/dev-python/asciitable/Manifest
new file mode 100644
index 000000000000..13ea084f49af
--- /dev/null
+++ b/dev-python/asciitable/Manifest
@@ -0,0 +1 @@
+DIST asciitable-0.8.0.tar.gz 299640 SHA256 dc2ff63e2c2182f3fa92e54f08c20b0cd4eed1e81a4e4363994dc3eb3f6ab612 SHA512 a74dfcc3515a9959af8a0ec0906e440aaabd402ba8987a581c774bc97344abece0fbb62957b0a5af89e290a505acc4df1dad5a22c08ca2ea8c7c65ca0a582a22 WHIRLPOOL 57e76bd8de820325f41412ae763be9191af8e0bbf34cb861f16f211cb2d38065eed08a696ee11df9c6e9ca5c47c32a4c8af7ba12e7b217413a28178a8610cd30
diff --git a/dev-python/asciitable/asciitable-0.8.0-r1.ebuild b/dev-python/asciitable/asciitable-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..0d3b7fcb611b
--- /dev/null
+++ b/dev-python/asciitable/asciitable-0.8.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="An extensible ASCII table reader"
+HOMEPAGE="http://cxc.harvard.edu/contrib/asciitable"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/asciitable/metadata.xml b/dev-python/asciitable/metadata.xml
new file mode 100644
index 000000000000..00672afe8a7c
--- /dev/null
+++ b/dev-python/asciitable/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ asciitable is a Python module that can read a wide range of ASCII
+ table formats used in astronomy, via a built-in extension reader
+ class.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">asciitable</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/asset/Manifest b/dev-python/asset/Manifest
new file mode 100644
index 000000000000..60a6ce5ec2a6
--- /dev/null
+++ b/dev-python/asset/Manifest
@@ -0,0 +1 @@
+DIST asset-0.6.1.tar.gz 20613 SHA256 071fcbf93b03d791b4e301c1459dc6bd1779407f9c0326fa136f03449c4bb4c4 SHA512 6fa20888220e83a0a122b8ab63e531551724c64476c3fce8f47f784731710fa3328fa4ac3855bde5fb4caed47274f0492e14df438cf7857c0e5437f33217b672 WHIRLPOOL ca266bb9969e7b4f1b8a7940928ac3dac169374b5c7e44af091f112dcee975ed8d699bcf864645c2122ca3b503e54357a25884d7d2f97c32ae6ad67d67354fc9
diff --git a/dev-python/asset/asset-0.6.1-r1.ebuild b/dev-python/asset/asset-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..c90e15b43b28
--- /dev/null
+++ b/dev-python/asset/asset-0.6.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A package resource and symbol loading helper library"
+HOMEPAGE="https://pypi.python.org/pypi/asset http://github.com/metagriffin/asset"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/globre-0.0.5[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pxml-0.2.11[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/${P}-broken-test.patch )
+
+python_prepare_all() {
+ sed \
+ -e '/distribute/d' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbose || die
+}
diff --git a/dev-python/asset/files/asset-0.6.1-broken-test.patch b/dev-python/asset/files/asset-0.6.1-broken-test.patch
new file mode 100644
index 000000000000..1a59f3f5c2bf
--- /dev/null
+++ b/dev-python/asset/files/asset-0.6.1-broken-test.patch
@@ -0,0 +1,24 @@
+ asset/test.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/asset/test.py b/asset/test.py
+index 992e5fc..c8aab32 100644
+--- a/asset/test.py
++++ b/asset/test.py
+@@ -24,6 +24,8 @@ import pxml
+ import xml.etree.ElementTree as ET
+ import six
+
++from nose.plugins.skip import SkipTest
++
+ import asset
+
+ #------------------------------------------------------------------------------
+@@ -107,6 +109,7 @@ line-2</node>
+ ])
+
+ #----------------------------------------------------------------------------
++ @SkipTest
+ def test_filename(self):
+ # NOTE: this requires that `pxml` was installed as a zipped egg, and
+ # `globre` as an UNzipped egg, i.e.:
diff --git a/dev-python/asset/metadata.xml b/dev-python/asset/metadata.xml
new file mode 100644
index 000000000000..375f7e43a16a
--- /dev/null
+++ b/dev-python/asset/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">asset</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/assets/Manifest b/dev-python/assets/Manifest
new file mode 100644
index 000000000000..ea35bf67cc5b
--- /dev/null
+++ b/dev-python/assets/Manifest
@@ -0,0 +1 @@
+DIST assets-0.1.1.tar.gz 29938 SHA256 c057112d731096c3856bc1121eaaa7341b3fd576b559657810bb0dfa18edd019 SHA512 373dfababd91bf28929dbc5562027c2bad14dac84d822c65e899137f5f5f9dfe3041b16dac08bc811be9b3fb2f553869643fc200ae9198eb046cd02b420714c8 WHIRLPOOL 8a580b2928c3c169425fdc886dbdc2401aeae27e0e5a19d73e4136e6d711be80b6c561ed96f2d88cd607065a4b4e09bf6c4c2b8d1bcb31ffb7f74467ec44b29e
diff --git a/dev-python/assets/assets-0.1.1-r1.ebuild b/dev-python/assets/assets-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..8cbae2047111
--- /dev/null
+++ b/dev-python/assets/assets-0.1.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Cache-friendly asset management via content-hash-naming"
+HOMEPAGE="https://launchpad.net/web-assets"
+SRC_URI="https://launchpad.net/web-assets/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # The package tests assert on '/tmp', bug #450540
+ local -x TMPDIR=/tmp
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/assets/metadata.xml b/dev-python/assets/metadata.xml
new file mode 100644
index 000000000000..dd0fc015b951
--- /dev/null
+++ b/dev-python/assets/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ </maintainer>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <longdescription>
+ The assets package does content-hash-naming (aka URL fingerprinting) so
+ you can use aggressive caching headers without risking that a client might
+ have an out-of-date version of an asset in its cache. If the content
+ changes, the content-hash-name also changes, resulting in a different URL
+ for each bytewise-unique version of an asset
+</longdescription>
+ <upstream>
+ <remote-id type="launchpad">web-assets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/astng/Manifest b/dev-python/astng/Manifest
new file mode 100644
index 000000000000..6abde44e32c1
--- /dev/null
+++ b/dev-python/astng/Manifest
@@ -0,0 +1 @@
+DIST logilab-astng-0.24.3.tar.gz 106660 SHA256 e08fba39689e5a4dfa175749874811e516f019656544874defe05154073f69d4 SHA512 fb1e46ebf7111d727cd9d187968cb349dc23dfba0d4d8c6c793a8c081d4506f11e488074cc51b632c525aa264cfa50279dda90f0cf35dc2120ebbf4714902525 WHIRLPOOL 75941724a2c4448a27b37750a83dbc04e4a02540233418b0eab364a3ddfdc3a5e03efacc58422d7fb6f68609f126e269c662aa17dbc395067b45182155559589
diff --git a/dev-python/astng/astng-0.24.3.ebuild b/dev-python/astng/astng-0.24.3.ebuild
new file mode 100644
index 000000000000..b680471fe54c
--- /dev/null
+++ b/dev-python/astng/astng-0.24.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="http://www.logilab.org/project/logilab-astng http://pypi.python.org/pypi/logilab-astng"
+SRC_URI="ftp://ftp.logilab.org/pub/astng/logilab-${P}.tar.gz mirror://pypi/l/logilab-astng/logilab-${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x64-macos ~x86-macos"
+IUSE="test"
+
+# Version specified in __pkginfo__.py.
+RDEPEND=">=dev-python/logilab-common-0.59.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/egenix-mx-base-3.0.0[$(python_gen_usedep 'python2*')] )"
+
+S="${WORKDIR}/logilab-${P}"
+RESTRICT="test" # erroneous failures
+
+# a wit; pypy reports astng modules differently
+PATCHES=( "${FILESDIR}"/pypy-test.patch )
+
+python_test() {
+ distutils_install_for_testing
+ # test target needs unpacked test directories, doesn't like binary egg
+ esetup.py install_lib --install-dir="${TEST_DIR}"/lib
+ #https://bitbucket.org/logilab/astroid/issue/1/test-suite-fails-in-0243-under-py32-pypy
+ # Make sure that the tests use correct modules.
+ cd "${TEST_DIR}"/lib || die
+ pytest -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ rm "${D}$(python_get_sitedir)/logilab/__init__.py" || die
+}
diff --git a/dev-python/astng/files/pypy-test.patch b/dev-python/astng/files/pypy-test.patch
new file mode 100644
index 000000000000..42cb3864b43b
--- /dev/null
+++ b/dev-python/astng/files/pypy-test.patch
@@ -0,0 +1,36 @@
+diff -ur logilab-astng-0.24.3.orig/test/unittest_builder.py logilab-astng-0.24.3/test/unittest_builder.py
+--- test/unittest_builder.py 2013-04-17 17:38:31.000000000 +0800
++++ test/unittest_builder.py 2013-06-19 02:13:51.425269363 +0800
+@@ -62,8 +62,12 @@
+ self.assertEqual(name.tolineno, 4)
+ strarg = callfunc.args[0]
+ self.assertIsInstance(strarg, nodes.Const)
+- self.assertEqual(strarg.fromlineno, 5) # no way for this one (is 4 actually)
+- self.assertEqual(strarg.tolineno, 5)
++ if hasattr(sys, 'pypy_version_info'):
++ self.assertEqual(strarg.fromlineno, 4) # no way for this one (is 4 actually)
++ self.assertEqual(strarg.tolineno, 4)
++ else:
++ self.assertEqual(strarg.fromlineno, 5) # no way for this one (is 4 actually)
++ self.assertEqual(strarg.tolineno, 5)
+ namearg = callfunc.args[1]
+ self.assertIsInstance(namearg, nodes.Name)
+ self.assertEqual(namearg.fromlineno, 5)
+diff -ur logilab-astng-0.24.3.orig/test/unittest_inference.py logilab-astng-0.24.3/test/unittest_inference.py
+--- test/unittest_inference.py 2013-04-17 17:38:31.000000000 +0800
++++ test/unittest_inference.py 2013-06-19 02:52:41.618270007 +0800
+@@ -710,8 +710,12 @@
+ node = get_name_node(astng, 'open', -1)
+ infered = list(node.infer())
+ self.assertEqual(len(infered), 1)
+- self.assertIsInstance(infered[0], nodes.Function)
+- self.assertEqual(infered[0].name, 'open')
++ if hasattr(sys, 'pypy_version_info'):
++ self.assertIsInstance(infered[0], nodes.Class)
++ self.assertEqual(infered[0].name, 'file')
++ else:
++ self.assertIsInstance(infered[0], nodes.Function)
++ self.assertEqual(infered[0].name, 'open')
+
+ def test_callfunc_context_func(self):
+ code = '''
diff --git a/dev-python/astng/metadata.xml b/dev-python/astng/metadata.xml
new file mode 100644
index 000000000000..1b13630a68a6
--- /dev/null
+++ b/dev-python/astng/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">The aim of this module is to provide a common base representation of
+ python source code for projects such as pychecker, pyreverse,
+ pylint... Well, actually the development of this library is
+ essentially governed by pylint's needs.
+ It provides a compatible representation which comes from the _ast
+ module. It rebuilds the tree generated by the builtin _ast module by
+ recursively walking down the AST and building an extended ast (let's
+ call it astng ;). The new node classes have additional methods and
+ attributes for different usages. They include some support for static
+ inference and local name scopes. Furthermore, astng builds partial
+ trees by inspecting living objects.</longdescription>
+ <upstream>
+ <remote-id type="pypi">logilab-astng</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/astor/Manifest b/dev-python/astor/Manifest
new file mode 100644
index 000000000000..25304715ddd4
--- /dev/null
+++ b/dev-python/astor/Manifest
@@ -0,0 +1,4 @@
+DIST astor-0.3.tar.gz 10193 SHA256 64d30fceccc46fe0c9d8afd1d60f5c9c1f7f2c2504a10ccc1548ac34fc3a8ce9 SHA512 ee75eeb795c87c1b86872af1ef8cd573b857fe973b4c6dea2a1484b37203bab3fcaa75f2d29eb499c6c109caed068b25156dfbb19934856cc4980f4f0f36a4fc WHIRLPOOL e20fda731853578ec8c13cdfdab04569a0435036f2e9242e1cc0d8b92425a2ccf06ec7c5f8014323136059da8cdb59de98b9dcb1fd633890ff6dcc8508356708
+DIST astor-0.4.1.tar.gz 10865 SHA256 df38bb923b9111b873f1b812f5f4932110ead7c7dd8b4734d9eb7968c074d9b0 SHA512 9c1b5e2d17112ffe8e7f8ed75acc3e0c488f0d2b4c32452e6a89aea43c090be984f1bbf3e31c44b09ad6c63e0a2ccb837bd1b730fab7114a9eae66899fdd314f WHIRLPOOL 544860e33f643e15400f626779977cce852be7d39e67333af140483cad640556be9a748a345afb4219fbc306deb55e88bc49b119498caffa0b6b261639ced800
+DIST astor-0.4.tar.gz 11188 SHA256 26ddb1ae3c372a09702709e91544eece9e8c885fdae7b2553838d440492fc24c SHA512 8a36668cb359795652eee61998281d4dadab875a6ad2e4c351385ae67a21352a3a45de5233c4dc31a9060e01d4525acd9a8d233ef7f322fbdc925e9aa85346c7 WHIRLPOOL 4841e01310245b21559947c2eac677a45498edae94ad97009704929f5345f31814b82d086b996ca54cc2b04df7026921eabfa5e95131ef410192043a0114cf83
+DIST astor-0.5.tar.gz 10999 SHA256 4abff251d3f03cbe99106cc16e0dc94adc4f88d580c34a717741c7090b76aab9 SHA512 7c940371a6c3ddbc4a6691edb6ee17eef61436912bb873c5c0cba4f3865c9d4f8e077674b14ccc7e319b749898782aaf87e085eedd9ba7f8638130deb67f549b WHIRLPOOL fcc82e25305a291f6884b2d18c8316b55902c6334962203c8b504e79a563e09173b7fa0da29276c12cf42e646a268d71b5dd6365990517379f211d1da343562e
diff --git a/dev-python/astor/astor-0.3.ebuild b/dev-python/astor/astor-0.3.ebuild
new file mode 100644
index 000000000000..f6d0c7ebfb9b
--- /dev/null
+++ b/dev-python/astor/astor-0.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Read/rewrite/write Python ASTs"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/astor"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/astor/astor-0.4.1.ebuild b/dev-python/astor/astor-0.4.1.ebuild
new file mode 100644
index 000000000000..773c94c82ba7
--- /dev/null
+++ b/dev-python/astor/astor-0.4.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Read/rewrite/write Python ASTs"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/astor"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ #avoid file collisions picked up by the eclass
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/astor/astor-0.4.ebuild b/dev-python/astor/astor-0.4.ebuild
new file mode 100644
index 000000000000..c47e1ccbd619
--- /dev/null
+++ b/dev-python/astor/astor-0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Read/rewrite/write Python ASTs"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/astor"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ #avoid file collisions picked up by the eclass
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/astor/astor-0.5.ebuild b/dev-python/astor/astor-0.5.ebuild
new file mode 100644
index 000000000000..773c94c82ba7
--- /dev/null
+++ b/dev-python/astor/astor-0.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Read/rewrite/write Python ASTs"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/astor"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ #avoid file collisions picked up by the eclass
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/astor/metadata.xml b/dev-python/astor/metadata.xml
new file mode 100644
index 000000000000..401f35c17dd4
--- /dev/null
+++ b/dev-python/astor/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">astor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
new file mode 100644
index 000000000000..370c1dd41b0b
--- /dev/null
+++ b/dev-python/astroid/Manifest
@@ -0,0 +1,4 @@
+DIST astroid-1.3.4.tar.gz 146809 SHA256 0b453eaa4f48aaa25a007ede7165aa424d83d4a14fd3bd636dc9c77f83e8e9bb SHA512 cdb75480402e46e4a18557fcacf320ee79a2b5f37f02a6a0d878ca9406fa598cd9a3eea4b3be16c9d9ff0ac279cf7138b2ebaf71fb256ac52006f09117c3ad30 WHIRLPOOL 909ecefb8ed8fd1ac7b6f543f801d78ea490f15fe2434c58ea6d9b943dd511cc9fc381b72263b81f7e19bfaffad100cfe8014f63fe93f2cff69a51531464269a
+DIST astroid-1.3.6.tar.gz 153863 SHA256 1241ef961448c57b4616beb8dcc959724641dca1e22914663f79d67fec26f854 SHA512 a44a17a59834915798b6c672243dccba57a432f646a2bd377e2b067d79d8057b1db0c22107285abcff19b9719d128a5354f9d5a82f65f628ae8beb15cedcbe35 WHIRLPOOL 3c58c450e54f3756a55075b40973174b0b2f8ba4910aa66bb42f0e85c7d9197d0d5154a2776caeed65a47da2276731d970db73fade3cef74ba583a2a7cffe016
+DIST astroid-1.3.7.tar.gz 154919 SHA256 91018b668d94275b9e55b79804a2a248dac1262c581c51fa880fdf57b5004ec8 SHA512 f2557c10c5a3dc6d52a836db8ab6ac1d945d529d5d6501b093ac87887bb445df0f37a54d72b00cd826ce09378abe7cf283b69892852b7fb2ad5d61dee0996162 WHIRLPOOL 53dca23ca45bd81fbd6957c0588f787c8cb18847a963488bc8c9780ca0c05f21d6605a438ae11b79d34a0cb9790dc7f29db1dfa8009b4ef86b21ac032184c040
+DIST astroid-1.3.8.tar.gz 155302 SHA256 3971c35c675dc7acfceb636eb1758b7df9fc3ad75b5f81ca89f57ccf51719442 SHA512 316d3a6a12d95b3bebe7ffe47de840cbff96f357c7c324f6684bb713bca191cfaf87fe226c3c1145049611a2035890bdf11845bf923f7d0087a0d1e565d5d5c5 WHIRLPOOL 456ebef20c278047ae0e85fb1386f63eb7c13dda295ddace9704df5255b5004887f6f5201097b2337cc678a9891f33aa5628cbf7acc01c4eb9ff3dc3c091408a
diff --git a/dev-python/astroid/astroid-1.3.4.ebuild b/dev-python/astroid/astroid-1.3.4.ebuild
new file mode 100644
index 000000000000..73d6f83ec553
--- /dev/null
+++ b/dev-python/astroid/astroid-1.3.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+RESTRICT="test" # False is not True ;)
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="http://bitbucket.org/logilab/astroid http://pypi.python.org/pypi/astroid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~x64-macos ~x86-macos"
+IUSE="test"
+
+# Version specified in __pkginfo__.py.
+RDEPEND=">=dev-python/logilab-common-0.60.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ >=dev-python/pylint-1.4.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7) )"
+# Required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# Restrict to test phase, required because suite fails horribly without it
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" setup.py build
+
+ pushd build/lib > /dev/null
+ PYTHONPATH=. pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
diff --git a/dev-python/astroid/astroid-1.3.6.ebuild b/dev-python/astroid/astroid-1.3.6.ebuild
new file mode 100644
index 000000000000..eff7576ea81c
--- /dev/null
+++ b/dev-python/astroid/astroid-1.3.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+RESTRICT="test" # False is not True ;)
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="http://bitbucket.org/logilab/astroid http://pypi.python.org/pypi/astroid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x86-macos"
+IUSE="test"
+
+# Version specified in __pkginfo__.py.
+RDEPEND=">=dev-python/logilab-common-0.60.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ >=dev-python/pylint-1.4.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7) )"
+# Required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# Restrict to test phase, required because suite fails horribly without it
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" setup.py build
+
+ pushd build/lib > /dev/null
+ PYTHONPATH=. pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
diff --git a/dev-python/astroid/astroid-1.3.7.ebuild b/dev-python/astroid/astroid-1.3.7.ebuild
new file mode 100644
index 000000000000..734db324b455
--- /dev/null
+++ b/dev-python/astroid/astroid-1.3.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="http://bitbucket.org/logilab/astroid http://pypi.python.org/pypi/astroid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x86-macos"
+IUSE="test"
+
+# Version specified in __pkginfo__.py.
+RDEPEND="
+ <=dev-python/logilab-common-0.63.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/pylint-1.4.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7)
+ )"
+# Required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RESTRICT="test" # False is not True ;)
+
+# Restrict to test phase, required because suite fails horribly without it
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ pushd build/lib > /dev/null || die
+ PYTHONPATH=. pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
diff --git a/dev-python/astroid/astroid-1.3.8.ebuild b/dev-python/astroid/astroid-1.3.8.ebuild
new file mode 100644
index 000000000000..8575c7b4d1db
--- /dev/null
+++ b/dev-python/astroid/astroid-1.3.8.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="http://bitbucket.org/logilab/astroid http://pypi.python.org/pypi/astroid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x86-macos"
+IUSE="test"
+
+# Version specified in __pkginfo__.py.
+RDEPEND="
+ >=dev-python/logilab-common-0.63.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/pylint-1.4.0[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7)
+ )"
+# Required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ pushd build/lib > /dev/null || die
+ PYTHONPATH=. pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
diff --git a/dev-python/astroid/metadata.xml b/dev-python/astroid/metadata.xml
new file mode 100644
index 000000000000..7794b7137e79
--- /dev/null
+++ b/dev-python/astroid/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">The aim of this module is to provide a common base representation of
+ python source code for projects such as pychecker, pyreverse,
+ pylint... Well, actually the development of this library is
+ essentially governed by pylint's needs.
+ It provides a compatible representation which comes from the _ast
+ module. It rebuilds the tree generated by the builtin _ast module by
+ recursively walking down the AST and building an extended ast (let's
+ call it astng ;). The new node classes have additional methods and
+ attributes for different usages. They include some support for static
+ inference and local name scopes. Furthermore, astng builds partial
+ trees by inspecting living objects.</longdescription>
+ <upstream>
+ <remote-id type="pypi">astroid</remote-id>
+ <remote-id type="bitbucket">logilab/astroid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/astropy-helpers/Manifest b/dev-python/astropy-helpers/Manifest
new file mode 100644
index 000000000000..2bae5556b861
--- /dev/null
+++ b/dev-python/astropy-helpers/Manifest
@@ -0,0 +1 @@
+DIST astropy-helpers-0.4.1.tar.gz 98477 SHA256 0b4e47e535e7226d8795efb9e9453cac9343759058970a20734e66f443074577 SHA512 85975268372624bec4024dfbe560ef820bda308db898919c4d29643f10df11636f4996a8ff3f2fb7deece44f88963ddb0c8ca231e030713cf17db7503ceae42e WHIRLPOOL b37fa02ebe3e750052a9681e1e8a3a0aa9eede1909e69c70e2004ba738139707e1a0c21797681454ee782a6543bc8808b8de574d60aba601d228966c8659bb9f
diff --git a/dev-python/astropy-helpers/astropy-helpers-0.4.1.ebuild b/dev-python/astropy-helpers/astropy-helpers-0.4.1.ebuild
new file mode 100644
index 000000000000..509beacbedfa
--- /dev/null
+++ b/dev-python/astropy-helpers/astropy-helpers-0.4.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpers for Astropy and Affiliated packages"
+HOMEPAGE="https://github.com/astropy/astropy-helpers"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+
+python_prepare_all() {
+ sed -e '/import ah_bootstrap/d' -i setup.py || die "Removing ah_bootstrap failed"
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/astropy-helpers/metadata.xml b/dev-python/astropy-helpers/metadata.xml
new file mode 100644
index 000000000000..2069ce539f40
--- /dev/null
+++ b/dev-python/astropy-helpers/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">
+ astropy-helpers is a collection of build tools used by astropy
+ that may be used by other projects.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">astropy-helpers</remote-id>
+ <remote-id type="github">astropy/astropy-helpers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/astropy/Manifest b/dev-python/astropy/Manifest
new file mode 100644
index 000000000000..0f13e61473f5
--- /dev/null
+++ b/dev-python/astropy/Manifest
@@ -0,0 +1,4 @@
+DIST astropy-0.3.1.tar.gz 6190259 SHA256 e296b445943c842adc18db2dcbfe6fb1b79d4b95cae0f5bac768fd78f4af30ac SHA512 f2beacbc49e8d8af93b0fdbc5e6def7de7e854592d73bf84b14e8571cf7688d46c6b62f014be38e793c899c94b5803bf63f695723777dc74fef1da63bd8e14d4 WHIRLPOOL 46e377c57536a8a945d212a40179391d4362dc2641ae9ba84e36dbf47a0e4ed4b3a86745a68fb25318a0e1076ba5df719ecf95150f500c2f252cb8d349bb98bf
+DIST astropy-0.3.2.tar.gz 6375740 SHA256 0b564870f5c198885d9bbb1b3d07e526439303f37c2c654a879d1f9dee270915 SHA512 f3ec641a6ef31668fbbe4aac6517a442bfca006b4d58a3240aef06833c74c59abdb586658d057ecd1defc616a90e0b82d3e66de26f8d76d945238d443bf82267 WHIRLPOOL 551d0cae993e5d494cd4c157c76f8f7352548a0d575533105b5bdff12ac925e3b51c15a704342298292d07f70295a90800af99176591de0297e70c555b38881a
+DIST astropy-0.4.4.tar.gz 6939433 SHA256 8b2bc2a82b8de48e5ee247c52f20e6d9c32a801e338b3086e9cd39b5219e3389 SHA512 235cd2a9a48276872fd7bcdfe11a74809fef042b9e2caf9d493c804ac48340793fc1ba542327c2e10a94ac569365d6421544bcc7b7a842b50b638f4abc6ae0b0 WHIRLPOOL b947dbe718f02edd773e32a7922b67d7fba2d74ee06bc262defb5616f9cee5354105a3d5076e0e138cc0faa1fac65256550a63506e2fbb1e5f92a4326be0700f
+DIST astropy-0.4.tar.gz 6906375 SHA256 bcb16f7e01d74851d43c13a372fd5e240014ae9bc695a87ed2e2693d36581aba SHA512 661c9a5ea01aa5b38737606df5fdceb1e59cd63d669db01cb18dc20939301b058f5a1696725f25a21f87798fd2457bc96e726c4b52f5bf2473236c0e423e8047 WHIRLPOOL 951af517a3d5612be9ed1a23684a48e750521723fb5b982947e0c08a0f80fc53a1adce36d055b47f1374ec28028d08d47a0258570c1b4075448a72f95a2d588a
diff --git a/dev-python/astropy/astropy-0.3.1.ebuild b/dev-python/astropy/astropy-0.3.1.ebuild
new file mode 100644
index 000000000000..97a51569472d
--- /dev/null
+++ b/dev-python/astropy/astropy-0.3.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Core functionality for performing astrophysics with Python"
+HOMEPAGE="http://astropy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/expat:0=
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-astronomy/erfa:0=
+ sci-astronomy/wcslib:0=
+ >=sci-libs/cfitsio-3.350:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ dev-python/matplotlib
+ dev-python/sphinx
+ media-gfx/graphviz
+ )
+ test? (
+ dev-libs/libxml2
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ )"
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries
+}
+
+python_compile_all() {
+ if use doc; then
+ python_export_best
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${BUILD_DIR}"/lib \
+ esetup.py build_sphinx
+ fi
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/astropy/astropy-0.3.2.ebuild b/dev-python/astropy/astropy-0.3.2.ebuild
new file mode 100644
index 000000000000..50f2cbdc1935
--- /dev/null
+++ b/dev-python/astropy/astropy-0.3.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Core functionality for performing astrophysics with Python"
+HOMEPAGE="http://astropy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/expat:0=
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-astronomy/erfa:0=
+ sci-astronomy/wcslib:0=
+ >=sci-libs/cfitsio-3.350:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ dev-libs/libxml2
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ )"
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries
+}
+
+python_compile_all() {
+ if use doc; then
+ python_export_best
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${BUILD_DIR}"/lib \
+ esetup.py build_sphinx
+ fi
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/astropy/astropy-0.4.4.ebuild b/dev-python/astropy/astropy-0.4.4.ebuild
new file mode 100644
index 000000000000..70950a2bd53d
--- /dev/null
+++ b/dev-python/astropy/astropy-0.4.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Core functionality for performing astrophysics with Python"
+HOMEPAGE="http://astropy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/expat:0=
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-astronomy/erfa:0=
+ >=sci-astronomy/wcslib-4.23:0=
+ >=sci-libs/cfitsio-3.350:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}
+ dev-python/astropy-helpers[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ dev-libs/libxml2[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ )"
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries --offline
+}
+
+python_compile_all() {
+ if use doc; then
+ python_export_best
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${BUILD_DIR}"/lib \
+ esetup.py build_sphinx --offline
+ fi
+}
+
+python_test() {
+ esetup.py --offline test
+}
+
+python_install() {
+ distutils-r1_python_install --offline
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all --offline
+}
diff --git a/dev-python/astropy/astropy-0.4.ebuild b/dev-python/astropy/astropy-0.4.ebuild
new file mode 100644
index 000000000000..70950a2bd53d
--- /dev/null
+++ b/dev-python/astropy/astropy-0.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Core functionality for performing astrophysics with Python"
+HOMEPAGE="http://astropy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-libs/expat:0=
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-astronomy/erfa:0=
+ >=sci-astronomy/wcslib-4.23:0=
+ >=sci-libs/cfitsio-3.350:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}
+ dev-python/astropy-helpers[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ dev-libs/libxml2[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ )"
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries --offline
+}
+
+python_compile_all() {
+ if use doc; then
+ python_export_best
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${BUILD_DIR}"/lib \
+ esetup.py build_sphinx --offline
+ fi
+}
+
+python_test() {
+ esetup.py --offline test
+}
+
+python_install() {
+ distutils-r1_python_install --offline
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all --offline
+}
diff --git a/dev-python/astropy/metadata.xml b/dev-python/astropy/metadata.xml
new file mode 100644
index 000000000000..5dab9c71475d
--- /dev/null
+++ b/dev-python/astropy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">
+ Astropy is a community-driven package intended to contain much of
+ the core functionality and some common tools needed for performing
+ astronomy and astrophysics with Python.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">astropy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/async/Manifest b/dev-python/async/Manifest
new file mode 100644
index 000000000000..9ec547277e2f
--- /dev/null
+++ b/dev-python/async/Manifest
@@ -0,0 +1 @@
+DIST async-0.6.2.tar.gz 30177 SHA256 ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051 SHA512 6d3376e2d40e07a402cdcc17d0b1789883d5aa5fa24931ed0bfd98bf32454fd126b3591e3c0dc3acea37c0bfe0d27cc65df42a44c92f0bd13e4bbb7a477ff69c WHIRLPOOL 553c9d18fd38daa9bd7e5f8246c181ba429e1a346be5e85ebd9a611c8ce61beab09db172705ee6afd58bf3cc5e6434ebe97924d7adcd7a6322b0e82d6a2dcd71
diff --git a/dev-python/async/async-0.6.2.ebuild b/dev-python/async/async-0.6.2.ebuild
new file mode 100644
index 000000000000..5982a341bc37
--- /dev/null
+++ b/dev-python/async/async-0.6.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Async Framework"
+HOMEPAGE="
+ http://gitorious.org/git-python/async
+ http://pypi.python.org/pypi/async"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/async/files/async-0.6.1_libz_link.patch b/dev-python/async/files/async-0.6.1_libz_link.patch
new file mode 100644
index 000000000000..a7031cfa93af
--- /dev/null
+++ b/dev-python/async/files/async-0.6.1_libz_link.patch
@@ -0,0 +1,14 @@
+#Patch by Jesus Rivero <neurogeek@gentoo.org>
+#Submitted to upstream Ago 26, 2011
+diff -uNr async-0.6.1.orig/setup.py async-0.6.1/setup.py
+--- async-0.6.1.orig/setup.py 2010-11-21 07:03:47.000000000 -0500
++++ async-0.6.1/setup.py 2011-08-26 16:51:57.000000000 -0400
+@@ -77,7 +77,7 @@
+ packages = ('async', 'async.mod', 'async.test', 'async.test.mod'),
+ package_data={'async' : ['AUTHORS', 'README']},
+ package_dir = {'async':''},
+- ext_modules=[Extension('async.mod.zlib', ['mod/zlibmodule.c'])],
++ ext_modules=[Extension('async.mod.zlib', ['mod/zlibmodule.c'], libraries=['z'])],
+ license = "BSD License",
+ zip_safe=False,
+ long_description = """Async is a framework to process interdependent tasks in a pool of workers"""
diff --git a/dev-python/async/metadata.xml b/dev-python/async/metadata.xml
new file mode 100644
index 000000000000..6dff7db3370c
--- /dev/null
+++ b/dev-python/async/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">async</remote-id>
+ <remote-id type="gitorious">git-python/async</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/asyncio/Manifest b/dev-python/asyncio/Manifest
new file mode 100644
index 000000000000..80831c62bd2f
--- /dev/null
+++ b/dev-python/asyncio/Manifest
@@ -0,0 +1,2 @@
+DIST asyncio-3.4.2.tar.gz 179696 SHA256 f9cb785691c1c48e4537bdd26d189d56335cc80ce4a77a4301e077ab8adea880 SHA512 b56fd9b613ffee901f9db39152b8c6495383788fa4466c32acc7509072cae95ec86839ec04500f535ae86de90cadfb77bff37e32d11a5c4091d83c9e2eec7f28 WHIRLPOOL 6adc52f1683efc7b7f1bef8ac5676b211bf069536c85d3c0d519470a636f7ba9ce512d01def22884dd3b14e9a730ecdaadf9efe33e1912e2bd2fb5020573dee7
+DIST asyncio-3.4.3.tar.gz 204411 SHA256 83360ff8bc97980e4ff25c964c7bd3923d333d177aa4f7fb736b019f26c7cb41 SHA512 42077cbbae3d67e6e45224cc1996f1aaaff137cdc5c8679ba830fd66098d1e9d8c05e315c8d2ef1add2f504ab769bd339e5d8ae2f7532d423282baca2d383736 WHIRLPOOL c5ad9e02a5cfb71335e7ddf46039a3245ea9aad78c8d47e3712ea20aa21b1a01ce52ad31b6166357c4e43230f15cb566ab752ac3ae702d53111767b7b278ba44
diff --git a/dev-python/asyncio/asyncio-3.4.2.ebuild b/dev-python/asyncio/asyncio-3.4.2.ebuild
new file mode 100644
index 000000000000..0a3aeb70ac04
--- /dev/null
+++ b/dev-python/asyncio/asyncio-3.4.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="reference implementation of PEP 3156"
+HOMEPAGE="http://pypi.python.org/pypi/asyncio https://github.com/python/asyncio"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ~ppc ~ppc64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/asyncio/asyncio-3.4.3.ebuild b/dev-python/asyncio/asyncio-3.4.3.ebuild
new file mode 100644
index 000000000000..1c979f824292
--- /dev/null
+++ b/dev-python/asyncio/asyncio-3.4.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="reference implementation of PEP 3156"
+HOMEPAGE="http://pypi.python.org/pypi/asyncio https://github.com/python/asyncio"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} runtests.py || die
+ PYTHONASYNCIODEBUG=1 ${PYTHON} runtests.py || die
+}
diff --git a/dev-python/asyncio/metadata.xml b/dev-python/asyncio/metadata.xml
new file mode 100644
index 000000000000..b5e4ea712dd3
--- /dev/null
+++ b/dev-python/asyncio/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+reference implementation of PEP 3156
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">asyncio</remote-id>
+ <remote-id type="github">python/asyncio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/atom/Manifest b/dev-python/atom/Manifest
new file mode 100644
index 000000000000..732ae5ac3c15
--- /dev/null
+++ b/dev-python/atom/Manifest
@@ -0,0 +1 @@
+DIST atom-0.3.10.zip 102102 SHA256 461ffb57ff9448242b66e08d367f9c65bfd9bf04215591e7e9580f289139debf SHA512 ae22747f96e42b9cc4f7c92ddb7d7b8af647e17b917481cd267d4162bd9260b906a019a73de2ca6e3c72a9430dacd535001da7dcb809c1c3dc18c7297be14b76 WHIRLPOOL 23a39d1dddb6c42850925244a8d6da1f589690e7c73416773e954f9ee74665e75c9686f5517af93711a226f828364b483497a98bbf054e4c97f75178ff77adce
diff --git a/dev-python/atom/atom-0.3.10.ebuild b/dev-python/atom/atom-0.3.10.ebuild
new file mode 100644
index 000000000000..2faba765d26a
--- /dev/null
+++ b/dev-python/atom/atom-0.3.10.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Memory efficient Python objects"
+HOMEPAGE="https://github.com/nucleic/atom"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Clear-BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Required to avoid file collisions at install
+ sed -e "s:find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+
+ # Reset from use of local paths
+ if use test; then
+ sed -e 's:from .catom:from catom:g' -i ${PN}/*.py || die
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}"/lib:"${BUILD_DIR}"/lib/${PN} \
+ nosetests || die "Tests failed"
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ # Change the state back to original ready for installing
+ sed -e 's:from catom:from .catom:g' -i ${PN}/*.py
+ popd > /dev/null
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/atom/metadata.xml b/dev-python/atom/metadata.xml
new file mode 100644
index 000000000000..3485f522ab47
--- /dev/null
+++ b/dev-python/atom/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">atom</remote-id>
+ <remote-id type="github">nucleic/atom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/atpy/Manifest b/dev-python/atpy/Manifest
new file mode 100644
index 000000000000..0f3e69047897
--- /dev/null
+++ b/dev-python/atpy/Manifest
@@ -0,0 +1 @@
+DIST ATpy-0.9.7.tar.gz 663163 SHA256 4286bb0e4de30df16d6ffd14eb92e4bd47cba2b486834ca95db512c830d0693c SHA512 4cd078625fd4fc83d267cf3aff4728ec8b2de927dd0a748dba47030216b141aa0c266f34bbf708211ec829a363b3b8e5eed36bf538efbe170ae316a271b36bb4 WHIRLPOOL 6e86375725c203b5351c0111a5e10fa6905c9add682b26275f2538e97e3e1b16884c40794809b0b02a0e4f64bd1f3f5d56f474ef5efc5bbd8622dcd639360ecc
diff --git a/dev-python/atpy/atpy-0.9.7.ebuild b/dev-python/atpy/atpy-0.9.7.ebuild
new file mode 100644
index 000000000000..9c9373c483fd
--- /dev/null
+++ b/dev-python/atpy/atpy-0.9.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MYPN=ATpy
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Astronomical tables support for Python"
+HOMEPAGE="http://atpy.readthedocs.org/"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/astropy[${PYTHON_USEDEP}]
+ hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ postgres? ( dev-python/pygresql )"
+
+IUSE="hdf5 mysql postgres sqlite"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-3"
+
+S="${WORKDIR}/${MYP}"
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib" "${EPYTHON}" runtests.py || die
+}
diff --git a/dev-python/atpy/metadata.xml b/dev-python/atpy/metadata.xml
new file mode 100644
index 000000000000..a370aeb05572
--- /dev/null
+++ b/dev-python/atpy/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ Astronomical Tables in Python (ATpy) is a high-level package
+ providing a way to manipulate tables of astronomical data in a
+ uniform way. A table is defined by any number of columns of data,
+ each characterized by a column name, unit, null value, and
+ description (the last three being optional), and can be supplemented
+ with metadata in the form of keywords or comments. ATpy can be used
+ to manipulate single tables as well as sets of tables. Table formats
+ supported are FITS, VO, IPAC. Database supported are SQLite, MySQL
+ and PostgreSQL.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">ATpy</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/attrdict/Manifest b/dev-python/attrdict/Manifest
new file mode 100644
index 000000000000..ef3f28613a05
--- /dev/null
+++ b/dev-python/attrdict/Manifest
@@ -0,0 +1 @@
+DIST attrdict-2.0.0.tar.gz 8994 SHA256 86aeb6d3809e0344409f8148d7cac9eabce5f0b577c160b5e90d10df3f8d2ad3 SHA512 6dd363eb3bca83c84dcbcdd04fb2a7f5360ff5c97b7e52159c4efe61856a37bb6a9427da00da07cb9222f3cef6de18b94bf2da5d0192372f9252a130fa476b7d WHIRLPOOL 35a9a2ec820756d640990e6cbcd1bbed1145dbcd14a4e099bde618fab3a4a74d5d419a01bb43e7d55a59c295f9a8ae77e5f091c4263f2282d50dcc1a0002c90d
diff --git a/dev-python/attrdict/attrdict-2.0.0.ebuild b/dev-python/attrdict/attrdict-2.0.0.ebuild
new file mode 100644
index 000000000000..bc776d9514f5
--- /dev/null
+++ b/dev-python/attrdict/attrdict-2.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A dict with attribute-style access"
+HOMEPAGE="https://github.com/bcj/AttrDict"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/attrdict/metadata.xml b/dev-python/attrdict/metadata.xml
new file mode 100644
index 000000000000..db49812b88b6
--- /dev/null
+++ b/dev-python/attrdict/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">attrdict</remote-id>
+ <remote-id type="github">bcj/AttrDict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/audioread/Manifest b/dev-python/audioread/Manifest
new file mode 100644
index 000000000000..3d813fa78106
--- /dev/null
+++ b/dev-python/audioread/Manifest
@@ -0,0 +1 @@
+DIST audioread-1.0.1.tar.gz 13004 SHA256 19d1a8c55b00875235a198cb9119c2163394000ebbb0f05a074a356f71a96b04 SHA512 18e9e696785fe2f1b1d6ad7fe64e2878bf490d72aef7500998bb48b0733b382cf0b171d26c5b1465947de1d5f6ded25e2b57947402c31a440e8f346722fdc533 WHIRLPOOL 9489c01f54135677a01d2511d80150bd5f134b8b08ee20b55f78f708a788e604c282f43ea5ffbc669f2a00b3c2ae14f9062fe6752b21e14d1c50f4d36c3e2c6b
diff --git a/dev-python/audioread/audioread-1.0.1.ebuild b/dev-python/audioread/audioread-1.0.1.ebuild
new file mode 100644
index 000000000000..d56ad322f7bc
--- /dev/null
+++ b/dev-python/audioread/audioread-1.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for decoding audio files using whichever backend is available"
+HOMEPAGE="http://pypi.python.org/pypi/audioread"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="|| ( dev-python/gst-python:0.10[${PYTHON_USEDEP}] dev-python/pymad media-video/ffmpeg )"
+
+PATCHES=(
+ "${FILESDIR}/0001-Use-the-print-function-instead-of-the-print-keyword.patch"
+ )
+
+pkg_postinst() {
+ elog "You might need to enable additional USE flags in backends to"
+ elog "decode some types of audio files. Priority of backends:"
+ elog " * gstreamer"
+ elog " * mad"
+ elog " * ffmpeg"
+}
diff --git a/dev-python/audioread/files/0001-Use-the-print-function-instead-of-the-print-keyword.patch b/dev-python/audioread/files/0001-Use-the-print-function-instead-of-the-print-keyword.patch
new file mode 100644
index 000000000000..8feb9d0ca9b6
--- /dev/null
+++ b/dev-python/audioread/files/0001-Use-the-print-function-instead-of-the-print-keyword.patch
@@ -0,0 +1,30 @@
+From 3f86133d37d5cc5c8712730de67c23b0d33ce082 Mon Sep 17 00:00:00 2001
+From: Simon Chopin <chopin.simon@gmail.com>
+Date: Tue, 14 May 2013 12:46:50 +0200
+Subject: [PATCH] Use the print() function instead of the print keyword
+
+Python3 doesn't have the `print foo` statement.
+---
+ audioread/gstdec.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/audioread/gstdec.py b/audioread/gstdec.py
+index 78285db..fa8078f 100644
+--- a/audioread/gstdec.py
++++ b/audioread/gstdec.py
+@@ -366,8 +366,8 @@ if __name__ == '__main__':
+ for path in sys.argv[1:]:
+ path = os.path.abspath(os.path.expanduser(path))
+ with GstAudioFile(path) as f:
+- print f.channels
+- print f.samplerate
+- print f.duration
++ print(f.channels)
++ print(f.samplerate)
++ print(f.duration)
+ for s in f:
+- print len(s), ord(s[0])
++ print(len(s), ord(s[0]))
+--
+1.8.1.5
+
diff --git a/dev-python/audioread/metadata.xml b/dev-python/audioread/metadata.xml
new file mode 100644
index 000000000000..9977a55b9020
--- /dev/null
+++ b/dev-python/audioread/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+Decode audio files using whichever backend is available. The library currently supports:
+ * Gstreamer via gst-python.
+ * MAD via the pymad bindings.
+ * FFmpeg via its command-line interface.
+ * The standard library wave and aifc modules (for WAV and AIFF files).
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">audioread</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/authres/Manifest b/dev-python/authres/Manifest
new file mode 100644
index 000000000000..8a45d13fbc59
--- /dev/null
+++ b/dev-python/authres/Manifest
@@ -0,0 +1,3 @@
+DIST authres-0.701.tar.gz 18878 SHA256 4536c485ab8da667be84361b040e626d025cc8b3cb5ad7ef156a7764bf9a9b12 SHA512 e4482a8c5494a550a76a0d0b8b0d406d257da271d8fae901569a960d2f90ec616c5de48a578240e831c29f9345d128ecc9cba6f05befbb03f5cd90b4c26af422 WHIRLPOOL cbca8127df9ac573bdb653f22869450184cfd05221aa17a28726183e17572f4cde85b255b6e3583336aa87383e34a1999f4a647c1bac8eb91bc70075b0d0669e
+DIST authres-0.702.tar.gz 19360 SHA256 8fcf4d0aa027b00e5d16c60e5dc7cf534f9c4889b290cfbaf59c213630fc8c1b SHA512 fbd9a9bd1492ea026aba9acb7af9e5ab2d0d781b7427c284d9f46cde66f79a74d635f87d4a2a4ab170b9e8bd292acd7b771d445fd534b904b15e90c379745c5c WHIRLPOOL ebb96260b74805618665b7e3d7764fdcc179f198441fd601dd88f0f4644daa5af338514f76e1e0c803b4b3446f6d83db214ec4bcd7c557ea82389a4e0f6e0e7e
+DIST authres-0.800.tar.gz 19863 SHA256 d28e3976a7d418917cbbf384018aa0e8a0489e41bfd9847309c5f8efb19f6efd SHA512 d9e73309064e396c51ed55394ce505c21869d267922df55b6723cb6b2409282c7827d35d381877b5f08e037042e015d59246603d51219c829df7b81011499fe7 WHIRLPOOL 4316f18f3237e710baac2ee4701c32778139a805e2f0464aa26bf673dd5889dfe225372fdf0ff0da5b1cd0ef62c90f4bf2d41cdecb619fa5fead9682e1dbea5a
diff --git a/dev-python/authres/authres-0.701.ebuild b/dev-python/authres/authres-0.701.ebuild
new file mode 100644
index 000000000000..ad41af57e8ff
--- /dev/null
+++ b/dev-python/authres/authres-0.701.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Authentication Results Header Module"
+HOMEPAGE="https://launchpad.net/authentication-results-python http://pypi.python.org/pypi/authres"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE=""
+
+DOCS=( CHANGES README )
+
+python_test() {
+ "${PYTHON}" -c "import sys, ${PN}, doctest; f, t = doctest.testfile('${PN}/tests'); \
+ sys.exit(bool(f))" || return
+}
diff --git a/dev-python/authres/authres-0.702.ebuild b/dev-python/authres/authres-0.702.ebuild
new file mode 100644
index 000000000000..f1c5a0ea228c
--- /dev/null
+++ b/dev-python/authres/authres-0.702.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Authentication Results Header Module"
+HOMEPAGE="https://launchpad.net/authentication-results-python http://pypi.python.org/pypi/authres"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE=""
+
+python_test() {
+ "${PYTHON}" -c "import sys, ${PN}, doctest; f, t = doctest.testfile('${PN}/tests'); \
+ sys.exit(bool(f))" || return
+}
diff --git a/dev-python/authres/authres-0.800.ebuild b/dev-python/authres/authres-0.800.ebuild
new file mode 100644
index 000000000000..f1c5a0ea228c
--- /dev/null
+++ b/dev-python/authres/authres-0.800.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Authentication Results Header Module"
+HOMEPAGE="https://launchpad.net/authentication-results-python http://pypi.python.org/pypi/authres"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE=""
+
+python_test() {
+ "${PYTHON}" -c "import sys, ${PN}, doctest; f, t = doctest.testfile('${PN}/tests'); \
+ sys.exit(bool(f))" || return
+}
diff --git a/dev-python/authres/metadata.xml b/dev-python/authres/metadata.xml
new file mode 100644
index 000000000000..a218f6da1581
--- /dev/null
+++ b/dev-python/authres/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ RFC 5451 Authentication-Results Headers generation and parsing for Python.
+ It also supports Authentication Results extensions:
+ RFC 5617 DKIM/ADSP
+ RFC 6008 DKIM signature identification (header.b)
+ RFC 6212 Vouch By Reference (VBR)
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">authres</remote-id>
+ <remote-id type="launchpad">authentication-results-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/autobahn/Manifest b/dev-python/autobahn/Manifest
new file mode 100644
index 000000000000..ed6a65c1cdab
--- /dev/null
+++ b/dev-python/autobahn/Manifest
@@ -0,0 +1,2 @@
+DIST autobahn-0.10.4.tar.gz 148147 SHA256 3dd7a7793cead942cb0c06bef5a9f69e64edc174e47fb822702eafd41085933d SHA512 1eb43df9b0c986f1788c6463875765266cfc562155399c326b4e9bf447119fbfc967dcc53f8f8844700d21ebf37df6c596ead8c105918af5c6a8ec09585ce797 WHIRLPOOL b5be6d7f6348dc627fcbd2c60699cbd60e3e14e6494f787275d3890c30bca5804783b7a010faab5d19d19097ac90ddfdfdb1a3aaf6d37e4daef943916bf5422f
+DIST autobahn-0.9.4-2.zip 175894 SHA256 5bb64191cfdd1cbdd90d8e359b389ef62c0acdffd2f68d16ec01fa0a287262f0 SHA512 7e0d4246b8b1c552b25c2ae36f1923ed9931e3d3ca684039a422773fecd92ca04734a0b24394a9bbc787f245c72b5552522351a7c1c8e500128e7c46c740a3d5 WHIRLPOOL aa0f06b82acbebb97ca2e3c424429ada7169dca5b39237ce082a17440ec9701a307e9fc7f162f957023cfc4c067f8e8b82b9923cb056ffcab7b3e64a61a4aae8
diff --git a/dev-python/autobahn/autobahn-0.10.4.ebuild b/dev-python/autobahn/autobahn-0.10.4.ebuild
new file mode 100644
index 000000000000..cf0677a60d18
--- /dev/null
+++ b/dev-python/autobahn/autobahn-0.10.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 versionator
+
+MY_P="${PN}-$(replace_version_separator 3 -)"
+
+DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
+HOMEPAGE="https://pypi.python.org/pypi/autobahn http://autobahn.ws/python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/asyncio-0.2.1[$(python_gen_usedep python3*)]
+ >=dev-python/futures-2.1.5[$(python_gen_usedep python2*)]
+ >=dev-python/lz4-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/snappy-0.5[${PYTHON_USEDEP}]
+ >=dev-python/trollius-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-11.1[$(python_gen_usedep python2*)]
+ >=dev-python/txaio-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/ujson-1.33[${PYTHON_USEDEP}]
+ >=dev-python/wsaccel-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-3.6[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/autobahn/autobahn-0.9.4.2.ebuild b/dev-python/autobahn/autobahn-0.9.4.2.ebuild
new file mode 100644
index 000000000000..013823d3adf1
--- /dev/null
+++ b/dev-python/autobahn/autobahn-0.9.4.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 versionator
+
+MY_P="${PN}-$(replace_version_separator 3 -)"
+
+DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
+HOMEPAGE="https://pypi.python.org/pypi/autobahn http://autobahn.ws/python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.zip"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/snappy[${PYTHON_USEDEP}]
+ dev-python/lz4[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/twisted-core[$(python_gen_usedep python2*)]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/wsaccel[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/autobahn/metadata.xml b/dev-python/autobahn/metadata.xml
new file mode 100644
index 000000000000..f67d1e1bb973
--- /dev/null
+++ b/dev-python/autobahn/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">autobahn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/autopep8/Manifest b/dev-python/autopep8/Manifest
new file mode 100644
index 000000000000..ba2b36cc6be1
--- /dev/null
+++ b/dev-python/autopep8/Manifest
@@ -0,0 +1,4 @@
+DIST autopep8-1.0.4.tar.gz 121476 SHA256 58883a80d501f6f5d97859f100414c6b6f6131fcfc08bd88364c2ecb37a55153 SHA512 53e902dcdd654b9d67d9a31a2343503b754bec78630a7fd8d229843c53eb27d11c32fd6a4829714ac4d7cbee59b055d12e60453ae4ee01cb6131bf9c5045426f WHIRLPOOL 44748dfce6202e1e82c468862e4505500c939ee88eb474392767e606c537a66736f2788c0b6573db37b7c207f3f4608b2a6ecb0fb231bb8c3c090040d17f0642
+DIST autopep8-1.1.1.tar.gz 123488 SHA256 6cdddca3ba69ecf68efefc00e50def2c6939029af3fab637fd797db76e64d3c0 SHA512 79301c1a6f5696daf29c3ac07d63c83c81b3c750b254ffd1d410dc5bc0711fda0dd7438ee062c60d4b69f5475518e959e963ac623851851955115d6b4a99c429 WHIRLPOOL 51be8fe86afcdd186bd4239b634a1919f671b9da07e9341c23d50fdc773d972753f79fb74e144cb1080dc20230a8e7eab5b9312b05452018e504ad2078176196
+DIST autopep8-1.1.tar.gz 123305 SHA256 bf9e821b927169986dd5bbed20a3144afd7c4ddbb841e01d1deb09fd1121e7fa SHA512 6d82ae0ca0a20af2b5aeb467ec36ff0c1e76b45e72a712702e7002312915533c9c380c978fbd5787889a0b3a194b736b0bd830f1b61e302ecea95c968a7ac370 WHIRLPOOL 562bd3d27f90e7d7410ccd391c7245e87dd20ac165ed1153ccbc1500ccb90a9a83790028970dd74c49850d5870fab2c4c500c37ca06b3fd3f12e842af1f4ec31
+DIST autopep8-1.2.tar.gz 155985 SHA256 dbd7015e55ebaa964fbd7c022fe75a5d280e6652be99aea86634eb4b68424752 SHA512 9f9cacbdc1cec4b4fb968d50600895ea411047a528c2a95c6b0cbfb437332eb4b793b190e591c7f36cb69ae4357294b47e7356384e880bd11c114436c112ec82 WHIRLPOOL 8a82a2f9ff5f932170be196721ec23f2e12a53c5182f0c82b2c71a640b6f86c6ba50c234dd08d2f6eae55dc08a1c29f26fc7ae1e10e50e007b176c2b312be956
diff --git a/dev-python/autopep8/autopep8-1.0.4.ebuild b/dev-python/autopep8/autopep8-1.0.4.ebuild
new file mode 100644
index 000000000000..2ecd48922b8e
--- /dev/null
+++ b/dev-python/autopep8/autopep8-1.0.4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="https://github.com/hhatto/autopep8 http://pypi.python.org/pypi/autopep8"
+SRC_URI="https://github.com/hhatto/${PN}/tarball/ver${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # Prevent UnicodeDecodeError with LANG=C
+ sed -e "/eÌ/d" -i MANIFEST.in || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ ewarn "Since this version of autopep depends on >=dev-python/pep8-1.3"
+ ewarn "it is affected by https://github.com/jcrocholl/pep8/issues/45"
+ ewarn "(indentation checks inside triple-quotes)."
+ ewarn "If you do not want to be affected by this, then add the"
+ ewarn "following lines to your local package.mask:"
+ ewarn " >=dev-python/pep8-1.3"
+ ewarn " >=dev-python/autopep8-0.6"
+}
diff --git a/dev-python/autopep8/autopep8-1.1.1.ebuild b/dev-python/autopep8/autopep8-1.1.1.ebuild
new file mode 100644
index 000000000000..6cc81ea31382
--- /dev/null
+++ b/dev-python/autopep8/autopep8-1.1.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="https://github.com/hhatto/autopep8 http://pypi.python.org/pypi/autopep8"
+SRC_URI="https://github.com/hhatto/${PN}/tarball/ver${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ test? ( >=dev-python/pydiff-0.1.2[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent UnicodeDecodeError with LANG=C
+ sed -e "/eÌ/d" -i MANIFEST.in || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+ # from the tox.ini
+ "${PYTHON}" test/acid.py --aggressive test/example.py || die
+ "${PYTHON}" test/acid.py --compare-bytecode test/example.py || die
+}
+
+pkg_postinst() {
+ ewarn "Since this version of autopep depends on >=dev-python/pep8-1.3"
+ ewarn "it is affected by https://github.com/jcrocholl/pep8/issues/45"
+ ewarn "(indentation checks inside triple-quotes)."
+ ewarn "If you do not want to be affected by this, then add the"
+ ewarn "following lines to your local package.mask:"
+ ewarn " >=dev-python/pep8-1.3"
+ ewarn " >=dev-python/autopep8-0.6"
+}
diff --git a/dev-python/autopep8/autopep8-1.1.ebuild b/dev-python/autopep8/autopep8-1.1.ebuild
new file mode 100644
index 000000000000..6cc81ea31382
--- /dev/null
+++ b/dev-python/autopep8/autopep8-1.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="https://github.com/hhatto/autopep8 http://pypi.python.org/pypi/autopep8"
+SRC_URI="https://github.com/hhatto/${PN}/tarball/ver${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ test? ( >=dev-python/pydiff-0.1.2[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent UnicodeDecodeError with LANG=C
+ sed -e "/eÌ/d" -i MANIFEST.in || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+ # from the tox.ini
+ "${PYTHON}" test/acid.py --aggressive test/example.py || die
+ "${PYTHON}" test/acid.py --compare-bytecode test/example.py || die
+}
+
+pkg_postinst() {
+ ewarn "Since this version of autopep depends on >=dev-python/pep8-1.3"
+ ewarn "it is affected by https://github.com/jcrocholl/pep8/issues/45"
+ ewarn "(indentation checks inside triple-quotes)."
+ ewarn "If you do not want to be affected by this, then add the"
+ ewarn "following lines to your local package.mask:"
+ ewarn " >=dev-python/pep8-1.3"
+ ewarn " >=dev-python/autopep8-0.6"
+}
diff --git a/dev-python/autopep8/autopep8-1.2.ebuild b/dev-python/autopep8/autopep8-1.2.ebuild
new file mode 100644
index 000000000000..f15865110925
--- /dev/null
+++ b/dev-python/autopep8/autopep8-1.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="https://github.com/hhatto/autopep8 http://pypi.python.org/pypi/autopep8"
+SRC_URI="https://github.com/hhatto/${PN}/tarball/ver${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ test? ( >=dev-python/pydiff-0.1.2[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent UnicodeDecodeError with LANG=C
+ sed -e "/eÌ/d" -i MANIFEST.in || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+ # from the travis.yml
+ "${PYTHON}" test/test_autopep8.py || die
+ "${PYTHON}" test/acid.py -aaa --experimental test/example.py || die
+ "${PYTHON}" test/acid.py -aaa --experimental test/example_with_reduce.py || die
+ "${PYTHON}" test/acid.py -aaa --compare-bytecode --experimental test/example.py die
+ "${PYTHON}" test/acid.py --aggressive --line-range 550 610 test/inspect_example.py || die
+ "${PYTHON}" test/acid.py --line-range 289 925 test/vectors_example.py || die
+ "${PYTHON}" test/test_suite.py || die
+}
+
+pkg_postinst() {
+ ewarn "Since this version of autopep depends on >=dev-python/pep8-1.3"
+ ewarn "it is affected by https://github.com/jcrocholl/pep8/issues/45"
+ ewarn "(indentation checks inside triple-quotes)."
+ ewarn "If you do not want to be affected by this, then add the"
+ ewarn "following lines to your local package.mask:"
+ ewarn " >=dev-python/pep8-1.3"
+ ewarn " >=dev-python/autopep8-0.6"
+}
diff --git a/dev-python/autopep8/autopep8-9999.ebuild b/dev-python/autopep8/autopep8-9999.ebuild
new file mode 100644
index 000000000000..47cc14ca6ede
--- /dev/null
+++ b/dev-python/autopep8/autopep8-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 git-2
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="https://github.com/hhatto/autopep8 http://pypi.python.org/pypi/autopep8"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/hhatto/${PN}.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ test? ( >=dev-python/pydiff-0.1.2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" setup.py test || die
+}
diff --git a/dev-python/autopep8/files/autopep8-0.5.2-issue-10.patch b/dev-python/autopep8/files/autopep8-0.5.2-issue-10.patch
new file mode 100644
index 000000000000..5bd6c95ed177
--- /dev/null
+++ b/dev-python/autopep8/files/autopep8-0.5.2-issue-10.patch
@@ -0,0 +1,28 @@
+From bec4e89cb339beb824541b0b88dda4ea1742835f Mon Sep 17 00:00:00 2001
+From: myint <myint@macbookpro.local>
+Date: Fri, 4 May 2012 06:09:22 -0700
+Subject: [PATCH] Correct fix_e224() to not modify indentation
+
+---
+ autopep8.py | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/autopep8.py b/autopep8.py
+index c795cf3..c7ca42c 100755
+--- a/autopep8.py
++++ b/autopep8.py
+@@ -230,7 +230,10 @@ class FixPEP8(object):
+
+ def fix_e224(self, result):
+ target = self.source[result['line'] - 1]
+- fixed = re.sub(r'\t+', ' ', target, 1)
++ offset = result['column']
++ prefix = target[:offset - 1]
++ suffix = target[offset - 1:].replace('\t', ' ')
++ fixed = prefix + " " + suffix
+ self.source[result['line'] - 1] = fixed
+
+ def fix_e225(self, result):
+--
+1.7.8.5
+
diff --git a/dev-python/autopep8/metadata.xml b/dev-python/autopep8/metadata.xml
new file mode 100644
index 000000000000..f93d290156ed
--- /dev/null
+++ b/dev-python/autopep8/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>autopep8 formats Python code based on the output of the pep8 utility</longdescription>
+ <upstream>
+ <remote-id type="pypi">autopep8</remote-id>
+ <remote-id type="github">hhatto/autopep8</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/axiom/Manifest b/dev-python/axiom/Manifest
new file mode 100644
index 000000000000..7845fd94a814
--- /dev/null
+++ b/dev-python/axiom/Manifest
@@ -0,0 +1,3 @@
+DIST Axiom-0.6.0.tar.gz 197148 SHA256 0c3e5586c91df966f2c1b2031db870ee6b73bdd0517f9a7dab764ef0943e548c SHA512 493aa981d6bfa4ee12cd57fe6272bb00b123f6eed9d6a07923e5f391fd7d5fc4cc1c1025fe6eaf67d1e0da75e8293695abd2e4e9895ef06f02eff6517357a0d6 WHIRLPOOL d2c5c465ae80e0265c44c19b02b6cf7cca97f0f244f8271a296b3274ef87532ec2ea29aba8b5262a46ecf9813cee666280bc045af42f2687aba5a8472027242a
+DIST Axiom-0.7.2.tar.gz 201850 SHA256 a9e82a2288ac8b465bbeb2b97b567f5eea7d4856924c3e9bb74dcbad466e2ff6 SHA512 b8aba9b1b69141ad93759255f8eb169d815565d4b5b5f813b9afadb1158960ead859c896c2f26797fa1953c5cc35729dfbbb942077530402372030f85e85f3a5 WHIRLPOOL 9dd38b9f2d1f7fb3c245c6f829c6075ed09515dc9b5b88ba4ad881ad633a91ef24b021a2bbab198d77ed58f19a2ce9e89e5846b6865ede8adb7844cf3a18f1ed
+DIST Axiom-0.7.3.tar.gz 202110 SHA256 f6607717c0ac812eedcbca45927099cd998626bbd7fc6a9cb075295cdc6a403f SHA512 c7c87333bd421dd6f618f3a0bce2a7f27f50e6ceaba0eced811c0244d1e471e65582220c561aec78ca460065862a0fa283047f80d19a653664db55d7da464863 WHIRLPOOL ca41671bb025bc4b3a57a725e4561ea2c809467c3669b992cfa5ee91a14178e3b0d042cf51371ff6571991c50887ff40fd0ae07807acd56bb3325f4fc9161705
diff --git a/dev-python/axiom/axiom-0.6.0-r1.ebuild b/dev-python/axiom/axiom-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..e73d899080c0
--- /dev/null
+++ b/dev-python/axiom/axiom-0.6.0-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit twisted-r1
+
+DESCRIPTION="Object database implemented on top of SQLite"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodAxiom http://pypi.python.org/pypi/Axiom"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND=">=dev-python/epsilon-0.6.0-r2[${PYTHON_USEDEP}]
+ <dev-python/twisted-core-14[${PYTHON_USEDEP}]
+ dev-python/twisted-conch[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.5.30-sqlite3.patch"
+ "${FILESDIR}/${PN}-0.5.30-sqlite3_3.6.4.patch"
+ "${FILESDIR}/${PN}-0.6.0-disable-tests.patch"
+)
+
+TWISTED_PLUGINS+=( axiom.plugins )
+
+python_install() {
+ distutils-r1_python_install
+
+ touch "${D}$(python_get_sitedir)"/axiom/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ dodoc NAME.txt
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/axiom/axiom-0.7.2.ebuild b/dev-python/axiom/axiom-0.7.2.ebuild
new file mode 100644
index 000000000000..95e35c3b9c45
--- /dev/null
+++ b/dev-python/axiom/axiom-0.7.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit twisted-r1
+
+DESCRIPTION="Object database implemented on top of SQLite"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodAxiom http://pypi.python.org/pypi/Axiom"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND=">=dev-python/epsilon-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-13.2.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-0.5.30-sqlite3_3.6.4.patch" )
+
+TWISTED_PLUGINS+=( axiom.plugins )
+
+python_install() {
+ distutils-r1_python_install
+
+ touch "${D}$(python_get_sitedir)"/axiom/plugins/dropin.cache || die
+}
diff --git a/dev-python/axiom/axiom-0.7.3.ebuild b/dev-python/axiom/axiom-0.7.3.ebuild
new file mode 100644
index 000000000000..11479ca2e14d
--- /dev/null
+++ b/dev-python/axiom/axiom-0.7.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit twisted-r1
+
+DESCRIPTION="Object database implemented on top of SQLite"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodAxiom http://pypi.python.org/pypi/Axiom"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/epsilon-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-13.2.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-0.5.30-sqlite3_3.6.4.patch" )
+
+TWISTED_PLUGINS+=( axiom.plugins )
+
+python_install() {
+ distutils-r1_python_install
+
+ touch "${D}$(python_get_sitedir)"/axiom/plugins/dropin.cache || die
+}
diff --git a/dev-python/axiom/files/axiom-0.5.30-sqlite3.patch b/dev-python/axiom/files/axiom-0.5.30-sqlite3.patch
new file mode 100644
index 000000000000..8913a1e70d80
--- /dev/null
+++ b/dev-python/axiom/files/axiom-0.5.30-sqlite3.patch
@@ -0,0 +1,45 @@
+--- axiom/_pysqlite2.py 2006-07-05 18:31:18.000000000 +0300
++++ axiom/_pysqlite2.py 2007-11-02 05:10:45.000000000 +0200
+@@ -8,7 +8,11 @@
+ """
+ import time
+
+-from pysqlite2 import dbapi2
++# Use python2.5's sqlite3 if avaliable
++try:
++ from sqlite3 import dbapi2
++except:
++ from pysqlite2 import dbapi2
+
+ from twisted.python import log
+
+--- axiom/test/test_pysqlite2.py 2006-07-02 19:23:40.000000000 +0300
++++ axiom/test/test_pysqlite2.py 2007-11-02 05:39:44.000000000 +0200
+@@ -2,7 +2,11 @@
+ Test cases for PySQLite2-specific parts of the backend.
+ """
+
+-from pysqlite2.dbapi2 import OperationalError
++# Use python2.5's sqlite3 if avaliable
++try:
++ from sqlite3.dbapi2 import OperationalError
++except:
++ from pysqlite2.dbapi2 import OperationalError
+
+ from twisted.trial.unittest import TestCase
+
+--- axiom/test/test_xatop.py 2007-02-23 02:09:19.000000000 +0200
++++ axiom/test/test_xatop.py 2007-11-02 05:38:48.000000000 +0200
+@@ -9,7 +9,11 @@
+ from axiom import attributes, item, store, errors
+ from axiom.errors import ItemNotFound
+
+-from pysqlite2.dbapi2 import sqlite_version_info
++# Use python2.5's sqlite3 if avaliable
++try:
++ from sqlite3.dbapi2 import sqlite_version_info
++except:
++ from pysqlite2.dbapi2 import sqlite_version_info
+
+
+ class RevertException(Exception):
diff --git a/dev-python/axiom/files/axiom-0.5.30-sqlite3_3.6.4.patch b/dev-python/axiom/files/axiom-0.5.30-sqlite3_3.6.4.patch
new file mode 100644
index 000000000000..cfa465ce656c
--- /dev/null
+++ b/dev-python/axiom/files/axiom-0.5.30-sqlite3_3.6.4.patch
@@ -0,0 +1,36 @@
+--- axiom/_schema.py (revision 17031)
++++ axiom/_schema.py (working copy)
+@@ -28,7 +28,7 @@
+ CREATE TABLE *DATABASE*.axiom_attributes (
+ type_id INTEGER,
+ row_offset INTEGER,
+- indexed BOOLEAN,
++ "indexed" BOOLEAN,
+ sqltype VARCHAR,
+ allow_none BOOLEAN,
+ pythontype VARCHAR,
+@@ -47,13 +47,13 @@
+ HAS_SCHEMA_FEATURE = ("SELECT COUNT(oid) FROM *DATABASE*.sqlite_master "
+ "WHERE type = ? AND name = ?")
+
+-IDENTIFYING_SCHEMA = ('SELECT indexed, sqltype, allow_none, attribute '
++IDENTIFYING_SCHEMA = ('SELECT "indexed", sqltype, allow_none, attribute '
+ 'FROM *DATABASE*.axiom_attributes WHERE type_id = ? '
+ 'ORDER BY row_offset')
+
+ ADD_SCHEMA_ATTRIBUTE = (
+ 'INSERT INTO *DATABASE*.axiom_attributes '
+- '(type_id, row_offset, indexed, sqltype, allow_none, attribute, docstring, pythontype) '
++ '(type_id, row_offset, "indexed", sqltype, allow_none, attribute, docstring, pythontype) '
+ 'VALUES (?, ?, ?, ?, ?, ?, ?, ?)')
+
+ ALL_TYPES = 'SELECT oid, module, typename, version FROM *DATABASE*.axiom_types'
+@@ -61,7 +61,7 @@
+ GET_GREATER_VERSIONS_OF_TYPE = ('SELECT version FROM *DATABASE*.axiom_types '
+ 'WHERE typename = ? AND version > ?')
+
+-SCHEMA_FOR_TYPE = ('SELECT indexed, pythontype, attribute, docstring '
++SCHEMA_FOR_TYPE = ('SELECT "indexed", pythontype, attribute, docstring '
+ 'FROM *DATABASE*.axiom_attributes '
+ 'WHERE type_id = ?')
+
diff --git a/dev-python/axiom/files/axiom-0.6.0-disable-tests.patch b/dev-python/axiom/files/axiom-0.6.0-disable-tests.patch
new file mode 100644
index 000000000000..9df20a5cd82d
--- /dev/null
+++ b/dev-python/axiom/files/axiom-0.6.0-disable-tests.patch
@@ -0,0 +1,89 @@
+--- test/lib/axiom/test/test_query.py.orig 2015-07-21 10:15:57.441000000 +0000
++++ test/lib/axiom/test/test_query.py 2015-07-21 10:16:36.356000000 +0000
+@@ -1043,46 +1043,46 @@
+ SecondType(store=self.store)
+
+
+- def test_firstTableOuterLoop(self):
+- """
+- Test that in a two table query, the table which appears first in the
+- result of the getInvolvedTables method of the comparison used is the
+- one which the outer join loop iterates over.
+-
+- Test this by inserting rows into the first table and checking that the
+- number of bytecodes executed increased.
+- """
+- counter = QueryCounter(self.store)
+- counts = []
+- for c in range(10):
+- counts.append(counter.measure(list, self.query))
+- FirstType(store=self.store)
+-
+- # Make sure they're not all the same
+- self.assertEqual(len(set(counts)), len(counts))
+-
+- # Make sure they're increasing
+- self.assertEqual(counts, sorted(counts))
+-
+-
+- def test_secondTableInnerLoop(self):
+- """
+- Like L{test_firstTableOuterLoop} but for the second table being
+- iterated over by the inner loop.
+-
+- This creates more rows in the second table while still performing a
+- query for which no rows in the first table satisfy the WHERE
+- condition. This should mean that rows from the second table are
+- never examined.
+- """
+- counter = QueryCounter(self.store)
+- count = None
+- for i in range(10):
+- c = counter.measure(list, self.query)
+- if count is None:
+- count = c
+- self.assertEqual(count, c)
+- SecondType(store=self.store)
++ #def test_firstTableOuterLoop(self):
++ # """
++ # Test that in a two table query, the table which appears first in the
++ # result of the getInvolvedTables method of the comparison used is the
++ # one which the outer join loop iterates over.
++
++ # Test this by inserting rows into the first table and checking that the
++ # number of bytecodes executed increased.
++ # """
++ # counter = QueryCounter(self.store)
++ # counts = []
++ # for c in range(10):
++ # counts.append(counter.measure(list, self.query))
++ # FirstType(store=self.store)
++
++ # # Make sure they're not all the same
++ # self.assertEqual(len(set(counts)), len(counts))
++
++ # # Make sure they're increasing
++ # self.assertEqual(counts, sorted(counts))
++
++
++ #def test_secondTableInnerLoop(self):
++ # """
++ # Like L{test_firstTableOuterLoop} but for the second table being
++ # iterated over by the inner loop.
++
++ # This creates more rows in the second table while still performing a
++ # query for which no rows in the first table satisfy the WHERE
++ # condition. This should mean that rows from the second table are
++ # never examined.
++ # """
++ # counter = QueryCounter(self.store)
++ # count = None
++ # for i in range(10):
++ # c = counter.measure(list, self.query)
++ # if count is None:
++ # count = c
++ # self.assertEqual(count, c)
++ # SecondType(store=self.store)
+
+
+ class AndOrQueries(QueryingTestCase):
diff --git a/dev-python/axiom/metadata.xml b/dev-python/axiom/metadata.xml
new file mode 100644
index 000000000000..82bf554e300e
--- /dev/null
+++ b/dev-python/axiom/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Axiom is an object database, or alternatively, an object-relational
+ mapper. Its primary goal is to provide an object-oriented layer with
+ what we consider to be the key aspects of OO, i.e. polymorphism and
+ message dispatch, without hindering the power of an RDBMS. It is
+ designed to &quot;feel pythonic&quot;, without encouraging the typical ORM
+ behavior such as potato programming.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Axiom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/babelfish/Manifest b/dev-python/babelfish/Manifest
new file mode 100644
index 000000000000..c99b2e078e45
--- /dev/null
+++ b/dev-python/babelfish/Manifest
@@ -0,0 +1,3 @@
+DIST babelfish-0.4.0.tar.gz 89386 SHA256 1c22bf70ecc61d0ebe637edc3868dfb146dc5a458be353b20386406e28a18710 SHA512 f9e2cf8ec367cead528d99019fc1e597a94b6654cd2b5c39ba3e2deb9e579bd8af54f463510f709c5c540911e01ed830511f833fe2400bd7ec6a70cd05ee642f WHIRLPOOL 0034705cf62bde3851e9edc4cc63316c4874c404c65fd0ff33937acb1fc4da29e54ad03aa8e11ecf98bcf0f8bc5f2c1b89be7963f63611a481650dfc709e73ab
+DIST babelfish-0.5.1.tar.gz 89683 SHA256 bd78ecacc684aac8939c2937fe25c85179123940997943381ae9c22e37bf964f SHA512 24f192867ba5e34fbe5f5f90cae479b095577b6b6a0a0f6e778f68130b0010c382e204cb1da15f062929ce231f3f9a5bb5c7e4c01a4a2dcbf975e884a25e4210 WHIRLPOOL 3f0dc56b981ac2ec59bb4ba88f27419de0e7276fbd05e845c76f46081afb2561e6852081a1be6f0df36a9fe110419c49679d8e4255ca4e1b37e6689133b05114
+DIST babelfish-0.5.3.tar.gz 90579 SHA256 4fbdd172d0feec0861ccf9ed8e36abb09d36c88c216eeedca2661fec5b103c73 SHA512 c419f8d881ba9995f45f212b7182d2f95a28b5fd911933a1c10768506682068abc7ea0394d6ef6dc337be47f601ae479582571c6d1753870671dec77e67156a9 WHIRLPOOL f64268ca394f19be03a67aa38de7dade7b0d17219c2d5b4db994d6e0d32f067b899a8aaa548fa5cbcb067efd67b7a123407d9d69d081521cf09b13d51857812c
diff --git a/dev-python/babelfish/babelfish-0.4.0.ebuild b/dev-python/babelfish/babelfish-0.4.0.ebuild
new file mode 100644
index 000000000000..0be5e03193af
--- /dev/null
+++ b/dev-python/babelfish/babelfish-0.4.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="https://github.com/Diaoul/babelfish https://pypi.python.org/pypi/babelfish"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/babelfish/babelfish-0.5.1.ebuild b/dev-python/babelfish/babelfish-0.5.1.ebuild
new file mode 100644
index 000000000000..c3f6b28af6ad
--- /dev/null
+++ b/dev-python/babelfish/babelfish-0.5.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="https://github.com/Diaoul/babelfish https://pypi.python.org/pypi/babelfish"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/babelfish/babelfish-0.5.3.ebuild b/dev-python/babelfish/babelfish-0.5.3.ebuild
new file mode 100644
index 000000000000..c3f6b28af6ad
--- /dev/null
+++ b/dev-python/babelfish/babelfish-0.5.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="https://github.com/Diaoul/babelfish https://pypi.python.org/pypi/babelfish"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/babelfish/babelfish-9999.ebuild b/dev-python/babelfish/babelfish-9999.ebuild
new file mode 100644
index 000000000000..1466a6dabaf8
--- /dev/null
+++ b/dev-python/babelfish/babelfish-9999.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+EGIT_REPO_URI="https://github.com/Diaoul/babelfish.git"
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="https://github.com/Diaoul/babelfish https://pypi.python.org/pypi/babelfish"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/babelfish/metadata.xml b/dev-python/babelfish/metadata.xml
new file mode 100644
index 000000000000..9c1f37903127
--- /dev/null
+++ b/dev-python/babelfish/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>nikoli@gmx.us</email>
+ </maintainer>
+ <herd>proxy-maintainers</herd>
+ <upstream>
+ <remote-id type="pypi">babelfish</remote-id>
+ <remote-id type="github">Diaoul/babelfish</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports-lzma/Manifest b/dev-python/backports-lzma/Manifest
new file mode 100644
index 000000000000..e44ec1c3aaa4
--- /dev/null
+++ b/dev-python/backports-lzma/Manifest
@@ -0,0 +1 @@
+DIST backports.lzma-0.0.3.tar.gz 33848 SHA256 bac58aec8d39ac3d22250840fb24830d0e4a0ef05ad8f3f09172dc0cc80cdbca SHA512 a653b61d1e45de73ac13845127fecd97e84872c453be9e090ba2d6d2ff6187817ab980e36c1961f0a66bb9a660bb716fc7679b5317a4ff41db42156024847f45 WHIRLPOOL 33eb3c8b1c9aa8d4beabdc52247cea4b0ad2913989a2b508f71073a7a6b8dd9b6260339233f78d8e8f28476c48242076b3a95b427155f0605336e17b79e0d9ee
diff --git a/dev-python/backports-lzma/backports-lzma-0.0.3.ebuild b/dev-python/backports-lzma/backports-lzma-0.0.3.ebuild
new file mode 100644
index 000000000000..8d3824084c13
--- /dev/null
+++ b/dev-python/backports-lzma/backports-lzma-0.0.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Backport of Python 3.3's lzma module for XZ/LZMA compressed files"
+HOMEPAGE="https://github.com/peterjc/backports.lzma/ http://pypi.python.org/pypi/backports.lzma/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="app-arch/xz-utils
+ dev-python/backports[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib" "${PYTHON}" test/test_lzma.py || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ # main namespace provided by dev-python/backports
+ rm "${BUILD_DIR}"/lib/backports/__init__.py || die
+ rm -f backports/__init__.py || die
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/backports-lzma/metadata.xml b/dev-python/backports-lzma/metadata.xml
new file mode 100644
index 000000000000..1780f771218c
--- /dev/null
+++ b/dev-python/backports-lzma/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">peterjc/backports.lzma</remote-id>
+ <remote-id type="pypi">backports.lzma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports-shutil_get_terminal_size/Manifest b/dev-python/backports-shutil_get_terminal_size/Manifest
new file mode 100644
index 000000000000..2377e96f8d1a
--- /dev/null
+++ b/dev-python/backports-shutil_get_terminal_size/Manifest
@@ -0,0 +1 @@
+DIST backports.shutil_get_terminal_size-1.0.0.tar.gz 4279 SHA256 713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80 SHA512 b74341c6616f9aace5abcc7fd657fc33801b558b6227c533002ccaf588734490b465a4a27d2bdc8047a385771afdcded610edef832dfa5ef24632f4541729050 WHIRLPOOL a04b702aba3b9892ca5b86b284e6945e1980e135946c04abef2b95a3e12a230eb7c99b20418a4dc21f8c3f7b20715daa75d89d61fbea248d788f0aef5326cd07
diff --git a/dev-python/backports-shutil_get_terminal_size/backports-shutil_get_terminal_size-1.0.0-r1.ebuild b/dev-python/backports-shutil_get_terminal_size/backports-shutil_get_terminal_size-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..4e9b2fd6b7af
--- /dev/null
+++ b/dev-python/backports-shutil_get_terminal_size/backports-shutil_get_terminal_size-1.0.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="backports.shutil_get_terminal_size"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A backport of the get_terminal_size function from Python 3.3's shutil"
+HOMEPAGE="https://pypi.python.org/pypi/backports.shutil_get_terminal_size/ https://github.com/chrippa/backports.shutil_get_terminal_size"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/backports[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_install() {
+ distutils-r1_python_install
+
+ # main namespace provided by dev-python/backports
+ rm "${ED}$(python_get_sitedir)"/backports/__init__.py* || die
+}
diff --git a/dev-python/backports-shutil_get_terminal_size/metadata.xml b/dev-python/backports-shutil_get_terminal_size/metadata.xml
new file mode 100644
index 000000000000..d3339604a9fc
--- /dev/null
+++ b/dev-python/backports-shutil_get_terminal_size/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">backports.shutil_get_terminal_size</remote-id>
+ <remote-id type="github">chrippa/backports.shutil_get_terminal_size</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports-ssl-match-hostname/Manifest b/dev-python/backports-ssl-match-hostname/Manifest
new file mode 100644
index 000000000000..57647b12f7d6
--- /dev/null
+++ b/dev-python/backports-ssl-match-hostname/Manifest
@@ -0,0 +1 @@
+DIST backports.ssl_match_hostname-3.4.0.2.tar.gz 5151 SHA256 07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae SHA512 7e6033afbb5298a5eaafe91c3e2f7ba583706977826cc9441c9926a81b945714be95963f0261f88f4cb5df56673ca231e528cecbe84dff9e422fd11819842985 WHIRLPOOL 781bc5e791bb78f3345d607e764a718ba96ef9d02bace67fea502c52b438b34f561efa733eaa4ff8b4a7152fdcd086f9ba014b4f3628a590f6d4cec46f08bee7
diff --git a/dev-python/backports-ssl-match-hostname/backports-ssl-match-hostname-3.4.0.2.ebuild b/dev-python/backports-ssl-match-hostname/backports-ssl-match-hostname-3.4.0.2.ebuild
new file mode 100644
index 000000000000..fd8516b4f424
--- /dev/null
+++ b/dev-python/backports-ssl-match-hostname/backports-ssl-match-hostname-3.4.0.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+MY_PN=${MY_PN//-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Backport of the ssl.match_hostname function"
+HOMEPAGE="https://pypi.python.org/pypi/backports.ssl_match_hostname/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="PYTHON"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/backports[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ # prevent unnecessary docs from being installed in site-packages
+ mv src/backports/ssl_match_hostname/{LICENSE,README}.txt "${S}" || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local DOCS=( README.txt )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # main namespace provided by dev-python/backports
+ rm "${ED}$(python_get_sitedir)"/backports/__init__.py* || die
+}
diff --git a/dev-python/backports-ssl-match-hostname/metadata.xml b/dev-python/backports-ssl-match-hostname/metadata.xml
new file mode 100644
index 000000000000..a814551856cd
--- /dev/null
+++ b/dev-python/backports-ssl-match-hostname/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">backports.ssl_match_hostname</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports/Manifest b/dev-python/backports/Manifest
new file mode 100644
index 000000000000..5a9cced03938
--- /dev/null
+++ b/dev-python/backports/Manifest
@@ -0,0 +1 @@
+DIST backports-1.0.tar.gz 2070 SHA256 ee43d5b7bf4e79e04fbab30a09421cb5cbf4f56e7c14769393a7d1c34ea5e740 SHA512 069e155209d6036dec09000e4543abea9383f13b229a7259b1d3d02fff4b51be1a32c766dee434215c8a5209afc5e7d24163d188a77cec7d354d34170665bd37 WHIRLPOOL 105962b9fd92a4ae9cf6b9c54a2306b92460971efa0bec7885167c9197fa286be01f077e0ed35f56f6c341223a42f4e2ab217f745283ae1a0ffb70544e1a5d50
diff --git a/dev-python/backports/backports-1.0.ebuild b/dev-python/backports/backports-1.0.ebuild
new file mode 100644
index 000000000000..96bbccbd9828
--- /dev/null
+++ b/dev-python/backports/backports-1.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Namespace for backported Python features"
+HOMEPAGE="https://bitbucket.org/brandon/backports https://pypi.python.org/pypi/backports/"
+SRC_URI="http://dev.gentoo.org/~radhermit/dist/${P}.tar.gz"
+
+LICENSE="PYTHON"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="!<dev-python/backports-lzma-0.0.2-r1"
diff --git a/dev-python/backports/metadata.xml b/dev-python/backports/metadata.xml
new file mode 100644
index 000000000000..e01cf2895863
--- /dev/null
+++ b/dev-python/backports/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">brandon/backports</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bandit/Manifest b/dev-python/bandit/Manifest
new file mode 100644
index 000000000000..05671fae7b51
--- /dev/null
+++ b/dev-python/bandit/Manifest
@@ -0,0 +1,2 @@
+DIST bandit-0.12.0.tar.gz 65558 SHA256 3c147b507696f3a74a5cf3581cc3bb65a63df454fcf24db28c3d1baa765a3b04 SHA512 ef1d80f2ca09d427e6d48f983d696fb92eb12184fbdc13dfb170a73c5935f56f7e6bf3b4cf4d211598f884592e6fe2ca33f6d33732cf12e740f74d43ffe78457 WHIRLPOOL 1defd5dcb9d120585b10e72c51501373572e7d56c0e379ec587592fd53a381baf262a970956cd9fa4c2ad007697a1b7db9068d130b6cb3a33a00c40bb9c6a13c
+DIST bandit-0.13.0.tar.gz 73142 SHA256 4593957b236564599dec7c8b2da5b084f9b257213688a3a97b2643c04721eb66 SHA512 1605fb2e3e43a85ccf89a0b18c517082543d20b55149383d3704d71854817cfef3fd5e1095dd58e24efe0324ca9430fc8d7ab9f3e4f1db1ca0ffe7c4f8e17577 WHIRLPOOL 3becc739b966c2ff550988f04b1dbb03b285b120ff1f2bf4822a0b2277bdd2dc23f7e5c4d5ce6ea98dc45211d9ee7ed52f37e602f2d18558eacce356b81f79a5
diff --git a/dev-python/bandit/bandit-0.12.0.ebuild b/dev-python/bandit/bandit-0.12.0.ebuild
new file mode 100644
index 000000000000..47d412829651
--- /dev/null
+++ b/dev-python/bandit/bandit-0.12.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A security linter from OpenStack Security"
+HOMEPAGE="https://openstack.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+CDEPEND="
+ >=dev-python/pbr-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run || die
+}
diff --git a/dev-python/bandit/bandit-0.13.0.ebuild b/dev-python/bandit/bandit-0.13.0.ebuild
new file mode 100644
index 000000000000..47d412829651
--- /dev/null
+++ b/dev-python/bandit/bandit-0.13.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A security linter from OpenStack Security"
+HOMEPAGE="https://openstack.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+CDEPEND="
+ >=dev-python/pbr-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run || die
+}
diff --git a/dev-python/bandit/metadata.xml b/dev-python/bandit/metadata.xml
new file mode 100644
index 000000000000..370c3e68dac0
--- /dev/null
+++ b/dev-python/bandit/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A tool designed to find common security issues in Python code.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">bandit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/basemap/Manifest b/dev-python/basemap/Manifest
new file mode 100644
index 000000000000..520bebbeda98
--- /dev/null
+++ b/dev-python/basemap/Manifest
@@ -0,0 +1 @@
+DIST basemap-1.0.7.tar.gz 129694711 SHA256 e07ec2e0d63b24c9aed25a09fe8aff2598f82a85da8db74190bac81cbf104531 SHA512 dc8ef8f02127813c9460c6a9c22c593616bbe8ff39f6507abb786d344c710b296bf4f21759b5c1e6fc8ccf3f478d8fb6f546429528575d13f732c4233aaf9c20 WHIRLPOOL 7da55c32cdcea897e71367ec7d2b916a66973a7a761b001c0be5a9a5d97347a51c51e57828fb46f8c70b3a6576c562377657d129dc6fb54333e76897aaf76f6e
diff --git a/dev-python/basemap/basemap-1.0.7-r1.ebuild b/dev-python/basemap/basemap-1.0.7-r1.ebuild
new file mode 100644
index 000000000000..cd90c1988c0c
--- /dev/null
+++ b/dev-python/basemap/basemap-1.0.7-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="matplotlib toolkit to plot map projections"
+HOMEPAGE="http://matplotlib.sourceforge.net/basemap/doc/html/ http://pypi.python.org/pypi/basemap"
+SRC_URI="mirror://sourceforge/matplotlib/${P}.tar.gz"
+
+IUSE="examples test"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="MIT GPL-2"
+
+CDEPEND="sci-libs/shapelib
+ >=dev-python/matplotlib-0.98[${PYTHON_USEDEP}]
+ >=sci-libs/geos-3.3.1[python,${PYTHON_USEDEP}]"
+
+DEPEND="${CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}
+ >=dev-python/pupynere-1.0.8[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/dap[${PYTHON_USEDEP}]"
+
+DOCS="FAQ API_CHANGES"
+#REQUIRED_USE="test? ( examples )"
+# The test phase ought never have been onvoked according to the above.
+# The test phase appears to require the package to fist be emerged, which ...
+# Until the distutils_install_for_testing func refrains from failing with
+# mkdir: cannot create directory ‘/test’: Permission denied
+# reluctantly this phase is assigned
+RESTRICT="test"
+
+src_prepare() {
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ setup.py || die
+ # use /usr/share/data
+ sed -i \
+ -e "/_datadir.*=.*join/s|\(.*datadir.*=\).*|\1'${EROOT}usr/share/${PN}'|g" \
+ "${S}"/lib/mpl_toolkits/basemap/*.py || die
+ distutils-r1_src_prepare
+ append-flags -fno-strict-aliasing
+}
+
+#src_test() {
+# distutils_install_for_testing
+#}
+
+python_install() {
+ distutils-r1_python_install
+ # --install-data="${EPREFIX}/usr/share/${PN}" on testing is found not to work;
+ # setup.py is a mess. Someone care to patch setup.py please proceed; substitute with
+ insinto usr/share/basemap/
+ doins lib/mpl_toolkits/basemap/data/*
+
+ # clean up collision with matplotlib
+ rm -f "${D}$(python_get_sitedir)/mpl_toolkits/__init__.py"
+ # respect FHS
+ rm -fr "${D}$(python_get_sitedir)/mpl_toolkits/basemap/data"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/basemap/metadata.xml b/dev-python/basemap/metadata.xml
new file mode 100644
index 000000000000..60bfb2ae700c
--- /dev/null
+++ b/dev-python/basemap/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci-geosciences</herd>
+ <longdescription>
+ basemap is a matplotlib toolkit. It allows to plot data on map
+ projections (with continental and political boundaries).
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">matplotlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bashate/Manifest b/dev-python/bashate/Manifest
new file mode 100644
index 000000000000..c7e4a7340984
--- /dev/null
+++ b/dev-python/bashate/Manifest
@@ -0,0 +1 @@
+DIST bashate-0.3.1.tar.gz 16016 SHA256 2398140c35fcb03249640708aa7de652f9cbe680ad6cb09074a89255f6a30419 SHA512 dfa3e8f98879169cef445cc9a788b4ed051630330e2270c721e472f080899d6742cd3deb571049ba6b943ada0fc77a70f5a7e4742a54d1ca6d5f075a92a00ffb WHIRLPOOL d35e19ee324aa419e855ab4093b3b57f0420a5d9fcc15ff64c32935865e8680b21278f529f87ec0338807d7e903af5918f78a0c780ca7a89f672c0cc87b884bc
diff --git a/dev-python/bashate/bashate-0.3.1.ebuild b/dev-python/bashate/bashate-0.3.1.ebuild
new file mode 100644
index 000000000000..e1d4c7dd8490
--- /dev/null
+++ b/dev-python/bashate/bashate-0.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+DISTUTILS_IN_SOURCE_BUILD=TRUE
+
+# time
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="A pep8 equivalent for bash scripts"
+HOMEPAGE="https://pypi.python.org/pypi/bashate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/Babel-0.9.6[${PYTHON_USEDEP}]
+"
+
+python_install_all() {
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bashate/metadata.xml b/dev-python/bashate/metadata.xml
new file mode 100644
index 000000000000..8e82ccfb2d1d
--- /dev/null
+++ b/dev-python/bashate/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A pep8 equivalent for bash scripts
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">bashate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bcolz/Manifest b/dev-python/bcolz/Manifest
new file mode 100644
index 000000000000..2688c475545c
--- /dev/null
+++ b/dev-python/bcolz/Manifest
@@ -0,0 +1,3 @@
+DIST bcolz-0.10.0.tar.gz 541803 SHA256 cbe1c18440325058d764b3997fbf988af0257c2a4f7d64ec7150735191fdcc81 SHA512 ac6b30c3a1f1cd32563fcec670bd7b3639173547e8f6d319295358a38d4e39439bb26d7c908b30378d9a384b8667bc75023ebcf35f797a1250bdba1a25cbeebd WHIRLPOOL 5827303b5a8c356e183a88411a466276b9e3fe3e9d0f7999d5cb2923f34a6031816f0b829c7826dc956be312bccbcd4d24820ce4b861e940f2f9b0399cc3ff31
+DIST bcolz-0.8.1.tar.gz 533475 SHA256 c70f986a919842909ae96ff18994e3011d237c9fd0bbc0ee9f3588db736c4296 SHA512 022546f0908130f4af26be79ab9b10fb3d2951a1fe5e953201b249cbd4bcbd3003279c0b71009f29046bdf4b660a6e2d87672c7f47054a03f1df4d9dab83cb0a WHIRLPOOL dff6b600a36bc760a65d3271068d9ea19854eca3b3fe08248bf22d41da0b71315eb254ad175c78f54eb5170397c4d587c48ec3eefc74e5903214adde057f3f76
+DIST bcolz-0.9.0.tar.gz 530950 SHA256 086b1ad62accf6b45e9386edfa23ccc9f8a1feaec5803e7f39753139eb016a50 SHA512 0b71d670a42baa49e7ba3b856cad11cd163142054b0330f469de5ab30e456b58ebae5bffced4214b1988094fd92c7784cc7d7af026f28632abe26e3954850087 WHIRLPOOL 6edfd8b9addbdbe5d7d4bc2f6df77e8a3e61b94d62cb2b091fafabc4f749b1e8333819a607293a3c3d1cea9c7345d250e0e2e38ef6f5e636c65330a6c1be9fb6
diff --git a/dev-python/bcolz/bcolz-0.10.0.ebuild b/dev-python/bcolz/bcolz-0.10.0.ebuild
new file mode 100644
index 000000000000..7193031a69ce
--- /dev/null
+++ b/dev-python/bcolz/bcolz-0.10.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides columnar and compressed data containers"
+HOMEPAGE=" https://github.com/Blosc/bcolz"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# numexpr is optional but set hard rdepend
+RDEPEND=">=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-1.4.1[${PYTHON_USEDEP}]"
+DEPEND=">=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ mkdir doc/_static || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/ doc/ doc/html
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bcolz/bcolz-0.8.1.ebuild b/dev-python/bcolz/bcolz-0.8.1.ebuild
new file mode 100644
index 000000000000..b379bbcd720f
--- /dev/null
+++ b/dev-python/bcolz/bcolz-0.8.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides columnar and compressed data containers"
+HOMEPAGE=" https://github.com/Blosc/bcolz"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+# numexpr is optional but set hard rdeoend
+RDEPEND=">=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-1.4.1[${PYTHON_USEDEP}]"
+DEPEND=">=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ mkdir doc/_static || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/ doc/ doc/html
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bcolz/bcolz-0.9.0.ebuild b/dev-python/bcolz/bcolz-0.9.0.ebuild
new file mode 100644
index 000000000000..7193031a69ce
--- /dev/null
+++ b/dev-python/bcolz/bcolz-0.9.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides columnar and compressed data containers"
+HOMEPAGE=" https://github.com/Blosc/bcolz"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# numexpr is optional but set hard rdepend
+RDEPEND=">=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-1.4.1[${PYTHON_USEDEP}]"
+DEPEND=">=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ mkdir doc/_static || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/ doc/ doc/html
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bcolz/metadata.xml b/dev-python/bcolz/metadata.xml
new file mode 100644
index 000000000000..55412f5e0a7c
--- /dev/null
+++ b/dev-python/bcolz/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">bcolz</remote-id>
+ <remote-id type="github">Blosc/bcolz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bcrypt/Manifest b/dev-python/bcrypt/Manifest
new file mode 100644
index 000000000000..fe9089971d23
--- /dev/null
+++ b/dev-python/bcrypt/Manifest
@@ -0,0 +1,3 @@
+DIST bcrypt-1.0.2.tar.gz 39090 SHA256 03c9e8cab644dec13c94a61eccdd930c87d62363f871bfe2ee12421703f27e8b SHA512 cd27897378cf711c6dabc351e30aa063f216133af06a6f9ce63e7cc0f95e0b14cd58806cbf82ad410ca5d5a02adc43be5b76400ae353bf60520f57b76b1bf1a4 WHIRLPOOL 5c15dc34e56f6cfa64aaa30dc182837f1f7bba84906429d1ebee335d3c8d0ed146809bdf766c964e3f5d226082b79148e537b71e6a75fb5f0005178eadb31ef7
+DIST bcrypt-1.1.1.tar.gz 39714 SHA256 f68700f4560d90e30b7bb30105b9553000690222887625209aa8a14826ce0461 SHA512 b6388e69dfe4a7a40a304745607fe23fa2cd6c0f874b09c39849958f4d4c77cd5387c2baa79de69e8809c0df8841b085885c83f00bc13ee5a08b3af6c04d721f WHIRLPOOL cc5759ab03c2da11a5b2f3da741957f250eb4b016aa6e5cf3fcc3a28f527219343c321dd432235ec99fc67749edbdb6806d410d6f0ca0afad0c03374ef019b20
+DIST bcrypt-2.0.0.tar.gz 38748 SHA256 8b2d197ef220d10eb74625dde7af3b10daa973ae9a1eadd6366f763fad4387fa SHA512 61ee83c291e65307d1094d4ca80d58f823c04d8389384e33265a3d4d7537ef0846ba07e23ab1c68501851e9b9fc3cc927e0137d52450aee6af938c91c821c435 WHIRLPOOL 46484d780f50a449e5c7d40f37b20b0a9baae4b51a0facb9cb774abddba29d4353c40e274f57c101db572ba778d134d2069180ad8ee73dbef55406aee5560721
diff --git a/dev-python/bcrypt/bcrypt-1.0.2-r1.ebuild b/dev-python/bcrypt/bcrypt-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..235ca139f63d
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-1.0.2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="https://github.com/dstufft/bcrypt/"
+SRC_URI="https://github.com/pyca/bcrypt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="test"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+RDEPEND="$(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' python*)
+ !dev-python/py-bcrypt"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/bcrypt/bcrypt-1.1.1.ebuild b/dev-python/bcrypt/bcrypt-1.1.1.ebuild
new file mode 100644
index 000000000000..4f98d0f41ee6
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-1.1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="https://github.com/pyca/bcrypt/ https://pypi.python.org/pypi/bcrypt/"
+SRC_URI="
+ https://github.com/pyca/bcrypt/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ "
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/cffi:=[${PYTHON_USEDEP}]' 'python*')
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ $(python_gen_cond_dep 'dev-python/cffi:=[${PYTHON_USEDEP}]' 'python*')
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ !dev-python/py-bcrypt"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/bcrypt/bcrypt-2.0.0.ebuild b/dev-python/bcrypt/bcrypt-2.0.0.ebuild
new file mode 100644
index 000000000000..28ee0eeb4886
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-2.0.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="https://github.com/pyca/bcrypt/ https://pypi.python.org/pypi/bcrypt/"
+SRC_URI="
+ https://github.com/pyca/bcrypt/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ "
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]' 'python*')
+ "
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]' 'python*')
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ !dev-python/py-bcrypt"
+
+# The testsuite is not included in the tarball
diff --git a/dev-python/bcrypt/metadata.xml b/dev-python/bcrypt/metadata.xml
new file mode 100644
index 000000000000..23cd94387990
--- /dev/null
+++ b/dev-python/bcrypt/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">bcrypt</remote-id>
+ <remote-id type="github">pyca/bcrypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/beaker/Manifest b/dev-python/beaker/Manifest
new file mode 100644
index 000000000000..afb230807a8d
--- /dev/null
+++ b/dev-python/beaker/Manifest
@@ -0,0 +1,2 @@
+DIST Beaker-1.6.4.tar.gz 54480 SHA256 5b06dcc9f7b1921bc962235c4051aa5f3f5d3609f42faa6064dc614ace031a3a SHA512 5a6835d01d0b1bee57844525f1223d74edd26f07cc769df6a8cfa77f44dda4435eb96639175928a1caf7c4f927ac3a674c0fd0e7f50f1aea91da7880de3a6704 WHIRLPOOL 13162d6733b69966133c17171b6725e0a2e7c2f56942bbc591ff3992dee50d7a5e91cc11a6a4ae775a9ec3dab805c2ae352982f0b1670190325b11d06a2e52a9
+DIST beaker-1.7.0.tar.gz 73768 SHA256 ee8492fb3e218855ec51751d58d95296d029489ea4ec64af0c2f3e57bd776be2 SHA512 3e6ca976974bcc43c9291fab40192f91b16d73d11417adb4dc98d0e289e2af8658dc49905a3ab0dc08abfa92c8e0f8b58ec23425e451ef22d1f573aa8ab0c992 WHIRLPOOL 20538e7a9463ba09707148273a372a02f6c121f7d3f9cf6b0c3df65b1dd140da7e7830adb8def88bbd14e041a2ba0fa2578f977422fc45421d37d8293faf8bef
diff --git a/dev-python/beaker/beaker-1.6.4-r1.ebuild b/dev-python/beaker/beaker-1.6.4-r1.ebuild
new file mode 100644
index 000000000000..ee3e4d258b54
--- /dev/null
+++ b/dev-python/beaker/beaker-1.6.4-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py3.3 unfit with some types
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Beaker"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Session and Caching library with WSGI Middleware"
+HOMEPAGE="http://beaker.groovie.org/ http://pypi.python.org/pypi/Beaker"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+# webtest-based tests are skipped when webtest is not installed
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Workaround for http://bugs.python.org/issue11276.
+ sed -e "s/import anydbm/& as anydbm/;/import anydbm/a dbm = anydbm" \
+ -i beaker/container.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+ pushd "${BUILD_DIR}"/tests > /dev/null
+ nosetests || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
diff --git a/dev-python/beaker/beaker-1.7.0-r1.ebuild b/dev-python/beaker/beaker-1.7.0-r1.ebuild
new file mode 100644
index 000000000000..c0037559998d
--- /dev/null
+++ b/dev-python/beaker/beaker-1.7.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Session and Caching library with WSGI Middleware"
+HOMEPAGE="https://github.com/bbangert/beaker http://pypi.python.org/pypi/Beaker"
+SRC_URI="https://github.com/bbangert/${PN}/archive/v1.7.0dev.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~s390 ~sh ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+# webtest-based tests are skipped when webtest is not installed
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ )"
+RDEPEND=""
+
+S="${WORKDIR}/${P}dev"
+
+python_prepare_all() {
+ # Workaround for http://bugs.python.org/issue11276.
+ sed -e "s/import anydbm/& as anydbm/;/import anydbm/a dbm = anydbm" \
+ -i beaker/container.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+ pushd "${BUILD_DIR}"/tests > /dev/null
+ nosetests || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ elog "beaker also has optional support for packages"
+ elog "pycrypto and pycryptopp"
+}
diff --git a/dev-python/beaker/metadata.xml b/dev-python/beaker/metadata.xml
new file mode 100644
index 000000000000..5efee24b8f2e
--- /dev/null
+++ b/dev-python/beaker/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Beaker</remote-id>
+ <remote-id type="github">bbangert/beaker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/beanstalkc/Manifest b/dev-python/beanstalkc/Manifest
new file mode 100644
index 000000000000..3bf9c0088d11
--- /dev/null
+++ b/dev-python/beanstalkc/Manifest
@@ -0,0 +1 @@
+DIST beanstalkc-0.4.0.tar.gz 13921 SHA256 98978e57797320146f4b233286d9a02f65d20bad0168424118839fc608085280 SHA512 30485aed4036549c524982bbabe5a27af5fe6f0547175622019b4469fc1fef32d013cbef5e38a1928ab92a3acf6aba9bc7607c3e8e9f2f3c6f65631d39471a7b WHIRLPOOL ca43ca379ed87046f926185d43caeab8f29ffb4388bdc0e6184cf59f98016537e68f8f63188199c895b45d9da39df59cdf34b39372faffbc5499300c5f919a2d
diff --git a/dev-python/beanstalkc/beanstalkc-0.4.0-r1.ebuild b/dev-python/beanstalkc/beanstalkc-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..42a49dda47dd
--- /dev/null
+++ b/dev-python/beanstalkc/beanstalkc-0.4.0-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple beanstalkd client library"
+HOMEPAGE="http://github.com/earl/beanstalkc http://pypi.python.org/pypi/beanstalkc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/beanstalkc/beanstalkc-0.4.0.ebuild b/dev-python/beanstalkc/beanstalkc-0.4.0.ebuild
new file mode 100644
index 000000000000..921323ed6a71
--- /dev/null
+++ b/dev-python/beanstalkc/beanstalkc-0.4.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple beanstalkd client library"
+HOMEPAGE="http://github.com/earl/beanstalkc http://pypi.python.org/pypi/beanstalkc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/beanstalkc/metadata.xml b/dev-python/beanstalkc/metadata.xml
new file mode 100644
index 000000000000..5dc4ad459118
--- /dev/null
+++ b/dev-python/beanstalkc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">beanstalkc</remote-id>
+ <remote-id type="github">earl/beanstalkc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/beautifulsoup/Manifest b/dev-python/beautifulsoup/Manifest
new file mode 100644
index 000000000000..0512d101c611
--- /dev/null
+++ b/dev-python/beautifulsoup/Manifest
@@ -0,0 +1,6 @@
+DIST BeautifulSoup-3.1.0.1.tar.gz 71460 SHA256 820a80f473240d9d30047f36c959d530a699a732500662dd8b03e1d3ccad12a8 SHA512 812969faf454a58d849921836ed07ec9a950f34fb31e29e118cdf1a75a533370e430f417402b5a5016d23b2d3a1c44a1cf5fde5b3bfd1bc98c50036edd51c0d6 WHIRLPOOL a199585817dcabcc6327c3836a66128605ebf92a6663b5c660125061a797485a504d300791bcd43e0e94e4f08ca59c01f65f42481da07b1240350cbfc6ea6b0c
+DIST BeautifulSoup-3.2.1.tar.gz 31224 SHA256 f5ba85e907e7dfd78e44e4000b3eaef3a650aefc57831e8a645702db2e5b50db SHA512 365b7b045a2069cf437877543577bc0aa99256a6dc4c9743670b46bfceab5494a06628012d6eccecfe99c25d5c9e0c65814964b47026f15ba1a538444cfb7789 WHIRLPOOL c2f84b29421d0153fb1fecc87d63e00a61182e03bc0683132babca5d6c94143b4875a60a19124a36e4e6e78ce80bff9e1e81b37335700efc14084da933307e26
+DIST beautifulsoup4-4.1.3.tar.gz 131292 SHA256 a295b93b30e1126f3fd64edc106f6939349280dde2ba47cef1e5a92dad9319bf SHA512 79ed4f65bcb5599a0d278d5462a67e80f532cdddcb753e0703b28347d84512165ee0bffd09795a501f3b55e6e4869354f04efdceae9de9093a4d85381fee660e WHIRLPOOL 53713ca72b5a409b3755e28d69de65b7994fb387d21ba9a1827f3e4dda2355f318660f69a706825ecb3852447823ffb8bae2cee6bacc093e6ad73347852f29c6
+DIST beautifulsoup4-4.2.0.tar.gz 138400 SHA256 9565ce6f6d28808007ab6248c37d59a49934e358276da5d3ac211ea1ccfd0782 SHA512 50c7514f2a1de49df6300d292e1f00e746b341e9c70dbfc3508663870ddf92f5c8e0ea981dc7742f888428845e90bce2cce8b158e8548039be4c2c06ee76db97 WHIRLPOOL 95db573c6c291d27187af9403694bcff27add7ad378b105df96f988074480b7a1491710681a93f1396dfa33cfa8c493637564ab7fc228e9e92659c385aa769a2
+DIST beautifulsoup4-4.3.2.tar.gz 143356 SHA256 a2b29bd048ca2fe54a046b29770964738872a9747003a371344a93eedf7ad58e SHA512 3d55e553a1a2109378e2961a0feb23a8f038f4ff7bd335a21a26d588d39761f6735888e6ca2d001587e9a6a3b8259a1a09b92b310aa17e9b76fd85601a1ca592 WHIRLPOOL 3570395aa0fae03edc1de10b1c41e82efefa4753c306d2619032b124536a72b6db696c7f85c6a7c32b18c0506ec33d4c8a2fb73660264ad5afd92aba76f32884
+DIST beautifulsoup4-4.4.0.tar.gz 151500 SHA256 fad91da88f69438b9ba939ab1b2cabaa31b1d914f1cccb4bb157a993ed2917f6 SHA512 812abb09099779ecb9c41ce55963ad42973eef00193e28e59dd907715fd6bc2b470b07f80bbe2838b790be252935eb81357a8cfb59808865d2fb62479476eb2f WHIRLPOOL 93b4bd82f1b7596a198d3a8ad5d21cfad51595884b2eb03c36e827e1b3d9f7a8400ed4415c9f0ffe9d014eac66c93cd52521a433ca914cac1a390a6487f153ba
diff --git a/dev-python/beautifulsoup/beautifulsoup-3.1.0.1-r2.ebuild b/dev-python/beautifulsoup/beautifulsoup-3.1.0.1-r2.ebuild
new file mode 100644
index 000000000000..ca73d6e7e807
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-3.1.0.1-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+# A few tests fail with python3.3/3.4 :(
+PYTHON_COMPAT=( python{3_3,3_4} pypy3 )
+
+inherit distutils-r1 eutils
+
+MY_PN="BeautifulSoup"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="HTML/XML parser for quick-turnaround applications like screen-scraping"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/ http://pypi.python.org/pypi/BeautifulSoup"
+SRC_URI="http://www.crummy.com/software/${MY_PN}/download/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="python-3"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!dev-python/beautifulsoup:0"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-python-3.patch"
+ "${FILESDIR}/${P}-disable-tests.patch"
+)
+
+python_test() {
+ "${PYTHON}" BeautifulSoupTests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # Delete useless files.
+ rm -r "${ED%/}/usr/bin" || die
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-3.2.1-r1.ebuild b/dev-python/beautifulsoup/beautifulsoup-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..1ed0b2621f6f
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-3.2.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="BeautifulSoup"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="HTML/XML parser for quick-turnaround applications like screen-scraping"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/ http://pypi.python.org/pypi/BeautifulSoup"
+SRC_URI="http://www.crummy.com/software/${MY_PN}/download/3.x/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="python-2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!dev-python/beautifulsoup:0"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ "${PYTHON}" BeautifulSoupTests.py || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-4.1.3-r1.ebuild b/dev-python/beautifulsoup/beautifulsoup-4.1.3-r1.ebuild
new file mode 100644
index 000000000000..836de51e1efe
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-4.1.3-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}4"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Provides pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/
+ http://pypi.python.org/pypi/beautifulsoup4"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+# new html5 awaits keywording of html5lib in Bug 471002
+IUSE="doc test"
+# pending Bug 471002; html5? ( dev-python/html5lib[$(python_gen_usedep 'python{2_6,2_7}' pypy pypy2_0)] )
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=doc/build/html/.
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-4.1.3.ebuild b/dev-python/beautifulsoup/beautifulsoup-4.1.3.ebuild
new file mode 100644
index 000000000000..4fbe5b6023e4
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-4.1.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_DEPEND="*:2.6"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.5"
+PYTHON_TESTS_RESTRICTED_ABIS="*-pypy-*"
+DISTUTILS_SRC_TEST="nosetests"
+
+inherit distutils
+
+MY_PN="${PN}4"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Provides pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/
+ http://pypi.python.org/pypi/beautifulsoup4"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/lxml )"
+RDEPEND=""
+
+PYTHON_MODNAME="bs4"
+S="${WORKDIR}/${MY_P}"
+
+src_compile() {
+ distutils_src_compile
+ if use doc; then
+ emake -C doc html
+ fi
+}
+
+src_test() {
+ testing() {
+ cd "build-${PYTHON_ABI}/lib"
+ nosetests --verbosity="${PYTHON_TEST_VERBOSITY}"
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+ if use doc; then
+ dohtml -r doc/build/html/*
+ fi
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-4.2.0.ebuild b/dev-python/beautifulsoup/beautifulsoup-4.2.0.ebuild
new file mode 100644
index 000000000000..7a457223fc6b
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-4.2.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN}4
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Provides pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/
+ http://pypi.python.org/pypi/beautifulsoup4"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+# new html5 awaits keywording of html5lib in Bug 471002
+IUSE="doc test"
+# pending Bug 471002; html5? ( dev-python/html5lib[$(python_gen_usedep 'python{2_6,2_7}' pypy pypy2_0)] )
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/lxml[$(python_gen_usedep 'python{2_6,2_7}' 'python3*')] )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/bfs-${PV}-no-lxml.patch )
+
+python_compile_all() {
+ if use doc; then
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=doc/build/html/.
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-4.3.2.ebuild b/dev-python/beautifulsoup/beautifulsoup-4.3.2.ebuild
new file mode 100644
index 000000000000..de1a7e41f75d
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-4.3.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN}4
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Provides pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/
+ http://pypi.python.org/pypi/beautifulsoup4"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+# new html5 awaits keywording of html5lib in Bug 471002
+IUSE="doc test"
+# pending Bug 471002; html5? ( dev-python/html5lib[$(python_gen_usedep 'python{2_6,2_7}' pypy pypy2_0)] )
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/lxml[$(python_gen_usedep 'python{2_6,2_7}' 'python3*')] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_compile_all() {
+ if use doc; then
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=doc/build/html/.
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/beautifulsoup/beautifulsoup-4.4.0.ebuild b/dev-python/beautifulsoup/beautifulsoup-4.4.0.ebuild
new file mode 100644
index 000000000000..e140465d13ac
--- /dev/null
+++ b/dev-python/beautifulsoup/beautifulsoup-4.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN}4
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Provides pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="https://bugs.launchpad.net/beautifulsoup/
+ http://pypi.python.org/pypi/beautifulsoup4"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+
+IUSE="doc test"
+
+# html5lib is optional however hard coding since its use is actively discouraged in the devmanual
+RDEPEND="$(python_gen_cond_dep 'dev-python/html5lib[${PYTHON_USEDEP}]' python2_7 pypy)
+ $(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]' python2_7 'python3*')"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ !dev-python/chardet[${PYTHON_USEDEP}] )"
+# See https://bugs.launchpad.net/beautifulsoup/+bug/1471359 to explain need for blocker
+
+S=${WORKDIR}/${MY_P}
+
+python_compile_all() {
+ if use doc; then
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=doc/build/html/.
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-disable-tests.patch b/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-disable-tests.patch
new file mode 100644
index 000000000000..c97cd76ee314
--- /dev/null
+++ b/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-disable-tests.patch
@@ -0,0 +1,39 @@
+--- lib/BeautifulSoupTests.py.orig 2015-07-21 08:39:33.077000000 +0000
++++ lib/BeautifulSoupTests.py 2015-07-21 08:41:19.285000000 +0000
+@@ -538,13 +538,13 @@
+ text = "<td nowrap>foo</td>"
+ self.assertSoupEquals(text, text)
+
+- def testCData(self):
+- xml = "<root>foo<![CDATA[foobar]]>bar</root>"
+- self.assertSoupEquals(xml, xml)
+- r = re.compile("foo.*bar")
+- soup = BeautifulSoup(xml)
+- self.assertEquals(soup.find(text=r).string, "foobar")
+- self.assertEquals(soup.find(text=r).__class__, CData)
++ #def testCData(self):
++ # xml = "<root>foo<![CDATA[foobar]]>bar</root>"
++ # self.assertSoupEquals(xml, xml)
++ # r = re.compile("foo.*bar")
++ # soup = BeautifulSoup(xml)
++ # self.assertEquals(soup.find(text=r).string, "foobar")
++ # self.assertEquals(soup.find(text=r).__class__, CData)
+
+ def testComments(self):
+ xml = "foo<!--foobar-->baz"
+@@ -607,11 +607,11 @@
+ def testWhitespaceInDeclaration(self):
+ self.assertSoupEquals('<! DOCTYPE>', '<!DOCTYPE>')
+
+- def testJunkInDeclaration(self):
+- self.assertSoupEquals('<! Foo = -8>a', '<!Foo = -8>a')
++ #def testJunkInDeclaration(self):
++ # self.assertSoupEquals('<! Foo = -8>a', '<!Foo = -8>a')
+
+- def testIncompleteDeclaration(self):
+- self.assertSoupEquals('a<!b <p>c')
++ #def testIncompleteDeclaration(self):
++ # self.assertSoupEquals('a<!b <p>c')
+
+ def testEntityReplacement(self):
+ self.assertSoupEquals('<b>hello&nbsp;there</b>')
diff --git a/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-python-3.patch b/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-python-3.patch
new file mode 100644
index 000000000000..adcbb43dd078
--- /dev/null
+++ b/dev-python/beautifulsoup/files/beautifulsoup-3.1.0.1-python-3.patch
@@ -0,0 +1,949 @@
+--- BeautifulSoup.py
++++ BeautifulSoup.py
+@@ -76,7 +76,7 @@
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE, DAMMIT.
+
+ """
+-from __future__ import generators
++
+
+ __author__ = "Leonard Richardson (leonardr@segfault.org)"
+ __version__ = "3.1.0.1"
+@@ -84,12 +84,12 @@
+ __license__ = "New-style BSD"
+
+ import codecs
+-import markupbase
++import _markupbase
+ import types
+ import re
+-from HTMLParser import HTMLParser, HTMLParseError
++from html.parser import HTMLParser, HTMLParseError
+ try:
+- from htmlentitydefs import name2codepoint
++ from html.entities import name2codepoint
+ except ImportError:
+ name2codepoint = {}
+ try:
+@@ -98,18 +98,18 @@
+ from sets import Set as set
+
+ #These hacks make Beautiful Soup able to parse XML with namespaces
+-markupbase._declname_match = re.compile(r'[a-zA-Z][-_.:a-zA-Z0-9]*\s*').match
++_markupbase._declname_match = re.compile(r'[a-zA-Z][-_.:a-zA-Z0-9]*\s*').match
+
+ DEFAULT_OUTPUT_ENCODING = "utf-8"
+
+ # First, the classes that represent markup elements.
+
+-def sob(unicode, encoding):
++def sob(str, encoding):
+ """Returns either the given Unicode string or its encoding."""
+ if encoding is None:
+- return unicode
++ return str
+ else:
+- return unicode.encode(encoding)
++ return str.encode(encoding)
+
+ class PageElement:
+ """Contains the navigational information for some part of the page
+@@ -178,8 +178,8 @@
+ return lastChild
+
+ def insert(self, position, newChild):
+- if (isinstance(newChild, basestring)
+- or isinstance(newChild, unicode)) \
++ if (isinstance(newChild, str)
++ or isinstance(newChild, str)) \
+ and not isinstance(newChild, NavigableString):
+ newChild = NavigableString(newChild)
+
+@@ -334,7 +334,7 @@
+ g = generator()
+ while True:
+ try:
+- i = g.next()
++ i = g.__next__()
+ except StopIteration:
+ break
+ if i:
+@@ -385,22 +385,22 @@
+ def toEncoding(self, s, encoding=None):
+ """Encodes an object to a string in some encoding, or to Unicode.
+ ."""
+- if isinstance(s, unicode):
++ if isinstance(s, str):
+ if encoding:
+ s = s.encode(encoding)
+ elif isinstance(s, str):
+ if encoding:
+ s = s.encode(encoding)
+ else:
+- s = unicode(s)
++ s = str(s)
+ else:
+ if encoding:
+ s = self.toEncoding(str(s), encoding)
+ else:
+- s = unicode(s)
++ s = str(s)
+ return s
+
+-class NavigableString(unicode, PageElement):
++class NavigableString(str, PageElement):
+
+ def __new__(cls, value):
+ """Create a new NavigableString.
+@@ -410,12 +410,12 @@
+ passed in to the superclass's __new__ or the superclass won't know
+ how to handle non-ASCII characters.
+ """
+- if isinstance(value, unicode):
+- return unicode.__new__(cls, value)
+- return unicode.__new__(cls, value, DEFAULT_OUTPUT_ENCODING)
++ if isinstance(value, str):
++ return str.__new__(cls, value)
++ return str.__new__(cls, value, DEFAULT_OUTPUT_ENCODING)
+
+ def __getnewargs__(self):
+- return (unicode(self),)
++ return (str(self),)
+
+ def __getattr__(self, attr):
+ """text.string gives you text. This is for backwards
+@@ -424,7 +424,7 @@
+ if attr == 'string':
+ return self
+ else:
+- raise AttributeError, "'%s' object has no attribute '%s'" % (self.__class__.__name__, attr)
++ raise AttributeError("'%s' object has no attribute '%s'" % (self.__class__.__name__, attr))
+
+ def encode(self, encoding=DEFAULT_OUTPUT_ENCODING):
+ return self.decode().encode(encoding)
+@@ -435,23 +435,23 @@
+ class CData(NavigableString):
+
+ def decodeGivenEventualEncoding(self, eventualEncoding):
+- return u'<![CDATA[' + self + u']]>'
++ return '<![CDATA[' + self + ']]>'
+
+ class ProcessingInstruction(NavigableString):
+
+ def decodeGivenEventualEncoding(self, eventualEncoding):
+ output = self
+- if u'%SOUP-ENCODING%' in output:
++ if '%SOUP-ENCODING%' in output:
+ output = self.substituteEncoding(output, eventualEncoding)
+- return u'<?' + output + u'?>'
++ return '<?' + output + '?>'
+
+ class Comment(NavigableString):
+ def decodeGivenEventualEncoding(self, eventualEncoding):
+- return u'<!--' + self + u'-->'
++ return '<!--' + self + '-->'
+
+ class Declaration(NavigableString):
+ def decodeGivenEventualEncoding(self, eventualEncoding):
+- return u'<!' + self + u'>'
++ return '<!' + self + '>'
+
+ class Tag(PageElement):
+
+@@ -460,7 +460,7 @@
+ def _invert(h):
+ "Cheap function to invert a hash."
+ i = {}
+- for k,v in h.items():
++ for k,v in list(h.items()):
+ i[v] = k
+ return i
+
+@@ -479,23 +479,23 @@
+ escaped."""
+ x = match.group(1)
+ if self.convertHTMLEntities and x in name2codepoint:
+- return unichr(name2codepoint[x])
++ return chr(name2codepoint[x])
+ elif x in self.XML_ENTITIES_TO_SPECIAL_CHARS:
+ if self.convertXMLEntities:
+ return self.XML_ENTITIES_TO_SPECIAL_CHARS[x]
+ else:
+- return u'&%s;' % x
++ return '&%s;' % x
+ elif len(x) > 0 and x[0] == '#':
+ # Handle numeric entities
+ if len(x) > 1 and x[1] == 'x':
+- return unichr(int(x[2:], 16))
++ return chr(int(x[2:], 16))
+ else:
+- return unichr(int(x[1:]))
++ return chr(int(x[1:]))
+
+ elif self.escapeUnrecognizedEntities:
+- return u'&amp;%s;' % x
++ return '&amp;%s;' % x
+ else:
+- return u'&%s;' % x
++ return '&%s;' % x
+
+ def __init__(self, parser, name, attrs=None, parent=None,
+ previous=None):
+@@ -524,7 +524,7 @@
+ return kval
+ return (k, re.sub("&(#\d+|#x[0-9a-fA-F]+|\w+);",
+ self._convertEntities, val))
+- self.attrs = map(convert, self.attrs)
++ self.attrs = list(map(convert, self.attrs))
+
+ def get(self, key, default=None):
+ """Returns the value of the 'key' attribute for the tag, or
+@@ -533,7 +533,7 @@
+ return self._getAttrMap().get(key, default)
+
+ def has_key(self, key):
+- return self._getAttrMap().has_key(key)
++ return key in self._getAttrMap()
+
+ def __getitem__(self, key):
+ """tag[key] returns the value of the 'key' attribute for the tag,
+@@ -551,7 +551,7 @@
+ def __contains__(self, x):
+ return x in self.contents
+
+- def __nonzero__(self):
++ def __bool__(self):
+ "A tag is non-None even if it has no contents."
+ return True
+
+@@ -577,14 +577,14 @@
+ #We don't break because bad HTML can define the same
+ #attribute multiple times.
+ self._getAttrMap()
+- if self.attrMap.has_key(key):
++ if key in self.attrMap:
+ del self.attrMap[key]
+
+ def __call__(self, *args, **kwargs):
+ """Calling a tag like a function is the same as calling its
+ findAll() method. Eg. tag('a') returns a list of all the A tags
+ found within this tag."""
+- return apply(self.findAll, args, kwargs)
++ return self.findAll(*args, **kwargs)
+
+ def __getattr__(self, tag):
+ #print "Getattr %s.%s" % (self.__class__, tag)
+@@ -592,7 +592,7 @@
+ return self.find(tag[:-3])
+ elif tag.find('__') != 0:
+ return self.find(tag)
+- raise AttributeError, "'%s' object has no attribute '%s'" % (self.__class__, tag)
++ raise AttributeError("'%s' object has no attribute '%s'" % (self.__class__, tag))
+
+ def __eq__(self, other):
+ """Returns true iff this tag has the same name, the same attributes,
+@@ -868,7 +868,7 @@
+ if isinstance(markupName, Tag):
+ markup = markupName
+ markupAttrs = markup
+- callFunctionWithTagData = callable(self.name) \
++ callFunctionWithTagData = hasattr(self.name, '__call__') \
+ and not isinstance(markupName, Tag)
+
+ if (not self.name) \
+@@ -880,7 +880,7 @@
+ else:
+ match = True
+ markupAttrMap = None
+- for attr, matchAgainst in self.attrs.items():
++ for attr, matchAgainst in list(self.attrs.items()):
+ if not markupAttrMap:
+ if hasattr(markupAttrs, 'get'):
+ markupAttrMap = markupAttrs
+@@ -921,16 +921,16 @@
+ if self._matches(markup, self.text):
+ found = markup
+ else:
+- raise Exception, "I don't know how to match against a %s" \
+- % markup.__class__
++ raise Exception("I don't know how to match against a %s" \
++ % markup.__class__)
+ return found
+
+ def _matches(self, markup, matchAgainst):
+ #print "Matching %s against %s" % (markup, matchAgainst)
+ result = False
+- if matchAgainst == True and type(matchAgainst) == types.BooleanType:
++ if matchAgainst == True and type(matchAgainst) == bool:
+ result = markup != None
+- elif callable(matchAgainst):
++ elif hasattr(matchAgainst, '__call__'):
+ result = matchAgainst(markup)
+ else:
+ #Custom match methods take the tag as an argument, but all
+@@ -938,7 +938,7 @@
+ if isinstance(markup, Tag):
+ markup = markup.name
+ if markup is not None and not isString(markup):
+- markup = unicode(markup)
++ markup = str(markup)
+ #Now we know that chunk is either a string, or None.
+ if hasattr(matchAgainst, 'match'):
+ # It's a regexp object.
+@@ -947,10 +947,10 @@
+ and (markup is not None or not isString(matchAgainst))):
+ result = markup in matchAgainst
+ elif hasattr(matchAgainst, 'items'):
+- result = markup.has_key(matchAgainst)
++ result = matchAgainst in markup
+ elif matchAgainst and isString(markup):
+- if isinstance(markup, unicode):
+- matchAgainst = unicode(matchAgainst)
++ if isinstance(markup, str):
++ matchAgainst = str(matchAgainst)
+ else:
+ matchAgainst = str(matchAgainst)
+
+@@ -971,13 +971,13 @@
+ """Convenience method that works with all 2.x versions of Python
+ to determine whether or not something is listlike."""
+ return ((hasattr(l, '__iter__') and not isString(l))
+- or (type(l) in (types.ListType, types.TupleType)))
++ or (type(l) in (list, tuple)))
+
+ def isString(s):
+ """Convenience method that works with all 2.x versions of Python
+ to determine whether or not something is stringlike."""
+ try:
+- return isinstance(s, unicode) or isinstance(s, basestring)
++ return isinstance(s, str) or isinstance(s, str)
+ except NameError:
+ return isinstance(s, str)
+
+@@ -989,7 +989,7 @@
+ for portion in args:
+ if hasattr(portion, 'items'):
+ #It's a map. Merge it.
+- for k,v in portion.items():
++ for k,v in list(portion.items()):
+ built[k] = v
+ elif isList(portion) and not isString(portion):
+ #It's a list. Map each item to the default.
+@@ -1034,7 +1034,7 @@
+ object, possibly one with a %SOUP-ENCODING% slot into which an
+ encoding will be plugged later."""
+ if text[:3] == "xml":
+- text = u"xml version='1.0' encoding='%SOUP-ENCODING%'"
++ text = "xml version='1.0' encoding='%SOUP-ENCODING%'"
+ self._toStringSubclass(text, ProcessingInstruction)
+
+ def handle_comment(self, text):
+@@ -1044,7 +1044,7 @@
+ def handle_charref(self, ref):
+ "Handle character references as data."
+ if self.soup.convertEntities:
+- data = unichr(int(ref))
++ data = chr(int(ref))
+ else:
+ data = '&#%s;' % ref
+ self.handle_data(data)
+@@ -1056,7 +1056,7 @@
+ data = None
+ if self.soup.convertHTMLEntities:
+ try:
+- data = unichr(name2codepoint[ref])
++ data = chr(name2codepoint[ref])
+ except KeyError:
+ pass
+
+@@ -1147,7 +1147,7 @@
+ lambda x: '<!' + x.group(1) + '>')
+ ]
+
+- ROOT_TAG_NAME = u'[document]'
++ ROOT_TAG_NAME = '[document]'
+
+ HTML_ENTITIES = "html"
+ XML_ENTITIES = "xml"
+@@ -1236,14 +1236,14 @@
+ def _feed(self, inDocumentEncoding=None, isHTML=False):
+ # Convert the document to Unicode.
+ markup = self.markup
+- if isinstance(markup, unicode):
++ if isinstance(markup, str):
+ if not hasattr(self, 'originalEncoding'):
+ self.originalEncoding = None
+ else:
+ dammit = UnicodeDammit\
+ (markup, [self.fromEncoding, inDocumentEncoding],
+ smartQuotesTo=self.smartQuotesTo, isHTML=isHTML)
+- markup = dammit.unicode
++ markup = dammit.str
+ self.originalEncoding = dammit.originalEncoding
+ self.declaredHTMLEncoding = dammit.declaredHTMLEncoding
+ if markup:
+@@ -1269,8 +1269,8 @@
+ def isSelfClosingTag(self, name):
+ """Returns true iff the given string is the name of a
+ self-closing tag according to this parser."""
+- return self.SELF_CLOSING_TAGS.has_key(name) \
+- or self.instanceSelfClosingTags.has_key(name)
++ return name in self.SELF_CLOSING_TAGS \
++ or name in self.instanceSelfClosingTags
+
+ def reset(self):
+ Tag.__init__(self, self, self.ROOT_TAG_NAME)
+@@ -1305,7 +1305,7 @@
+
+ def endData(self, containerClass=NavigableString):
+ if self.currentData:
+- currentData = u''.join(self.currentData)
++ currentData = ''.join(self.currentData)
+ if (currentData.translate(self.STRIP_ASCII_SPACES) == '' and
+ not set([tag.name for tag in self.tagStack]).intersection(
+ self.PRESERVE_WHITESPACE_TAGS)):
+@@ -1368,7 +1368,7 @@
+
+ nestingResetTriggers = self.NESTABLE_TAGS.get(name)
+ isNestable = nestingResetTriggers != None
+- isResetNesting = self.RESET_NESTING_TAGS.has_key(name)
++ isResetNesting = name in self.RESET_NESTING_TAGS
+ popTo = None
+ inclusive = True
+ for i in range(len(self.tagStack)-1, 0, -1):
+@@ -1381,7 +1381,7 @@
+ if (nestingResetTriggers != None
+ and p.name in nestingResetTriggers) \
+ or (nestingResetTriggers == None and isResetNesting
+- and self.RESET_NESTING_TAGS.has_key(p.name)):
++ and p.name in self.RESET_NESTING_TAGS):
+
+ #If we encounter one of the nesting reset triggers
+ #peculiar to this tag, or we encounter another tag
+@@ -1399,7 +1399,7 @@
+ if self.quoteStack:
+ #This is not a real tag.
+ #print "<%s> is not real!" % name
+- attrs = ''.join(map(lambda(x, y): ' %s="%s"' % (x, y), attrs))
++ attrs = ''.join([' %s="%s"' % (x_y[0], x_y[1]) for x_y in attrs])
+ self.handle_data('<%s%s>' % (name, attrs))
+ return
+ self.endData()
+@@ -1493,7 +1493,7 @@
+ BeautifulStoneSoup before writing your own subclass."""
+
+ def __init__(self, *args, **kwargs):
+- if not kwargs.has_key('smartQuotesTo'):
++ if 'smartQuotesTo' not in kwargs:
+ kwargs['smartQuotesTo'] = self.HTML_ENTITIES
+ kwargs['isHTML'] = True
+ BeautifulStoneSoup.__init__(self, *args, **kwargs)
+@@ -1677,7 +1677,7 @@
+ parent._getAttrMap()
+ if (isinstance(tag, Tag) and len(tag.contents) == 1 and
+ isinstance(tag.contents[0], NavigableString) and
+- not parent.attrMap.has_key(tag.name)):
++ tag.name not in parent.attrMap):
+ parent[tag.name] = tag.contents[0]
+ BeautifulStoneSoup.popTag(self)
+
+@@ -1751,9 +1751,9 @@
+ self._detectEncoding(markup, isHTML)
+ self.smartQuotesTo = smartQuotesTo
+ self.triedEncodings = []
+- if markup == '' or isinstance(markup, unicode):
++ if markup == '' or isinstance(markup, str):
+ self.originalEncoding = None
+- self.unicode = unicode(markup)
++ self.str = str(markup)
+ return
+
+ u = None
+@@ -1766,7 +1766,7 @@
+ if u: break
+
+ # If no luck and we have auto-detection library, try that:
+- if not u and chardet and not isinstance(self.markup, unicode):
++ if not u and chardet and not isinstance(self.markup, str):
+ u = self._convertFrom(chardet.detect(self.markup)['encoding'])
+
+ # As a last resort, try utf-8 and windows-1252:
+@@ -1775,7 +1775,7 @@
+ u = self._convertFrom(proposed_encoding)
+ if u: break
+
+- self.unicode = u
++ self.str = u
+ if not u: self.originalEncoding = None
+
+ def _subMSChar(self, match):
+@@ -1783,7 +1783,7 @@
+ entity."""
+ orig = match.group(1)
+ sub = self.MS_CHARS.get(orig)
+- if type(sub) == types.TupleType:
++ if type(sub) == tuple:
+ if self.smartQuotesTo == 'xml':
+ sub = '&#x'.encode() + sub[1].encode() + ';'.encode()
+ else:
+@@ -1804,7 +1804,7 @@
+ if self.smartQuotesTo and proposed.lower() in("windows-1252",
+ "iso-8859-1",
+ "iso-8859-2"):
+- smart_quotes_re = "([\x80-\x9f])"
++ smart_quotes_re = b"([\x80-\x9f])"
+ smart_quotes_compiled = re.compile(smart_quotes_re)
+ markup = smart_quotes_compiled.sub(self._subMSChar, markup)
+
+@@ -1813,7 +1813,7 @@
+ u = self._toUnicode(markup, proposed)
+ self.markup = u
+ self.originalEncoding = proposed
+- except Exception, e:
++ except Exception as e:
+ # print "That didn't work!"
+ # print e
+ return None
+@@ -1842,7 +1842,7 @@
+ elif data[:4] == '\xff\xfe\x00\x00':
+ encoding = 'utf-32le'
+ data = data[4:]
+- newdata = unicode(data, encoding)
++ newdata = str(data, encoding)
+ return newdata
+
+ def _detectEncoding(self, xml_data, isHTML=False):
+@@ -1855,41 +1855,41 @@
+ elif xml_data[:4] == '\x00\x3c\x00\x3f':
+ # UTF-16BE
+ sniffed_xml_encoding = 'utf-16be'
+- xml_data = unicode(xml_data, 'utf-16be').encode('utf-8')
++ xml_data = str(xml_data, 'utf-16be').encode('utf-8')
+ elif (len(xml_data) >= 4) and (xml_data[:2] == '\xfe\xff') \
+ and (xml_data[2:4] != '\x00\x00'):
+ # UTF-16BE with BOM
+ sniffed_xml_encoding = 'utf-16be'
+- xml_data = unicode(xml_data[2:], 'utf-16be').encode('utf-8')
++ xml_data = str(xml_data[2:], 'utf-16be').encode('utf-8')
+ elif xml_data[:4] == '\x3c\x00\x3f\x00':
+ # UTF-16LE
+ sniffed_xml_encoding = 'utf-16le'
+- xml_data = unicode(xml_data, 'utf-16le').encode('utf-8')
++ xml_data = str(xml_data, 'utf-16le').encode('utf-8')
+ elif (len(xml_data) >= 4) and (xml_data[:2] == '\xff\xfe') and \
+ (xml_data[2:4] != '\x00\x00'):
+ # UTF-16LE with BOM
+ sniffed_xml_encoding = 'utf-16le'
+- xml_data = unicode(xml_data[2:], 'utf-16le').encode('utf-8')
++ xml_data = str(xml_data[2:], 'utf-16le').encode('utf-8')
+ elif xml_data[:4] == '\x00\x00\x00\x3c':
+ # UTF-32BE
+ sniffed_xml_encoding = 'utf-32be'
+- xml_data = unicode(xml_data, 'utf-32be').encode('utf-8')
++ xml_data = str(xml_data, 'utf-32be').encode('utf-8')
+ elif xml_data[:4] == '\x3c\x00\x00\x00':
+ # UTF-32LE
+ sniffed_xml_encoding = 'utf-32le'
+- xml_data = unicode(xml_data, 'utf-32le').encode('utf-8')
++ xml_data = str(xml_data, 'utf-32le').encode('utf-8')
+ elif xml_data[:4] == '\x00\x00\xfe\xff':
+ # UTF-32BE with BOM
+ sniffed_xml_encoding = 'utf-32be'
+- xml_data = unicode(xml_data[4:], 'utf-32be').encode('utf-8')
++ xml_data = str(xml_data[4:], 'utf-32be').encode('utf-8')
+ elif xml_data[:4] == '\xff\xfe\x00\x00':
+ # UTF-32LE with BOM
+ sniffed_xml_encoding = 'utf-32le'
+- xml_data = unicode(xml_data[4:], 'utf-32le').encode('utf-8')
++ xml_data = str(xml_data[4:], 'utf-32le').encode('utf-8')
+ elif xml_data[:3] == '\xef\xbb\xbf':
+ # UTF-8 with BOM
+ sniffed_xml_encoding = 'utf-8'
+- xml_data = unicode(xml_data[3:], 'utf-8').encode('utf-8')
++ xml_data = str(xml_data[3:], 'utf-8').encode('utf-8')
+ else:
+ sniffed_xml_encoding = 'ascii'
+ pass
+@@ -1954,41 +1954,41 @@
+ 250,251,252,253,254,255)
+ import string
+ c.EBCDIC_TO_ASCII_MAP = string.maketrans( \
+- ''.join(map(chr, range(256))), ''.join(map(chr, emap)))
++ ''.join(map(chr, list(range(256)))), ''.join(map(chr, emap)))
+ return s.translate(c.EBCDIC_TO_ASCII_MAP)
+
+- MS_CHARS = { '\x80' : ('euro', '20AC'),
+- '\x81' : ' ',
+- '\x82' : ('sbquo', '201A'),
+- '\x83' : ('fnof', '192'),
+- '\x84' : ('bdquo', '201E'),
+- '\x85' : ('hellip', '2026'),
+- '\x86' : ('dagger', '2020'),
+- '\x87' : ('Dagger', '2021'),
+- '\x88' : ('circ', '2C6'),
+- '\x89' : ('permil', '2030'),
+- '\x8A' : ('Scaron', '160'),
+- '\x8B' : ('lsaquo', '2039'),
+- '\x8C' : ('OElig', '152'),
+- '\x8D' : '?',
+- '\x8E' : ('#x17D', '17D'),
+- '\x8F' : '?',
+- '\x90' : '?',
+- '\x91' : ('lsquo', '2018'),
+- '\x92' : ('rsquo', '2019'),
+- '\x93' : ('ldquo', '201C'),
+- '\x94' : ('rdquo', '201D'),
+- '\x95' : ('bull', '2022'),
+- '\x96' : ('ndash', '2013'),
+- '\x97' : ('mdash', '2014'),
+- '\x98' : ('tilde', '2DC'),
+- '\x99' : ('trade', '2122'),
+- '\x9a' : ('scaron', '161'),
+- '\x9b' : ('rsaquo', '203A'),
+- '\x9c' : ('oelig', '153'),
+- '\x9d' : '?',
+- '\x9e' : ('#x17E', '17E'),
+- '\x9f' : ('Yuml', ''),}
++ MS_CHARS = { b'\x80' : ('euro', '20AC'),
++ b'\x81' : ' ',
++ b'\x82' : ('sbquo', '201A'),
++ b'\x83' : ('fnof', '192'),
++ b'\x84' : ('bdquo', '201E'),
++ b'\x85' : ('hellip', '2026'),
++ b'\x86' : ('dagger', '2020'),
++ b'\x87' : ('Dagger', '2021'),
++ b'\x88' : ('circ', '2C6'),
++ b'\x89' : ('permil', '2030'),
++ b'\x8A' : ('Scaron', '160'),
++ b'\x8B' : ('lsaquo', '2039'),
++ b'\x8C' : ('OElig', '152'),
++ b'\x8D' : '?',
++ b'\x8E' : ('#x17D', '17D'),
++ b'\x8F' : '?',
++ b'\x90' : '?',
++ b'\x91' : ('lsquo', '2018'),
++ b'\x92' : ('rsquo', '2019'),
++ b'\x93' : ('ldquo', '201C'),
++ b'\x94' : ('rdquo', '201D'),
++ b'\x95' : ('bull', '2022'),
++ b'\x96' : ('ndash', '2013'),
++ b'\x97' : ('mdash', '2014'),
++ b'\x98' : ('tilde', '2DC'),
++ b'\x99' : ('trade', '2122'),
++ b'\x9a' : ('scaron', '161'),
++ b'\x9b' : ('rsaquo', '203A'),
++ b'\x9c' : ('oelig', '153'),
++ b'\x9d' : '?',
++ b'\x9e' : ('#x17E', '17E'),
++ b'\x9f' : ('Yuml', ''),}
+
+ #######################################################################
+
+@@ -1997,4 +1997,4 @@
+ if __name__ == '__main__':
+ import sys
+ soup = BeautifulSoup(sys.stdin)
+- print soup.prettify()
++ print(soup.prettify())
+--- BeautifulSoupTests.py
++++ BeautifulSoupTests.py
+@@ -82,7 +82,7 @@
+ def testFindAllText(self):
+ soup = BeautifulSoup("<html>\xbb</html>")
+ self.assertEqual(soup.findAll(text=re.compile('.*')),
+- [u'\xbb'])
++ ['\xbb'])
+
+ def testFindAllByRE(self):
+ import re
+@@ -215,7 +215,7 @@
+ soup = BeautifulSoup(self.x, parseOnlyThese=strainer)
+ self.assertEquals(len(soup), 10)
+
+- strainer = SoupStrainer(text=lambda(x):x[8]=='3')
++ strainer = SoupStrainer(text=lambda x:x[8]=='3')
+ soup = BeautifulSoup(self.x, parseOnlyThese=strainer)
+ self.assertEquals(len(soup), 3)
+
+@@ -256,7 +256,7 @@
+ self.assertEqual(copied.decode(), self.soup.decode())
+
+ def testUnicodePickle(self):
+- import cPickle as pickle
++ import pickle as pickle
+ html = "<b>" + chr(0xc3) + "</b>"
+ soup = BeautifulSoup(html)
+ dumped = pickle.dumps(soup, pickle.HIGHEST_PROTOCOL)
+@@ -586,23 +586,23 @@
+ self.assertEquals(soup.decode(), "<<sacr&eacute; bleu!>>")
+
+ soup = BeautifulStoneSoup(text, convertEntities=htmlEnt)
+- self.assertEquals(soup.decode(), u"<<sacr\xe9 bleu!>>")
++ self.assertEquals(soup.decode(), "<<sacr\xe9 bleu!>>")
+
+ # Make sure the "XML", "HTML", and "XHTML" settings work.
+ text = "&lt;&trade;&apos;"
+ soup = BeautifulStoneSoup(text, convertEntities=xmlEnt)
+- self.assertEquals(soup.decode(), u"<&trade;'")
++ self.assertEquals(soup.decode(), "<&trade;'")
+
+ soup = BeautifulStoneSoup(text, convertEntities=htmlEnt)
+- self.assertEquals(soup.decode(), u"<\u2122&apos;")
++ self.assertEquals(soup.decode(), "<\u2122&apos;")
+
+ soup = BeautifulStoneSoup(text, convertEntities=xhtmlEnt)
+- self.assertEquals(soup.decode(), u"<\u2122'")
++ self.assertEquals(soup.decode(), "<\u2122'")
+
+ def testNonBreakingSpaces(self):
+ soup = BeautifulSoup("<a>&nbsp;&nbsp;</a>",
+ convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+- self.assertEquals(soup.decode(), u"<a>\xa0\xa0</a>")
++ self.assertEquals(soup.decode(), "<a>\xa0\xa0</a>")
+
+ def testWhitespaceInDeclaration(self):
+ self.assertSoupEquals('<! DOCTYPE>', '<!DOCTYPE>')
+@@ -617,27 +617,27 @@
+ self.assertSoupEquals('<b>hello&nbsp;there</b>')
+
+ def testEntitiesInAttributeValues(self):
+- self.assertSoupEquals('<x t="x&#241;">', '<x t="x\xc3\xb1"></x>',
++ self.assertSoupEquals('<x t="x&#241;">', b'<x t="x\xc3\xb1"></x>',
+ encoding='utf-8')
+- self.assertSoupEquals('<x t="x&#xf1;">', '<x t="x\xc3\xb1"></x>',
++ self.assertSoupEquals('<x t="x&#xf1;">', b'<x t="x\xc3\xb1"></x>',
+ encoding='utf-8')
+
+ soup = BeautifulSoup('<x t="&gt;&trade;">',
+ convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+- self.assertEquals(soup.decode(), u'<x t="&gt;\u2122"></x>')
++ self.assertEquals(soup.decode(), '<x t="&gt;\u2122"></x>')
+
+ uri = "http://crummy.com?sacr&eacute;&amp;bleu"
+ link = '<a href="%s"></a>' % uri
+
+ soup = BeautifulSoup(link, convertEntities=BeautifulSoup.HTML_ENTITIES)
+ self.assertEquals(soup.decode(),
+- link.replace("&eacute;", u"\xe9"))
++ link.replace("&eacute;", "\xe9"))
+
+ uri = "http://crummy.com?sacr&eacute;&bleu"
+ link = '<a href="%s"></a>' % uri
+ soup = BeautifulSoup(link, convertEntities=BeautifulSoup.HTML_ENTITIES)
+ self.assertEquals(soup.a['href'],
+- uri.replace("&eacute;", u"\xe9"))
++ uri.replace("&eacute;", "\xe9"))
+
+ def testNakedAmpersands(self):
+ html = {'convertEntities':BeautifulStoneSoup.HTML_ENTITIES}
+@@ -663,13 +663,13 @@
+ smart quote fixes."""
+
+ def testUnicodeDammitStandalone(self):
+- markup = "<foo>\x92</foo>"
++ markup = b"<foo>\x92</foo>"
+ dammit = UnicodeDammit(markup)
+- self.assertEquals(dammit.unicode, "<foo>&#x2019;</foo>")
++ self.assertEquals(dammit.str, "<foo>&#x2019;</foo>")
+
+- hebrew = "\xed\xe5\xec\xf9"
++ hebrew = b"\xed\xe5\xec\xf9"
+ dammit = UnicodeDammit(hebrew, ["iso-8859-8"])
+- self.assertEquals(dammit.unicode, u'\u05dd\u05d5\u05dc\u05e9')
++ self.assertEquals(dammit.str, '\u05dd\u05d5\u05dc\u05e9')
+ self.assertEquals(dammit.originalEncoding, 'iso-8859-8')
+
+ def testGarbageInGarbageOut(self):
+@@ -677,13 +677,13 @@
+ asciiSoup = BeautifulStoneSoup(ascii)
+ self.assertEquals(ascii, asciiSoup.decode())
+
+- unicodeData = u"<foo>\u00FC</foo>"
++ unicodeData = "<foo>\u00FC</foo>"
+ utf8 = unicodeData.encode("utf-8")
+- self.assertEquals(utf8, '<foo>\xc3\xbc</foo>')
++ self.assertEquals(utf8, b'<foo>\xc3\xbc</foo>')
+
+ unicodeSoup = BeautifulStoneSoup(unicodeData)
+ self.assertEquals(unicodeData, unicodeSoup.decode())
+- self.assertEquals(unicodeSoup.foo.string, u'\u00FC')
++ self.assertEquals(unicodeSoup.foo.string, '\u00FC')
+
+ utf8Soup = BeautifulStoneSoup(utf8, fromEncoding='utf-8')
+ self.assertEquals(utf8, utf8Soup.encode('utf-8'))
+@@ -696,18 +696,18 @@
+
+ def testHandleInvalidCodec(self):
+ for bad_encoding in ['.utf8', '...', 'utF---16.!']:
+- soup = BeautifulSoup(u"Räksmörgås".encode("utf-8"),
++ soup = BeautifulSoup("Räksmörgås".encode("utf-8"),
+ fromEncoding=bad_encoding)
+ self.assertEquals(soup.originalEncoding, 'utf-8')
+
+ def testUnicodeSearch(self):
+- html = u'<html><body><h1>Räksmörgås</h1></body></html>'
++ html = '<html><body><h1>Räksmörgås</h1></body></html>'
+ soup = BeautifulSoup(html)
+- self.assertEqual(soup.find(text=u'Räksmörgås'),u'Räksmörgås')
++ self.assertEqual(soup.find(text='Räksmörgås'),'Räksmörgås')
+
+ def testRewrittenXMLHeader(self):
+- euc_jp = '<?xml version="1.0 encoding="euc-jp"?>\n<foo>\n\xa4\xb3\xa4\xec\xa4\xcfEUC-JP\xa4\xc7\xa5\xb3\xa1\xbc\xa5\xc7\xa5\xa3\xa5\xf3\xa5\xb0\xa4\xb5\xa4\xec\xa4\xbf\xc6\xfc\xcb\xdc\xb8\xec\xa4\xce\xa5\xd5\xa5\xa1\xa5\xa4\xa5\xeb\xa4\xc7\xa4\xb9\xa1\xa3\n</foo>\n'
+- utf8 = "<?xml version='1.0' encoding='utf-8'?>\n<foo>\n\xe3\x81\x93\xe3\x82\x8c\xe3\x81\xafEUC-JP\xe3\x81\xa7\xe3\x82\xb3\xe3\x83\xbc\xe3\x83\x87\xe3\x82\xa3\xe3\x83\xb3\xe3\x82\xb0\xe3\x81\x95\xe3\x82\x8c\xe3\x81\x9f\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n</foo>\n"
++ euc_jp = b'<?xml version="1.0 encoding="euc-jp"?>\n<foo>\n\xa4\xb3\xa4\xec\xa4\xcfEUC-JP\xa4\xc7\xa5\xb3\xa1\xbc\xa5\xc7\xa5\xa3\xa5\xf3\xa5\xb0\xa4\xb5\xa4\xec\xa4\xbf\xc6\xfc\xcb\xdc\xb8\xec\xa4\xce\xa5\xd5\xa5\xa1\xa5\xa4\xa5\xeb\xa4\xc7\xa4\xb9\xa1\xa3\n</foo>\n'
++ utf8 = b"<?xml version='1.0' encoding='utf-8'?>\n<foo>\n\xe3\x81\x93\xe3\x82\x8c\xe3\x81\xafEUC-JP\xe3\x81\xa7\xe3\x82\xb3\xe3\x83\xbc\xe3\x83\x87\xe3\x82\xa3\xe3\x83\xb3\xe3\x82\xb0\xe3\x81\x95\xe3\x82\x8c\xe3\x81\x9f\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n</foo>\n"
+ soup = BeautifulStoneSoup(euc_jp)
+ if soup.originalEncoding != "euc-jp":
+ raise Exception("Test failed when parsing euc-jp document. "
+@@ -718,12 +718,12 @@
+ self.assertEquals(soup.originalEncoding, "euc-jp")
+ self.assertEquals(soup.renderContents('utf-8'), utf8)
+
+- old_text = "<?xml encoding='windows-1252'><foo>\x92</foo>"
++ old_text = b"<?xml encoding='windows-1252'><foo>\x92</foo>"
+ new_text = "<?xml version='1.0' encoding='utf-8'?><foo>&rsquo;</foo>"
+ self.assertSoupEquals(old_text, new_text)
+
+ def testRewrittenMetaTag(self):
+- no_shift_jis_html = '''<html><head>\n<meta http-equiv="Content-language" content="ja" /></head><body><pre>\n\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B\n</pre></body></html>'''
++ no_shift_jis_html = b'''<html><head>\n<meta http-equiv="Content-language" content="ja" /></head><body><pre>\n\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B\n</pre></body></html>'''
+ soup = BeautifulSoup(no_shift_jis_html)
+
+ # Beautiful Soup used to try to rewrite the meta tag even if the
+@@ -733,16 +733,16 @@
+ soup = BeautifulSoup(no_shift_jis_html, parseOnlyThese=strainer)
+ self.assertEquals(soup.contents[0].name, 'pre')
+
+- meta_tag = ('<meta content="text/html; charset=x-sjis" '
+- 'http-equiv="Content-type" />')
++ meta_tag = (b'<meta content="text/html; charset=x-sjis" '
++ b'http-equiv="Content-type" />')
+ shift_jis_html = (
+- '<html><head>\n%s\n'
+- '<meta http-equiv="Content-language" content="ja" />'
+- '</head><body><pre>\n'
+- '\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f'
+- '\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c'
+- '\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B\n'
+- '</pre></body></html>') % meta_tag
++ b'<html><head>\n' + meta_tag + b'\n'
++ b'<meta http-equiv="Content-language" content="ja" />'
++ b'</head><body><pre>\n'
++ b'\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f'
++ b'\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c'
++ b'\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B\n'
++ b'</pre></body></html>')
+ soup = BeautifulSoup(shift_jis_html)
+ if soup.originalEncoding != "shift-jis":
+ raise Exception("Test failed when parsing shift-jis document "
+@@ -755,59 +755,59 @@
+ content_type_tag = soup.meta['content']
+ self.assertEquals(content_type_tag[content_type_tag.find('charset='):],
+ 'charset=%SOUP-ENCODING%')
+- content_type = str(soup.meta)
++ content_type = soup.meta.decode()
+ index = content_type.find('charset=')
+ self.assertEqual(content_type[index:index+len('charset=utf8')+1],
+ 'charset=utf-8')
+ content_type = soup.meta.encode('shift-jis')
+- index = content_type.find('charset=')
++ index = content_type.find(b'charset=')
+ self.assertEqual(content_type[index:index+len('charset=shift-jis')],
+ 'charset=shift-jis'.encode())
+
+ self.assertEquals(soup.encode('utf-8'), (
+- '<html><head>\n'
+- '<meta content="text/html; charset=utf-8" '
+- 'http-equiv="Content-type" />\n'
+- '<meta http-equiv="Content-language" content="ja" />'
+- '</head><body><pre>\n'
+- '\xe3\x81\x93\xe3\x82\x8c\xe3\x81\xafShift-JIS\xe3\x81\xa7\xe3'
+- '\x82\xb3\xe3\x83\xbc\xe3\x83\x87\xe3\x82\xa3\xe3\x83\xb3\xe3'
+- '\x82\xb0\xe3\x81\x95\xe3\x82\x8c\xe3\x81\x9f\xe6\x97\xa5\xe6'
+- '\x9c\xac\xe8\xaa\x9e\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3'
+- '\x82\xa4\xe3\x83\xab\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n'
+- '</pre></body></html>'))
++ b'<html><head>\n'
++ b'<meta content="text/html; charset=utf-8" '
++ b'http-equiv="Content-type" />\n'
++ b'<meta http-equiv="Content-language" content="ja" />'
++ b'</head><body><pre>\n'
++ b'\xe3\x81\x93\xe3\x82\x8c\xe3\x81\xafShift-JIS\xe3\x81\xa7\xe3'
++ b'\x82\xb3\xe3\x83\xbc\xe3\x83\x87\xe3\x82\xa3\xe3\x83\xb3\xe3'
++ b'\x82\xb0\xe3\x81\x95\xe3\x82\x8c\xe3\x81\x9f\xe6\x97\xa5\xe6'
++ b'\x9c\xac\xe8\xaa\x9e\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3'
++ b'\x82\xa4\xe3\x83\xab\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n'
++ b'</pre></body></html>'))
+ self.assertEquals(soup.encode("shift-jis"),
+ shift_jis_html.replace('x-sjis'.encode(),
+ 'shift-jis'.encode()))
+
+- isolatin = """<html><meta http-equiv="Content-type" content="text/html; charset=ISO-Latin-1" />Sacr\xe9 bleu!</html>"""
++ isolatin = b"""<html><meta http-equiv="Content-type" content="text/html; charset=ISO-Latin-1" />Sacr\xe9 bleu!</html>"""
+ soup = BeautifulSoup(isolatin)
+
+ utf8 = isolatin.replace("ISO-Latin-1".encode(), "utf-8".encode())
+- utf8 = utf8.replace("\xe9", "\xc3\xa9")
++ utf8 = utf8.replace(b"\xe9", b"\xc3\xa9")
+ self.assertSoupEquals(soup.encode("utf-8"), utf8, encoding='utf-8')
+
+ def testHebrew(self):
+- iso_8859_8= '<HEAD>\n<TITLE>Hebrew (ISO 8859-8) in Visual Directionality</TITLE>\n\n\n\n</HEAD>\n<BODY>\n<H1>Hebrew (ISO 8859-8) in Visual Directionality</H1>\n\xed\xe5\xec\xf9\n</BODY>\n'
+- utf8 = '<head>\n<title>Hebrew (ISO 8859-8) in Visual Directionality</title>\n</head>\n<body>\n<h1>Hebrew (ISO 8859-8) in Visual Directionality</h1>\n\xd7\x9d\xd7\x95\xd7\x9c\xd7\xa9\n</body>\n'
++ iso_8859_8= b'<HEAD>\n<TITLE>Hebrew (ISO 8859-8) in Visual Directionality</TITLE>\n\n\n\n</HEAD>\n<BODY>\n<H1>Hebrew (ISO 8859-8) in Visual Directionality</H1>\n\xed\xe5\xec\xf9\n</BODY>\n'
++ utf8 = b'<head>\n<title>Hebrew (ISO 8859-8) in Visual Directionality</title>\n</head>\n<body>\n<h1>Hebrew (ISO 8859-8) in Visual Directionality</h1>\n\xd7\x9d\xd7\x95\xd7\x9c\xd7\xa9\n</body>\n'
+ soup = BeautifulStoneSoup(iso_8859_8, fromEncoding="iso-8859-8")
+ self.assertEquals(soup.encode('utf-8'), utf8)
+
+ def testSmartQuotesNotSoSmartAnymore(self):
+- self.assertSoupEquals("\x91Foo\x92 <!--blah-->",
++ self.assertSoupEquals(b"\x91Foo\x92 <!--blah-->",
+ '&lsquo;Foo&rsquo; <!--blah-->')
+
+ def testDontConvertSmartQuotesWhenAlsoConvertingEntities(self):
+- smartQuotes = "Il a dit, \x8BSacr&eacute; bl&#101;u!\x9b"
++ smartQuotes = b"Il a dit, \x8BSacr&eacute; bl&#101;u!\x9b"
+ soup = BeautifulSoup(smartQuotes)
+ self.assertEquals(soup.decode(),
+ 'Il a dit, &lsaquo;Sacr&eacute; bl&#101;u!&rsaquo;')
+ soup = BeautifulSoup(smartQuotes, convertEntities="html")
+ self.assertEquals(soup.encode('utf-8'),
+- 'Il a dit, \xe2\x80\xb9Sacr\xc3\xa9 bleu!\xe2\x80\xba')
++ b'Il a dit, \xe2\x80\xb9Sacr\xc3\xa9 bleu!\xe2\x80\xba')
+
+ def testDontSeeSmartQuotesWhereThereAreNone(self):
+- utf_8 = "\343\202\261\343\203\274\343\202\277\343\202\244 Watch"
++ utf_8 = b"\343\202\261\343\203\274\343\202\277\343\202\244 Watch"
+ self.assertSoupEquals(utf_8, encoding='utf-8')
+
+
+--- setup.py
++++ setup.py
+@@ -19,19 +19,19 @@
+ suite = loader.loadTestsFromModule(BeautifulSoupTests)
+ suite.run(result)
+ if not result.wasSuccessful():
+- print "Unit tests have failed!"
++ print("Unit tests have failed!")
+ for l in result.errors, result.failures:
+ for case, error in l:
+- print "-" * 80
++ print("-" * 80)
+ desc = case.shortDescription()
+ if desc:
+- print desc
+- print error
+- print '''If you see an error like: "'ascii' codec can't encode character...", see\nthe Beautiful Soup documentation:\n http://www.crummy.com/software/BeautifulSoup/documentation.html#Why%20can't%20Beautiful%20Soup%20print%20out%20the%20non-ASCII%20characters%20I%20gave%20it?'''
+- print "This might or might not be a problem depending on what you plan to do with\nBeautiful Soup."
++ print(desc)
++ print(error)
++ print('''If you see an error like: "'ascii' codec can't encode character...", see\nthe Beautiful Soup documentation:\n http://www.crummy.com/software/BeautifulSoup/documentation.html#Why%20can't%20Beautiful%20Soup%20print%20out%20the%20non-ASCII%20characters%20I%20gave%20it?''')
++ print("This might or might not be a problem depending on what you plan to do with\nBeautiful Soup.")
+ if sys.argv[1] == 'sdist':
+- print
+- print "I'm not going to make a source distribution since the tests don't pass."
++ print()
++ print("I'm not going to make a source distribution since the tests don't pass.")
+ sys.exit(1)
+
+ setup(name="BeautifulSoup",
diff --git a/dev-python/beautifulsoup/files/bfs-4.2.0-no-lxml.patch b/dev-python/beautifulsoup/files/bfs-4.2.0-no-lxml.patch
new file mode 100644
index 000000000000..75ae98b1ef45
--- /dev/null
+++ b/dev-python/beautifulsoup/files/bfs-4.2.0-no-lxml.patch
@@ -0,0 +1,67 @@
+=== modified file 'bs4/testing.py'
+--- bs4/testing.py 2013-05-07 12:19:02 +0000
++++ bs4/testing.py 2013-05-20 13:19:16 +0000
+@@ -464,6 +464,18 @@
+ self.assertEqual(
+ soup.encode("utf-8"), markup)
+
++ def test_formatter_processes_script_tag_for_xml_documents(self):
++ doc = """
++ <script type="text/javascript">
++ </script>
++"""
++ soup = BeautifulSoup(doc, "xml")
++ # lxml would have stripped this while parsing, but we can add
++ # it later.
++ soup.script.string = 'console.log("< < hey > > ");'
++ encoded = soup.encode()
++ self.assertTrue(b"&lt; &lt; hey &gt; &gt;" in encoded)
++
+ def test_popping_namespaced_tag(self):
+ markup = '<rss xmlns:dc="foo"><dc:creator>b</dc:creator><dc:date>2012-07-02T20:33:42Z</dc:date><dc:rights>c</dc:rights><image>d</image></rss>'
+ soup = self.soup(markup)
+
+=== modified file 'bs4/tests/test_lxml.py'
+--- bs4/tests/test_lxml.py 2013-05-09 19:36:30 +0000
++++ bs4/tests/test_lxml.py 2013-05-20 13:19:16 +0000
+@@ -10,6 +10,7 @@
+ LXML_VERSION = lxml.etree.LXML_VERSION
+ except ImportError, e:
+ LXML_PRESENT = False
++ LXML_VERSION = (0,)
+
+ from bs4 import (
+ BeautifulSoup,
+@@ -47,7 +48,7 @@
+ # test if an old version of lxml is installed.
+
+ @skipIf(
+- LXML_VERSION < (2,3,5,0),
++ not LXML_PRESENT or LXML_VERSION < (2,3,5,0),
+ "Skipping doctype test for old version of lxml to avoid segfault.")
+ def test_empty_doctype(self):
+ soup = self.soup("<!DOCTYPE>")
+
+=== modified file 'bs4/tests/test_tree.py'
+--- bs4/tests/test_tree.py 2013-05-14 12:39:16 +0000
++++ bs4/tests/test_tree.py 2013-05-20 13:19:16 +0000
+@@ -1344,18 +1344,6 @@
+ encoded = BeautifulSoup(doc).encode()
+ self.assertTrue(b"< < hey > >" in encoded)
+
+- def test_formatter_processes_script_tag_for_xml_documents(self):
+- doc = """
+- <script type="text/javascript">
+- </script>
+-"""
+- soup = BeautifulSoup(doc, "xml")
+- # lxml would have stripped this while parsing, but we can add
+- # it later.
+- soup.script.string = 'console.log("< < hey > > ");'
+- encoded = soup.encode()
+- self.assertTrue(b"&lt; &lt; hey &gt; &gt;" in encoded)
+-
+ def test_prettify_leaves_preformatted_text_alone(self):
+ soup = self.soup("<div> foo <pre> \tbar\n \n </pre> baz ")
+ # Everything outside the <pre> tag is reformatted, but everything
+
diff --git a/dev-python/beautifulsoup/metadata.xml b/dev-python/beautifulsoup/metadata.xml
new file mode 100644
index 000000000000..236732af0c82
--- /dev/null
+++ b/dev-python/beautifulsoup/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Beautiful Soup is a Python HTML/XML parser designed for quick
+ turnaround projects like screen-scraping. Two features make it
+ powerful: it won't choke if you give it bad markup and it provides a
+ few simple methods and Pythonic idioms for navigating and searching
+ a parse tree: a toolkit for dissecting a document and extracting
+ what you need.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">beautifulsoup4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/behave/Manifest b/dev-python/behave/Manifest
new file mode 100644
index 000000000000..db4416d0de7e
--- /dev/null
+++ b/dev-python/behave/Manifest
@@ -0,0 +1,2 @@
+DIST behave-1.2.4.tar.gz 343050 SHA256 24542aadd9eeb3a471076f9d880a69250052153df93122d9991938db917759ec SHA512 98360202fdccaa6cdfaf70a2a658db06b8de0017fbaeb5bd8d33ae8f009444a29f9e75eab8a4b363eb7719ef10566fad5521372285f2998cfb6e3037df706a1c WHIRLPOOL 2278500709733f9715ada2e6e178d6bb32c566c8df8ae6bc8ac3400ec66e37d9a1559c58e869becc89a8861407c658f22c695416d3617d7651629a5f2eadd6b5
+DIST behave-1.2.5.tar.gz 385738 SHA256 81b731ac5187e31e4aad2594944fa914943683a9818320846d037c5ebd6d5d0b SHA512 137ede0baed9df154087249df8dcae81ab0cdf1de91a5790fca7ccf3231ba2ba4e64623abd2b8c9bfc459ab6575f68b9ef7e03e33ef79e524d9443a8489ec7fe WHIRLPOOL 07b603da98220f35d82f11ea07042e5962c6be4ba1442c27a491c00b3260a57880bb26fbf89b510d898457675be28e63ff0c37dd5568d5905ff5e41ccb4b400d
diff --git a/dev-python/behave/behave-1.2.4.ebuild b/dev-python/behave/behave-1.2.4.ebuild
new file mode 100644
index 000000000000..a3ab59c8ed45
--- /dev/null
+++ b/dev-python/behave/behave-1.2.4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="behaviour-driven development, Python style"
+HOMEPAGE="http://github.com/behave/behave"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ doc? (
+ >=dev-python/sphinx-1.2.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-cheeseshop-0.2[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-1.8[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/parse-1.6.3[${PYTHON_USEDEP}]
+ >=dev-python/parse-type-0.3.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "nosetests failed under ${EPYTHON}"
+
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ ${TEST_DIR}/scripts/behave -f progress --junit --tags=~@xfail features/ || die "behave features failed under ${EPYTHON}"
+ ${TEST_DIR}/scripts/behave -f progress --junit --tags=~@xfail tools/test-features/ || die "behave test-festures failed under ${EPYTHON}"
+ ${TEST_DIR}/scripts/behave -f progress --junit --tags=~@xfail issue.features/ || die "behave issue.features failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( build/docs/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/behave/behave-1.2.5.ebuild b/dev-python/behave/behave-1.2.5.ebuild
new file mode 100644
index 000000000000..3b0198268960
--- /dev/null
+++ b/dev-python/behave/behave-1.2.5.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="behaviour-driven development, Python style"
+HOMEPAGE="http://github.com/behave/behave"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-cheeseshop-0.2[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-1.8[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/parse-1.6.3[${PYTHON_USEDEP}]
+ >=dev-python/parse-type-0.3.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "nosetests failed under ${EPYTHON}"
+
+ ${PYTHON} -m behave --tags='~@xfail' features/ || die "behave features failed under ${EPYTHON}"
+ ${PYTHON} -m behave --tags='~@xfail' tools/test-features/ || die "behave test-festures failed under ${EPYTHON}"
+ ${PYTHON} -m behave --tags='~@xfail' issue.features/ || die "behave issue.features failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( build/docs/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/behave/metadata.xml b/dev-python/behave/metadata.xml
new file mode 100644
index 000000000000..23aec91ad38d
--- /dev/null
+++ b/dev-python/behave/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">behave</remote-id>
+ <remote-id type="github">behave/behave</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bicyclerepair/Manifest b/dev-python/bicyclerepair/Manifest
new file mode 100644
index 000000000000..76902ac0509d
--- /dev/null
+++ b/dev-python/bicyclerepair/Manifest
@@ -0,0 +1 @@
+DIST bicyclerepair-0.9.tar.gz 165025 SHA256 69509eebaeb595ad1d14291b47c6236df97abd5893352965055d91b0cfaea116 SHA512 e80495ccd01d72964eaf3dc8cc4430215ffb563710893c52141e8393125dafd085ba485a2228fed0ceb364515efe08db1947201e73f318498788a9e3581765ff WHIRLPOOL e5472d56559ce1a8ece9c07509cf7a27218d3bf73a25be23d9e8031e8e77d51f1cf14c8dc96e92d90280ffccd19633425a48589363d098cdbf3e6b91b48ac71c
diff --git a/dev-python/bicyclerepair/bicyclerepair-0.9-r2.ebuild b/dev-python/bicyclerepair/bicyclerepair-0.9-r2.ebuild
new file mode 100644
index 000000000000..e2b20f455098
--- /dev/null
+++ b/dev-python/bicyclerepair/bicyclerepair-0.9-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils elisp-common eutils
+
+DESCRIPTION="Bicycle Repair Man is the Python Refactoring Browser"
+HOMEPAGE="http://bicyclerepair.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bicyclerepair/${P}.tar.gz"
+
+LICENSE="icu GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 x86"
+IUSE="emacs"
+
+DEPEND="emacs? (
+ app-emacs/pymacs
+ app-emacs/python-mode
+ )"
+RDEPEND="${DEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+PYTHON_MODNAME="BicycleRepairMan_Idle.py bike bikeemacs.py"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # bikeemacs.py contains non-ASCII characters in comments.
+ sed -e '1s/$/\t-*- coding: latin-1 -*-/' -i ide-integration/bikeemacs.py || die "sed failed"
+
+ epatch "${FILESDIR}/${P}-idle.patch"
+ epatch "${FILESDIR}/${P}-invalid-syntax.patch"
+}
+
+src_test() {
+ testing() {
+ "$(PYTHON)" testall.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+
+ if use emacs; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ distutils_pkg_postrm
+ use emacs && elisp-site-regen
+}
diff --git a/dev-python/bicyclerepair/bicyclerepair-0.9-r3.ebuild b/dev-python/bicyclerepair/bicyclerepair-0.9-r3.ebuild
new file mode 100644
index 000000000000..33ced0532f0a
--- /dev/null
+++ b/dev-python/bicyclerepair/bicyclerepair-0.9-r3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 elisp-common
+
+DESCRIPTION="Bicycle Repair Man is the Python Refactoring Browser"
+HOMEPAGE="http://bicyclerepair.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bicyclerepair/${P}.tar.gz"
+
+LICENSE="icu GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="emacs"
+
+DEPEND="emacs? (
+ app-emacs/pymacs[${PYTHON_USEDEP}]
+ app-emacs/python-mode )"
+RDEPEND="${DEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+
+python_prepare_all() {
+ # bikeemacs.py contains non-ASCII characters in comments.
+ sed -e '1s/$/\t-*- coding: latin-1 -*-/' -i ide-integration/bikeemacs.py || die "sed failed"
+ epatch "${FILESDIR}/${P}-idle.patch"
+ epatch "${FILESDIR}/${P}-invalid-syntax.patch"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" testall.py || die
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use emacs; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-python/bicyclerepair/files/50bicyclerepair-gentoo.el b/dev-python/bicyclerepair/files/50bicyclerepair-gentoo.el
new file mode 100644
index 000000000000..edad427b54e0
--- /dev/null
+++ b/dev-python/bicyclerepair/files/50bicyclerepair-gentoo.el
@@ -0,0 +1,10 @@
+
+;;; bicyclerepair site-lisp configuration
+
+(add-hook
+ 'python-mode-hook
+ (lambda ()
+ (unless (fboundp 'brm-menu)
+ (require 'pymacs)
+ (pymacs-load "bikeemacs" "brm-")
+ (brm-init))))
diff --git a/dev-python/bicyclerepair/files/bicyclerepair-0.9-idle.patch b/dev-python/bicyclerepair/files/bicyclerepair-0.9-idle.patch
new file mode 100644
index 000000000000..ff7e6f8d80bd
--- /dev/null
+++ b/dev-python/bicyclerepair/files/bicyclerepair-0.9-idle.patch
@@ -0,0 +1,41 @@
+=== modified file 'ide-integration/BicycleRepairMan_Idle.py'
+--- ide-integration/BicycleRepairMan_Idle.py 2008-07-21 20:08:33 +0000
++++ ide-integration/BicycleRepairMan_Idle.py 2008-07-21 20:15:02 +0000
+@@ -300,21 +300,21 @@
+ return 1
+
+
+-    def confirm_buffer_is_saved(self, editwin):
+-        if not editwin.get_saved():
+-            name = (editwin.short_title()or
+-            editwin.long_title()or
+-            "Untitled")
+-            reply = tkMessageBox.askokcancel("Bicycle Repair Man",
+-                "The buffer for %s is not saved.\n\n"%name+
+-                "Save it and continue?",
+-                master = self.editwin.text)
+-          &nbs p; self.editwin.text.focus_set()
+-            if reply:
+-                editwin.io.save(None)
+-            else:
+-                return 0
+-        return 1
++ def confirm_buffer_is_saved(self, editwin):
++ if not editwin.get_saved():
++ name = (editwin.short_title()or
++ editwin.long_title()or
++ "Untitled")
++ reply = tkMessageBox.askokcancel("Bicycle Repair Man",
++ "The buffer for %s is not saved.\n\n"%name+
++ "Save it and continue?",
++ master = self.editwin.text)
++ self.editwin.text.focus_set()
++ if reply:
++ editwin.io.save(None)
++ else:
++ return 0
++ return 1
+
+ def errorbox(self, title, message):
+ tkMessageBox.showerror(title, message, master = self.editwin.text)
+
diff --git a/dev-python/bicyclerepair/files/bicyclerepair-0.9-invalid-syntax.patch b/dev-python/bicyclerepair/files/bicyclerepair-0.9-invalid-syntax.patch
new file mode 100644
index 000000000000..c32fdb621217
--- /dev/null
+++ b/dev-python/bicyclerepair/files/bicyclerepair-0.9-invalid-syntax.patch
@@ -0,0 +1,11 @@
+=== modified file 'bike/query/getPackageDependencies.py'
+--- bike/query/getPackageDependencies.py 2008-07-21 19:37:44 +0000
++++ bike/query/getPackageDependencies.py 2008-07-21 19:38:11 +0000
+@@ -2,5 +2,5 @@
+
+ # fileInPackage is the filename of a file in the package hierarchy
+ def getPackageDependencies(fileInPackage):
+-
++ pass
+
+
diff --git a/dev-python/bicyclerepair/metadata.xml b/dev-python/bicyclerepair/metadata.xml
new file mode 100644
index 000000000000..1b45cb3d7cdc
--- /dev/null
+++ b/dev-python/bicyclerepair/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">bicyclerepair</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/billiard/Manifest b/dev-python/billiard/Manifest
new file mode 100644
index 000000000000..e490208675ea
--- /dev/null
+++ b/dev-python/billiard/Manifest
@@ -0,0 +1,3 @@
+DIST billiard-3.3.0.18.tar.gz 150594 SHA256 59c04036f314c11632a49c15c57735ffb9e111983ee8d15e4d3e188be31583c1 SHA512 8d62c1b5d3e979926cb416f6a85597cf2a959559e4f07f76f189e70cf585ef55ddbba9506bc50c2f9a88d8aa00684b7468668748edbd0530a72970334b8e2617 WHIRLPOOL 34ce61559529ca95fb9aed44917541546ce9955212954aa16b783f5ed22e36a3b7700edd46eb4961bf49b1653f9020aaf760ba67b1123b69e78e04af8e9c93fb
+DIST billiard-3.3.0.19.tar.gz 150943 SHA256 6e6b8ec6e45b89389051737c7e6215d8e55a83896eb6212fa726ca76e80c7a19 SHA512 492bbf38a7924394dd89f0528598e37ca1a93fc21bdccded396e036b2457c14a06e44de2c9b80d81e5f55bfd1559a6c5fbf1969d108089dc2b697aeaecea60ad WHIRLPOOL cb6e96a1b0c19c62ea07854e7520acb04fa716f79f499e00c24b46f0403ac80d1416fe9669d7e9e1c4955341b29d9215b2e9429d482a4ab34c710397c0fc5e2d
+DIST billiard-3.3.0.20.tar.gz 150990 SHA256 688f9466b1c3ae14106381e6dbd328115e75c5260c542eb48e6c46931f6928cc SHA512 e068be5e0bc8bc68a38dd1cec2574da25494cfac2d9b4b951af3fd9f019080a4fe402d4b407162bcc0edbd0ac4fa406a964913e4bf1dd98dbf8a937294a34321 WHIRLPOOL 41a2ae0648d7f960c569491d0dea519787e3ba779fa27e71c2dcf12e7955175cf3b9697ca750f4e164e263abd880af287f5645c0864115ef88bb0088d31b74c2
diff --git a/dev-python/billiard/billiard-3.3.0.18.ebuild b/dev-python/billiard/billiard-3.3.0.18.ebuild
new file mode 100644
index 000000000000..ca047c18b01b
--- /dev/null
+++ b/dev-python/billiard/billiard-3.3.0.18.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python multiprocessing fork"
+HOMEPAGE="http://pypi.python.org/pypi/billiard https://github.com/celery/billiard"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.4.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# The usual req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx --builder="html" --source-dir=Doc/
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ # The teardown in __init__.py breaks pypy's installed nose
+ if [[ "${EPYTHON}" == pypy ]]; then
+ rm lib/billiard/tests/__init__.py || die
+ echo "from __future__ import absolute_import" >> ./lib/billiard/tests/__init__.py || die
+ fi
+ nosetests billiard.tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( build/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/billiard/billiard-3.3.0.19.ebuild b/dev-python/billiard/billiard-3.3.0.19.ebuild
new file mode 100644
index 000000000000..bc522833d1e5
--- /dev/null
+++ b/dev-python/billiard/billiard-3.3.0.19.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python multiprocessing fork"
+HOMEPAGE="http://pypi.python.org/pypi/billiard https://github.com/celery/billiard"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.4.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy pypy3 )
+ )"
+# The usual req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx --builder="html" --source-dir=Doc/
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ # The teardown in __init__.py breaks pypy's installed nose
+ if [[ "${EPYTHON}" == pypy ]]; then
+ rm lib/billiard/tests/__init__.py || die
+ echo "from __future__ import absolute_import" >> ./lib/billiard/tests/__init__.py || die
+ fi
+ nosetests billiard.tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( build/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/billiard/billiard-3.3.0.20.ebuild b/dev-python/billiard/billiard-3.3.0.20.ebuild
new file mode 100644
index 000000000000..6654e760aa3b
--- /dev/null
+++ b/dev-python/billiard/billiard-3.3.0.20.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python multiprocessing fork"
+HOMEPAGE="http://pypi.python.org/pypi/billiard https://github.com/celery/billiard"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.4[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy pypy3 )
+ )"
+# The usual req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx --builder="html" --source-dir=Doc/
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ # The teardown in __init__.py breaks pypy's installed nose
+ if [[ "${EPYTHON}" == pypy ]]; then
+ rm lib/billiard/tests/__init__.py || die
+ echo "from __future__ import absolute_import" >> ./lib/billiard/tests/__init__.py || die
+ fi
+ nosetests billiard.tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( build/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/billiard/metadata.xml b/dev-python/billiard/metadata.xml
new file mode 100644
index 000000000000..f0333ed8cdaf
--- /dev/null
+++ b/dev-python/billiard/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">billiard</remote-id>
+ <remote-id type="github">celery/billiard</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/biplist/Manifest b/dev-python/biplist/Manifest
new file mode 100644
index 000000000000..bc9379d77f2c
--- /dev/null
+++ b/dev-python/biplist/Manifest
@@ -0,0 +1,2 @@
+DIST biplist-0.8.tar.gz 14306 SHA256 d8a9c6dff4d2a45fb3e9f27d19ea63da0a82ed59c758c34f6342badaccf6ea71 SHA512 7b2fe9b0c4080ae690f1d856a0fc7ca3bbabfed81aa4c06509d584041be4802e4e1b004bef83326f518baf1cbc147dc36b0c55e769a6b5c170fee278f7b1d9d8 WHIRLPOOL 024a283e536c6e56275d48232f3b7a134c15169ff853821e4050fb8bddc6381827e526ac107c352bb9d45bc8965b15cb0a9528580340f03efde416a70c0c8c5a
+DIST biplist-0.9.tar.gz 14591 SHA256 b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604 SHA512 d0999f6f4d23a4f4e1eaabb831750cb8d51a452b7896ed85409bb8614ba3e89e1e558688de5f5259a86503a55886887c6364d37a886d2ad5699fd067f0be7230 WHIRLPOOL 5d7a757c151737939a1759817d396a200b52074dc317fc14bb751b54b74fd36fae1f4d01036f5bb39859c6312da4ff5f438b2d0e120b1aa45cffe4c76edfd468
diff --git a/dev-python/biplist/biplist-0.8.ebuild b/dev-python/biplist/biplist-0.8.ebuild
new file mode 100644
index 000000000000..048a32dde080
--- /dev/null
+++ b/dev-python/biplist/biplist-0.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A binary plist parser/generator for Python"
+HOMEPAGE="http://pypi.python.org/pypi/biplist/ https://github.com/wooster/biplist"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ ${RDEPEND} )"
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/biplist/biplist-0.9.ebuild b/dev-python/biplist/biplist-0.9.ebuild
new file mode 100644
index 000000000000..d5bd4e69cdc1
--- /dev/null
+++ b/dev-python/biplist/biplist-0.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A binary plist parser/generator for Python"
+HOMEPAGE="http://pypi.python.org/pypi/biplist/ https://github.com/wooster/biplist"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ ${RDEPEND} )"
+
+python_test() {
+ # This failure still occurs, after 18 momths
+ # https://github.com/wooster/biplist/issues/8
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/biplist/metadata.xml b/dev-python/biplist/metadata.xml
new file mode 100644
index 000000000000..e1a3378cacbc
--- /dev/null
+++ b/dev-python/biplist/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">biplist</remote-id>
+ <remote-id type="github">wooster/biplist</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
new file mode 100644
index 000000000000..8f2e33d78665
--- /dev/null
+++ b/dev-python/bitarray/Manifest
@@ -0,0 +1 @@
+DIST bitarray-0.8.1.tar.gz 46877 SHA256 7da501356e48a83c61f479393681c1bc4b94e5a34ace7e08cb29e7dd9290ab18 SHA512 10f4872243b92cd5a1a77e1e2aca80135d31904e17cb3de4eb2c3f2c4d3f00ad0573b6bc4b9c9379594e2912cb0e5d5870fb4e59eb298e269ecb3778fbae7d1f WHIRLPOOL 93baffe0494872933e4726e9e8c37c3ae7969d621356e2a1b68b7056992d7bcb1e5362c9ae78265884c25398faddaaa7447a3e7c40b82a0528504a728ad8ada3
diff --git a/dev-python/bitarray/bitarray-0.8.1.ebuild b/dev-python/bitarray/bitarray-0.8.1.ebuild
new file mode 100644
index 000000000000..9488774f35b6
--- /dev/null
+++ b/dev-python/bitarray/bitarray-0.8.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_{3,4}})
+
+inherit distutils-r1
+
+DESCRIPTION="efficient arrays of booleans -- C extension"
+HOMEPAGE="https://github.com/ilanschnell/bitarray http://pypi.python.org/pypi/bitarray"
+SRC_URI="mirror://pypi/b/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${PYTHON}" ${PN}/test_${PN}.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/bitarray/metadata.xml b/dev-python/bitarray/metadata.xml
new file mode 100644
index 000000000000..74dd28633c05
--- /dev/null
+++ b/dev-python/bitarray/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>python</herd>
+ <longdescription>
+This module provides an object type which efficiently represents an array of
+booleans. Bitarrays are sequence types and behave very much like usual lists.
+Eight bits are represented by one byte in a contiguous block of memory. The
+user can select between two representations; little-endian and big-endian.
+Most of the functionality is implemented in C. Methods for accessing the
+machine representation are provided. This can be useful when bit level access
+to binary files is required, such as portable bitmap image files (.pbm). Also,
+when dealing with compressed data which uses variable bit length encoding,
+you may find this module useful.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">bitarray</remote-id>
+ <remote-id type="github">ilanschnell/bitarray</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest
new file mode 100644
index 000000000000..9f9fb2dc2d74
--- /dev/null
+++ b/dev-python/bitstring/Manifest
@@ -0,0 +1 @@
+DIST bitstring-3.1.1.zip 620317 SHA256 52de6257e95f923284d4c1fdce8287df65a2c677f26d73d288ed06188586ab6f SHA512 856fca0d16929e1fd6e78e9b5fe63fbbabe35bd0c49ef188b24ee0585feea36a485506a2fb8d87e1515ed4162d83c70faa5af59abfe95cef212c6ebaf9fa90d2 WHIRLPOOL 305521c110601f1145344d2423bd91f901c58f08759b4a7c0865cc342d12d9dc4f633e81fc260032e3c41aa73472aa452de476dd418cdb5051957908c7078d47
diff --git a/dev-python/bitstring/bitstring-3.1.1.ebuild b/dev-python/bitstring/bitstring-3.1.1.ebuild
new file mode 100644
index 000000000000..a69fb64ff460
--- /dev/null
+++ b/dev-python/bitstring/bitstring-3.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="A pure Python module for creation and analysis of binary data"
+HOMEPAGE="http://python-bitstring.googlecode.com/"
+SRC_URI="http://python-bitstring.googlecode.com/files/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+python_test() {
+ if [[ ${EPYTHON} == python2.6 ]]; then
+ local runner=( unit2.py )
+ else
+ local runner=( "${PYTHON}" -m unittest )
+ fi
+ pushd test > /dev/null || die
+ "${runner[@]}" discover || die "Testing failed with ${EPYTHON}"
+ popd test > /dev/null || die
+}
diff --git a/dev-python/bitstring/metadata.xml b/dev-python/bitstring/metadata.xml
new file mode 100644
index 000000000000..b748cd112f15
--- /dev/null
+++ b/dev-python/bitstring/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>A pure Python module designed to help make
+ the creation and analysis of binary data
+ as simple and natural as possible</longdescription>
+ <upstream>
+ <remote-id type="google-code">python-bitstring</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bjoern/Manifest b/dev-python/bjoern/Manifest
new file mode 100644
index 000000000000..52c914082b5b
--- /dev/null
+++ b/dev-python/bjoern/Manifest
@@ -0,0 +1,2 @@
+DIST bjoern-1.3.2.tar.gz 25878 SHA256 bb272517760897a96b3fbf0564236a4f9e0e14e05d8cdcc5f9ac2957ff0c89c0 SHA512 f96ab7f6bfdd158da398c56555a47944f30ac505ed3cb8610a3fc12fe15d5a7bbb0cdba27c858e5ccac28213504b2c68aefd0c252591e3e4d63ce70c8ac840cc WHIRLPOOL 1121cc2088686532dca96b3db4116272c162b23c327a33335763237a45fd1b12a9b0e16b5f4e901fdd162ad923238f7637b29d3190ba6fb6538cb46cd809be83
+DIST bjoern-1.4.2.tar.gz 25997 SHA256 5892ee00b04c45e0093835c9e179e52370d42add224a4a03d937f8306a54d84e SHA512 518402752c0ad4d5a930bad67a59fbd34a64506abc782749e087a2c205d318073c91743a56902dbd3097d76bc6cd2d45b09f7b393b5a94d78434ff99209e1a27 WHIRLPOOL 26a436eebb24e21235f3aedd700a5382015c7844e0c5420e8780dbaf5574d6c6cd6be941bbbeecaf6789c32840be3e6ffb51bee030d18ecd62ed51a8cced6d59
diff --git a/dev-python/bjoern/bjoern-1.3.2.ebuild b/dev-python/bjoern/bjoern-1.3.2.ebuild
new file mode 100644
index 000000000000..f4d810415df9
--- /dev/null
+++ b/dev-python/bjoern/bjoern-1.3.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="A screamingly fast Python WSGI server written in C"
+HOMEPAGE="https://github.com/jonashaag/bjoern https://pypi.python.org/pypi/bjoern/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-libs/libev
+ net-libs/http-parser"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/bjoern/bjoern-1.4.2.ebuild b/dev-python/bjoern/bjoern-1.4.2.ebuild
new file mode 100644
index 000000000000..5e40f28a4223
--- /dev/null
+++ b/dev-python/bjoern/bjoern-1.4.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="A screamingly fast Python WSGI server written in C"
+HOMEPAGE="https://github.com/jonashaag/bjoern https://pypi.python.org/pypi/bjoern/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/libev
+ net-libs/http-parser"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/bjoern/metadata.xml b/dev-python/bjoern/metadata.xml
new file mode 100644
index 000000000000..887545589dec
--- /dev/null
+++ b/dev-python/bjoern/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">bjoern</remote-id>
+ <remote-id type="github">jonashaag/bjoern</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/blaze/Manifest b/dev-python/blaze/Manifest
new file mode 100644
index 000000000000..f3837125e121
--- /dev/null
+++ b/dev-python/blaze/Manifest
@@ -0,0 +1,3 @@
+DIST blaze-0.7.1.tar.gz 760204 SHA256 2ea89bd0736530731643bf4a8f16b955b2e3bdcc2a36155af085385f6d10cd5b SHA512 cb94a4a58835bc120fc19810be03104ba9ad0b3cbc4ec6667b35b09ac9c7376934c03e897dfbeebf4161b227dac03cbd082067fba896bc07ace4dfbf21985b3f WHIRLPOOL d52b700c0127bebed2face3d3cd45436c8d2cc8b0485992f4c1b7a2f3582fdee65f55b3770a60697dd64e55008bbc1ea28a5238197daac8455c3f0ff80fbf58f
+DIST blaze-0.8.0.tar.gz 6718278 SHA256 0ec507286a15eb18ccbf87d007c88cfe9d5f254f539687455b6216cd0dc667b6 SHA512 067032d50bdd91d9beddbf6329289d00b633003f8c114e47d01b439f35d68c44f285bd9f67283f79987ab166ece0ffa8bac62444e36803f8a47108a2de847ed5 WHIRLPOOL c0e28d88fea84b1c67213b5572d19623a7cffa76a14da57eb950483013a922798dad512177e8383308d60fbac178176dd8ef05b7c168e562291ee9c4bfa5aa0c
+DIST blaze-0.8.2.tar.gz 9845331 SHA256 1f5a1dd306661a7493c95daafec07bab18fca3d99d03f1c6ab2be474afa73c01 SHA512 fc33e080e2af51606a719c12f38c14ea82de7e32e22bcb273a6e104ebb8ec7fc87e502d7fc48ba70992ce61ed624b167dc95a277dc9d0330b4a7fce4b1803df2 WHIRLPOOL 17d31889f07036e0c031c422566921f130cccb0feffbaecf5231fd916c678a725d8490bb322bb93c57aa18793296947b1318a85dabb8a5ea461e76df6d0fbd66
diff --git a/dev-python/blaze/blaze-0.7.1.ebuild b/dev-python/blaze/blaze-0.7.1.ebuild
new file mode 100644
index 000000000000..6d51d213e0bf
--- /dev/null
+++ b/dev-python/blaze/blaze-0.7.1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+# if it won't fail anyway why run it at all?
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="Next generation Python numpy"
+HOMEPAGE="http://blaze.pydata.org/"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+# Currently doc build fails, reason unclear but appears it's tied to use of
+# redhat's anaconda installer, seemingly hostile to gentoo.
+# Leaving doc build content in case this is fixed
+IUSE="doc examples test"
+
+# pyspark appears an optional dep not in portage. pyskit appears to be dropped
+# pyparsing lokks to be required still despite its absence from requirements.txt
+PY2_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND="
+ >=dev-python/blz-0.6.2[${PYTHON_USEDEP}]
+ =dev-python/datashape-0.4*[${PYTHON_USEDEP}]
+ >=dev-python/dynd-python-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/cytoolz[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/unicodecsv[${PY2_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10.1[${PY2_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/pytables[${PYTHON_USEDEP}]
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/into[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ "
+DEPEND="
+ >=dev-python/cython-0.18[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/bokeh[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pyyaml[${PYTHON_USEDEP}] )
+ "
+# Currently doc build fails, reason unclear but appears it's tied to use of
+# redhat's anaconda installer, seemingly hostile to gentoo.
+
+python_prepare_all() {
+ # Prevent d'loading. Use this for now. Flagged for improved fix later.
+ sed -e "s: 'sphinx.ext.intersphinx',::" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+#python_compile_all() {
+# use doc && emake -C docs html
+#}
+
+python_test() {
+ # https://github.com/ContinuumIO/blaze/issues/791
+ cd "${BUILD_DIR}"/lib || die
+ "${PYTHON}" -c 'import blaze; blaze.test()' || die
+}
+
+python_install_all() {
+# use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( blaze/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/blaze/blaze-0.8.0.ebuild b/dev-python/blaze/blaze-0.8.0.ebuild
new file mode 100644
index 000000000000..a625376e40ca
--- /dev/null
+++ b/dev-python/blaze/blaze-0.8.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Next generation Python numpy"
+HOMEPAGE="http://blaze.pydata.org/"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+# Currently doc build fails, reason now, attempt to import mystery modules in datashape
+# Leaving doc build content in case this is fixed
+IUSE="doc examples test"
+
+# pyspark appears an optional dep not in portage. pyskit appears to be dropped
+# some packages including pyparsing appear required despite their absence from requirements.txt
+
+RDEPEND="
+ <dev-python/datashape-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/dynd-python-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/cytoolz[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15.0[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/unicodecsv[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.8[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/into[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numba-0.18.2[${PYTHON_USEDEP}]
+ dev-python/bcolz[${PYTHON_USEDEP}]
+ >=dev-python/odo-0.3.1[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/cython-0.18[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/bokeh[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )
+ "
+# Currently doc build fails, reason unclear but appears it's tied to use of
+# redhat's anaconda installer, seemingly hostile to gentoo.
+
+python_prepare_all() {
+ # Prevent d'loading. Use this for now. Flagged for improved fix later.
+ sed -e "s: 'sphinx.ext.intersphinx',::" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/ContinuumIO/blaze/issues/1117
+ # skip test requiring a server daemon
+ # 3 known test failures + 1 error but all 4 already resolved upstream
+ # For now await next release
+ py.test --ignore blaze/compute/tests/test_mongo_compute.py blaze \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+# use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( blaze/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/blaze/blaze-0.8.2.ebuild b/dev-python/blaze/blaze-0.8.2.ebuild
new file mode 100644
index 000000000000..19f6b604f27d
--- /dev/null
+++ b/dev-python/blaze/blaze-0.8.2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Next generation Python numpy"
+HOMEPAGE="http://blaze.pydata.org/"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+# Currently doc build fails, reason now, attempt to import mystery modules in datashape
+# Leaving doc build content in case this is fixed
+IUSE="examples test"
+
+# pyspark appears an optional dep not in portage. pyskit appears to be dropped
+# some packages including pyparsing appear required despite their absence from requirements.txt
+
+RDEPEND="
+ <dev-python/datashape-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/dynd-python-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/cytoolz[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15.0[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/unicodecsv[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.8[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/into[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numba[${PYTHON_USEDEP}]
+ dev-python/bcolz[${PYTHON_USEDEP}]
+ >=dev-python/odo-0.3.1[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/cython-0.18[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}] )
+ "
+# It was found on testing that dev-python/chardet is required for tests
+# despite not being inlcuded in requirements.txt
+# The doc build now fails due to dep bokeh failing to emerge. Deleted.
+
+python_test() {
+ # https://github.com/ContinuumIO/blaze/issues/1117
+ # skip test requiring a server daemon
+ # Tally of known failure reduced to one under py2.7 (test_highly_nested_repr)
+ # and 2 under py3. The failure of test_query_with_strings persists
+ # under python3 and appears to be unaddressed upstream.
+ # Changes in the suite in this version require PYTHONPATH set to ${S}
+ # to avoid spurious errors resulting from the change of path set by the eclass.
+
+ einfo "The test suite has 4 additional failures with package numba installed"
+ einfo "Upstream have been informed via /blaze/issues/1117 @ github.com/"
+ einfo "For optimum results, uninstall numba, but it counters protocol to exclude"
+ einfo "dev-python/numba from dependencies in the ebuild"
+
+ PYTHONPATH="${S}" py.test --ignore blaze/compute/tests/test_mongo_compute.py blaze \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( blaze/examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/blaze/metadata.xml b/dev-python/blaze/metadata.xml
new file mode 100644
index 000000000000..e2f6a14c9bde
--- /dev/null
+++ b/dev-python/blaze/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Blaze is the next-generation of NumPy. It is designed as a
+ foundational set of abstractions on which to build out-of-core and
+ distributed algorithms over a wide variety of data sources and to
+ extend the structure of NumPy itself.
+</longdescription>
+ <upstream>
+ <remote-id type="github">ContinuumIO/blaze</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bleach/Manifest b/dev-python/bleach/Manifest
new file mode 100644
index 000000000000..065bab110d8a
--- /dev/null
+++ b/dev-python/bleach/Manifest
@@ -0,0 +1 @@
+DIST bleach-1.4.1.tar.gz 17449 SHA256 152af29d4580b112fc52966864492791c951e6382b56070e95e128c6b614833b SHA512 247dd02e3123149f8c0dd72e91e3942055d560be791f275ce52ce0250406033b2adfb47e257cb6af2dfd3dfc167ed6434c4cf4b906303e2cd96359d77b55482c WHIRLPOOL 015b4fb0d825201cc59188caf8d94e3d3b1af336ee3f0c787e07d8a73ec32f727c6640828e694b21e2dd255253416e25e11e44d8932bbbca5571494096b75020
diff --git a/dev-python/bleach/bleach-1.4.1.ebuild b/dev-python/bleach/bleach-1.4.1.ebuild
new file mode 100644
index 000000000000..c6b262c6be0a
--- /dev/null
+++ b/dev-python/bleach/bleach-1.4.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="an easy whitelist-based HTML-sanitizing tool"
+HOMEPAGE="https://github.com/jsocol/bleach https://pypi.python.org/pypi/bleach"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/html5lib-0.999[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/nose-1.3[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/bleach/metadata.xml b/dev-python/bleach/metadata.xml
new file mode 100644
index 000000000000..0d1b788bc7f1
--- /dev/null
+++ b/dev-python/bleach/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">bleach</remote-id>
+ <remote-id type="github">jsocol/bleach</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/blessings/Manifest b/dev-python/blessings/Manifest
new file mode 100644
index 000000000000..4da0a2cde822
--- /dev/null
+++ b/dev-python/blessings/Manifest
@@ -0,0 +1 @@
+DIST blessings-1.6.tar.gz 19974 SHA256 edc5713061f10966048bf6b40d9a514b381e0ba849c64e034c4ef6c1847d3007 SHA512 5d0fc365416bf2b36b6de72f6b8c01bf0ab8df4a0148f492c80056a9ebd5d569e9c01966481e0d70a25add16da2bc3e73be933226369abca533ce019f97479f2 WHIRLPOOL 44dc96c1da174465b5dc3dd38c4d7ccc17408d072d290819c52d33e7e249bbbf428c7ee217faf3ec6acbe1e620b5e0cb2627c4dc3f0162cb21a810ce50e8b1c6
diff --git a/dev-python/blessings/blessings-1.6.ebuild b/dev-python/blessings/blessings-1.6.ebuild
new file mode 100644
index 000000000000..a7c135ae3b49
--- /dev/null
+++ b/dev-python/blessings/blessings-1.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A thin, practical wrapper around terminal coloring, styling, and positioning"
+HOMEPAGE="https://github.com/erikrose/blessings https://pypi.python.org/pypi/blessings/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/nose[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ nosetests --verbosity=3 ${PN} || die
+}
diff --git a/dev-python/blessings/metadata.xml b/dev-python/blessings/metadata.xml
new file mode 100644
index 000000000000..f960f682fb0e
--- /dev/null
+++ b/dev-python/blessings/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">blessings</remote-id>
+ <remote-id type="github">erikrose/blessings</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/blinker/Manifest b/dev-python/blinker/Manifest
new file mode 100644
index 000000000000..9182416044fb
--- /dev/null
+++ b/dev-python/blinker/Manifest
@@ -0,0 +1,2 @@
+DIST blinker-1.3.tar.gz 91551 SHA256 6811010809262261e41ab7b92f3f6d23f35cf816fbec2bc05077992eebec6e2f SHA512 54364234c57dde8059fb9782327cb72ba534d40d650a8fe1ca7b51e4a1c2dbef2b74071681ee934f6f5f24749b6a9ca1371989c39bf4a225be5e8852757588e9 WHIRLPOOL 12a17bc47206c6c10450a0520eb0c2b9b91d838c5555cce8944cff85c164790b44dd6d26e1efd804d11bef42fafffcf67ea98a315e6e5a0e4d1cffeb2a28b44d
+DIST blinker-1.4.tar.gz 111476 SHA256 471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6 SHA512 2f5f71b05c7cc27f5761ba698b05c78c8a491f5285c120e532d24be0c8256daa14e075f3f30e15fb18e7c3f16579af9378a155d058f170e3af9ffdb89e49f56e WHIRLPOOL f9554c6476310c82d8e66cea7d57297478373543b894ba8993bd3b390078ccc0b997eaa4ddfc849acfdf7687be3e61ce89303161a4117dcd02f9363440c4cf6a
diff --git a/dev-python/blinker/blinker-1.3.ebuild b/dev-python/blinker/blinker-1.3.ebuild
new file mode 100644
index 000000000000..08d81b148193
--- /dev/null
+++ b/dev-python/blinker/blinker-1.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
+HOMEPAGE="http://discorporate.us/projects/Blinker/ http://pypi.python.org/pypi/blinker"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ pushd docs/html > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static
+ popd > /dev/null
+ fi
+}
diff --git a/dev-python/blinker/blinker-1.4.ebuild b/dev-python/blinker/blinker-1.4.ebuild
new file mode 100644
index 000000000000..59655b9b5870
--- /dev/null
+++ b/dev-python/blinker/blinker-1.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
+HOMEPAGE="http://discorporate.us/projects/Blinker/ http://pypi.python.org/pypi/blinker"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ pushd docs/html > /dev/null
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static
+ popd > /dev/null
+ fi
+}
diff --git a/dev-python/blinker/metadata.xml b/dev-python/blinker/metadata.xml
new file mode 100644
index 000000000000..2bc8d359b50f
--- /dev/null
+++ b/dev-python/blinker/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">blinker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/blockcanvas/Manifest b/dev-python/blockcanvas/Manifest
new file mode 100644
index 000000000000..a5d4dde62bfc
--- /dev/null
+++ b/dev-python/blockcanvas/Manifest
@@ -0,0 +1 @@
+DIST blockcanvas-4.0.3.tar.gz 1125887 SHA256 8cbd5d19cbb2008596ef0deb554988f9af480d81328ec58f1225dc1170517b9e SHA512 c74bebceafca28646186c72efd20168113cc62ac17b598e12074d029dce1803a601aafba31b5a305bdbf6d74d5d7bf29614b917e21bd54df7db123701ea770c1 WHIRLPOOL b1bae62c91d3d35ebe3cdaeca375ab2568951c97c4d7541a57dc64557565749968b99b615cf4f7bd37c30293bc642bcc544e697fb17efe580e6e0b9b9f6909fc
diff --git a/dev-python/blockcanvas/blockcanvas-4.0.3-r1.ebuild b/dev-python/blockcanvas/blockcanvas-4.0.3-r1.ebuild
new file mode 100644
index 000000000000..ad29111688b7
--- /dev/null
+++ b/dev-python/blockcanvas/blockcanvas-4.0.3-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Numerical modeling"
+HOMEPAGE="http://code.enthought.com/projects/block_canvas/ http://pypi.python.org/pypi/blockcanvas"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT=test
+
+RDEPEND=">=dev-python/apptools-4[${PYTHON_USEDEP}]
+ >=dev-python/chaco-4[${PYTHON_USEDEP}]
+ >=dev-python/codetools-4[${PYTHON_USEDEP}]
+ >=dev-python/etsdevtools-4[${PYTHON_USEDEP}]
+ >=dev-python/pyface-4[${PYTHON_USEDEP}]
+ >=dev-python/scimath-4[${PYTHON_USEDEP}]
+ >=dev-python/traitsui-4[${PYTHON_USEDEP}]
+ dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+DOCS=( docs/{notes.txt,readme.txt} )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests -v" virtualmake
+}
+
+python_install_all() {
+ use doc && local DOHTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/blockcanvas/metadata.xml b/dev-python/blockcanvas/metadata.xml
new file mode 100644
index 000000000000..b369e5fc9be7
--- /dev/null
+++ b/dev-python/blockcanvas/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Enthought Tool Suite BlockCanvas project provides a visual
+ environment for creating simulation experiments, where function
+ and data are separated. Thus, you can define your simulation
+ algorithm by visually connecting function blocks into a data flow
+ network, and then run it with various data sets (known as
+ "contexts"); likewise, you can use the same context in a different
+ functional simulation.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/blosc/Manifest b/dev-python/blosc/Manifest
new file mode 100644
index 000000000000..a4ce221cbcb2
--- /dev/null
+++ b/dev-python/blosc/Manifest
@@ -0,0 +1,3 @@
+DIST blosc-1.2.0.tar.gz 221882 SHA256 d740c1bd6440c5fd7203006538b6c626361fba705ce9ce8f36c400ddb2f50fec SHA512 85db692d3a68ebeacaaf3759807c386e05a13fbad873379d13fc2f2b7470929a3e6cbe7f37c952740e412eecb2cb83bed194e0f4f7af1ef2c934d5478cd93ce1 WHIRLPOOL aa81df21b15382f388fe746a7f9ab0f2ec9eaf82c56bcbd19edb03fb73ce527c6ff70d30461440e27a4292fcdb9f1d43ce039a3a6c2d9b0101f1a4441d2e1a61
+DIST blosc-1.2.1.tar.gz 225560 SHA256 41de5b3a129cb145e192a0f3e62b09b74da311b0750ad50ffcd4aaf8fcf6cfbe SHA512 1ec017b17313ca788ae96a54cdf57a8c770dc5c6eb7b2d13ff94c0c44e9adbced28a22a17497bc748955d756a799305f603d64fd882cefb5cd8068b6b46e8667 WHIRLPOOL 7ba45764eb15f21f2cacee32cbfdd6083d5dd1dcdb88fb0614429dc75e4f1edd311e7127932371a706beee5293963498b5f0b8f194f9d188d8da390e8201d409
+DIST blosc-1.2.3.tar.gz 225781 SHA256 46f796ae1360b3f1580a16dc7f9f2b88b019b4f5f013bec3b84ca9ef6c859da8 SHA512 85b5280f1cbc2163e1115a365aa8a47a1ae496795558f53ed78b1e81ab661a4187d3557cf8890b2a33fd0052a6cc88ac60dc1ea7e382cbf601ed83b440900cc8 WHIRLPOOL d4fb113755b2f98cb1d56976d82a38af1b3bfa2011a26d4a154eb3e9f8af14fc3975f29b643439031ecbf92813126f89aebeda123f8156e2bcc0db45dc9da96a
diff --git a/dev-python/blosc/blosc-1.2.0.ebuild b/dev-python/blosc/blosc-1.2.0.ebuild
new file mode 100644
index 000000000000..cc9c556e97cd
--- /dev/null
+++ b/dev-python/blosc/blosc-1.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="http://blosc.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/c-blosc"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # remove forced sse2
+ sed -i "s|CFLAGS\.append(\"-msse2\")|pass|" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ nosetests -v || die
+}
diff --git a/dev-python/blosc/blosc-1.2.1.ebuild b/dev-python/blosc/blosc-1.2.1.ebuild
new file mode 100644
index 000000000000..cc9c556e97cd
--- /dev/null
+++ b/dev-python/blosc/blosc-1.2.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="http://blosc.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/c-blosc"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # remove forced sse2
+ sed -i "s|CFLAGS\.append(\"-msse2\")|pass|" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ nosetests -v || die
+}
diff --git a/dev-python/blosc/blosc-1.2.3.ebuild b/dev-python/blosc/blosc-1.2.3.ebuild
new file mode 100644
index 000000000000..54242f1311b3
--- /dev/null
+++ b/dev-python/blosc/blosc-1.2.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="http://blosc.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=">=dev-libs/c-blosc-1.3.5"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # remove forced sse2
+ sed -i "s|CFLAGS\.append(\"-msse2\")|pass|" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ nosetests -v || die
+}
diff --git a/dev-python/blosc/metadata.xml b/dev-python/blosc/metadata.xml
new file mode 100644
index 000000000000..be632b34fb65
--- /dev/null
+++ b/dev-python/blosc/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ blosc is a high performance compressor optimized
+ for binary data. It has been designed to transmit data to the
+ processor cache faster than the traditional, non-compressed, direct
+ memory fetch approach via a memcpy() OS call.
+ Blosc works well for compressing numerical arrays that contains data
+ with relatively low entropy, like sparse data, time series, grids with
+ regular-spaced values, etc.
+ python-blosc a Python package that wraps Blosc.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">blosc</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/bluelet/Manifest b/dev-python/bluelet/Manifest
new file mode 100644
index 000000000000..ffdd1df610a9
--- /dev/null
+++ b/dev-python/bluelet/Manifest
@@ -0,0 +1 @@
+DIST bluelet-0.2.0.tar.gz 14182 SHA256 4af029c8247be0b4852c8e92a745178882fa7fe5d4e669e1788184581fad3f01 SHA512 58bd8df4b61f23a53f9310b68e5754155c00d598c9bcb7724e90ef6722ee5d6017751c2e056eaaa64cca71b89c391d248c14477457f30ebf2b28841a3fdc98fa WHIRLPOOL b29994733f5d6735adc9e97a83bfa86d9ca56c39ef090003923dd7ed1bedc3528ca9dea80d86fd1e429dfec09f01b6f0bee2006377c7af03ce103ed68c374f7a
diff --git a/dev-python/bluelet/bluelet-0.2.0.ebuild b/dev-python/bluelet/bluelet-0.2.0.ebuild
new file mode 100644
index 000000000000..69eeda994529
--- /dev/null
+++ b/dev-python/bluelet/bluelet-0.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for pure Python asynchronous I/O using coroutines"
+HOMEPAGE="http://pypi.python.org/pypi/bluelet"
+SRC_URI="https://github.com/sampsyo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ if use examples; then
+ docompress -x usr/share/doc/${P}/demo
+ dodoc -r demo/
+ fi
+}
diff --git a/dev-python/bluelet/metadata.xml b/dev-python/bluelet/metadata.xml
new file mode 100644
index 000000000000..fdb746fc31a5
--- /dev/null
+++ b/dev-python/bluelet/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+Bluelet is a simple, pure-Python solution for writing intelligible asynchronous socket applications. It uses PEP 342 coroutines to make concurrent I/O look and act like sequential programming.
+
+In this way, it is similar to the Greenlet green-threads library and its associated packages Eventlet and Gevent. Bluelet has a simpler, 100% Python implementation that comes at the cost of flexibility and performance when compared to Greenlet-based solutions. However, it should be sufficient for many applications that don't need serious scalability; it can be thought of as a less-horrible alternative to asyncore or an asynchronous replacement for SocketServer (and more).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">sampsyo/bluelet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/blz/Manifest b/dev-python/blz/Manifest
new file mode 100644
index 000000000000..9c21f3272b4b
--- /dev/null
+++ b/dev-python/blz/Manifest
@@ -0,0 +1 @@
+DIST blz-0.6.2.tar.gz 370711 SHA256 8a019b77f8079706a3a6eb90248c5fe0572c2f4b1cf8c23468ea87b9ba58722b SHA512 d71d3175d92002e8101e58e637f5d1212a4ef6e305e1c9232dd766ed06c3d47da38482849aa0820a45db0e6b0c93849ad17d21537befa55ca11895e383cc89cc WHIRLPOOL e072a736b9fde448bea5a80f63ca848e25fb05d70f5b42df5c000fd61e2267c099402c95ba6980fb43b14b966330cf97023d053d3c127fbef8fbd34e33ac1b25
diff --git a/dev-python/blz/blz-0.6.2.ebuild b/dev-python/blz/blz-0.6.2.ebuild
new file mode 100644
index 000000000000..f57e6b047d16
--- /dev/null
+++ b/dev-python/blz/blz-0.6.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Chunked, compressed, Python data container for memory and disk"
+HOMEPAGE="http://blz.pydata.org/"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/c-blosc
+ >=dev-python/numexpr-2.2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ >=dev-python/cython-0.19[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+
+python_prepare_all() {
+ export BLOSC_DIR="${EPREFIX}/usr"
+ # remove forced sse2
+ sed -i "s|CFLAGS\.append(\"-msse2\")|pass|" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c 'import blz; blz.test()' || die
+}
+
+python_install_all() {
+ # doc needs obsolete sphnxjp package
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/blz/metadata.xml b/dev-python/blz/metadata.xml
new file mode 100644
index 000000000000..eaebb3b02d2a
--- /dev/null
+++ b/dev-python/blz/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ BLZ is a chunked container for numerical data. Chunking allows for
+ efficient enlarging/shrinking of data container. In addition, it can
+ also be compressed for reducing memory/disk needs. The compression
+ process is carried out internally by Blosc, a high-performance
+ compressor that is optimized for binary data.
+</longdescription>
+ <upstream>
+ <remote-id type="github">ContinuumIO/blz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bokeh/Manifest b/dev-python/bokeh/Manifest
new file mode 100644
index 000000000000..8a4393da9717
--- /dev/null
+++ b/dev-python/bokeh/Manifest
@@ -0,0 +1 @@
+DIST bokeh-0.7.1.tar.gz 30039486 SHA256 167125e07df2ea1f65b1b6dfed140b7b6ed7452a1182ad4cb0be2580af537f73 SHA512 cf2ee6457cab7ca0a98c2cf19a7814e081245b30cf6f4f4670f8fc60b216bb39f14d3cdf52c92f85635cbf6419db00c0c01adb2e1a6eeaa019cdc767c642c160 WHIRLPOOL 23e66370f1cab2d3a3c40b0713e5cdb50afa7aeec1c2d1172a1d9a5598c004dd351509973ac84f24ebb30dbc5a86de455e1dfcbe00daf6a1d12c3e336122a2b8
diff --git a/dev-python/bokeh/bokeh-0.7.1.ebuild b/dev-python/bokeh/bokeh-0.7.1.ebuild
new file mode 100644
index 000000000000..06993090ae63
--- /dev/null
+++ b/dev-python/bokeh/bokeh-0.7.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 readme.gentoo
+
+DESCRIPTION="Statistical and interactive HTML plots for Python"
+HOMEPAGE="http://bokeh.pydata.org/"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+# A doc build requires napoleon sphinx extension which will be included in sphinx release 1.3
+# Therefore refraining from adding the doc build for now
+RDEPEND="
+ >=dev-python/colorama-0.2.7[${PYTHON_USEDEP}]
+ >=dev-python/click-3.3[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.21[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.7[${PYTHON_USEDEP}]
+ >=dev-python/markdown-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-0.18[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.11[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.6[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ >=dev-python/pystache-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013b[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.7.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.9.1[${PYTHON_USEDEP}]
+ >=net-libs/nodejs-0.8.28[npm]
+ >=www-client/phantomjs-1.9.8
+ >=www-servers/tornado-4.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/gevent-1.0[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep '>=dev-python/gevent-websocket-0.9.2[${PYTHON_USEDEP}]' python2_7)
+ "
+# testing server: needs websocket not in portage yet
+# websocket is in pypi for the adding
+# hdf5 backend: needs array management not in portage yet
+DEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/colorama-0.2.7[${PYTHON_USEDEP}] )
+ "
+DOCS=( CHANGELOG QUICKSTART.md README.md )
+
+PATCHES=( "${FILESDIR}"/${P}-setup.patch )
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_prepare_all() {
+ DOC_CONTENTS="websockets work only with python2_7"
+
+ sed -i -e "s/jsbuild = get_user_jsargs()/jsbuild = False/g" setup.py || die
+ cd bokehjs || die
+ npm install ||die
+ cd .. || die
+ esetup.py --build_js sdist
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ readme.gentoo_create_doc
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ # exclude server tests for now
+ nosetests -v \
+ -e multiuser_auth_test \
+ -e usermodel_test \
+ || die
+}
diff --git a/dev-python/bokeh/files/bokeh-0.7.1-setup.patch b/dev-python/bokeh/files/bokeh-0.7.1-setup.patch
new file mode 100644
index 000000000000..39ea156cc3b7
--- /dev/null
+++ b/dev-python/bokeh/files/bokeh-0.7.1-setup.patch
@@ -0,0 +1,17 @@
+Remove inappropriate check for a previous installation.
+
+Original patch for bokek 0.5.0 (0.5.0-setup.patch).
+Ported for bokeh 0.7.1 by Marius Brehler.
+
+http://bugs.gentoo.org/527336
+
+--- setup.py
++++ setup.py.new
+@@ -348,7 +348,6 @@ path = abspath(dirname(__file__))
+
+ print()
+ if 'develop' in sys.argv:
+- check_remove_bokeh_install(site_packages)
+ with open(path_file, "w+") as f:
+ f.write(path)
+ print("Installing Bokeh for development:")
diff --git a/dev-python/bokeh/metadata.xml b/dev-python/bokeh/metadata.xml
new file mode 100644
index 000000000000..e88bff661521
--- /dev/null
+++ b/dev-python/bokeh/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Bokeh is a Python interactive visualization library for large
+ datasets that natively uses the latest web technologies. Its goal is
+ to provide elegant, concise construction of novel graphics in the
+ style of Protovis/D3, while delivering high-performance
+ interactivity over large data to thin clients.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">bokeh</remote-id>
+ <remote-id type="github">ContinuumIO/bokeh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/boto/Manifest b/dev-python/boto/Manifest
new file mode 100644
index 000000000000..c09f071fe681
--- /dev/null
+++ b/dev-python/boto/Manifest
@@ -0,0 +1,5 @@
+DIST boto-2.27.0.tar.gz 6789802 SHA256 5b20c6c22177c8048b4299bed7c357b6418932abd434c277c5b6050a18dc284b SHA512 56caf13c0e9ccfe13a36f986f69f4f5630c4ced7558adb9a982bad4cad63828a958fcf7406954a3311ab0b5654c9804739655a121f82e661f1dc3db065529e54 WHIRLPOOL 9404b92a33b20d376a14a57a64df9c71382a17d1bde51a9674c526f9d3f4c988b25fc493dfdb844bf664587d18e5a749774f21f35694d1d9983ae3d18b32f3d8
+DIST boto-2.31.1.tar.gz 7078455 SHA256 dadccbe69a9f8d858506bb9b14ff288fa91b81dec1fefd8867792324b8cb33f3 SHA512 473f8c83dfe73ee9d5a3cb694793b99543264a7ef3b54346d11a5136e8b26b40fb8b1d7c9a23deaf34fb962ddf90923c6399f7cc3c8d6a1f5aa492d9a070393c WHIRLPOOL 6ac0cf73c4216ef18cecf591c7108651f1e1636d6863c5f31378965e9f7453dc42b36de032bcdee7956ba98694e1e706ef086df6923782b6266b5f9e09a072a9
+DIST boto-2.34.0.tar.gz 7302242 SHA256 33baab022ecb803414ad0d6cf4041d010cfc2755ff8acc3bea7b32e77ba98be0 SHA512 5784ab3eb785784fa348f9f572d8e885d297d0e569f503229f0ae3aa66389699c9fe21cd1737e20a9683735dc4e7a765aa2345b013c75a3292ed5995f20699d2 WHIRLPOOL 33c42d3f012410e9f3acead7293073dfea3e97cffa93248d735a76266480ab912935d8300839ef742820f1ed1a093dbf5555c163bd8ee34cf28f09a62a01dff5
+DIST boto-2.35.1.tar.gz 1367029 SHA256 62604f0fdf68a2b9a6c6bd5111c82e10281b498695152d21f56c9e4a0691d45d SHA512 4be15cbb4ccc9f984fed11213ce1e64fefe7adbc747314dc0030928f2876b55322344f325228d95209e0411ef22fe1a3bede91ffbf3e9eed1a1a2d2507bff92d WHIRLPOOL 060f3e2483a3a5be26b67a2a94df2f88a9eccb3f62cc4020e26b7ac0111d30d938638641f4c83c71095602d5b79e365de6211f884b4adbeacf6d7187bb04d071
+DIST boto-2.38.0.tar.gz 1423863 SHA256 d9083f91e21df850c813b38358dc83df16d7f253180a1344ecfedce24213ecf2 SHA512 577672007348db846d041c0906806c62eb77653b1335645cc852c603f5d32991ca648aacb884676af02043914c91ab6f41666b36b5b1ae23a3a354bdf9f3f75a WHIRLPOOL de704484ed38a0d0322ef289fd0657b6d1141c0f77aa6725e338dd51d78bed39a7ef1ebdec54a659d83dae30c14196f2410507d9aeec070126bbe13565b210ba
diff --git a/dev-python/boto/boto-2.27.0.ebuild b/dev-python/boto/boto-2.27.0.ebuild
new file mode 100644
index 000000000000..817052415cd2
--- /dev/null
+++ b/dev-python/boto/boto-2.27.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Amazon Web Services API"
+HOMEPAGE="https://github.com/boto/boto http://pypi.python.org/pypi/boto"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# requires Amazon Web Services keys to pass some tests
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/boto/boto-2.31.1.ebuild b/dev-python/boto/boto-2.31.1.ebuild
new file mode 100644
index 000000000000..22b83cbe8f00
--- /dev/null
+++ b/dev-python/boto/boto-2.31.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Amazon Web Services API"
+HOMEPAGE="https://github.com/boto/boto http://pypi.python.org/pypi/boto"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# requires Amazon Web Services keys to pass some tests
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/boto/boto-2.34.0.ebuild b/dev-python/boto/boto-2.34.0.ebuild
new file mode 100644
index 000000000000..22b83cbe8f00
--- /dev/null
+++ b/dev-python/boto/boto-2.34.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Amazon Web Services API"
+HOMEPAGE="https://github.com/boto/boto http://pypi.python.org/pypi/boto"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# requires Amazon Web Services keys to pass some tests
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/boto/boto-2.35.1.ebuild b/dev-python/boto/boto-2.35.1.ebuild
new file mode 100644
index 000000000000..7bcd75f73f50
--- /dev/null
+++ b/dev-python/boto/boto-2.35.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Amazon Web Services API"
+HOMEPAGE="https://github.com/boto/boto http://pypi.python.org/pypi/boto"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# requires Amazon Web Services keys to pass some tests
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" tests/test.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto/boto-2.38.0.ebuild b/dev-python/boto/boto-2.38.0.ebuild
new file mode 100644
index 000000000000..3bc86070a3ce
--- /dev/null
+++ b/dev-python/boto/boto-2.38.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Amazon Web Services API"
+HOMEPAGE="https://github.com/boto/boto http://pypi.python.org/pypi/boto"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# requires Amazon Web Services keys to pass some tests
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" tests/test.py -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # Appease the doc build and supply a file for _static
+ # the usual emake -C docs doesn't work under this authorship
+ cd docs && mkdir source/_static || die
+ emake html
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto/metadata.xml b/dev-python/boto/metadata.xml
new file mode 100644
index 000000000000..2ecc58207366
--- /dev/null
+++ b/dev-python/boto/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">boto</remote-id>
+ <remote-id type="pypi">boto</remote-id>
+ <remote-id type="github">boto/boto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
new file mode 100644
index 000000000000..49c32669716a
--- /dev/null
+++ b/dev-python/boto3/Manifest
@@ -0,0 +1 @@
+DIST boto3-1.1.1.tar.gz 137778 SHA256 02a99f270f58386dad6e260692b52f7038d52a9a84df29878528a573afecd88a SHA512 34019c8a3744775a952ae151b56747fc011fd4f28853e3d206f95bb8dd03746ad3d4086cd187d332930d543ca757d81bb732ccfd7cfd818aa8e75d73b1880be5 WHIRLPOOL 0032f5751df61bd71d60ea87ece0ce1be873a6fcd561d7600fcf62f1dd7b701963629368b46010b7a90719395adc652ca5059646af42510d72c05b7e3c5cf49e
diff --git a/dev-python/boto3/boto3-1.1.1.ebuild b/dev-python/boto3/boto3-1.1.1.ebuild
new file mode 100644
index 000000000000..2b98eeb21f6b
--- /dev/null
+++ b/dev-python/boto3/boto3-1.1.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="https://github.com/boto/boto3"
+SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/botocore-1.1.0[${PYTHON_USEDEP}]
+ <dev-python/botocore-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.6.2[${PYTHON_USEDEP}]
+ <dev-python/jmespath-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '=dev-python/futures-2.2.0[${PYTHON_USEDEP}]' 'python2_7')
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/guzzle_sphinx_theme-0.7.10[${PYTHON_USEDEP}]
+ <dev-python/guzzle_sphinx_theme-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.3[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests tests/unit/ tests/functional/ || die "test failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/metadata.xml b/dev-python/boto3/metadata.xml
new file mode 100644
index 000000000000..d22785df0a60
--- /dev/null
+++ b/dev-python/boto3/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">boto/boto3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
new file mode 100644
index 000000000000..2790a5c355eb
--- /dev/null
+++ b/dev-python/botocore/Manifest
@@ -0,0 +1,2 @@
+DIST botocore-1.1.3.tar.gz 1951206 SHA256 1cb1ed85a46090030bebda39487e31baa44effdee78b862d2b828ad7eb70181c SHA512 cd5d5c980a5fa4b7aa4da29dfd174c65f8d6e6aa584944154666287d9c1ce74eed177fceb2e26aa7600ed11a4f2e3f66889b8e65d4816d4887e042bb0ec877df WHIRLPOOL 70a4a4ebf7ce9fc5d1740a984700b9d28149a7d65d6fa72fd197d2bcc85f1621609ae06cc332a334a044be70b14c6f63071a5008a35b2a2d7ba361e112da3af3
+DIST botocore-1.1.5.tar.gz 1963111 SHA256 4aac2f5c46c37fac047e3f668692882c306963c679a69aacfc07e4c70d5ce70d SHA512 0d609ab8249a44e013296ec30fe6856d62e9453e9e1fa8e39e32b4768af8dffdb439c9b8249964d230090d483e36cfe94bf87b1261a991e3abc3b60b982c61b7 WHIRLPOOL 84f7ac82f03297bd196d0fb2fb77eb870b933ced252a9d56981ccbbd115243f94e17662203c4fce9d2a9aa700f0013754cc57b34db2f3312e4169e2eb801277a
diff --git a/dev-python/botocore/botocore-1.1.3.ebuild b/dev-python/botocore/botocore-1.1.3.ebuild
new file mode 100644
index 000000000000..a9e058563f4a
--- /dev/null
+++ b/dev-python/botocore/botocore-1.1.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Low-level, data-driven core of boto 3."
+HOMEPAGE="https://github.com/boto/botocore"
+SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
+ ~dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ <dev-python/python-dateutil-3.0.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/guzzle_sphinx_theme-0.7.10[${PYTHON_USEDEP}]
+ <dev-python/guzzle_sphinx_theme-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.3[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests tests/unit || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/botocore/botocore-1.1.5.ebuild b/dev-python/botocore/botocore-1.1.5.ebuild
new file mode 100644
index 000000000000..a9e058563f4a
--- /dev/null
+++ b/dev-python/botocore/botocore-1.1.5.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Low-level, data-driven core of boto 3."
+HOMEPAGE="https://github.com/boto/botocore"
+SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/docutils-0.10[${PYTHON_USEDEP}]
+ ~dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ <dev-python/python-dateutil-3.0.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/guzzle_sphinx_theme-0.7.10[${PYTHON_USEDEP}]
+ <dev-python/guzzle_sphinx_theme-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.3[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests tests/unit || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/botocore/metadata.xml b/dev-python/botocore/metadata.xml
new file mode 100644
index 000000000000..a82bafe4480d
--- /dev/null
+++ b/dev-python/botocore/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">boto/botocore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bottle/Manifest b/dev-python/bottle/Manifest
new file mode 100644
index 000000000000..37edbbdea794
--- /dev/null
+++ b/dev-python/bottle/Manifest
@@ -0,0 +1,2 @@
+DIST bottle-0.12.7.tar.gz 69375 SHA256 e3ea2191f06ca51af45bf6ca41ed2d1b2d809ceda0876466879fe205be7b2073 SHA512 ef58c0ec3b09b237914a170aae59a577a59e579478cd5f1bcef9fe73a9d3a4776794263d6f7b60dd426629aec2987ee4c3f6b8fa0486a99879792c70e373fcbc WHIRLPOOL dc6a34f9819ed77b0b05c01c13efe553af37fc9c32cfe955d6199277a8e38992a0e4982b8e67b0aab12349f15434d094ec7674a7970c71e264e72f3b74c617f0
+DIST bottle-0.12.8.tar.gz 69414 SHA256 cd5d1755a85e533205ed8a2465badf38602227c5f171c3852e07724b28c050ac SHA512 85fbdac6f7ae804a74bc527bb47bcdb5cf653a0227efe36e81e25513b687dd4abc1f772ff7232bd914cb392dea07297154d80aa05b1216c1f796dbed0d5a9510 WHIRLPOOL 833f434683f18511560973a9b0defeaa048ec21d0c60d30c69b11fc12f0ea4511a693a532d227b4ef419c99e664ba26384a95111950bf2ec1128a5509d8a0259
diff --git a/dev-python/bottle/bottle-0.12.7.ebuild b/dev-python/bottle/bottle-0.12.7.ebuild
new file mode 100644
index 000000000000..a2c658d2093c
--- /dev/null
+++ b/dev-python/bottle/bottle-0.12.7.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="A fast and simple micro-framework for small web-applications"
+HOMEPAGE="http://pypi.python.org/pypi/bottle http://bottlepy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ sed -i -e '/scripts/d' setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ elog "Due to problems with bottle.py being in /usr/bin (see bug #474874)"
+ elog "we do as most other distros and do not install the script anymore."
+ elog "If you do want/have to call it directly rather than through your app,"
+ elog "please use the following instead:"
+ elog ' `python -m bottle`'
+}
diff --git a/dev-python/bottle/bottle-0.12.8.ebuild b/dev-python/bottle/bottle-0.12.8.ebuild
new file mode 100644
index 000000000000..41fdd1b03aea
--- /dev/null
+++ b/dev-python/bottle/bottle-0.12.8.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="A fast and simple micro-framework for small web-applications"
+HOMEPAGE="http://pypi.python.org/pypi/bottle http://bottlepy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ sed -i -e '/scripts/d' setup.py || die
+
+ # Remove test file requring connection to network
+ rm ./test/test_server.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # A few odd fails in the suite under pypy
+ # https://github.com/bottlepy/bottle/issues/714
+ "${PYTHON}" test/testall.py || die "tests failed under ${EPYTHON}"
+}
+
+pkg_postinst() {
+ elog "Due to problems with bottle.py being in /usr/bin (see bug #474874)"
+ elog "we do as most other distros and do not install the script anymore."
+ elog "If you do want/have to call it directly rather than through your app,"
+ elog "please use the following instead:"
+ elog ' `python -m bottle`'
+}
diff --git a/dev-python/bottle/metadata.xml b/dev-python/bottle/metadata.xml
new file mode 100644
index 000000000000..cb9d5a27565a
--- /dev/null
+++ b/dev-python/bottle/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">bottle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bottleneck/Manifest b/dev-python/bottleneck/Manifest
new file mode 100644
index 000000000000..1bf2766da7a9
--- /dev/null
+++ b/dev-python/bottleneck/Manifest
@@ -0,0 +1,2 @@
+DIST Bottleneck-0.8.0.tar.gz 1634340 SHA256 f0a980510239f685ebaf4dbc8c9f0e55ac964312e0d11c551208c250d22cc64b SHA512 5b03ce2d0df9d177534d3f1fa02f147b12b23f5fbaa3b2685d1e8b86848c96c54832e0b0b6364479841742785c0b23bcccb51a0ac95675c72efc39693121dcaf WHIRLPOOL 873559617ad5114b953b9824da57bf7d393aa04372ad3c44307fecd875a076864d2509bed4b214372549db97a6c617f5471d1e723ff1a668a3240b7c6ed84a25
+DIST Bottleneck-1.0.0.tar.gz 363223 SHA256 8d9b7ad4fadf9648acc924a6ee522c7cb5b474e75faaad9d90dfd55e2805b495 SHA512 b3edeec0b4c2beeebb08eed8cb7aabb92f736e47c657f1fa580ec36d839941d3d1955209b2286fd9d41c4941b46b97a27049c51bcf5a098d27a19881f570d2d6 WHIRLPOOL f8f0d008b06a701f8c6b1690d5b74c180108d55ea9e8a467c62f76455eff2cf650be6ce676001a4bf7f18d650e1b238d437e5d9bbf60d5b4175af34997b8411d
diff --git a/dev-python/bottleneck/bottleneck-0.8.0.ebuild b/dev-python/bottleneck/bottleneck-0.8.0.ebuild
new file mode 100644
index 000000000000..08b216929693
--- /dev/null
+++ b/dev-python/bottleneck/bottleneck-0.8.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="Bottleneck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast NumPy array functions written in Cython"
+HOMEPAGE="http://berkeleyanalytics.com/bottleneck"
+SRC_URI="mirror://pypi/B/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ emake cfiles
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ ${PYTHON} -c "import bottleneck;bottleneck.test(extra_argv=['--verbosity=3'])" || die
+}
diff --git a/dev-python/bottleneck/bottleneck-1.0.0.ebuild b/dev-python/bottleneck/bottleneck-1.0.0.ebuild
new file mode 100644
index 000000000000..4724dc048d5f
--- /dev/null
+++ b/dev-python/bottleneck/bottleneck-1.0.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="Bottleneck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast NumPy array functions written in Cython"
+HOMEPAGE="http://berkeleyanalytics.com/bottleneck"
+SRC_URI="mirror://pypi/B/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/numpy-1.9.1[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ emake PYTHONPATH=. pyx
+ emake cfiles
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ ${PYTHON} -c "import bottleneck;bottleneck.test(extra_argv=['--verbosity=3'])" || die
+}
diff --git a/dev-python/bottleneck/metadata.xml b/dev-python/bottleneck/metadata.xml
new file mode 100644
index 000000000000..2980dc20cf9a
--- /dev/null
+++ b/dev-python/bottleneck/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription>
+ Bottleneck is a collection of fast NumPy array functions written in
+ Cython.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">Bottleneck</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bpython/Manifest b/dev-python/bpython/Manifest
new file mode 100644
index 000000000000..998118b0b5f3
--- /dev/null
+++ b/dev-python/bpython/Manifest
@@ -0,0 +1,5 @@
+DIST bpython-0.13.1.tar.gz 156558 SHA256 ee208a60a54f902a8c827f4a80fda8a6235790d59cc1fc089943df50936accae SHA512 cb3f1e8d8df5eb9978956b3503ef98b1c39e80704792281be7e560ec0d648aefa6d979ab45a642ec369fc252e7fde399013aa1a4154ceb73465bc3d95bea4b19 WHIRLPOOL a5d00b92507d1970de95f20ee54723774432687b1f11637f3aa75f9e8979e93015034f37253bd947100436f8400cdbe2ba523b6517a7ba265950b3f20dc6f9db
+DIST bpython-0.13.2.tar.gz 158551 SHA256 a1870a78e44ed6ef54aa906c58234cb0d12011f2e9a49dc29bd5d9423abfbde2 SHA512 6bf74c9618bf92fc6ca23c9020b17219c64b16f159773624b67f87875c962857bde2dd4b03da621da7c8d50622739f95a880638c7c536f5f0dbf510c71f5a874 WHIRLPOOL 71da7518100bd73868ab53e1d13cb8831b0f6629713b993729948f38df52262537b8605f9304ff0edeca5e4f4d3435677c61e84b2d6fc54b2d66df74e756318c
+DIST bpython-0.14.1.tar.gz 184850 SHA256 d96224d55ffb99ef9d2565e9b18202080b3659408fcce2594c9ec7bde65d8eb1 SHA512 6583d74cae29244ceefcbb2aaf24e789dafd63f9295e3e848f9e298b958d4a344c606051a9efd7f5a728d3ad1b9e58d011931d14f7e60e7c1fbd8b38a2dd1b09 WHIRLPOOL f52e7660054af1547452d777801a79e028378ed1d2f3fdfd3a36e9e5a9154d8389a5eb37e108abef06eb178340be234dacc2b87567bcc37797d3f519b4ea6644
+DIST bpython-0.14.2.tar.gz 184808 SHA256 d1f03c9b64a67219ef41aec258c95f192ade5fd187d48fe61b15c1f1d707e302 SHA512 aa6fb8a6fe08746c31783308423400bf2482c6401fc03a1cf1e95592b83946b49eb8df29ac274d0711e01e7b2dcad37c00a609b3b600c31774563d0638d67159 WHIRLPOOL fe6847da5bb0b5b72f9230d175dbe0812a010281bf6a022f87196f71426a37d116a3bf9292cdd20fcd465e56d9b7c3d975028d2bb3a07afacc5c87f3b4b3d0f6
+DIST bpython-0.14.tar.gz 184430 SHA256 f7c9fc80fc5a4eb6a345a67815e31957c0c65c1bbdfc68cf99267cdc81a3d35b SHA512 1c43af30902ac01385a4f9d0af1f7531f190dea9ee0d43725d5a23d881874184beca1df9fc8f94f21110d99ca07a851861c56976199e9306515e2b00ca07f1f7 WHIRLPOOL 21dc44b48a0fb31d0c125fc203f90fe7750e81599353a51c215672ed82218fc3b4f544cdb530d6447d099e4eaa5983ad52b8f48e1e83bcf4799dad190af797eb
diff --git a/dev-python/bpython/bpython-0.13.1.ebuild b/dev-python/bpython/bpython-0.13.1.ebuild
new file mode 100644
index 000000000000..bbf09b6c3b15
--- /dev/null
+++ b/dev-python/bpython/bpython-0.13.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
+HOMEPAGE="http://www.bpython-interpreter.org/ https://bitbucket.org/bobf/bpython/ http://pypi.python.org/pypi/bpython"
+SRC_URI="http://www.bpython-interpreter.org/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gtk test"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ gtk? ( dev-python/pygobject:2[$(python_gen_usedep python2_7)]
+ dev-python/pygtk[$(python_gen_usedep python2_7)] )
+ dev-python/urwid[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+DOCS=( AUTHORS CHANGELOG TODO sample-config sample.theme light.theme )
+
+PATCHES=( "${FILESDIR}"/${PN}-desktop.patch
+ "${FILESDIR}"/${PN}-0.13-test_repl.patch )
+
+# Req'd for clean build by each impl
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/sphinx/source/ \
+ doc/sphinx/source/ doc/sphinx/source/html || die "docs build failed"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use gtk; then
+ rm -f "${D}"usr/bin/bpython-gtk*
+ # delete_unneeded_modules() {
+ rm -f "${D}$(python_get_sitedir)/bpython/gtk_.py"
+ fi
+}
+
+python_test() {
+ pushd build/lib > /dev/null
+ # https://bitbucket.org/bobf/bpython/issue/289/test-failures-in-latest-release-py27-py33
+ sed -e s':test_enter:_&:' -i bpython/test/test_repl.py || die
+
+ "${PYTHON}" -m unittest discover || die
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/sphinx/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bpython/bpython-0.13.2.ebuild b/dev-python/bpython/bpython-0.13.2.ebuild
new file mode 100644
index 000000000000..92ce5e8fc058
--- /dev/null
+++ b/dev-python/bpython/bpython-0.13.2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
+HOMEPAGE="http://www.bpython-interpreter.org/ https://bitbucket.org/bobf/bpython/ http://pypi.python.org/pypi/bpython"
+SRC_URI="http://www.bpython-interpreter.org/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc gtk test"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ gtk? ( dev-python/pygobject:2[$(python_gen_usedep python2_7)]
+ dev-python/pygtk[$(python_gen_usedep python2_7)] )
+ dev-python/urwid[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+DOCS=( AUTHORS CHANGELOG TODO sample-config sample.theme light.theme )
+
+PATCHES=( "${FILESDIR}"/${PN}-desktop.patch )
+
+# Req'd for clean build by each impl
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/sphinx/source/ \
+ doc/sphinx/source/ doc/sphinx/source/html || die "docs build failed"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use gtk; then
+ rm -f "${D}"usr/bin/bpython-gtk*
+ # delete_unneeded_modules() {
+ rm -f "${D}$(python_get_sitedir)/bpython/gtk_.py"
+ fi
+}
+
+python_test() {
+ pushd build/lib > /dev/null
+ # https://bitbucket.org/bobf/bpython/issue/289/test-failures-in-latest-release-py27-py33
+ sed -e s':test_enter:_&:' -i bpython/test/test_repl.py || die
+
+ "${PYTHON}" -m unittest discover || die
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/sphinx/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bpython/bpython-0.14.1.ebuild b/dev-python/bpython/bpython-0.14.1.ebuild
new file mode 100644
index 000000000000..9c4fe9762160
--- /dev/null
+++ b/dev-python/bpython/bpython-0.14.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
+HOMEPAGE="http://www.bpython-interpreter.org/ https://bitbucket.org/bobf/bpython/ http://pypi.python.org/pypi/bpython"
+SRC_URI="
+ http://www.bpython-interpreter.org/releases/${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ "
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/curtsies-0.1.18[${PYTHON_USEDEP}]
+ <dev-python/curtsies-0.2.0[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+DOCS=( AUTHORS CHANGELOG sample.theme light.theme )
+
+# Req'd for clean build by each impl
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/sphinx/source/ \
+ doc/sphinx/source/ doc/sphinx/source/html || die "docs build failed"
+ fi
+}
+
+python_test() {
+ pushd build/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/sphinx/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bpython/bpython-0.14.2.ebuild b/dev-python/bpython/bpython-0.14.2.ebuild
new file mode 100644
index 000000000000..9c4fe9762160
--- /dev/null
+++ b/dev-python/bpython/bpython-0.14.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
+HOMEPAGE="http://www.bpython-interpreter.org/ https://bitbucket.org/bobf/bpython/ http://pypi.python.org/pypi/bpython"
+SRC_URI="
+ http://www.bpython-interpreter.org/releases/${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ "
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/curtsies-0.1.18[${PYTHON_USEDEP}]
+ <dev-python/curtsies-0.2.0[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+DOCS=( AUTHORS CHANGELOG sample.theme light.theme )
+
+# Req'd for clean build by each impl
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/sphinx/source/ \
+ doc/sphinx/source/ doc/sphinx/source/html || die "docs build failed"
+ fi
+}
+
+python_test() {
+ pushd build/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/sphinx/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bpython/bpython-0.14.ebuild b/dev-python/bpython/bpython-0.14.ebuild
new file mode 100644
index 000000000000..f626c76f1732
--- /dev/null
+++ b/dev-python/bpython/bpython-0.14.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Syntax highlighting and autocompletion for the Python interpreter"
+HOMEPAGE="http://www.bpython-interpreter.org/ https://bitbucket.org/bobf/bpython/ http://pypi.python.org/pypi/bpython"
+SRC_URI="
+ http://www.bpython-interpreter.org/releases/${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ "
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/curtsies[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/watchdog[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+DOCS=( AUTHORS CHANGELOG sample.theme light.theme )
+
+# Upstream patch
+# https://github.com/bpython/bpython/commit/43e70389badc48be2986a606f8f7b3f2aa29d59b
+PATCHES=( "${FILESDIR}"/${P}.patch )
+
+# Req'd for clean build by each impl
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/sphinx/source/ \
+ doc/sphinx/source/ doc/sphinx/source/html || die "docs build failed"
+ fi
+}
+
+python_test() {
+ pushd build/lib > /dev/null
+ "${PYTHON}" -m unittest discover || die
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/sphinx/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bpython/files/bpython-0.13-test_repl.patch b/dev-python/bpython/files/bpython-0.13-test_repl.patch
new file mode 100644
index 000000000000..b71cfbea3440
--- /dev/null
+++ b/dev-python/bpython/files/bpython-0.13-test_repl.patch
@@ -0,0 +1,34 @@
+https://bitbucket.org/thomasballinger/bpython-for-clean-patch/commits/94c4664c1303
+# HG changeset patch
+# User Thomas Ballinger <thomasballinger@gmail.com>
+# Date 1404088731 14400
+# Branch 0.13-bugfix
+# Node ID 94c4664c130303b1ae53629d6ebcff04f5d5d7ae
+# Parent 106c49981f5e2db325d543d24c063f9c38013023
+simplest possible fix for test that changes in py3.3
+
+diff --git a/bpython/test/test_repl.py b/bpython/test/test_repl.py
+--- a/bpython/test/test_repl.py
++++ b/bpython/test/test_repl.py
+@@ -1,4 +1,5 @@
+ import os
++import sys
+ import unittest
+ from itertools import islice
+ from mock import Mock
+@@ -280,8 +281,12 @@
+
+ self.assertTrue(self.repl.complete())
+ self.assertTrue(hasattr(self.repl.completer,'matches'))
+- self.assertEqual(self.repl.completer.matches,
+- ['UnboundLocalError(', '__doc__'])
++ if sys.version_info[0] == 3 and sys.version_info[1] >= 3:
++ self.assertEqual(self.repl.completer.matches,
++ ['ChildProcessError(', 'UnboundLocalError(', '__doc__'])
++ else:
++ self.assertEqual(self.repl.completer.matches,
++ ['UnboundLocalError(', '__doc__'])
+
+ # 2. Attribute tests
+ def test_simple_attribute_complete(self):
+
diff --git a/dev-python/bpython/files/bpython-0.14.patch b/dev-python/bpython/files/bpython-0.14.patch
new file mode 100644
index 000000000000..00b8e5a420d0
--- /dev/null
+++ b/dev-python/bpython/files/bpython-0.14.patch
@@ -0,0 +1,14 @@
+diff -r -U2 bpython-0.14.orig/bpython/curtsiesfrontend/repl.py bpython-0.14/bpython/curtsiesfrontend/repl.py
+--- bpython-0.14.orig/bpython/curtsiesfrontend/repl.py 2015-02-17 05:07:38.000000000 +0600
++++ bpython-0.14/bpython/curtsiesfrontend/repl.py 2015-02-19 00:09:13.758932344 +0600
+@@ -420,7 +420,9 @@
+ # for reading modules if they fail to load
+ old_module_locations = {}
++ default_level = 0 if py3 else -1
+
+ @functools.wraps(self.orig_import)
+- def new_import(name, globals={}, locals={}, fromlist=[], level=-1):
++ def new_import(name, globals={}, locals={}, fromlist=[],
++ level=default_level):
+ try:
+ m = self.orig_import(name, globals=globals, locals=locals,
diff --git a/dev-python/bpython/files/bpython-desktop.patch b/dev-python/bpython/files/bpython-desktop.patch
new file mode 100644
index 000000000000..8598679089c9
--- /dev/null
+++ b/dev-python/bpython/files/bpython-desktop.patch
@@ -0,0 +1,8 @@
+diff -r -U1 bpython-0.11.orig/data/bpython.desktop bpython-0.11/data/bpython.desktop
+--- bpython-0.11.orig/data/bpython.desktop 2012-04-05 04:06:42.000000000 +0700
++++ bpython-0.11/data/bpython.desktop 2012-11-15 17:20:09.000000000 +0700
+@@ -7,3 +7,3 @@
+ Type=Application
+-Categories=Development;Utility;ConsoleOnly;
++Categories=Development;ConsoleOnly;
+ StartupNotify=true
diff --git a/dev-python/bpython/metadata.xml b/dev-python/bpython/metadata.xml
new file mode 100644
index 000000000000..346bda3eed20
--- /dev/null
+++ b/dev-python/bpython/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Syntax highlighting and autocompletion
+ for the python interpreter
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">bpython</remote-id>
+ <remote-id type="bitbucket">bobf/bpython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bsddb3/Manifest b/dev-python/bsddb3/Manifest
new file mode 100644
index 000000000000..4eb863132f3b
--- /dev/null
+++ b/dev-python/bsddb3/Manifest
@@ -0,0 +1,2 @@
+DIST bsddb3-6.0.1.tar.gz 347002 SHA256 abc34d83d6cbb40f1626ecc2b62e8163ba204f4bb6a65c23b125a171d224bf6d SHA512 14a35a4933f83f11267072956e0061053918974d556899ea7670e2e52f7fbf9cb9f64e1810323b60a63ece0576a6d2b1a2743adf2c06f7f1debba8dcc0f0b8da WHIRLPOOL a4441dd6ba6c2de6bacfe5584395059614087c6b8c01c61290bdba7e2a75d5ee7abed349f7519439828a5dafd48da46c91b98caed1b0fffe16c9201c79af0d71
+DIST bsddb3-6.1.0.tar.gz 340966 SHA256 b13163e3891c32390aea66edcf7880eb245abc89199a766b7b1907fc5c1efd15 SHA512 2c84f8fd8c5bcced843ea7f1f54511cc4845a75ac182b4f832b92800c4f230906bf5919cb7d10938e79272f0fe89a5ed9b3f90c02bf11ac651126e6982dcc0ff WHIRLPOOL b27e1c024705f64eb0cffd0bf87932af4dd9f3eb5bdbce40d2d6a250cd101be55ebf1f76c17ac6c40de9e28e0c84b9bfafd0c62d7c1950782eef8fa1137ebb3b
diff --git a/dev-python/bsddb3/bsddb3-6.0.1.ebuild b/dev-python/bsddb3/bsddb3-6.0.1.ebuild
new file mode 100644
index 000000000000..fdf24ffc0733
--- /dev/null
+++ b/dev-python/bsddb3/bsddb3-6.0.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit db-use distutils-r1 multilib
+
+DESCRIPTION="Python bindings for Berkeley DB"
+HOMEPAGE="http://www.jcea.es/programacion/pybsddb.htm http://pypi.python.org/pypi/bsddb3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND=">=sys-libs/db-4.8.30
+ <sys-libs/db-6.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # This list should be kept in sync with setup.py.
+ for DB_VER in 6.0 5.3 5.2 5.1 5.0 4.8; do
+ has_version "sys-libs/db:${DB_VER}" && break
+ done
+
+ # Force version.
+ sed -e "s/db_ver = None/db_ver = (${DB_VER%.*}, ${DB_VER#*.})/" \
+ -e "s/dblib = 'db'/dblib = '$(db_libname ${DB_VER})'/" \
+ -i setup2.py setup3.py || die
+
+ # Adjust test.py to look in build/lib.
+ sed -e "s/'lib.%s' % PLAT_SPEC/'lib'/" \
+ -i test2.py test3.py || die
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ # These are needed for both build and install.
+ export BERKELEYDB_DIR="${EPREFIX}/usr"
+ export BERKELEYDB_INCDIR="$(db_includedir)"
+ export BERKELEYDB_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ "${PYTHON}" test.py -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bsddb3/bsddb3-6.1.0.ebuild b/dev-python/bsddb3/bsddb3-6.1.0.ebuild
new file mode 100644
index 000000000000..54195b180217
--- /dev/null
+++ b/dev-python/bsddb3/bsddb3-6.1.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit db-use distutils-r1 multilib
+
+DESCRIPTION="Python bindings for Berkeley DB"
+HOMEPAGE="http://www.jcea.es/programacion/pybsddb.htm http://pypi.python.org/pypi/bsddb3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ >=sys-libs/db-4.7
+ <sys-libs/db-6.2:=
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ # This list should be kept in sync with setup.py.
+ if [[ -z ${DB_VER} ]]; then
+ for DB_VER in 6.1 6.0 5.3 5.2 5.1 5.0 4.8 4.7; do
+ has_version "sys-libs/db:${DB_VER}" && break
+ done
+ fi
+
+ # Force version.
+ sed -e "s/db_ver = None/db_ver = (${DB_VER%.*}, ${DB_VER#*.})/" \
+ -e "s/dblib = 'db'/dblib = '$(db_libname ${DB_VER})'/" \
+ -i setup2.py setup3.py || die
+
+ # Adjust test.py to look in build/lib.
+ sed -e "s/'lib.%s' % PLAT_SPEC/'lib'/" \
+ -i test2.py test3.py || die
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ # These are needed for both build and install.
+ export BERKELEYDB_DIR="${EPREFIX}/usr"
+ export BERKELEYDB_INCDIR="$(db_includedir ${DB_VER})"
+ export BERKELEYDB_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION=1
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if python_is_python3; then
+ PYTHONPATH=Lib3 "${PYTHON}" test3.py -v || die "Testing failed with ${EPYTHON}"
+ else
+ PYTHONPATH=Lib "${PYTHON}" test.py -v || die "Testing failed with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/bsddb3/metadata.xml b/dev-python/bsddb3/metadata.xml
new file mode 100644
index 000000000000..07d7984e12bb
--- /dev/null
+++ b/dev-python/bsddb3/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">bsddb3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/buildutils/Manifest b/dev-python/buildutils/Manifest
new file mode 100644
index 000000000000..e21840e2b89b
--- /dev/null
+++ b/dev-python/buildutils/Manifest
@@ -0,0 +1 @@
+DIST buildutils-0.3.tar.gz 47868 SHA256 8f9921cf145a1879986b4028db0af4f028f65fe6eae29936490174037ba7dfc5 SHA512 63e3c0e9737672abcb7f9b10909df69f93eb801eeb829f840aaabc37428fc640ed7df4232283f933e5f0bb80b0195624b1ba69aeba1b01b7a61250bf6e6b6421 WHIRLPOOL b2ee8a3e1b70e82a563edd01b0d175c8c5670183ef4a0bbe207c6fd1a0bfdaf5797d30b57a6729a4ea61a5e3a2c88b5f859461439be69f2fe9ac9a91470b4a71
diff --git a/dev-python/buildutils/buildutils-0.3-r1.ebuild b/dev-python/buildutils/buildutils-0.3-r1.ebuild
new file mode 100644
index 000000000000..bf9377ba4298
--- /dev/null
+++ b/dev-python/buildutils/buildutils-0.3-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions for developing Python libraries and applications"
+HOMEPAGE="http://buildutils.lesscode.org http://pypi.python.org/pypi/buildutils"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/pudge[$(python_gen_usedep python{2_6,2_7})] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_prepare_all() {
+ # Enable pudge command.
+ epatch "${FILESDIR}/${P}-pudge_addcommand.patch"
+ sed -e "s/buildutils.command.publish/buildutils.publish_command.publish/" \
+ -i buildutils/test/test_publish.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ # ensure docs are built with py2
+ if "${PYTHON}" -c "import pudge"; then
+ "${PYTHON}" setup.py pudge || die "Generation of documentation failed"
+ else
+ die "Generation of documentation failed"
+ fi
+ fi
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/buildutils/files/buildutils-0.3-pudge_addcommand.patch b/dev-python/buildutils/files/buildutils-0.3-pudge_addcommand.patch
new file mode 100644
index 000000000000..a9cadcaa42b8
--- /dev/null
+++ b/dev-python/buildutils/files/buildutils-0.3-pudge_addcommand.patch
@@ -0,0 +1,12 @@
+--- setup.cfg 2008-04-05 17:18:24.000000000 +0300
++++ setup.cfg 2008-04-05 17:18:46.000000000 +0300
+@@ -1,6 +1,9 @@
+ [checksum]
+ sign = 1
+
++[global]
++command_packages = buildutils.pudge_command
++
+ [egg_info]
+ tag_build =
+ tag_date = 0
diff --git a/dev-python/buildutils/metadata.xml b/dev-python/buildutils/metadata.xml
new file mode 100644
index 000000000000..cb9268c07fe6
--- /dev/null
+++ b/dev-python/buildutils/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">buildutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/buzhug/Manifest b/dev-python/buzhug/Manifest
new file mode 100644
index 000000000000..25c1466f6dd7
--- /dev/null
+++ b/dev-python/buzhug/Manifest
@@ -0,0 +1 @@
+DIST buzhug-1.8.zip 26529 SHA256 0f8453de32424abd2e0dea963a1d0adc7ec893c6c1311887d3ce87231a8e62a7 SHA512 e2354980f175485223b68ca0afee4ec07505a6f7f874e16e04b99b91e19930acda6005834dbf8c2ee318d357716f3fa7c8a0db3c15fc17ffd7c880a4c378ab66 WHIRLPOOL cd491baa3c9c5d6239417d93a24caccb063e42036d5f179e4d3faf400f218ccef2d661ca2944466ddf1dc8fb48f2e864c813b0ce0b5985a981ec805fd61235eb
diff --git a/dev-python/buzhug/buzhug-1.8-r1.ebuild b/dev-python/buzhug/buzhug-1.8-r1.ebuild
new file mode 100644
index 000000000000..8607d26d89c4
--- /dev/null
+++ b/dev-python/buzhug/buzhug-1.8-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, pure-Python database engine, using a syntax that Python programmers should find very intuitive"
+HOMEPAGE="http://buzhug.sourceforge.net/ http://pypi.python.org/pypi/buzhug"
+SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="app-arch/unzip
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/buzhug/metadata.xml b/dev-python/buzhug/metadata.xml
new file mode 100644
index 000000000000..826215347911
--- /dev/null
+++ b/dev-python/buzhug/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">buzhug</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bytecodeassembler/Manifest b/dev-python/bytecodeassembler/Manifest
new file mode 100644
index 000000000000..66bdc9d8c89f
--- /dev/null
+++ b/dev-python/bytecodeassembler/Manifest
@@ -0,0 +1 @@
+DIST bytecodeassembler-0.6.zip 52734 SHA256 05d56f7ed3eb7c85912380c31bfe3622063176418d63d5bbd74ce99e5456ae0f SHA512 95f90a1b6e1a307d8754eea301ae187783460fa8df3163f26253b8ebec16b31a8899a1d27c13158c5cb97763c7057f83b1dc1f642b5e2e9e5b844837a5208363 WHIRLPOOL 8d41029dc6a8aecfbe2faec72a3e0e70a279a96d5994a658e9d1a8514f8edf8987cad2a32b80d414d5b09c090e74b2ab1e36ce4e03f0f66cb664466b83a71b0e
diff --git a/dev-python/bytecodeassembler/bytecodeassembler-0.6.ebuild b/dev-python/bytecodeassembler/bytecodeassembler-0.6.ebuild
new file mode 100644
index 000000000000..afc9705b25ed
--- /dev/null
+++ b/dev-python/bytecodeassembler/bytecodeassembler-0.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="BytecodeAssembler"
+
+DESCRIPTION="Generate Python code objects by "assembling" bytecode"
+HOMEPAGE="http://pypi.python.org/pypi//BytecodeAssembler"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip -> ${P}.zip"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ >=dev-python/symboltype-1.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_test() {
+ "${PYTHON}" test_assembler.py && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/bytecodeassembler/metadata.xml b/dev-python/bytecodeassembler/metadata.xml
new file mode 100644
index 000000000000..940caaebe748
--- /dev/null
+++ b/dev-python/bytecodeassembler/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">BytecodeAssembler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cached-property/Manifest b/dev-python/cached-property/Manifest
new file mode 100644
index 000000000000..983bd1274631
--- /dev/null
+++ b/dev-python/cached-property/Manifest
@@ -0,0 +1,3 @@
+DIST cached-property-0.1.5.tar.gz 7434 SHA256 2d07bd19af2ba5eb1d3c042e2b81c2cd02dc5b0890253cb14ae10f1d34f7f86b SHA512 f5a01e64eed78cc3377bd053b0662dc4f904db7c1ea47b155e1613e6ed413fb6693e4893916518f9e53589373ebe099724d296306a9854d8d8df66b62ed9ce1b WHIRLPOOL cd5faae8024124ddd50f77fd6ee6dd6599756c7e5509d73ebcf4dea2867b066f61c40cc7f9be3144ff3295cd590f3b35925e586f1d9bbf97f40a0416ea7a5f8d
+DIST cached-property-1.0.0.tar.gz 8210 SHA256 041a60a616d59b13026c98b8e1f2b82b7f4ea049bcff44a86d4a0253ba1e2768 SHA512 771615418853d3a2a24567fa3f6dc931a02d0013abd38c26a2822cc0ab3228972e7f03e51a69478defc617491f81b76040d34a0e6683719b09b485c85196d948 WHIRLPOOL d557cadfa246a62feebac8eb81eed52d5087d38ccb0528a37492a4b83fe93278df458589cadab4238527c421e270d841c971e40c2a4ff25d8cf875f709799922
+DIST cached-property-1.2.0.tar.gz 9162 SHA256 e3081a8182d3d4b7283eeade76c382bcfd4dfd644ca800598229c2ef798abb53 SHA512 0d05bad187d30b4354d8fa93d181d753c6e27e43a84891bd3bcc1c1449fe6d57d7fc1eecdbdc097f8c25e4cfa331811db5a6e23f77891848edc2817162259cd6 WHIRLPOOL 21667352edb4a763cabfbdc73dec7d6d464632207eb960eb5fa80b97b93aa964e09ba01bb226465ef6edc2737757ee57369fe0048520a22d5f91d5267baf436f
diff --git a/dev-python/cached-property/cached-property-0.1.5.ebuild b/dev-python/cached-property/cached-property-0.1.5.ebuild
new file mode 100644
index 000000000000..34ed01bd3734
--- /dev/null
+++ b/dev-python/cached-property/cached-property-0.1.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A cached-property for decorating methods in classes"
+HOMEPAGE="https://github.com/pydanny/cached-property"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest )"
+RDEPEND=""
+
+src_install() {
+ distutils-r1_src_install
+ dodoc README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst
+}
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/cached-property/cached-property-1.0.0.ebuild b/dev-python/cached-property/cached-property-1.0.0.ebuild
new file mode 100644
index 000000000000..34ed01bd3734
--- /dev/null
+++ b/dev-python/cached-property/cached-property-1.0.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A cached-property for decorating methods in classes"
+HOMEPAGE="https://github.com/pydanny/cached-property"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest )"
+RDEPEND=""
+
+src_install() {
+ distutils-r1_src_install
+ dodoc README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst
+}
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/cached-property/cached-property-1.2.0.ebuild b/dev-python/cached-property/cached-property-1.2.0.ebuild
new file mode 100644
index 000000000000..34ed01bd3734
--- /dev/null
+++ b/dev-python/cached-property/cached-property-1.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A cached-property for decorating methods in classes"
+HOMEPAGE="https://github.com/pydanny/cached-property"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest )"
+RDEPEND=""
+
+src_install() {
+ distutils-r1_src_install
+ dodoc README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst
+}
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/cached-property/metadata.xml b/dev-python/cached-property/metadata.xml
new file mode 100644
index 000000000000..44c8701a7e9a
--- /dev/null
+++ b/dev-python/cached-property/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>cedk@gentoo.org</email>
+ <name>Cédric Krier</name>
+ </maintainer>
+ <longdescription lang="en">
+ A cached-property for decorating methods in classes.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">cached-property</remote-id>
+ <remote-id type="github">pydanny/cached-property</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cairocffi/Manifest b/dev-python/cairocffi/Manifest
new file mode 100644
index 000000000000..6dfbfecf6ae6
--- /dev/null
+++ b/dev-python/cairocffi/Manifest
@@ -0,0 +1,5 @@
+DIST cairocffi-0.5.3.tar.gz 71140 SHA256 b1030159372b0c961a87bed4b5479807ba798d6d2c25e4e34d9660e2046ca98e SHA512 defbecaa00675a03cbe96e327dee24885bfb387e23dc175db2fd146d628dd6286003a4e19abf37014269dbb292f1f55edb397ca469ca30c5ffd521dddd3061d1 WHIRLPOOL 134f14185504e6ab5ec54d1c9e1b27e8271c011e08516d51e10b34e906a7c7175ee04dc807269723c3a30aef26547dee6bc67e94033cc5ad8a8444f8c28f153b
+DIST cairocffi-0.5.4.tar.gz 71232 SHA256 f1dc2b6e4638aee4015649eb5379ee745211fc4bd703626df255cb8439e716ff SHA512 f602b03dad04bce8e756f1fd82c05970b944ed1cfadd7012c44ad4426fb94f100ee8df0a1324c9c0b6b17f1dffb02c824ad9ce1ba31b3cf3eaeba0bf86da855f WHIRLPOOL ea9ec065c7a47fd1352b9d71edbfdc45eb0dcbf409c1326e32fd91b54a3dae13067d15b020b75eee7ac5db8cf37d5b2268e3493cb3218adf72dc0051840bea29
+DIST cairocffi-0.6.tar.gz 75183 SHA256 d14ea9daed510259717209ed9e2f68503fcbcbcf00c2c4f31b446b001ae109c0 SHA512 c27b443261db4c68e73d3da55a640ac2689dcefda6aa384d7c3e23acdc705f79e07524f8df9ecbe379cfd9f8855d50ad7dfe7392ad7a36d5a63d0124e483e5ec WHIRLPOOL d94edc81ae8638758b93f2cb1804943a8160b4f8e1d507ce36c5ec7a835ea6f4b96a06a31cbf687335029391a9ee3a099c707a64d02490caa2b30bc91d260d24
+DIST cairocffi-0.7.1.tar.gz 76190 SHA256 286f4ee57ddfa381294870efbdfc9ab63375016c582b8163bd5449ba8cbda5de SHA512 48d0d0b3d03913859247d526492a21b57664d086586552fc765546042029a72325f39cfc14e982508ed5bf259ecc674609985cc4a65b39217a12a58de34129e3 WHIRLPOOL fd45b98be3bbfe99ceef350f6a99ad3b7131665b326f6f50763d96e7844dccb225a6e202abf2251674127363e94d725fea09dc763f8b1b0765003b3fbc44034a
+DIST cairocffi-0.7.2.tar.gz 75337 SHA256 e42b4256d27bd960cbf3b91a6c55d602defcdbc2a73f7317849c80279feeb975 SHA512 a4b5798ee713a8847ebd21ef328b3e0a94403ce1e80ac108f6d8e4abffbf96551542bb5c848550d82bcebb3d9f645c90ea87fc3eb254bd8e9d57b6a55db76de1 WHIRLPOOL e907633b46dce856df4777598250e40da7a39ee4b6621376d30698237fb0a463d7f8bdf8e8838aa104d0751de62b6172057a0f8d1f53ce8315b419d3b3f64c5c
diff --git a/dev-python/cairocffi/cairocffi-0.5.3-r1.ebuild b/dev-python/cairocffi/cairocffi-0.5.3-r1.ebuild
new file mode 100644
index 000000000000..02d50b7bc552
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.5.3-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ x11-libs/cairo:0="
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test ${PN}/ || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/cairocffi-0.5.4.ebuild b/dev-python/cairocffi/cairocffi-0.5.4.ebuild
new file mode 100644
index 000000000000..02d50b7bc552
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.5.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ x11-libs/cairo:0="
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test ${PN}/ || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/cairocffi-0.6-r1.ebuild b/dev-python/cairocffi/cairocffi-0.6-r1.ebuild
new file mode 100644
index 000000000000..b760032169a0
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.6-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# xcffib is an optional extra excpet that the testsuite has it a hard coded unconditional component
+RDEPEND="
+ >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ x11-libs/cairo:0=
+ <dev-python/xcffib-0.3[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf[jpeg]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Intersphinx cause the usual d'loading of objects.inv from TWO online sites
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ https://github.com/SimonSapin/cairocffi/issues/55
+ py.test ${PN}/ || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/cairocffi-0.6.ebuild b/dev-python/cairocffi/cairocffi-0.6.ebuild
new file mode 100644
index 000000000000..b2428f70f21c
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+# xcffib is an optional extra excpet that the testsuite has it a hard coded unconditional component
+RDEPEND="
+ >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ x11-libs/cairo:0=
+ <dev-python/xcffib-0.3[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Intersphinx cause the usual d'loading of objects.inv from TWO online sites
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test ${PN}/ || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/cairocffi-0.7.1.ebuild b/dev-python/cairocffi/cairocffi-0.7.1.ebuild
new file mode 100644
index 000000000000..c101a394be13
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.7.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/cffi-1.1.0:=[$(python_gen_usedep 'python*')]
+ >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
+ x11-libs/cairo:0=
+ x11-libs/gdk-pixbuf[jpeg]"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ # Intersphinx cause the usual d'loading of objects.inv from TWO online sites
+ "${FILESDIR}"/mapping.patch
+ "${FILESDIR}"/${P}-test.patch
+ )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test -v --pyargs cairocffi || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/cairocffi-0.7.2.ebuild b/dev-python/cairocffi/cairocffi-0.7.2.ebuild
new file mode 100644
index 000000000000..8aa7b95b2a27
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-0.7.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/SimonSapin/cairocffi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/cffi-1.1.0:=[$(python_gen_usedep 'python*')]
+ >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
+ x11-libs/cairo:0=
+ x11-libs/gdk-pixbuf[jpeg]"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ # Intersphinx cause the usual d'loading of objects.inv from TWO online sites
+ "${FILESDIR}"/mapping.patch
+ "${FILESDIR}"/${PN}-0.7.1-test.patch
+ )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test -v --pyargs cairocffi || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cairocffi/files/cairocffi-0.7.1-test.patch b/dev-python/cairocffi/files/cairocffi-0.7.1-test.patch
new file mode 100644
index 000000000000..b5a2b4530fb8
--- /dev/null
+++ b/dev-python/cairocffi/files/cairocffi-0.7.1-test.patch
@@ -0,0 +1,58 @@
+ cairocffi/test_cairo.py | 3 +--
+ cairocffi/test_xcb.py | 13 +++++++------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/cairocffi/test_cairo.py b/cairocffi/test_cairo.py
+index 6b19ee1..542103d 100644
+--- a/cairocffi/test_cairo.py
++++ b/cairocffi/test_cairo.py
+@@ -1049,7 +1049,7 @@ def test_font_options():
+ options_1.merge(options_2)
+ assert options_2 == options_1
+
+-
++#@pytest.skip("https://github.com/SimonSapin/cairocffi/issues/65")
+ def test_glyphs():
+ surface = ImageSurface(cairocffi.FORMAT_ARGB32, 100, 20)
+ context = Context(surface)
+@@ -1064,7 +1064,6 @@ def test_glyphs():
+ assert 5 == x1 < x2 < x3
+ assert clusters == [(2, 1), (1, 1), (1, 1)]
+ assert is_backwards == 0
+- assert font.glyph_extents(glyphs) == font.text_extents(text)
+ assert font.glyph_extents(glyphs) == context.glyph_extents(glyphs)
+
+ assert context.copy_path() == []
+diff --git a/cairocffi/test_xcb.py b/cairocffi/test_xcb.py
+index c8a6e70..0c6bab9 100644
+--- a/cairocffi/test_xcb.py
++++ b/cairocffi/test_xcb.py
+@@ -118,14 +118,14 @@ def test_xcb_pixmap(xcb_conn):
+ gc = create_gc(xcb_conn)
+
+ # create XCB surface on pixmap
+- root_visual = find_root_visual(xcb_conn)
+- surface = XCBSurface(xcb_conn, pixmap, root_visual, width, height)
+- assert surface
++ # root_visual = find_root_visual(xcb_conn)
++ # surface = XCBSurface(xcb_conn, pixmap, root_visual, width, height)
++ # assert surface
+
+ # use xcb surface to create context, draw white
+- ctx = Context(surface)
+- ctx.set_source_rgb(1, 1, 1)
+- ctx.paint()
++ # ctx = Context(surface)
++ # ctx.set_source_rgb(1, 1, 1)
++ # ctx.paint()
+
+ # map the window and wait for it to appear
+ xcb_conn.core.MapWindow(wid)
+@@ -157,6 +157,7 @@ def test_xcb_pixmap(xcb_conn):
+
+ @pytest.mark.xfail(cairo_version() < 11200,
+ reason="Cairo version too low")
++@pytest.skip("https://github.com/SimonSapin/cairocffi/issues/65")
+ def test_xcb_window(xcb_conn):
+ width = 10
+ height = 10
diff --git a/dev-python/cairocffi/files/mapping.patch b/dev-python/cairocffi/files/mapping.patch
new file mode 100644
index 000000000000..14cae286617c
--- /dev/null
+++ b/dev-python/cairocffi/files/mapping.patch
@@ -0,0 +1,10 @@
+diff -ur cairocffi-0.5.3.orig/docs/conf.py cairocffi-0.5.3/docs/conf.py
+--- docs/conf.py 2013-05-24 10:33:32.000000000 +0800
++++ docs/conf.py 2014-04-08 16:09:39.648229837 +0800
+@@ -14,6 +14,3 @@
+ exclude_patterns = ['_build']
+ autodoc_member_order = 'bysource'
+ autodoc_default_flags = ['members']
+-intersphinx_mapping = {
+- 'http://docs.python.org/': None,
+- 'http://cairographics.org/documentation/pycairo/2/': None}
diff --git a/dev-python/cairocffi/metadata.xml b/dev-python/cairocffi/metadata.xml
new file mode 100644
index 000000000000..6fb1e3380358
--- /dev/null
+++ b/dev-python/cairocffi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cairocffi</remote-id>
+ <remote-id type="github">SimonSapin/cairocffi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cangjie/Manifest b/dev-python/cangjie/Manifest
new file mode 100644
index 000000000000..7960a881f1a8
--- /dev/null
+++ b/dev-python/cangjie/Manifest
@@ -0,0 +1,2 @@
+DIST cangjie-1.1.tar.xz 221460 SHA256 97391213ec80f885a5dc8fb9e61f3ab511e8106f3dc924535af41822c0c8ac6f SHA512 ef1acd9fcfb8f3da94fa282c173bd82ed7f827f9b33921689e2a811fc9268dfdc25bec6f53ac448cea85b220790f5816c0ee0e4ed95750afab4312850cc14df2 WHIRLPOOL f28aaef1ae982e9cddb85477c1bbc4d4fad4753fe663d4d25cf593f011c1b3305947795683520152a26e42a60d9aeb09e61cdd71704a4a4af9a716cb1634c771
+DIST cangjie-1.2.tar.xz 221524 SHA256 bc9115904f65581a11e43044c83e999e583468d1bb98c04b33ea059205e07c10 SHA512 4cc3e0e4a77b671c93fe39f17c970d458d6d935c1efa33f9d8de0a0311ed6c3a444fd41431d553f70f3e96065f8136801128d8b16c86d0340c78ab560bd9e63f WHIRLPOOL 72f3b532bf149df0740fc9d3fd137416cb29a0db81285fd67cd51d3a47d34fd2a32655302a912d5caf8666ef55550d2f84242021163bfff12d5734b2d820f13c
diff --git a/dev-python/cangjie/cangjie-1.1.ebuild b/dev-python/cangjie/cangjie-1.1.ebuild
new file mode 100644
index 000000000000..573d32aa4e6e
--- /dev/null
+++ b/dev-python/cangjie/cangjie-1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit autotools-utils python-r1
+
+DESCRIPTION="The Python bindings to libcangjie"
+HOMEPAGE="http://cangjians.github.io"
+SRC_URI="http://cangjians.github.io/downloads/pycangjie/cangjie-${PV}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="${PYTHON_DEPS}
+ app-i18n/libcangjie
+ dev-python/cython
+ >=dev-python/cython-0.14"
+RDEPEND="app-i18n/libcangjie
+ ${PYTHON_DEPS}"
+
+src_configure() {
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/cangjie/cangjie-1.2.ebuild b/dev-python/cangjie/cangjie-1.2.ebuild
new file mode 100644
index 000000000000..c7c5167a33f3
--- /dev/null
+++ b/dev-python/cangjie/cangjie-1.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit autotools-utils python-r1
+
+DESCRIPTION="The Python bindings to libcangjie"
+HOMEPAGE="http://cangjians.github.io"
+SRC_URI="https://github.com/Cangjians/pycangjie/releases/download/v${PV}/cangjie-${PV}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="${PYTHON_DEPS}
+ app-i18n/libcangjie
+ dev-python/cython[${PYTHON_USEDEP}]"
+
+RDEPEND="app-i18n/libcangjie
+ ${PYTHON_DEPS}"
+
+PATCHES=( "${FILESDIR}/${P}-cython-022.patch" )
+
+src_configure() {
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/cangjie/files/cangjie-1.2-cython-022.patch b/dev-python/cangjie/files/cangjie-1.2-cython-022.patch
new file mode 100644
index 000000000000..ac2695c9e139
--- /dev/null
+++ b/dev-python/cangjie/files/cangjie-1.2-cython-022.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile.am b/Makefile.am
+index 6762b97..c0cc699 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -47,19 +47,19 @@ pkgpyexecdir = $(pyexecdir)/cangjie
+
+ src/cangjie/_core.c: src/cangjie/_core.pyx src/cangjie/_core.pxd
+ $(MKDIR_P) src/cangjie
+- $(CYTHON) -3 --verbose -o $@ $(srcdir)/src/cangjie/_core.pyx
++ $(CYTHON) -3 --verbose -o $@ -I $(srcdir)/src/cangjie $(srcdir)/src/cangjie/_core.pyx
+
+ src/cangjie/errors.c: src/cangjie/errors.pyx src/cangjie/_core.pxd
+ $(MKDIR_P) src/cangjie
+- $(CYTHON) -3 --verbose -o $@ $(srcdir)/src/cangjie/errors.pyx
++ $(CYTHON) -3 --verbose -o $@ -I $(srcdir)/src/cangjie $(srcdir)/src/cangjie/errors.pyx
+
+ src/cangjie/filters.c: src/cangjie/filters.pyx src/cangjie/_core.pxd
+ $(MKDIR_P) src/cangjie
+- $(CYTHON) -3 --verbose -o $@ $(srcdir)/src/cangjie/filters.pyx
++ $(CYTHON) -3 --verbose -o $@ -I $(srcdir)/src/cangjie $(srcdir)/src/cangjie/filters.pyx
+
+ src/cangjie/versions.c: src/cangjie/versions.pyx src/cangjie/_core.pxd
+ $(MKDIR_P) src/cangjie
+- $(CYTHON) -3 --verbose -o $@ $(srcdir)/src/cangjie/versions.pyx
++ $(CYTHON) -3 --verbose -o $@ -I $(srcdir)/src/cangjie $(srcdir)/src/cangjie/versions.pyx
diff --git a/dev-python/cangjie/metadata.xml b/dev-python/cangjie/metadata.xml
new file mode 100644
index 000000000000..a99f2d36aae1
--- /dev/null
+++ b/dev-python/cangjie/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cjk</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>brendan@horan.hk</email>
+ <name>Brendan Horan</name>
+ <description>Proxy - Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Cangjians/pycangjie</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/carbon/Manifest b/dev-python/carbon/Manifest
new file mode 100644
index 000000000000..f18c232deac6
--- /dev/null
+++ b/dev-python/carbon/Manifest
@@ -0,0 +1,2 @@
+DIST carbon-0.9.12.tar.gz 47450 SHA256 df4b521a449b888fc901d11abffc9e7eb070a8670e341caa0e13ab8f3029cddf SHA512 060b3d20cf2bd95be22fba30a24591361c772edaaaa99117616f4a01a31eab9395d84c5eb835408fac2c1bc36b70950e260d56456879489a9ee3248c6c4e3f33 WHIRLPOOL c6021492dc5ed3c9c4cefe173b1e0592b18e6c2d49e48cd74059c4d3822ea0b2cf253bedc9a67f7fa37dd8944e06835a1da959300e3c6e0f1759622b19b0c61e
+DIST carbon-0.9.13.tar.gz 47509 SHA256 75aecd8114435430e06803ebaf1e9cac81f58fb231fc93d8904d667d971ae6cd SHA512 89c843ac67ed4b68c28273459e5a96594851e5d2694fdefdfb71cebcdc6555d4aac8c45c1c6d2ca61a15405bac7ba3d27836470fe152d5d7a4936bb2d00e6776 WHIRLPOOL 40000d912f3881dc4f197e1290d3e0fd092ec23bc6574a97fa31d0ffa77fa651abc4d4da529e45d88d74ea763f18cde20daf5fd70549d6afd38f4c5b88d1becb
diff --git a/dev-python/carbon/carbon-0.9.12-r1.ebuild b/dev-python/carbon/carbon-0.9.12-r1.ebuild
new file mode 100644
index 000000000000..394ffe7411d9
--- /dev/null
+++ b/dev-python/carbon/carbon-0.9.12-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Backend data caching and persistence daemon for Graphite"
+HOMEPAGE="http://graphite.wikidot.com/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ ~dev-python/twisted-core-12.3.0[${PYTHON_USEDEP}]
+ dev-python/whisper[${PYTHON_USEDEP}]
+ dev-python/txAMQP[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ # Do not install the configuration and data files. We install them
+ # somewhere sensible by hand.
+ "${FILESDIR}"/${P}-no-data-files.patch
+ )
+
+python_prepare_all() {
+ # This sets prefix to /opt/graphite. We want FHS-style paths instead.
+ rm setup.cfg || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /etc/carbon
+ doins conf/*
+
+ dodir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd}
+
+ newinitd "${FILESDIR}"/carbon.initd carbon-cache
+ newinitd "${FILESDIR}"/carbon.initd carbon-relay
+ newinitd "${FILESDIR}"/carbon.initd carbon-aggregator
+
+ newconfd "${FILESDIR}"/carbon.confd carbon-cache
+ newconfd "${FILESDIR}"/carbon.confd carbon-relay
+ newconfd "${FILESDIR}"/carbon.confd carbon-aggregator
+}
+
+pkg_postinst() {
+ einfo 'This ebuild installs carbon into FHS-style paths.'
+ einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon'
+ einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this'
+ einfo '(see /etc/carbon/carbon.conf.example).'
+ einfo ' '
+ einfo 'OpenRC init script supports multiple instances !'
+ einfo 'Example to run an instance b of carbon-cache :'
+ einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b'
+ einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b'
+}
diff --git a/dev-python/carbon/carbon-0.9.13.ebuild b/dev-python/carbon/carbon-0.9.13.ebuild
new file mode 100644
index 000000000000..4b7ed80fb330
--- /dev/null
+++ b/dev-python/carbon/carbon-0.9.13.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Backend data caching and persistence daemon for Graphite"
+HOMEPAGE="http://graphite.wikidot.com/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/whisper[${PYTHON_USEDEP}]
+ dev-python/txAMQP[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ # Do not install the configuration and data files. We install them
+ # somewhere sensible by hand.
+ "${FILESDIR}"/${PN}-0.9.12-no-data-files.patch
+ )
+
+python_prepare_all() {
+ # This sets prefix to /opt/graphite. We want FHS-style paths instead.
+ rm setup.cfg || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /etc/carbon
+ doins conf/*
+
+ dodir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd}
+
+ newinitd "${FILESDIR}"/carbon.initd carbon-cache
+ newinitd "${FILESDIR}"/carbon.initd carbon-relay
+ newinitd "${FILESDIR}"/carbon.initd carbon-aggregator
+
+ newconfd "${FILESDIR}"/carbon.confd carbon-cache
+ newconfd "${FILESDIR}"/carbon.confd carbon-relay
+ newconfd "${FILESDIR}"/carbon.confd carbon-aggregator
+}
+
+pkg_postinst() {
+ einfo 'This ebuild installs carbon into FHS-style paths.'
+ einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon'
+ einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this'
+ einfo '(see /etc/carbon/carbon.conf.example).'
+ einfo ' '
+ einfo 'OpenRC init script supports multiple instances !'
+ einfo 'Example to run an instance b of carbon-cache :'
+ einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b'
+ einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b'
+}
diff --git a/dev-python/carbon/files/carbon-0.9.12-no-data-files.patch b/dev-python/carbon/files/carbon-0.9.12-no-data-files.patch
new file mode 100644
index 000000000000..129c7189f3b0
--- /dev/null
+++ b/dev-python/carbon/files/carbon-0.9.12-no-data-files.patch
@@ -0,0 +1,24 @@
+diff -ur carbon-0.9.12.orig/setup.py carbon-0.9.12/setup.py
+--- /setup.py 2013-08-22 00:53:16.000000000 +0800
++++ /setup.py 2014-01-26 11:20:59.705864697 +0800
+@@ -13,12 +13,6 @@
+ setup_kwargs = dict()
+
+
+-storage_dirs = [ ('storage/whisper',[]), ('storage/lists',[]),
+- ('storage/log',[]), ('storage/rrd',[]) ]
+-conf_files = [ ('conf', glob('conf/*.example')) ]
+-
+-install_files = storage_dirs + conf_files
+-
+ # If we are building on RedHat, let's use the redhat init scripts.
+ if platform.dist()[0] == 'redhat':
+ init_scripts = [ ('/etc/init.d', ['distro/redhat/init.d/carbon-cache',
+@@ -39,7 +33,6 @@
+ package_dir={'' : 'lib'},
+ scripts=glob('bin/*'),
+ package_data={ 'carbon' : ['*.xml'] },
+- data_files=install_files,
+ install_requires=['twisted', 'txamqp'],
+ **setup_kwargs
+ )
diff --git a/dev-python/carbon/files/carbon.confd b/dev-python/carbon/files/carbon.confd
new file mode 100644
index 000000000000..b1875e134678
--- /dev/null
+++ b/dev-python/carbon/files/carbon.confd
@@ -0,0 +1,5 @@
+# Use the given config file
+CARBON_CONFIG="/etc/carbon/carbon.conf"
+
+# Add extra parameters
+CARBON_EXTRA_PARAMETERS=""
diff --git a/dev-python/carbon/files/carbon.initd b/dev-python/carbon/files/carbon.initd
new file mode 100644
index 000000000000..6fd12c60e785
--- /dev/null
+++ b/dev-python/carbon/files/carbon.initd
@@ -0,0 +1,52 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+export GRAPHITE_CONF_DIR=/etc/carbon
+export GRAPHITE_STORAGE_DIR=/var/lib/carbon
+
+INSTANCE=${SVCNAME/#*.}
+if [ "${INSTANCE}" == "${SVCNAME}" ]; then
+ INSTANCE="a"
+fi
+
+PIDFILE="/var/run/${SVCNAME}.pid"
+PROGRAMNAME=${SVCNAME/.*}
+
+CARBON_CONFIG=${CARBON_CONFIG:-/etc/carbon/carbon.conf}
+
+depend() {
+ use net
+}
+
+
+start_pre() {
+ if [ ! -f ${CARBON_CONFIG} ] ; then
+ eend "Missing ${CARBON_CONFIG}"
+ fi
+ case "${PROGRAMNAME}" in
+ "carbon-relay" )
+ [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf"
+ ;;
+ "carbon-aggregator" )
+ [ -f /etc/carbon/aggregation-rules.conf ] || eend "Missing missing aggregation-rules.conf"
+ ;;
+ esac
+}
+
+start() {
+ ebegin "Starting ${PROGRAMNAME} instance ${INSTANCE}"
+ start-stop-daemon --start --exec /usr/bin/${PROGRAMNAME}.py \
+ --pidfile ${PIDFILE} \
+ -- --pidfile ${PIDFILE} --instance ${INSTANCE} \
+ --logdir /var/log/carbon/ --config ${CARBON_CONFIG} start >/dev/null
+ eend $? "Failed to start ${SVCNAME}"
+}
+
+stop() {
+ ebegin "Stopping ${PROGRAMNAME} instance ${INSTANCE}"
+ start-stop-daemon --stop \
+ --pidfile ${PIDFILE}
+ eend $? "Failed to stop ${SVCNAME}"
+}
diff --git a/dev-python/carbon/files/no-data-files.patch b/dev-python/carbon/files/no-data-files.patch
new file mode 100644
index 000000000000..7b0c52f3948b
--- /dev/null
+++ b/dev-python/carbon/files/no-data-files.patch
@@ -0,0 +1,26 @@
+Do not install the empty storage dirs and config files to the wrong
+location (the ebuild installs them to the right location by hand).
+
+See Gentoo bug #417221.
+
+--- setup.py
++++ setup.py
+@@ -12,9 +12,6 @@
+ setup_kwargs = dict()
+
+
+-storage_dirs = [ ('storage/whisper',[]), ('storage/lists',[]),
+- ('storage/log',[]), ('storage/rrd',[]) ]
+-conf_files = [ ('conf', glob('conf/*.example')) ]
+ #XXX Need a way to have these work for bdist_rpm but be left alone for everything else
+ #init_scripts = [ ('/etc/init.d', ['distro/redhat/init.d/carbon-cache',
+ # 'distro/redhat/init.d/carbon-relay',
+@@ -32,7 +29,6 @@
+ package_dir={'' : 'lib'},
+ scripts=glob('bin/*'),
+ package_data={ 'carbon' : ['*.xml'] },
+- data_files=storage_dirs + conf_files, # + init_scripts,
+ install_requires=['twisted', 'txamqp'],
+ **setup_kwargs
+ )
+
diff --git a/dev-python/carbon/metadata.xml b/dev-python/carbon/metadata.xml
new file mode 100644
index 000000000000..42a6c423cb5c
--- /dev/null
+++ b/dev-python/carbon/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">carbon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/carrot/Manifest b/dev-python/carrot/Manifest
new file mode 100644
index 000000000000..080dd4e63d3a
--- /dev/null
+++ b/dev-python/carrot/Manifest
@@ -0,0 +1 @@
+DIST carrot-0.10.7.tar.gz 62069 SHA256 cb46374f3c883c580d142a79d2609883713a867cc86e0514163adce784ce2468 SHA512 3814089acc0b4ec51fc67470f0c3f21b740c5b7ed284d61919d6796f6e0529cb3d5e9c1a4cbf8360f98c76b520e5b73b43fa744775f4c6e3a629d77a46a10f3f WHIRLPOOL 0148953c40008002c8c4c95454918840c086d9215e25cdfd6dae7579d81544f57533902409af8f0caab9b1a5c72d72a9505e846d9e738804668f7dcd7af7b7a9
diff --git a/dev-python/carrot/carrot-0.10.7-r1.ebuild b/dev-python/carrot/carrot-0.10.7-r1.ebuild
new file mode 100644
index 000000000000..7cf3a8d04736
--- /dev/null
+++ b/dev-python/carrot/carrot-0.10.7-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://github.com/ask/carrot/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="dev-python/anyjson[${PYTHON_USEDEP}]
+ >=dev-python/amqplib-0.6[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Half of tests fail
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/carrot/metadata.xml b/dev-python/carrot/metadata.xml
new file mode 100644
index 000000000000..371b75d397db
--- /dev/null
+++ b/dev-python/carrot/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">carrot</remote-id>
+ <remote-id type="github">ask/carrot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/casuarius/Manifest b/dev-python/casuarius/Manifest
new file mode 100644
index 000000000000..d30b7424983e
--- /dev/null
+++ b/dev-python/casuarius/Manifest
@@ -0,0 +1 @@
+DIST casuarius-1.1.tar.gz 139555 SHA256 8ebec38cb8ced80e8a1def9a7e5cb07a4a2a5fca723e26008ff5cecc030c1ab5 SHA512 d0a77b285b923f72274b13240ab4ae079c4f69587093c43bb7375c8ba24517ba6a7e2ba429b3e9a6ee9c73736efafff00da9cde7d533f05de0c7675de1e62080 WHIRLPOOL 1ff87430bc933973a445d7dde3af4854d796ead5bc1998a6cc56e10886b259cf0d5c8f08612894ce68ecf32e0e81227b7e8e030af69180c9dca2c373fabdfb2d
diff --git a/dev-python/casuarius/casuarius-1.1.ebuild b/dev-python/casuarius/casuarius-1.1.ebuild
new file mode 100644
index 000000000000..974b149d13ae
--- /dev/null
+++ b/dev-python/casuarius/casuarius-1.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Cython wrapper for the Cassowary incremental constraint solver"
+HOMEPAGE="https://github.com/enthought/casuarius"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/cython-0.15.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/casuarius/metadata.xml b/dev-python/casuarius/metadata.xml
new file mode 100644
index 000000000000..0b61e5f4edab
--- /dev/null
+++ b/dev-python/casuarius/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Casuarius is a Cython binding for Cassowary incremental constraint solver.
+ The solver source code is derived from the 0.6 release of
+ Cassowary. It has been modified by Svilen Dobrev to remove memory
+ leaks.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">encore</remote-id>
+ <remote-id type="github">enthought/casuarius</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cddb-py/Manifest b/dev-python/cddb-py/Manifest
new file mode 100644
index 000000000000..92ea21c4c928
--- /dev/null
+++ b/dev-python/cddb-py/Manifest
@@ -0,0 +1 @@
+DIST CDDB-1.4.tar.gz 39562 SHA256 bcd0f2f21848f2fcd692c542f124ec3e1414391ddeb6114f6f7bc5724a831d25 SHA512 578ef74313cd164f28682ed7e8b26e7c4e7fbac972f7c3c2fecfe31e6bc2ea8dff0c79adf9b6fda77402f9855d809819f56c23e4ffa68404d8cde479a15f740a WHIRLPOOL 9838ae4168c63b003ba686d57fccbfa84d85cd5dbffb5c603bb7065d05f5e419fa3fc55f70edcec30255dd4fdbdbad7bf7c36416c3edadf4004005147378105b
diff --git a/dev-python/cddb-py/cddb-py-1.4-r1.ebuild b/dev-python/cddb-py/cddb-py-1.4-r1.ebuild
new file mode 100644
index 000000000000..1da0bf6de42b
--- /dev/null
+++ b/dev-python/cddb-py/cddb-py-1.4-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="CDDB"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="CDDB Module for Python"
+HOMEPAGE="http://sourceforge.net/projects/cddb-py/"
+SRC_URI="mirror://sourceforge/cddb-py/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/cddb-py/cddb-py-1.4.ebuild b/dev-python/cddb-py/cddb-py-1.4.ebuild
new file mode 100644
index 000000000000..63a86f8b6451
--- /dev/null
+++ b/dev-python/cddb-py/cddb-py-1.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+MY_PN="CDDB"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="CDDB Module for Python"
+HOMEPAGE="http://sourceforge.net/projects/cddb-py/"
+SRC_URI="mirror://sourceforge/cddb-py/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_MODNAME="CDDB.py DiscID.py"
diff --git a/dev-python/cddb-py/metadata.xml b/dev-python/cddb-py/metadata.xml
new file mode 100644
index 000000000000..bf360c3d5890
--- /dev/null
+++ b/dev-python/cddb-py/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">cddb-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/celementtree/Manifest b/dev-python/celementtree/Manifest
new file mode 100644
index 000000000000..b7f490293739
--- /dev/null
+++ b/dev-python/celementtree/Manifest
@@ -0,0 +1 @@
+DIST cElementTree-1.0.5-20051216.tar.gz 93766 SHA256 b2e528c99837124b32598bde7a19da579203c600d71f22f4c84da0933ba09751 SHA512 2cb99e4980580f186eb9b8740bc5a3e6e85e714a5d1f613850a8f12f7dbc125c8aa7770f7fe70480fb96999212c11181ab681822c74429882c1dfe91c20e2af9 WHIRLPOOL 2788c2eb7ab7bb3a654b535d273cb198eaf15d2265b00e4a9da3b1aa097041db34ce3ebd7b393e75a806957dca3b5c712e5256bc69f0eceb0c11c99bdb9bbce2
diff --git a/dev-python/celementtree/celementtree-1.0.5-r2.ebuild b/dev-python/celementtree/celementtree-1.0.5-r2.ebuild
new file mode 100644
index 000000000000..abdfd29fde30
--- /dev/null
+++ b/dev-python/celementtree/celementtree-1.0.5-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="cElementTree-${PV}-20051216"
+
+DESCRIPTION="The cElementTree module is a C implementation of the ElementTree API"
+HOMEPAGE="http://effbot.org/zone/celementtree.htm http://pypi.python.org/pypi/cElementTree"
+SRC_URI="http://effbot.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="ElementTree"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="examples"
+
+RDEPEND=">=dev-python/elementtree-1.2[${PYTHON_USEDEP}]
+ >=dev-libs/expat-1.95.8"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-use_system_expat.patch"
+ "${FILESDIR}/${P}-setuptools.patch"
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" selftest.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. selftest.py )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/celementtree/files/celementtree-1.0.5-setuptools.patch b/dev-python/celementtree/files/celementtree-1.0.5-setuptools.patch
new file mode 100644
index 000000000000..d70dfab1a519
--- /dev/null
+++ b/dev-python/celementtree/files/celementtree-1.0.5-setuptools.patch
@@ -0,0 +1,12 @@
+--- setup.py.orig 2007-07-04 23:05:19.000000000 -0700
++++ setup.py 2007-07-04 23:05:58.000000000 -0700
+@@ -6,7 +6,8 @@
+ # Usage: python setup.py install
+ #
+
+-from distutils.core import setup, Extension
++from setuptools import setup
++from distutils.core import Extension
+ from distutils import sysconfig
+ import sys, os
+
diff --git a/dev-python/celementtree/files/celementtree-1.0.5-use_system_expat.patch b/dev-python/celementtree/files/celementtree-1.0.5-use_system_expat.patch
new file mode 100644
index 000000000000..fb90e59a4492
--- /dev/null
+++ b/dev-python/celementtree/files/celementtree-1.0.5-use_system_expat.patch
@@ -0,0 +1,44 @@
+diff -u a/selftest.py b/selftest.py
+--- a/selftest.py 2005-12-16 23:57:47.000000000 +0200
++++ b/selftest.py 2007-07-03 08:07:45.000000000 +0300
+@@ -176,8 +176,6 @@
+ </ns0:root>
+
+ >>> parser = ElementTree.XMLParser()
+- >>> parser.version
+- 'Expat 1.95.8'
+ >>> parser.feed(open("samples/simple.xml").read())
+ >>> print serialize(parser.close())
+ <root>
+diff -u a/setup.py b/setup.py
+--- a/setup.py 2005-12-16 23:57:47.000000000 +0200
++++ b/setup.py 2007-07-03 08:00:57.000000000 +0300
+@@ -23,16 +23,6 @@
+ # --------------------------------------------------------------------
+ # expat library
+
+-sources = [
+- "expat/xmlparse.c",
+- "expat/xmlrole.c",
+- "expat/xmltok.c",
+- ]
+-
+-includes = [
+- "expat",
+- ]
+-
+ defines = [
+ ("XML_STATIC", None),
+ ]
+@@ -63,9 +53,9 @@
+
+ ext_modules.append(
+ Extension(
+- "cElementTree", ["cElementTree.c"] + sources,
++ "cElementTree", ["cElementTree.c"],
+ define_macros=defines,
+- include_dirs=includes,
++ libraries=['expat'],
+ )
+ )
+
diff --git a/dev-python/celementtree/metadata.xml b/dev-python/celementtree/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/celementtree/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/celery/Manifest b/dev-python/celery/Manifest
new file mode 100644
index 000000000000..bf6365d1456b
--- /dev/null
+++ b/dev-python/celery/Manifest
@@ -0,0 +1,2 @@
+DIST celery-3.1.17.tar.gz 1297008 SHA256 cfe2b653268bd586e2d08a75e886f7be3be55ba372f72e2f5747aeb76c470362 SHA512 f45f92161c134f528719768ad863df6b49fa69e022b47ea801e590de8579c24c6a5ec9dd88f712e180ed7d23f4510cecf4f17a959c3338d4bad79f8d7d202453 WHIRLPOOL c0f4ddab40eab2afe579c88bc9e47d46a650a73212abb7cb1d343d7ba72c1d96913c1c04a6e9920789bd6f9bf6907c09e6326aa08e6ba3cf68545e44432b95de
+DIST celery-3.1.18.tar.gz 1298756 SHA256 0924f94070c6fc57d408b169848c5b38832668fffe060e48b4803fb23e0e3eaf SHA512 219291a64c72a0c95a2b184903e491d5b6b1396b4b519d54503bb059af305c2f118865b71510d5685b8f5946135596c9d80d6ca10162a938ed90baaf4c3c48c3 WHIRLPOOL 0d27eda95fea5b6235afd7d5f90de249eec6d7c58a7563afb0cc73d29b84cb6903eced4b9515fe574206111fc4a304c5f24d3c476b4315416b441f324f2ebfa5
diff --git a/dev-python/celery/celery-3.1.17.ebuild b/dev-python/celery/celery-3.1.17.ebuild
new file mode 100644
index 000000000000..6cd1f89ef837
--- /dev/null
+++ b/dev-python/celery/celery-3.1.17.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 bash-completion-r1
+
+DESCRIPTION="Open source asynchronous task queue/job queue based on distributed message passing"
+HOMEPAGE="http://celeryproject.org/ http://pypi.python.org/pypi/celery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+# There are a number of other optional 'extras' which overlap with those of kombu, however
+# there has been no apparent expression of interest or demand by users for them. See requires.txt
+IUSE="doc examples redis sqs test yaml zeromq"
+
+PY27_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND="<dev-python/kombu-3.1[${PYTHON_USEDEP}]
+ >=dev-python/kombu-3.0.24[${PYTHON_USEDEP}]
+ >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/billiard-3.3.0.19[${PYTHON_USEDEP}]
+ <dev-python/billiard-3.4[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_USEDEP}] )
+ zeromq? ( >=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}] )
+ yaml? ( >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/gevent[${PY27_USEDEP}]
+ >=dev-python/mock-1.0.1[${PY27_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.6.2[${PYTHON_USEDEP}]
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}]
+ >=dev-db/redis-2.8.0 )
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/celery-docs.patch
+ "${FILESDIR}"/${PN}-3.1.11-test.patch )
+
+# testsuite needs it own source
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ mkdir docs/.build || die
+ emake -C docs html
+ fi
+}
+
+python_test() {
+ nosetests || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ # Main celeryd init.d and conf.d
+ newinitd "${FILESDIR}/celery.initd-r1" celery
+ newconfd "${FILESDIR}/celery.confd-r1" celery
+
+ use examples && local EXAMPLES=( examples/. )
+
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+
+ newbashcomp extra/bash-completion/celery.bash ${PN}
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/celery/celery-3.1.18.ebuild b/dev-python/celery/celery-3.1.18.ebuild
new file mode 100644
index 000000000000..0ad652be33c8
--- /dev/null
+++ b/dev-python/celery/celery-3.1.18.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 bash-completion-r1
+
+DESCRIPTION="Open source asynchronous task queue/job queue based on distributed message passing"
+HOMEPAGE="http://celeryproject.org/ http://pypi.python.org/pypi/celery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# There are a number of other optional 'extras' which overlap with those of kombu, however
+# there has been no apparent expression of interest or demand by users for them. See requires.txt
+IUSE="doc examples redis sqs test yaml zeromq"
+
+PY27_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND="<dev-python/kombu-3.1[${PYTHON_USEDEP}]
+ >=dev-python/kombu-3.0.25[${PYTHON_USEDEP}]
+ >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/billiard-3.3.0.20[${PYTHON_USEDEP}]
+ <dev-python/billiard-3.4[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_USEDEP}] )
+ zeromq? ( >=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}] )
+ yaml? ( >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/gevent[${PY27_USEDEP}]
+ >=dev-python/mock-1.0.1[${PY27_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.6.2[${PYTHON_USEDEP}]
+ redis? ( dev-python/redis-py[${PYTHON_USEDEP}]
+ >=dev-db/redis-2.8.0 )
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/celery-docs.patch
+ "${FILESDIR}"/${PN}-3.1.11-test.patch )
+
+# testsuite needs it own source
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ mkdir docs/.build || die
+ emake -C docs html
+ fi
+}
+
+python_test() {
+ nosetests || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ # Main celeryd init.d and conf.d
+ newinitd "${FILESDIR}/celery.initd-r1" celery
+ newconfd "${FILESDIR}/celery.confd-r1" celery
+
+ use examples && local EXAMPLES=( examples/. )
+
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+
+ newbashcomp extra/bash-completion/celery.bash ${PN}
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/celery/files/celery-3.0.11-require-python-dateutil-2.1.patch b/dev-python/celery/files/celery-3.0.11-require-python-dateutil-2.1.patch
new file mode 100644
index 000000000000..90cdcb6d5f1c
--- /dev/null
+++ b/dev-python/celery/files/celery-3.0.11-require-python-dateutil-2.1.patch
@@ -0,0 +1,47 @@
+From ae721b6947e7e05f26dc8438fe61106b5e993e12 Mon Sep 17 00:00:00 2001
+From: Ask Solem <ask@celeryproject.org>
+Date: Fri, 17 Aug 2012 16:16:08 +0100
+Subject: [PATCH] Now depends on dateutil-2.1 which supports Py2.6, 2.7 and
+ 3.2+. Closes #915
+
+---
+ requirements/default-py3k.txt | 2 +-
+ requirements/default.txt | 2 +-
+ setup.cfg | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/requirements/default-py3k.txt b/requirements/default-py3k.txt
+index d68a7bd..a8bd31f 100644
+--- a/requirements/default-py3k.txt
++++ b/requirements/default-py3k.txt
+@@ -1,4 +1,4 @@
+ billiard>=2.7.3.17
+-python-dateutil>=2.0
++python-dateutil>=2.1
+ pytz
+ kombu>=2.4.7,<3.0
+diff --git a/requirements/default.txt b/requirements/default.txt
+index 2f50735..855cfc7 100644
+--- a/requirements/default.txt
++++ b/requirements/default.txt
+@@ -1,3 +1,3 @@
+ billiard>=2.7.3.17
+-python-dateutil>=1.5,<2.0
++python-dateutil>=2.1
+ kombu>=2.4.7,<3.0
+diff --git a/setup.cfg b/setup.cfg
+index 0e537f8..5ac1409 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -15,7 +15,7 @@
+
+ [bdist_rpm]
+ requires = billiard>=2.7.3.17
+- python-dateutil >= 1.5
++ python-dateutil >= 2.1
+ kombu >= 2.4.7
+
+ [egg_info]
+--
+1.7.10
+
diff --git a/dev-python/celery/files/celery-3.0.12-require-python-dateutil-2.1.patch b/dev-python/celery/files/celery-3.0.12-require-python-dateutil-2.1.patch
new file mode 100644
index 000000000000..6df08727d125
--- /dev/null
+++ b/dev-python/celery/files/celery-3.0.12-require-python-dateutil-2.1.patch
@@ -0,0 +1,47 @@
+From ae721b6947e7e05f26dc8438fe61106b5e993e12 Mon Sep 17 00:00:00 2001
+From: Ask Solem <ask@celeryproject.org>
+Date: Fri, 17 Aug 2012 16:16:08 +0100
+Subject: [PATCH] Now depends on dateutil-2.1 which supports Py2.6, 2.7 and
+ 3.2+. Closes #915
+
+---
+ requirements/default-py3k.txt | 2 +-
+ requirements/default.txt | 2 +-
+ setup.cfg | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/requirements/default-py3k.txt b/requirements/default-py3k.txt
+index d68a7bd..a8bd31f 100644
+--- a/requirements/default-py3k.txt
++++ b/requirements/default-py3k.txt
+@@ -1,4 +1,4 @@
+ billiard>=2.7.3.17
+-python-dateutil>=2.0
++python-dateutil>=2.1
+ pytz
+ kombu>=2.4.7,<3.0
+diff --git a/requirements/default.txt b/requirements/default.txt
+index 2f50735..855cfc7 100644
+--- a/requirements/default.txt
++++ b/requirements/default.txt
+@@ -1,3 +1,3 @@
+ billiard>=2.7.3.17
+-python-dateutil>=1.5,<2.0
++python-dateutil>=2.1
+ kombu>=2.4.7,<3.0
+diff --git a/setup.cfg b/setup.cfg
+index 0e537f8..5ac1409 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -15,7 +15,7 @@
+
+ [bdist_rpm]
+ requires = billiard >= 2.7.3.18
+- python-dateutil >= 1.5
++ python-dateutil >= 2.1
+ kombu >= 2.4.8
+
+ [egg_info]
+--
+1.7.10
+
diff --git a/dev-python/celery/files/celery-3.1.10-test.patch b/dev-python/celery/files/celery-3.1.10-test.patch
new file mode 100644
index 000000000000..94fcac92fbf3
--- /dev/null
+++ b/dev-python/celery/files/celery-3.1.10-test.patch
@@ -0,0 +1,33 @@
+https://github.com/celery/celery/commit/fb48b1f357f7a416d1413d0056158a74191185af.diff
+diff --git a/celery/tests/backends/test_mongodb.py b/celery/tests/backends/test_mongodb.py
+index f7546d3..a32d9ed 100644
+--- a/celery/tests/backends/test_mongodb.py
++++ b/celery/tests/backends/test_mongodb.py
+@@ -196,9 +196,10 @@ def test_get_task_meta_for(self, mock_get_database):
+ mock_get_database.assert_called_once_with()
+ mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
+ self.assertEqual(
+- ['status', 'task_id', 'date_done', 'traceback', 'result',
+- 'children'],
+- list(ret_val.keys()))
++ list(sorted(['status', 'task_id', 'date_done', 'traceback',
++ 'result', 'children'])),
++ list(sorted(ret_val.keys())),
++ )
+
+ @patch('celery.backends.mongodb.MongoBackend._get_database')
+ def test_get_task_meta_for_no_result(self, mock_get_database):
+@@ -253,8 +253,8 @@ def test_restore_group(self, mock_get_database):
+ mock_collection.find_one.assert_called_once_with(
+ {'_id': sentinel.taskset_id})
+ self.assertEqual(
+- ['date_done', 'result', 'task_id'],
+- list(ret_val.keys()),
++ list(sorted(['date_done', 'result', 'task_id'])),
++ list(sorted(ret_val.keys())),
+ )
+
+ @patch('celery.backends.mongodb.MongoBackend._get_database')
+#diff -ur celery-3.1.10.orig/celery/tests/backends/test_mongodb.py celery-3.1.10/celery/tests/backends/test_mongodb.py
+#--- celery-3.1.10.orig/celery/tests/backends/test_mongodb.py 2014-02-28 21:43:26.000000000 +0800
+#+++ celery-3.1.10/celery/tests/backends/test_mongodb.py 2014-04-17 11:43:00.818430253 +0800
diff --git a/dev-python/celery/files/celery-3.1.11-test.patch b/dev-python/celery/files/celery-3.1.11-test.patch
new file mode 100644
index 000000000000..b09d464252cf
--- /dev/null
+++ b/dev-python/celery/files/celery-3.1.11-test.patch
@@ -0,0 +1,16 @@
+https://github.com/celery/celery/commit/fb48b1f357f7a416d1413d0056158a74191185af.diff
+diff --git a/celery/tests/backends/test_mongodb.py b/celery/tests/backends/test_mongodb.py
+index f7546d3..a32d9ed 100644
+--- a/celery/tests/backends/test_mongodb.py
++++ b/celery/tests/backends/test_mongodb.py
+@@ -253,8 +253,8 @@ def test_restore_group(self, mock_get_database):
+ mock_collection.find_one.assert_called_once_with(
+ {'_id': sentinel.taskset_id})
+ self.assertEqual(
+- ['date_done', 'result', 'task_id'],
+- list(ret_val.keys()),
++ list(sorted(['date_done', 'result', 'task_id'])),
++ list(sorted(ret_val.keys())),
+ )
+
+ @patch('celery.backends.mongodb.MongoBackend._get_database')
diff --git a/dev-python/celery/files/celery-docs.patch b/dev-python/celery/files/celery-docs.patch
new file mode 100644
index 000000000000..5e09718feb2c
--- /dev/null
+++ b/dev-python/celery/files/celery-docs.patch
@@ -0,0 +1,19 @@
+# Prevent un-needed objects.inv files
+diff -ur celery-3.0.19.orig/docs/conf.py celery-3.0.19/docs/conf.py
+--- docs/conf.py 2013-04-15 22:51:46.000000000 +0800
++++ docs/conf.py 2013-04-27 21:46:25.070423582 +0800
+@@ -74,14 +74,6 @@
+ # If true, '()' will be appended to :func: etc. cross-reference text.
+ add_function_parentheses = True
+
+-intersphinx_mapping = {
+- 'python': ('http://docs.python.org/dev', None),
+- 'kombu': ('http://kombu.readthedocs.org/en/latest/', None),
+- 'djcelery': ('http://django-celery.readthedocs.org/en/latest', None),
+- 'cyme': ('http://cyme.readthedocs.org/en/latest', None),
+- 'amqp': ('http://amqp.readthedocs.org/en/latest', None),
+-}
+-
+ # The name of the Pygments (syntax highlighting) style to use.
+ pygments_style = 'colorful'
+
diff --git a/dev-python/celery/files/celery.confd b/dev-python/celery/files/celery.confd
new file mode 100644
index 000000000000..b952c9817c14
--- /dev/null
+++ b/dev-python/celery/files/celery.confd
@@ -0,0 +1,70 @@
+# /etc/conf.d/celery
+
+##############################################################################
+# GLOBAL CONFIGURATION
+
+# User and group
+#CELERY_USER="celery"
+#CELERY_GROUP="celery"
+
+# Is this for a django project ?
+# If 'yes' it will automatically setup CELERYD, CELERYCTL
+# CELERYD_MULTI, CELERYBEAT, CELERYEV and CELERYEV_CAM for a
+# django project, but you can still override them here.
+#CELERY_DJANGO="yes"
+
+# This is generaly a good idea to set the environment correctly
+# because a lot of python package try to use HOME on init
+#export HOME="/var/lib/myproject"
+
+# Full path to the python project directory.
+#CELERY_PROJDIR="/var/lib/myproject"
+
+##############################################################################
+# CELERYD
+
+#CELERYD_ENABLED="yes"
+
+# celeryd notes
+#CELERYD_NODES="celery"
+
+# celeryd options
+# Example: 5 minute hard time limit for tasks
+#CELERYD_OPTS="--time-limit=300"
+
+# Location and level of the celeryd log file
+#CELERYD_LOG_FILE=/var/log/celery/celeryd@%n.log
+#CELERYD_LOG_LEVEL="INFO"
+
+# Location of the celeryd pid file
+#CELERYD_PID_FILE=/var/run/celery/celeryd@%n.pid
+
+##############################################################################
+# CELERYBEAT
+
+#CELERYBEAT_ENABLED="yes"
+
+# celerybeat options
+#CELERYBEAT_OPTS=""
+
+# Location and level of the celerybeat log file
+#CELERYBEAT_LOG_FILE=/var/log/celery/celerybeat.log
+#CELERYBEAT_LOG_LEVEL="INFO"
+
+# Location of the celerybeat pid file
+#CELERYBEAT_PID_FILE=/var/run/celery/celerybeat.pid
+
+##############################################################################
+# CELERYEV
+
+#CELERYEV_ENABLED="yes"
+
+# celeryev options
+#CELERYEV_OPTS=""
+
+# Location and level of the celeryev log file
+#CELERYEV_LOG_FILE=/var/log/celery/celeryev.log
+#CELERYEV_LOG_LEVEL="INFO"
+
+# Location of the celeryev pid file
+#CELERYEV_PID_FILE=/var/run/celery/celeryev.pid
diff --git a/dev-python/celery/files/celery.confd-r1 b/dev-python/celery/files/celery.confd-r1
new file mode 100644
index 000000000000..17254e840d12
--- /dev/null
+++ b/dev-python/celery/files/celery.confd-r1
@@ -0,0 +1,50 @@
+# /etc/conf.d/celery
+
+##############################################################################
+# GLOBAL CONFIGURATION
+
+# User and group
+#CELERY_USER="celery"
+#CELERY_GROUP="celery"
+
+# This is generaly a good idea to set the environment correctly
+# because a lot of python package try to use HOME on init
+#export HOME="/var/lib/myproject"
+
+# Full path to the python project directory.
+#CELERY_PROJDIR="/var/lib/myproject"
+
+##############################################################################
+# CELERYD
+
+#CELERYD_ENABLED="yes"
+
+# celeryd notes
+#CELERYD_NODES="celery"
+
+# celeryd options
+# Example: set a 5 minute hard time limit for tasks, disable queue process prefetching and specify an app module from CELERY_PROJDIR
+#CELERYD_OPTS="--time-limit=300 -Ofair -A celeryapp"
+
+# Location and level of the celeryd log file
+#CELERYD_LOG_FILE=/var/log/celery/celeryd@%n.log
+#CELERYD_LOG_LEVEL="INFO"
+
+# Location of the celeryd pid file
+#CELERYD_PID_FILE=/var/run/celery/celeryd@%n.pid
+
+##############################################################################
+# CELERYBEAT
+
+#CELERYBEAT_ENABLED="yes"
+
+# celerybeat options
+#CELERYBEAT_OPTS=""
+
+# Location and level of the celerybeat log file
+#CELERYBEAT_LOG_FILE=/var/log/celery/celerybeat.log
+#CELERYBEAT_LOG_LEVEL="INFO"
+
+# Location of the celerybeat pid file
+#CELERYBEAT_PID_FILE=/var/run/celery/celerybeat.pid
+
diff --git a/dev-python/celery/files/celery.initd b/dev-python/celery/files/celery.initd
new file mode 100644
index 000000000000..67be68b5840f
--- /dev/null
+++ b/dev-python/celery/files/celery.initd
@@ -0,0 +1,268 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the BSD license
+# $Id$
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ use rabbitmq logger dns
+}
+
+CELERYD_ENABLED=${CELERYD_ENABLED:-"no"}
+CELERYD_PID_FILE=${CELERYD_PID_FILE:-"/var/run/celery/celeryd@%n.pid"}
+CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-"/var/log/celery/celeryd@%n.log"}
+CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-"INFO"}
+CELERYD_NODES=${CELERYD_NODES:-"celery"}
+
+CELERYBEAT_ENABLED=${CELERYBEAT_ENABLED:-"no"}
+CELERYBEAT_PID_FILE=${CELERYBEAT_PID_FILE:-"/var/run/celery/celerybeat.pid"}
+CELERYBEAT_LOG_FILE=${CELERYBEAT_LOG_FILE:-"/var/log/celery/celerybeat.log"}
+CELERYBEAT_LOG_LEVEL=${CELERYBEAT_LOG_LEVEL:-"INFO"}
+
+CELERYEV_ENABLED=${CELERYEV_ENABLED:-"no"}
+CELERYEV_PID_FILE=${CELERYEV_PID_FILE:-"/var/run/celery/celeryev.pid"}
+CELERYEV_LOG_FILE=${CELERYEV_LOG_FILE:-"/var/log/celery/celeryev.log"}
+CELERYEV_LOG_LEVEL=${CELERYEV_LOG_LEVEL:-"INFO"}
+
+export CELERY_LOADER
+
+if yesno "$CELERY_DJANGO"; then
+ CELERYD=${CELERYD:-"celeryd_detach"}
+ CELERYCTL=${CELERYCTL:-"python manage.py celery"}
+ CELERYD_MULTI=${CELERYD_MULTI:-"python manage.py celeryd_multi"}
+ CELERYBEAT=${CELERYBEAT:-"python manage.py celerybeat"}
+ CELERYEV=${CELERYEV:-"python manage.py celeryev"}
+ CELERYEV_CAM=${CELERYEV_CAM:-"djcelery.snapshot.Camera"}
+else
+ CELERYD=${CELERYD:-"-m celery.bin.celeryd_detach"}
+ CELERYD_MULTI=${CELERYD_MULTI:-"celeryd-multi"}
+ CELERYCTL=${CELERYCTL:-"celeryctl"}
+ CELERYBEAT=${CELERYBEAT:-"celerybeat"}
+ CELERYEV=${CELERYEV:-"celeryev"}
+fi
+
+CELERYD_OPTS="$CELERYD_OPTS"
+CELERYBEAT_OPTS="$CELERYBEAT_OPTS -f $CELERYBEAT_LOG_FILE -l $CELERYBEAT_LOG_LEVEL"
+CELERYEV_OPTS="$CELERYEV_OPTS -f $CELERYEV_LOG_FILE -l $CELERYEV_LOG_LEVEL -c $CELERYEV_CAM"
+
+create_dirs() {
+ local logfile="$1"
+ local pidfile="$2"
+ local logdir=$(dirname $logfile)
+ local piddir=$(dirname $pidfile)
+
+ checkpath -d -q -m 0750 -o ${CELERY_USER:-"root"}:${CELERY_GROUP:-"root"} $logdir $piddir
+}
+
+if [ -n "$CELERY_USER" ]; then
+ DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERY_USER"
+fi
+if [ -n "$CELERY_GROUP" ]; then
+ DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERY_GROUP"
+fi
+
+checkconfig() {
+ if [ ! -c /dev/null ]; then
+ eerror "/dev/null is not a character device!"
+ return 1
+ fi
+
+ if [ -z "$CELERY_PROJDIR" ]; then
+ eerror "Missing CELERY_PROJDIR variable"
+ return 1
+ fi
+
+ if yesno "$CELERYD_ENABLED"; then
+ create_dirs "$CELERYD_LOG_FILE" "$CELERYD_PID_FILE"
+ fi
+
+ if yesno "$CELERYBEAT_ENABLED"; then
+ create_dirs "$CELERYBEAT_LOG_FILE" "$CELERYBEAT_PID_FILE"
+ fi
+
+ if yesno "$CELERYEV_ENABLED"; then
+ create_dirs "$CELERYEV_LOG_FILE" "$CELERYEV_PID_FILE"
+
+ if [ -z "$CELERYEV_CAM" ]; then
+ eerror "Missing CELERYEV_CAM variable"
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
+celery_chdir() {
+ if [ -n "$CELERY_PROJDIR" ]; then
+ cd "$CELERY_PROJDIR"
+ fi
+}
+
+wait_pid () {
+ local pidfile=$1
+ local timeout=${STOPTIMEOUT:-"10"}
+ local PID=$(cat "${pidfile}" 2>/dev/null)
+
+ while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do
+ kill -0 $PID 2>/dev/null || break
+ kill -TERM "$PID"
+ timeout=$(($timeout - 1))
+ sleep 0.5
+ done
+
+ [[ "${timeout}" -lt 1 ]] && return 1
+ [ -f $pidfile ] && rm -f $pidfile
+ return 0
+}
+
+# celeryd
+start_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS \
+ --pidfile="$CELERYD_PID_FILE" \
+ --logfile="$CELERYD_LOG_FILE" \
+ --loglevel="$CELERYD_LOG_LEVEL" \
+ --cmd="$CELERYD" \
+ $CELERYD_OPTS
+}
+
+stop_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ local timeout=${STOPTIMEOUT:-"10"}
+
+ $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE" || return 1
+
+ # Wait for each node
+ for node in $CELERYD_NODES; do
+ local pidfile=${CELERYD_PID_FILE/\%n/$node}
+ local PID=$(cat "${pidfile}" 2>/dev/null)
+ while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do
+ kill -0 $PID 2>/dev/null || break
+ timeout=$(($timeout - 1))
+ sleep 0.5
+ done
+ done
+
+ [[ "${timeout}" -lt 1 ]] && return 1
+ return 0
+}
+
+restart_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS \
+ --pidfile="$CELERYD_PID_FILE" \
+ --logfile="$CELERYD_LOG_FILE" \
+ --loglevel="$CELERYD_LOG_LEVEL" \
+ --cmd="$CELERYD" \
+ $CELERYD_OPTS
+}
+
+# celeryev
+start_ev() {
+ yesno "${CELERYEV_ENABLED}" || return 0
+
+ ebegin "Starting celeryev"
+ $CELERYEV $CELERYEV_OPTS $DAEMON_OPTS --detach \
+ --pidfile="$CELERYEV_PID_FILE"
+ eend $?
+}
+
+
+stop_ev() {
+ yesno "${CELERYEV_ENABLED}" || return 0
+
+ ebegin "Stopping celeryev"
+ if [ -f "$CELERYEV_PID_FILE" ]; then
+ wait_pid "$CELERYEV_PID_FILE"
+ else
+ ewarn "not running"
+ fi
+ eend $?
+}
+
+# celerybeat
+start_beat() {
+ yesno "${CELERYBEAT_ENABLED}" || return 0
+
+ ebegin "Starting celerybeat"
+ $CELERYBEAT $CELERYBEAT_OPTS $DAEMON_OPTS --detach \
+ --pidfile="$CELERYBEAT_PID_FILE"
+ eend $?
+}
+
+
+stop_beat() {
+ yesno "${CELERYBEAT_ENABLED}" || return 0
+
+ ebegin "Stopping celerybeat"
+ if [ -f "$CELERYBEAT_PID_FILE" ]; then
+ wait_pid "$CELERYBEAT_PID_FILE"
+ else
+ ewarn "not running"
+ fi
+ eend $?
+}
+
+
+start() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Starting ${SVCNAME}"
+ eindent
+
+ celery_chdir && \
+ start_workers && \
+ start_beat && \
+ start_ev || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+stop() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Stopping ${SVCNAME}"
+ eindent
+
+ celery_chdir
+ stop_workers || cr=1
+ stop_beat || cr=1
+ stop_ev || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+reload() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Restarting ${SVCNAME}"
+ eindent
+
+ celery_chdir
+ restart_workers || cr=1
+ stop_beat && start_beat || cr=1
+ stop_ev && start_ev || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+status() {
+ checkconfig || return 1
+
+ celery_chdir && \
+ ${CELERYCTL} status
+}
diff --git a/dev-python/celery/files/celery.initd-r1 b/dev-python/celery/files/celery.initd-r1
new file mode 100644
index 000000000000..2fcd6d95fbdf
--- /dev/null
+++ b/dev-python/celery/files/celery.initd-r1
@@ -0,0 +1,214 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the BSD license
+# $Id$
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ use rabbitmq redis logger dns
+}
+
+CELERYD_ENABLED=${CELERYD_ENABLED:-"no"}
+CELERYD_PID_FILE=${CELERYD_PID_FILE:-"/var/run/celery/celeryd@%n.pid"}
+CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-"/var/log/celery/celeryd@%n.log"}
+CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-"INFO"}
+CELERYD_NODES=${CELERYD_NODES:-"celery"}
+
+CELERYBEAT_ENABLED=${CELERYBEAT_ENABLED:-"no"}
+CELERYBEAT_PID_FILE=${CELERYBEAT_PID_FILE:-"/var/run/celery/celerybeat.pid"}
+CELERYBEAT_LOG_FILE=${CELERYBEAT_LOG_FILE:-"/var/log/celery/celerybeat.log"}
+CELERYBEAT_LOG_LEVEL=${CELERYBEAT_LOG_LEVEL:-"INFO"}
+
+export CELERY_LOADER
+
+CELERYD_MULTI=${CELERYD_MULTI:-"celery multi"}
+CELERYCTL=${CELERYCTL:-"celery"}
+CELERYBEAT=${CELERYBEAT:-"celery beat"}
+
+CELERYD_OPTS="$CELERYD_OPTS"
+CELERYBEAT_OPTS="$CELERYBEAT_OPTS -f $CELERYBEAT_LOG_FILE -l $CELERYBEAT_LOG_LEVEL"
+
+create_dirs() {
+ local logfile="$1"
+ local pidfile="$2"
+ local logdir=$(dirname $logfile)
+ local piddir=$(dirname $pidfile)
+
+ checkpath -d -q -m 0750 -o ${CELERY_USER:-"root"}:${CELERY_GROUP:-"root"} $logdir $piddir
+}
+
+if [ -n "$CELERY_USER" ]; then
+ DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERY_USER"
+fi
+if [ -n "$CELERY_GROUP" ]; then
+ DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERY_GROUP"
+fi
+
+checkconfig() {
+ if [ ! -c /dev/null ]; then
+ eerror "/dev/null is not a character device!"
+ return 1
+ fi
+
+ if [ -z "$CELERY_PROJDIR" ]; then
+ eerror "Missing CELERY_PROJDIR variable"
+ return 1
+ fi
+
+ if yesno "$CELERYD_ENABLED"; then
+ create_dirs "$CELERYD_LOG_FILE" "$CELERYD_PID_FILE"
+ fi
+
+ if yesno "$CELERYBEAT_ENABLED"; then
+ create_dirs "$CELERYBEAT_LOG_FILE" "$CELERYBEAT_PID_FILE"
+ fi
+
+ return 0
+}
+
+celery_chdir() {
+ if [ -n "$CELERY_PROJDIR" ]; then
+ cd "$CELERY_PROJDIR"
+ fi
+}
+
+wait_pid () {
+ local pidfile=$1
+ local timeout=${STOPTIMEOUT:-"10"}
+ local PID=$(cat "${pidfile}" 2>/dev/null)
+
+ while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do
+ kill -0 $PID 2>/dev/null || break
+ kill -TERM "$PID"
+ timeout=$(($timeout - 1))
+ sleep 0.5
+ done
+
+ [[ "${timeout}" -lt 1 ]] && return 1
+ [ -f $pidfile ] && rm -f $pidfile
+ return 0
+}
+
+# celeryd
+start_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS \
+ --pidfile="$CELERYD_PID_FILE" \
+ --logfile="$CELERYD_LOG_FILE" \
+ --loglevel="$CELERYD_LOG_LEVEL" \
+ $CELERYD_OPTS
+}
+
+stop_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ local timeout=${STOPTIMEOUT:-"10"}
+
+ $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE" || return 1
+
+ # Wait for each node
+ for node in $CELERYD_NODES; do
+ local pidfile=${CELERYD_PID_FILE/\%n/$node}
+ local PID=$(cat "${pidfile}" 2>/dev/null)
+ while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do
+ kill -0 $PID 2>/dev/null || break
+ timeout=$(($timeout - 1))
+ sleep 0.5
+ done
+ done
+
+ [[ "${timeout}" -lt 1 ]] && return 1
+ return 0
+}
+
+restart_workers() {
+ yesno "${CELERYD_ENABLED}" || return 0
+
+ $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS \
+ --pidfile="$CELERYD_PID_FILE" \
+ --logfile="$CELERYD_LOG_FILE" \
+ --loglevel="$CELERYD_LOG_LEVEL" \
+ $CELERYD_OPTS
+}
+
+# celerybeat
+start_beat() {
+ yesno "${CELERYBEAT_ENABLED}" || return 0
+
+ ebegin "Starting celerybeat"
+ $CELERYBEAT $CELERYBEAT_OPTS $DAEMON_OPTS --detach \
+ --pidfile="$CELERYBEAT_PID_FILE"
+ eend $?
+}
+
+
+stop_beat() {
+ yesno "${CELERYBEAT_ENABLED}" || return 0
+
+ ebegin "Stopping celerybeat"
+ if [ -f "$CELERYBEAT_PID_FILE" ]; then
+ wait_pid "$CELERYBEAT_PID_FILE"
+ else
+ ewarn "not running"
+ fi
+ eend $?
+}
+
+
+start() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Starting ${SVCNAME}"
+ eindent
+
+ celery_chdir && \
+ start_workers && \
+ start_beat || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+stop() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Stopping ${SVCNAME}"
+ eindent
+
+ celery_chdir
+ stop_workers || cr=1
+ stop_beat || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+reload() {
+ local cr=0
+
+ checkconfig || return 1
+
+ ebegin "Restarting ${SVCNAME}"
+ eindent
+
+ celery_chdir
+ restart_workers || cr=1
+ stop_beat && start_beat || cr=1
+
+ eoutdent
+ eend $cr
+}
+
+status() {
+ checkconfig || return 1
+
+ celery_chdir && \
+ ${CELERYCTL} status
+}
diff --git a/dev-python/celery/metadata.xml b/dev-python/celery/metadata.xml
new file mode 100644
index 000000000000..1808f87d128e
--- /dev/null
+++ b/dev-python/celery/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">celery</remote-id>
+ </upstream>
+ <use>
+ <flag name='redis'>Enables redis support</flag>
+ <flag name="sqs">Enables Amazon SQS transport module for celery</flag>
+ <flag name="zeromq">Enable logging and deployment via ZeroMQ</flag>
+ <flag name="yaml">Enable support of yaml as a configuration file format</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/cement/Manifest b/dev-python/cement/Manifest
new file mode 100644
index 000000000000..5ca96b3f6fcb
--- /dev/null
+++ b/dev-python/cement/Manifest
@@ -0,0 +1 @@
+DIST cement-2.0.2.tar.gz 81009 SHA256 af788557a1f4ebcbd0e0949f0ee0b627f8e03844f7e76902c3cdb3959cf11e38 SHA512 5df35bdaa714a9b11d5b0154658333ea28a8e50e8910ee7d900cc7342dda8ce547d5400990240b89b6c808bb91c72b785f66c31c057cf7b782d16efd0c21a4b9 WHIRLPOOL c7997e238ac698f8e067586783f187ef6d5c0a8f175dc46a961205397f77fd8b9bce6f8e5b4aea87d5456007a43e18de585589df90799ea94f98f1ac8c4fa312
diff --git a/dev-python/cement/cement-2.0.2.ebuild b/dev-python/cement/cement-2.0.2.ebuild
new file mode 100644
index 000000000000..e24041324bc9
--- /dev/null
+++ b/dev-python/cement/cement-2.0.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 versionator
+
+PV_MAJOR_MINOR=$(get_version_component_range 1-2)
+
+DESCRIPTION="CLI Application Framework for Python"
+HOMEPAGE="http://builtoncement.com/"
+SRC_URI="http://builtoncement.com/${PN}/${PV_MAJOR_MINOR}/source/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+
+DOCS=( ChangeLog CONTRIBUTORS README.md )
+PATCHES=( "${FILESDIR}"/tests-installation.patch )
+# https://github.com/cement/cement/issues/185
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" setup.py build_sphinx || die "couldn't build docs"
+ fi
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/build/html/* )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cement/files/tests-installation.patch b/dev-python/cement/files/tests-installation.patch
new file mode 100644
index 000000000000..d93926b2100d
--- /dev/null
+++ b/dev-python/cement/files/tests-installation.patch
@@ -0,0 +1,19 @@
+commit a952b0a202e05dd2a1222840be70da77a62095b5
+Author: yac <yac@blesmrt.net>
+Date: Fri Mar 29 20:21:49 2013 +0100
+
+ fixes 185
+
+diff --git a/setup.py b/setup.py
+index 31225f7..4544edd 100644
+--- a/setup.py
++++ b/setup.py
+@@ -29,7 +29,7 @@ setup(name='cement',
+ author_email='derks@bjdierkes.com',
+ url='http://builtoncement.org',
+ license='BSD',
+- packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
++ packages=find_packages(exclude=['ez_setup', 'examples', 'tests*']),
+ include_package_data=True,
+ zip_safe=False,
+ test_suite='nose.collector',
diff --git a/dev-python/cement/metadata.xml b/dev-python/cement/metadata.xml
new file mode 100644
index 000000000000..e81878f94644
--- /dev/null
+++ b/dev-python/cement/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Cement is an advanced CLI Application Framework for Python. Its goal is to introduce a standard, and feature-full platform for both simple and complex command line applications as well as support rapid development needs without sacrificing quality.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/certifi/Manifest b/dev-python/certifi/Manifest
new file mode 100644
index 000000000000..7a410e57f13f
--- /dev/null
+++ b/dev-python/certifi/Manifest
@@ -0,0 +1,2 @@
+DIST certifi-14.05.14.tar.gz 168608 SHA256 1e1bcbacd6357c151ae37cf0290dcc809721d32ce21fd6b7339568f3ddef1b69 SHA512 5edba0cc432c27212e31085fb3c2f2ded6fa177d716116111517c25b980d9fc206a9a6d47e2c001762e951ff50203b269d0eb245a039df20188b1136f3b700b2 WHIRLPOOL 54c3f7a8da25693f5df890c5bc348242350a7a63bc0094d5fbb08a4f89c79fcc3ce0bbf0cdeac7d2dfca5ebe5601a7ae5ec4fef492a6cf9afe6ecf5119d47f8b
+DIST certifi-2015.04.28.tar.gz 370682 SHA256 99785e6cf715cdcde59dee05a676e99f04835a71e7ced201ca317401c322ba96 SHA512 c63287d9e0814226a1eb6ea0f6d1a53f0fd88995c0c2541e404efd0c70471fae01cb56ecca5425c6754342c28c96948ba912bd860bf2d336bba95a0b751f8f99 WHIRLPOOL e235b016ca30332359f9172cf907f9372714371efcccf5bc2b82e08538ca1620f6854697201a6a3d1de5d25e74f5b3fede68e3c46255a9cd28b1f87b8dfa97b2
diff --git a/dev-python/certifi/certifi-14.05.14.ebuild b/dev-python/certifi/certifi-14.05.14.ebuild
new file mode 100644
index 000000000000..e0d711a7f31c
--- /dev/null
+++ b/dev-python/certifi/certifi-14.05.14.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package for providing Mozilla's CA Bundle"
+HOMEPAGE="http://python-requests.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/certifi/certifi-2015.04.28.ebuild b/dev-python/certifi/certifi-2015.04.28.ebuild
new file mode 100644
index 000000000000..9bab36ba3613
--- /dev/null
+++ b/dev-python/certifi/certifi-2015.04.28.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package for providing Mozilla's CA Bundle"
+HOMEPAGE="http://certifi.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/certifi/metadata.xml b/dev-python/certifi/metadata.xml
new file mode 100644
index 000000000000..f5b4e9736831
--- /dev/null
+++ b/dev-python/certifi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">certifi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
new file mode 100644
index 000000000000..5100f95b3932
--- /dev/null
+++ b/dev-python/cffi/Manifest
@@ -0,0 +1,6 @@
+DIST cffi-0.8.6.tar.gz 196835 SHA256 2532d9e3af9e3c6d0f710fc98b0295b563c7f39cfd97dd2242bd36fbf4900610 SHA512 b913d459bf0d355f0cb42fa0587a940c227d6765450033b14ab4d5281173cd1875cd6872911bb4f0b567cc1c5b0ca330615ec5f6ba205b25c41b683ae8c77790 WHIRLPOOL 4a03a077f15f943e0f06acf1bc10572b19680379e36805dbfc3dfffb8a5d735d28d9bab38e2d233f3a347fc03cede8126cc2ce017c6e3a0896b9baecddfae39f
+DIST cffi-0.9.2.tar.gz 209160 SHA256 1988ce7ff9c64ecd5077776175e90fd8f0a8c827cb241a23647175ce08126bb2 SHA512 93371a1189955d3f794915f8e7c6f6b9ab36cd531ff0ddeeb2108364c94dbf4dbe5d7d3f75e0aa52576d1a59559c13ec3e0f68dec4d52e6221e683ac519b850c WHIRLPOOL dcdf3a35b35607a4982035e75332c0e2f87d2df5cca9df77c48c5d57cc783d341b77fd95f71681877695b03a12564f8f28717a975bd51e832f496b71f73c3736
+DIST cffi-1.0.2.tar.gz 317360 SHA256 a5a8937f8a1e3c65d5ff9258137d2d08b6ca6dbee7c55d42af3d18930940ada3 SHA512 535b8295caedca418eb3f45041e45135d23f399a936561961be5bb281821e53bcfc124ea65b18dfc1b45037f4d112191d47cca5dcfef1479a81ffb315a70ae90 WHIRLPOOL d4cb8af18470e7a07f926fa452f82ae583a544d61072aab4302adebefb25bc2bc305c56d681fdb456479542032dbc5b5a76fe0de7fa7b81a14f7d046da931d6e
+DIST cffi-1.0.3.tar.gz 317372 SHA256 4fdede789f446fb6c57eed8cf5eb43d2a582a34536ff2cd1edf7256e17e9046c SHA512 a5f2b0ab356fe51b1d9f3f2e4bfadbc11bb10ec7f9458c019f3707b738dded1953723f797a8b37ed768cd14fe86f674d07d2cd5ce166406abaa1a68b443293b1 WHIRLPOOL 176c9acb1fb02c2e074d371b337f307b3cb7a473a05c016aa160c0caf6f680be1fcfaa6b9756aa88e7ca8008e5b4e47b58ab8de7078e97d53813dec51525eac3
+DIST cffi-1.1.0.tar.gz 323962 SHA256 d8c1dcef421bf3b9335925dd5bf39c3fad923a3cbd814c3664d754638b32355e SHA512 c9725869ffb8a10b83484b4b90ee02c66aa38a439334a404e043452de894f97f37050d7ba2467531820a6fdc7ee93a529078734e22b3637c5116d7d6d4b86ca0 WHIRLPOOL 4747675071ed4223def2b2a17429c1cadd2bfcae582ada6167f076065b6dc91fe06775e1d31c5f65fa68ea597dfdca36d9bab89e263affa1c25fe7c8f0e65d4a
+DIST cffi-1.1.2.tar.gz 326758 SHA256 390970b602708c91ddc73953bb6929e56291c18a4d80f360afa00fad8b6f3339 SHA512 d146984013b63382ea64bd2d6188cdbf9154cf83d66bf4dbb9353f1daea66f9eae07c6da47e152c5758d3458a742adde0310f71c792eb0a80950d7f857bfb943 WHIRLPOOL 02b92f0d13b02e351ba63e55a731c0b5480ae0b376c99a8dc1a256b3b55bf0119b4238dca88171605c1348b0847a6ff305ba4ec69cd1b42b9950708f42d6067e
diff --git a/dev-python/cffi/cffi-0.8.6.ebuild b/dev-python/cffi/cffi-0.8.6.ebuild
new file mode 100644
index 000000000000..e7446c74ba22
--- /dev/null
+++ b/dev-python/cffi/cffi-0.8.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/build/
+}
diff --git a/dev-python/cffi/cffi-0.9.2.ebuild b/dev-python/cffi/cffi-0.9.2.ebuild
new file mode 100644
index 000000000000..3d6e250a56c6
--- /dev/null
+++ b/dev-python/cffi/cffi-0.9.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cffi/cffi-1.0.2.ebuild b/dev-python/cffi/cffi-1.0.2.ebuild
new file mode 100644
index 000000000000..1e2899ad1b75
--- /dev/null
+++ b/dev-python/cffi/cffi-1.0.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="
+ virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cffi/cffi-1.0.3.ebuild b/dev-python/cffi/cffi-1.0.3.ebuild
new file mode 100644
index 000000000000..1e2899ad1b75
--- /dev/null
+++ b/dev-python/cffi/cffi-1.0.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="
+ virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cffi/cffi-1.1.0.ebuild b/dev-python/cffi/cffi-1.1.0.ebuild
new file mode 100644
index 000000000000..df453d99c53b
--- /dev/null
+++ b/dev-python/cffi/cffi-1.1.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="
+ virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-test-backport.patch )
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cffi/cffi-1.1.2.ebuild b/dev-python/cffi/cffi-1.1.2.ebuild
new file mode 100644
index 000000000000..ee778887d15e
--- /dev/null
+++ b/dev-python/cffi/cffi-1.1.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="http://cffi.readthedocs.org/ https://pypi.python.org/pypi/cffi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND="
+ virtual/libffi
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# Avoid race on _configtest.c (distutils/command/config.py:_gen_temp_sourcefile)
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -x -v --ignore testing/test_zintegration.py c/ testing/ || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cffi/files/cffi-1.1.0-test-backport.patch b/dev-python/cffi/files/cffi-1.1.0-test-backport.patch
new file mode 100644
index 000000000000..2609e333991e
--- /dev/null
+++ b/dev-python/cffi/files/cffi-1.1.0-test-backport.patch
@@ -0,0 +1,44 @@
+# HG changeset patch
+# User Armin Rigo <arigo@tunes.org>
+# Date 1433182838 -7200
+# Node ID 34d5fd98bc84d202dd6692906f21509bb5abefaf
+# Parent feea0af4a450e0ff0045f1b7c0a5f430c97520f9
+Issue #204: second try
+
+diff --git a/testing/cffi1/test_zdist.py b/testing/cffi1/test_zdist.py
+--- a/testing/cffi1/test_zdist.py
++++ b/testing/cffi1/test_zdist.py
+@@ -29,13 +29,17 @@
+ if hasattr(self, 'saved_cwd'):
+ os.chdir(self.saved_cwd)
+
+- def run(self, args):
++ def run(self, args, cwd=None):
+ env = os.environ.copy()
+- newpath = self.rootdir
+- if 'PYTHONPATH' in env:
+- newpath += os.pathsep + env['PYTHONPATH']
+- env['PYTHONPATH'] = newpath
+- subprocess.check_call([self.executable] + args, env=env)
++ # a horrible hack to prevent distutils from finding ~/.pydistutils.cfg
++ # (there is the --no-user-cfg option, but not in Python 2.6...)
++ env['HOME'] = '/this/path/does/not/exist'
++ if cwd is None:
++ newpath = self.rootdir
++ if 'PYTHONPATH' in env:
++ newpath += os.pathsep + env['PYTHONPATH']
++ env['PYTHONPATH'] = newpath
++ subprocess.check_call([self.executable] + args, cwd=cwd, env=env)
+
+ def _prepare_setuptools(self):
+ if hasattr(TestDist, '_setuptools_ready'):
+@@ -44,8 +48,7 @@
+ import setuptools
+ except ImportError:
+ py.test.skip("setuptools not found")
+- subprocess.check_call([self.executable, 'setup.py', 'egg_info'],
+- cwd=self.rootdir)
++ self.run(['setup.py', 'egg_info'], cwd=self.rootdir)
+ TestDist._setuptools_ready = True
+
+ def check_produced_files(self, content, curdir=None):
diff --git a/dev-python/cffi/files/issue177_prot_exec.patch b/dev-python/cffi/files/issue177_prot_exec.patch
new file mode 100644
index 000000000000..8dbcf07c0052
--- /dev/null
+++ b/dev-python/cffi/files/issue177_prot_exec.patch
@@ -0,0 +1,79 @@
+# HG changeset patch
+# User Armin Rigo <arigo@tunes.org>
+# Date 1424942568 -3600
+# Node ID c7edb1e84eb3c29cac0674790cb4efcbcf1683b2
+# Parent 95e0563201602a2e1a8d83cc95a6a70048dfeece
+issue #177: workaround for some Linux kernels
+
+diff --git a/c/malloc_closure.h b/c/malloc_closure.h
+--- a/c/malloc_closure.h
++++ b/c/malloc_closure.h
+@@ -14,6 +14,54 @@
+ # endif
+ #endif
+
++/* On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC.
++
++ This is, apparently, an undocumented change to ffi_prep_closure():
++ depending on the Linux kernel we're running on, we must give it a
++ mmap that is either PROT_READ|PROT_WRITE|PROT_EXEC or only
++ PROT_READ|PROT_WRITE. In the latter case, just trying to obtain a
++ mmap with PROT_READ|PROT_WRITE|PROT_EXEC would kill our process(!),
++ but in that situation libffi is fine with only PROT_READ|PROT_WRITE.
++ There is nothing in the libffi API to know that, though, so we have
++ to guess by parsing /proc/self/status. "Meh."
++ */
++#ifdef __linux__
++#include <stdlib.h>
++
++static int emutramp_enabled = -1;
++
++static int
++emutramp_enabled_check (void)
++{
++ char *buf = NULL;
++ size_t len = 0;
++ FILE *f;
++ int ret;
++ f = fopen ("/proc/self/status", "r");
++ if (f == NULL)
++ return 0;
++ ret = 0;
++
++ while (getline (&buf, &len, f) != -1)
++ if (!strncmp (buf, "PaX:", 4))
++ {
++ char emutramp;
++ if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
++ ret = (emutramp == 'E');
++ break;
++ }
++ free (buf);
++ fclose (f);
++ return ret;
++}
++
++#define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \
++ : (emutramp_enabled = emutramp_enabled_check ()))
++#else
++#define is_emutramp_enabled() 0
++#endif
++
++
+ /* 'allocate_num_pages' is dynamically adjusted starting from one
+ page. It grows by a factor of PAGE_ALLOCATION_GROWTH_RATE. This is
+ meant to handle both the common case of not needing a lot of pages,
+@@ -77,9 +125,12 @@
+ if (item == NULL)
+ return;
+ #else
++ int prot = PROT_READ | PROT_WRITE | PROT_EXEC;
++ if (is_emutramp_enabled ())
++ prot &= ~PROT_EXEC;
+ item = (union mmaped_block *)mmap(NULL,
+ allocate_num_pages * _pagesize,
+- PROT_READ | PROT_WRITE | PROT_EXEC,
++ prot,
+ MAP_PRIVATE | MAP_ANONYMOUS,
+ -1,
+ 0);
diff --git a/dev-python/cffi/metadata.xml b/dev-python/cffi/metadata.xml
new file mode 100644
index 000000000000..26eeef001935
--- /dev/null
+++ b/dev-python/cffi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cffi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cfgio/Manifest b/dev-python/cfgio/Manifest
new file mode 100644
index 000000000000..f2d8b22d17b6
--- /dev/null
+++ b/dev-python/cfgio/Manifest
@@ -0,0 +1 @@
+DIST cfgio-0.1.2.tar.gz 17221 SHA256 4247ccbb38fce0de7601ab04d05e39789c661efaed7e891e0cc76ea12529377e SHA512 62b3d93097e088ca6a54efbeedfc42f2b565ec0692b2ed7b1f2ea028b087e3fea1d109ca4d268aa8d9cb499eecbd4c0b10c3092c8754809bf74ee62c03b947cc WHIRLPOOL 7e3b98da25d37439030966e3fc59e50040dff98bdf54925af54594aac5eaba87e2002354a26a836ce32af9ad9961e20a2a113f0c4f493e3e67ad96bd1104fa79
diff --git a/dev-python/cfgio/cfgio-0.1.2.ebuild b/dev-python/cfgio/cfgio-0.1.2.ebuild
new file mode 100644
index 000000000000..bcb4a5488299
--- /dev/null
+++ b/dev-python/cfgio/cfgio-0.1.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for reading and writing configuration file formats found on a *nix systems"
+HOMEPAGE="https://github.com/ercpe/cfgio"
+SRC_URI="https://github.com/ercpe/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/cfgio/metadata.xml b/dev-python/cfgio/metadata.xml
new file mode 100644
index 000000000000..b931f79aa281
--- /dev/null
+++ b/dev-python/cfgio/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ercpe/cfgio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cfgparse/Manifest b/dev-python/cfgparse/Manifest
new file mode 100644
index 000000000000..7eeace5d13c5
--- /dev/null
+++ b/dev-python/cfgparse/Manifest
@@ -0,0 +1 @@
+DIST cfgparse-1.3.zip 98401 SHA256 adc830323e4d9872af1a81364dd18e958b5550c3cc2d1f05929ec2634147f2f9 SHA512 95d5396f5ca681f67ab701edf6ddd45776f8433c4b5ca08ee7796fd5ac866a709436257e4ddaaaf010dd6b5917d553dc4edceda05fb15720b03691d7c663a55d WHIRLPOOL a8c99dbeed598e6d4b4464c105080480091798529f7c66000072f972d54308918d73b7907fe9f8f05a5876b8bebbb4c8e138bcce3f1393212cef66ddd98ce78a
diff --git a/dev-python/cfgparse/cfgparse-1.3-r1.ebuild b/dev-python/cfgparse/cfgparse-1.3-r1.ebuild
new file mode 100644
index 000000000000..634c837bd90c
--- /dev/null
+++ b/dev-python/cfgparse/cfgparse-1.3-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Config File parser for Python"
+HOMEPAGE="http://cfgparse.sourceforge.net http://pypi.python.org/pypi/cfgparse"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="PSF-2.3"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+DOCS="README.txt docs/cfgparse.pdf"
diff --git a/dev-python/cfgparse/metadata.xml b/dev-python/cfgparse/metadata.xml
new file mode 100644
index 000000000000..838bcf974ab5
--- /dev/null
+++ b/dev-python/cfgparse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cfgparse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cgkit/Manifest b/dev-python/cgkit/Manifest
new file mode 100644
index 000000000000..12699435122a
--- /dev/null
+++ b/dev-python/cgkit/Manifest
@@ -0,0 +1,2 @@
+DIST cgkit-2.0.0-py2k.tar.gz 885682 SHA256 a665037f06bd64dcdb519bb0baa7a8d577b788860a627fd850d5b72a08a3746f SHA512 44e57cafc3ba3aa824c44fe4ad04f350dfe053cafa09523acab220e8a5db45dde042b4fcc3e444dc3c248a43ddd94faac6875f579c2063e6c8feba7841472f7c WHIRLPOOL 0507024920bf84dec311e617c932b6ea2827b4609c915f38fce2baa0ac948b96b3fa51ec82a2770796081f88b3bf0d81f72439e65a87a6e0db4d24ef874b4b9b
+DIST cgkit-2.0.0-py3k.tar.gz 885012 SHA256 6d3fb3f02b4a55544c0698b6627054796d36d338704eb1788228cb6523ec2846 SHA512 0c721d728e2cacb3a5518bfdf49810793a7e4a7efdec54a95d9b8b64099996452a08193c90e1b76f57852c3593bf07e4361ba20c17ea3565413d4997e9cf6c2e WHIRLPOOL 95d53d7fb4b5db2ef680051f0d4bcd86bbd189594a4ca99379104d2b306877806a1a4d4de9a8bcb55aa870ffbd52cd2ef8754cb9857b5561e6f6ca5a26b2d1d0
diff --git a/dev-python/cgkit/cgkit-2.0.0.ebuild b/dev-python/cgkit/cgkit-2.0.0.ebuild
new file mode 100644
index 000000000000..06d206ed9cf4
--- /dev/null
+++ b/dev-python/cgkit/cgkit-2.0.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils scons-utils toolchain-funcs
+
+MY_P="${P/_/}"
+
+DESCRIPTION="Python library for creating 3D images"
+HOMEPAGE="http://cgkit.sourceforge.net"
+SRC_URI="$(python_gen_cond_dep mirror://sourceforge/${PN}/${PN}/${P}/${P}-py2k.tar.gz 'python2*')
+ $(python_gen_cond_dep mirror://sourceforge/${PN}/${PN}/${P}/${P}-py3k.tar.gz 'python3*')"
+
+LICENSE="LGPL-2.1 MPL-1.1 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="3ds"
+
+RDEPEND=">=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/pyprotocols[${PYTHON_USEDEP}]' 'python2*')
+ dev-python/pyopengl[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ 3ds? ( ~media-libs/lib3ds-1.3.0 )"
+DEPEND="${RDEPEND}
+ dev-util/scons"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+cgkit_unpack() {
+ local tarball
+ if [[ ${EPYTHON} == python3* ]]; then
+ tarball=${P}-py3k.tar.gz
+ else
+ tarball=${P}-py2k.tar.gz
+ fi
+ mkdir "${BUILD_DIR}" || die
+ tar -C "${BUILD_DIR}" -x --strip-components 1 -f "${DISTDIR}/${tarball}" || die
+}
+
+src_unpack() {
+ python_parallel_foreach_impl cgkit_unpack
+ mkdir "${S}" || die
+}
+
+python_prepare_all() {
+ return 0
+}
+
+python_prepare() {
+ if [[ ${EPYTHON} == python3* ]]; then
+ epatch "${FILESDIR}/${PN}-py3k-pillow.patch"
+ else
+ epatch "${FILESDIR}/${PN}-py2k-pillow.patch"
+ fi
+ [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
+
+ sed -e "s/fPIC/fPIC\",\"${CFLAGS// /\",\"}/" -i supportlib/SConstruct
+ cp config_template.cfg config.cfg
+ echo "BOOST_LIB = 'boost_python-${EPYTHON#python}'" >> config.cfg
+ echo "LIBS += ['GL', 'GLU', 'glut']" >> config.cfg
+ if use 3ds; then
+ echo "LIB3DS_AVAILABLE = True" >> config.cfg
+ fi
+
+ sed -e "s:INC_DIRS = \[\]:INC_DIRS = \['/usr/include'\]:" -i setup.py
+
+ # Remove invalid test
+ rm -f unittests/test_pointcloud.py || die
+}
+
+python_compile() {
+ pushd supportlib > /dev/null || die
+ escons
+ popd > /dev/null || die
+ distutils-r1_python_compile
+}
+
+python_test() {
+ pushd unittests > /dev/null || die
+ mkdir tmp || die
+ "${PYTHON}" all.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
diff --git a/dev-python/cgkit/files/cgkit-2.0.0-test.patch b/dev-python/cgkit/files/cgkit-2.0.0-test.patch
new file mode 100644
index 000000000000..e5c198415da2
--- /dev/null
+++ b/dev-python/cgkit/files/cgkit-2.0.0-test.patch
@@ -0,0 +1,11 @@
+diff -ur cgkit-2.0.0alpha9.orig/unittests/test_sequence.py cgkit-2.0.0alpha9/unittests/test_sequence.py
+--- unittests/test_sequence.py 2009-08-15 19:37:35.000000000 +0800
++++ unittests/test_sequence.py 2012-11-07 06:58:07.024791790 +0800
+@@ -594,6 +594,7 @@
+ ("spam1_5.tif", "foo0006.tif")], list(ong))
+
+
++@unittest.skip("Seeks absent dep 3delight")
+ class TestSeqUtils(unittest.TestCase):
+ """Test the sequence utilities.
+ """
diff --git a/dev-python/cgkit/files/cgkit-py2k-pillow.patch b/dev-python/cgkit/files/cgkit-py2k-pillow.patch
new file mode 100644
index 000000000000..0cddbd60b868
--- /dev/null
+++ b/dev-python/cgkit/files/cgkit-py2k-pillow.patch
@@ -0,0 +1,82 @@
+From 83cb693954f6f56e50a1aa90d935e94e9e8bac8e Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Wed, 5 Jun 2013 20:39:05 -0400
+Subject: [PATCH] Update PIL imports for compatibility with Pillow
+
+---
+ cgkit/_Image.py | 2 +-
+ cgkit/_ImageDraw.py | 2 +-
+ cgkit/riutil.py | 2 +-
+ utilities/checkenv.py | 2 +-
+ utilities/postbake.py | 3 ++-
+ 5 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/cgkit/_Image.py b/cgkit/_Image.py
+index 7266d4b..0122cd2 100644
+--- a/cgkit/_Image.py
++++ b/cgkit/_Image.py
+@@ -38,7 +38,7 @@
+ try:
+
+ # Try to import the original module...
+- from Image import *
++ from PIL.Image import *
+
+ except ImportError:
+
+diff --git a/cgkit/_ImageDraw.py b/cgkit/_ImageDraw.py
+index dfd6cf8..d1d3cff 100644
+--- a/cgkit/_ImageDraw.py
++++ b/cgkit/_ImageDraw.py
+@@ -38,7 +38,7 @@
+ try:
+
+ # Try to import the original module...
+- from ImageDraw import *
++ from PIL.ImageDraw import *
+
+ except ImportError:
+
+diff --git a/cgkit/riutil.py b/cgkit/riutil.py
+index 301e0f6..ae373c3 100644
+--- a/cgkit/riutil.py
++++ b/cgkit/riutil.py
+@@ -38,7 +38,7 @@ import types, sys, getpass
+ from cgtypes import vec3
+ from ri import *
+ try:
+- import Image
++ from PIL import Image
+ _PIL_installed = 1
+ except ImportError:
+ _PIL_installed = 0
+diff --git a/utilities/checkenv.py b/utilities/checkenv.py
+index b95dbf7..c93235e 100644
+--- a/utilities/checkenv.py
++++ b/utilities/checkenv.py
+@@ -96,7 +96,7 @@ visualize them. You can obtain PyOpenGL at http://pyopengl.sourceforge.net/
+ # Check PIL
+ chkmsg("PIL")
+ try:
+- import Image
++ from PIL import Image
+ print "is installed"
+ except:
+ print "missing"
+diff --git a/utilities/postbake.py b/utilities/postbake.py
+index cadd11d..74f894a 100644
+--- a/utilities/postbake.py
++++ b/utilities/postbake.py
+@@ -34,7 +34,8 @@
+ #
+ # ***** END LICENSE BLOCK *****
+
+-import sys, optparse, Image
++import sys, optparse
++from PIL import Image
+
+ # shift
+ def shift(img, dx, dy):
+--
+1.8.2.1
+
diff --git a/dev-python/cgkit/files/cgkit-py3k-pillow.patch b/dev-python/cgkit/files/cgkit-py3k-pillow.patch
new file mode 100644
index 000000000000..734ff6eb356a
--- /dev/null
+++ b/dev-python/cgkit/files/cgkit-py3k-pillow.patch
@@ -0,0 +1,82 @@
+From 1953081269ce1cfdf29023a8590db40312c43194 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Wed, 5 Jun 2013 20:39:05 -0400
+Subject: [PATCH] Update PIL imports for compatibility with Pillow
+
+---
+ cgkit/_Image.py | 2 +-
+ cgkit/_ImageDraw.py | 2 +-
+ cgkit/riutil.py | 2 +-
+ utilities/checkenv.py | 2 +-
+ utilities/postbake.py | 3 ++-
+ 5 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/cgkit/_Image.py b/cgkit/_Image.py
+index 7266d4b..0122cd2 100644
+--- a/cgkit/_Image.py
++++ b/cgkit/_Image.py
+@@ -38,7 +38,7 @@
+ try:
+
+ # Try to import the original module...
+- from Image import *
++ from PIL.Image import *
+
+ except ImportError:
+
+diff --git a/cgkit/_ImageDraw.py b/cgkit/_ImageDraw.py
+index dfd6cf8..d1d3cff 100644
+--- a/cgkit/_ImageDraw.py
++++ b/cgkit/_ImageDraw.py
+@@ -38,7 +38,7 @@
+ try:
+
+ # Try to import the original module...
+- from ImageDraw import *
++ from PIL.ImageDraw import *
+
+ except ImportError:
+
+diff --git a/cgkit/riutil.py b/cgkit/riutil.py
+index b51f192..ae0fba2 100644
+--- a/cgkit/riutil.py
++++ b/cgkit/riutil.py
+@@ -38,7 +38,7 @@ import types, sys, getpass
+ from .cgtypes import vec3
+ from .ri import *
+ try:
+- import Image
++ from PIL import Image
+ _PIL_installed = 1
+ except ImportError:
+ _PIL_installed = 0
+diff --git a/utilities/checkenv.py b/utilities/checkenv.py
+index dda600f..8b6f74e 100644
+--- a/utilities/checkenv.py
++++ b/utilities/checkenv.py
+@@ -96,7 +96,7 @@ visualize them. You can obtain PyOpenGL at http://pyopengl.sourceforge.net/
+ # Check PIL
+ chkmsg("PIL")
+ try:
+- import Image
++ from PIL import Image
+ print("is installed")
+ except:
+ print("missing")
+diff --git a/utilities/postbake.py b/utilities/postbake.py
+index 90e3140..27728c2 100644
+--- a/utilities/postbake.py
++++ b/utilities/postbake.py
+@@ -34,7 +34,8 @@
+ #
+ # ***** END LICENSE BLOCK *****
+
+-import sys, optparse, Image
++import sys, optparse
++from PIL import Image
+
+ # shift
+ def shift(img, dx, dy):
+--
+1.8.2.1
+
diff --git a/dev-python/cgkit/metadata.xml b/dev-python/cgkit/metadata.xml
new file mode 100644
index 000000000000..18f82f2c5de2
--- /dev/null
+++ b/dev-python/cgkit/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name='3ds'>Enable support for importing 3D Studio models</flag>
+ </use>
+ <longdescription>Python library for creating 3D images</longdescription>
+ <longdescription lang="ja">
+ 3Dç”»åƒã‚’作æˆã™ã‚‹ãŸã‚ã®Python言語ライブラリã§ã™ã€‚
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/cgroup-utils/Manifest b/dev-python/cgroup-utils/Manifest
new file mode 100644
index 000000000000..2cf3b68a5ecc
--- /dev/null
+++ b/dev-python/cgroup-utils/Manifest
@@ -0,0 +1 @@
+DIST cgroup-utils-0.6.tar.gz 33845 SHA256 71c8f783140c21f39454a23854e2e1668543e6a6b38cb29aec63791385f53ba6 SHA512 5751ad7979812117cd75fc74282fb24f3ee041cc08eaac986544a5f12b7e83c806f0d1bb4c92c32314c5c8af4995dc4f36e023037ed7617907c8f42f97dbf6b5 WHIRLPOOL c7c4bfab327b63ad7e4bbe2194671f1e10c99a2b7d9b152fe0dabc0ddc352ece6c8dc270742257e77610de9ff57c0df7ddfa721fc69c843bb318310edea269d1
diff --git a/dev-python/cgroup-utils/cgroup-utils-0.6.ebuild b/dev-python/cgroup-utils/cgroup-utils-0.6.ebuild
new file mode 100644
index 000000000000..4e099d1dbc5c
--- /dev/null
+++ b/dev-python/cgroup-utils/cgroup-utils-0.6.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools and libraries for control groups of Linux"
+HOMEPAGE="https://github.com/peo3/cgroup-utils"
+SRC_URI="https://github.com/peo3/cgroup-utils/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/cgroup-utils/metadata.xml b/dev-python/cgroup-utils/metadata.xml
new file mode 100644
index 000000000000..958d7badc980
--- /dev/null
+++ b/dev-python/cgroup-utils/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">peo3/cgroup-utils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/chaco/Manifest b/dev-python/chaco/Manifest
new file mode 100644
index 000000000000..ef835935c348
--- /dev/null
+++ b/dev-python/chaco/Manifest
@@ -0,0 +1 @@
+DIST chaco-4.5.0.tar.gz 409562 SHA256 809674bdbdaf1a363b180366c6eaa70d9c49aa2c93b1933ee5c481e0a072da9c SHA512 66e1d82bbbf74e143e42f92eec7c83abc6f0eef488629947422a8ab2140a5a5bacf0f4e2a79f2acb8670417c9a620c9e85f295729525e011b8a09a1ff916e8c6 WHIRLPOOL 4e1187fc6cf1fa7aa3b4b86ec5d3d10917067303614615cce225aa90194ced492ea0d0e99a1088fa48959bb5fabae3e44545fde10754802a1cc2b21ffbafc342
diff --git a/dev-python/chaco/chaco-4.5.0.ebuild b/dev-python/chaco/chaco-4.5.0.ebuild
new file mode 100644
index 000000000000..1d43377338ea
--- /dev/null
+++ b/dev-python/chaco/chaco-4.5.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx flag-o-matic
+
+DESCRIPTION="Enthought Tool Suite: Interactive plotting toolkit"
+HOMEPAGE="http://code.enthought.com/projects/chaco/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/enable-4.4.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/traitsui-4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+python_prepare_all() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ VIRTUALX_COMMAND="nosetests" virtualmake
+}
diff --git a/dev-python/chaco/metadata.xml b/dev-python/chaco/metadata.xml
new file mode 100644
index 000000000000..a33331ab16d8
--- /dev/null
+++ b/dev-python/chaco/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ Chaco is a Python plotting application toolkit and a part of
+ Enthought Tool Suite. It is meant to facilitate writing plotting
+ applications of all levels of complexity, from simple scripts with
+ hard-coded data to large plotting programs with complex data
+ interrelationships and a multitude of interactive tools. While Chaco
+ generates nice static plots for publication and presentation
+ purposes, its components are all designed to be work well for
+ interactive data visualization.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">chaco</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
new file mode 100644
index 000000000000..97fe410ad79b
--- /dev/null
+++ b/dev-python/chameleon/Manifest
@@ -0,0 +1,4 @@
+DIST Chameleon-2.16.tar.gz 200838 SHA256 87c82d657fbc1b47decbe605a6f6105d9190cb19e924b59262cfdfa03e7a512d SHA512 a6f1491a11e55231ed5304b297d749dd590f1d0340732e00d20e4af1b311df297df2a72cc79f0e4949e5ac00acb9dec29dcb50423facb2b3bcff6ad3d1d75350 WHIRLPOOL 7ed76fbb05f3c413d86f42b45ef73d5b333718031434273e512db43eae69900abfee7b10deff78f360131d50a1093e22786ca01b8eb5984ac5ac5330ba1f7eb1
+DIST Chameleon-2.19.tar.gz 202197 SHA256 744070535f8e85a277aef07b0a98256aec5bf6a0d9b909686ce571eb26914491 SHA512 7e90ccf5f53000b94452b8c343cf232d4bc48857dd33ea19bf44e6732033851459a0761cc0f2af5851b11f5c1cd698679ef541cbaa895373f59d66717b3fc267 WHIRLPOOL 6c24d006a707f2b3e2a0b2df5ee2fc52314a5c830fbb8096429ac40dc43e932ddcc38fbeef5886066f848f10076ea8a171a557f995c7b1df16bdf709a858ee4f
+DIST Chameleon-2.20.tar.gz 202396 SHA256 557deb604cc2fb235441f449f44feb3942258fcf233c7e75fcae6adeb886ced4 SHA512 805189e49c6b326f82ffaefdb1d734e3959167a0e3523531f9c9c554fc8412ab4ae401aacae023a3ba43d18019a6fccebafae87f2c6bed6c1c2f5b1aff080153 WHIRLPOOL 1c84afca8e7eb6231f9caea4934351d347bfc6cb52025754b197595eac368fb9e5a6ae9888809aca99f80ca8f0544e54426bc284a2314033b07771156011e597
+DIST Chameleon-2.22.tar.gz 201994 SHA256 6eef8c58d1c58b94f6502d4213c92b2037f5ab66386b3da5b117213faa0bf7f7 SHA512 f81b52a8463d1f4619580b2d51bb9e2f67bb752b95382d7ffd0357b9e2d05854ce6539a3e518ed32e6df4d35ee3d247771ff47d8039e2bdfc4c0a732fb7885c2 WHIRLPOOL 66a289cf0ae33fc9b5d935623ce7de3227582518918e420078436669c52660e0053a7ffb0f65dccde95203591ce4626e52c6d4a030650c83c6f48efaf9f5be69
diff --git a/dev-python/chameleon/chameleon-2.16.ebuild b/dev-python/chameleon/chameleon-2.16.ebuild
new file mode 100644
index 000000000000..fe675a2c5c33
--- /dev/null
+++ b/dev-python/chameleon/chameleon-2.16.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Chameleon"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="http://chameleon.repoze.org http://pypi.python.org/pypi/Chameleon"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( _build/html/{[a-z]*,_static} )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/chameleon/chameleon-2.19.ebuild b/dev-python/chameleon/chameleon-2.19.ebuild
new file mode 100644
index 000000000000..e9f0c81c12c9
--- /dev/null
+++ b/dev-python/chameleon/chameleon-2.19.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Chameleon"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="http://chameleon.repoze.org http://pypi.python.org/pypi/Chameleon"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( _build/html/{[a-z]*,_static} )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/chameleon/chameleon-2.20.ebuild b/dev-python/chameleon/chameleon-2.20.ebuild
new file mode 100644
index 000000000000..e9f0c81c12c9
--- /dev/null
+++ b/dev-python/chameleon/chameleon-2.20.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Chameleon"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="http://chameleon.repoze.org http://pypi.python.org/pypi/Chameleon"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( _build/html/{[a-z]*,_static} )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/chameleon/chameleon-2.22.ebuild b/dev-python/chameleon/chameleon-2.22.ebuild
new file mode 100644
index 000000000000..e9f0c81c12c9
--- /dev/null
+++ b/dev-python/chameleon/chameleon-2.22.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Chameleon"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="http://chameleon.repoze.org http://pypi.python.org/pypi/Chameleon"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( _build/html/{[a-z]*,_static} )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/chameleon/metadata.xml b/dev-python/chameleon/metadata.xml
new file mode 100644
index 000000000000..3469c1019df0
--- /dev/null
+++ b/dev-python/chameleon/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Chameleon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/characteristic/Manifest b/dev-python/characteristic/Manifest
new file mode 100644
index 000000000000..0f374719580d
--- /dev/null
+++ b/dev-python/characteristic/Manifest
@@ -0,0 +1,2 @@
+DIST characteristic-14.1.0.tar.gz 24612 SHA256 91e254948180678dd69e6143202b4686f2fa47cce136936079bb4d9a3b82419d SHA512 21bb40814f405c73471a83e15d1cfb07f74ebd157e647799bedffffd3909271145347eaec8ec09470dddad7224d1a15e8984a75f1fce00bbe20f9e1cb385f9b9 WHIRLPOOL d8044dfcbb7d75a383834bee842bd619b4bec65c8a0f467a563b9a80ee908bcf5c7de791eb220f9ba3b35a259a9ea6c6985f743518e2677d8a03a62db70ad98c
+DIST characteristic-14.3.0.tar.gz 26993 SHA256 ded68d4e424115ed44e5c83c2a901a0b6157a959079d7591d92106ffd3ada380 SHA512 e13a86f453cd3688a74188005b82a661a9c73d9f0408d9afe9e0575e69ffe87a5327f51e2c16a9c0a653b738e7c014d5aa08e353835f0aca7897714b7ae56e83 WHIRLPOOL e32b2801c1a56a9e6093c82ec9db3c8250756dd6ba80c0d63ca522c0a304e48920bf9cefc14c8491276365123c95f0e311be58f5cdba28dbab93391ed1455ba6
diff --git a/dev-python/characteristic/characteristic-14.1.0.ebuild b/dev-python/characteristic/characteristic-14.1.0.ebuild
new file mode 100644
index 000000000000..3673e48b61b1
--- /dev/null
+++ b/dev-python/characteristic/characteristic-14.1.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python attributes without the boilerplate"
+HOMEPAGE="https://characteristic.readthedocs.org/ https://github.com/hynek/characteristic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test -a "--cov characteristic --cov-report term-missing"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/characteristic/characteristic-14.3.0.ebuild b/dev-python/characteristic/characteristic-14.3.0.ebuild
new file mode 100644
index 000000000000..c5acd3d936c3
--- /dev/null
+++ b/dev-python/characteristic/characteristic-14.3.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python attributes without the boilerplate"
+HOMEPAGE="https://characteristic.readthedocs.org/ https://github.com/hynek/characteristic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test -a "--cov characteristic --cov-report term-missing"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/characteristic/metadata.xml b/dev-python/characteristic/metadata.xml
new file mode 100644
index 000000000000..f4bec42be01c
--- /dev/null
+++ b/dev-python/characteristic/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">characteristic</remote-id>
+ <remote-id type="github">hynek/characteristic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/charade/Manifest b/dev-python/charade/Manifest
new file mode 100644
index 000000000000..ab80f03e7c72
--- /dev/null
+++ b/dev-python/charade/Manifest
@@ -0,0 +1 @@
+DIST charade-1.0.3.tar.gz 168537 SHA256 a607146d151005904f3fd8335e3dc89af214453f0d3a29580e1eb0e67e6c3d7f SHA512 203c8d151b9b2530753fb2c4b2dd91b2d63cf01c0aba80ebe450d75ce7cda3ac0612e8ad3a41a0f8498aec63cd5c3a3d6493975efefc45f6c6310e76a9cdf553 WHIRLPOOL 08e99abc221b27d8cd6b5d29031a7ec052820c5e203c4f2102351a014230c44d35bc574bc7cf1c87c316f2ecd7c38edb33b410dfa388ad96f27e4b1e34182bcf
diff --git a/dev-python/charade/charade-1.0.3.ebuild b/dev-python/charade/charade-1.0.3.ebuild
new file mode 100644
index 000000000000..f6538ec11ce0
--- /dev/null
+++ b/dev-python/charade/charade-1.0.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Universal encoding detector for python 2 and 3 (fork of chardet)"
+HOMEPAGE="https://github.com/sigmavirus24/charade/ http://pypi.python.org/pypi/charade/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/charade/metadata.xml b/dev-python/charade/metadata.xml
new file mode 100644
index 000000000000..eaa6dd554133
--- /dev/null
+++ b/dev-python/charade/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">charade</remote-id>
+ <remote-id type="github">sigmavirus24/charade</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/chardet/Manifest b/dev-python/chardet/Manifest
new file mode 100644
index 000000000000..606cee0ec5d5
--- /dev/null
+++ b/dev-python/chardet/Manifest
@@ -0,0 +1,2 @@
+DIST chardet-2.2.1.tar.gz 180319 SHA256 f1964f73f5ee9b7e0309098b9512d587fbba6dd5d1f3797b1c95529e5241bf09 SHA512 87059b77b14c39fded7f1287f8eeab6a880e21f4b49a3aa103daf537bbb1e237069347e1953ebaa9a393bd4dee01993873c84aad3c00536ae34784686aecfe68 WHIRLPOOL 1cd6838823f8effd502c3049d13966ac0888bdb91b34489caea8666f9802967fe6f86565ed827e609cb614c920cc9f983bdecc27c30bb2abcf4420731a0a620e
+DIST chardet-2.3.0.tar.gz 164346 SHA256 e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa SHA512 d554c9b4564905a2b6c6971aaea2a812174d86b58137c6a2f9d54e2abd2395e6529968b2ce3ca2d97c717d2bd0bd80ab5b98cae9afac1a4add9ea305145030dd WHIRLPOOL af17bac2778a86d6fe9643a512a307cbcf92e4b43238b2d3d2bae53e646fccbdf40f31f41f9452e7d4f4c84d1ee637199af841a828d49f3452190749fee284c1
diff --git a/dev-python/chardet/chardet-2.2.1.ebuild b/dev-python/chardet/chardet-2.2.1.ebuild
new file mode 100644
index 000000000000..2b973d8962f1
--- /dev/null
+++ b/dev-python/chardet/chardet-2.2.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Universal encoding detector"
+HOMEPAGE="https://github.com/chardet/chardet http://pypi.python.org/pypi/chardet"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/chardet/chardet-2.3.0.ebuild b/dev-python/chardet/chardet-2.3.0.ebuild
new file mode 100644
index 000000000000..3bbb8ecbb079
--- /dev/null
+++ b/dev-python/chardet/chardet-2.3.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Universal encoding detector"
+HOMEPAGE="https://github.com/chardet/chardet http://pypi.python.org/pypi/chardet"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/chardet/metadata.xml b/dev-python/chardet/metadata.xml
new file mode 100644
index 000000000000..d5228ef57d2a
--- /dev/null
+++ b/dev-python/chardet/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">chardet</remote-id>
+ <remote-id type="github">chardet/chardet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cheetah-docs/Manifest b/dev-python/cheetah-docs/Manifest
new file mode 100644
index 000000000000..b009fc99479a
--- /dev/null
+++ b/dev-python/cheetah-docs/Manifest
@@ -0,0 +1 @@
+DIST CheetahDocs-0.9.16a1.tgz 1031641 SHA256 031850997efdd0b221b9f6bfa1783755bc6a92819c97065d14d61d36b0bf08eb SHA512 b0628e85200c4231fefd5eb770bd797d5eef3d6d85eac9b1da6d34d9dfb755a028a50a224bf9202d43a3458e15059ed7f5d4a55c49d484eed2b4caf1c7af835d WHIRLPOOL c7e8287577ffa7a6c9716dccdf1e5458a64af16c65cd29b1f242800f45f3f33577bd3230cf141fc44e64660445edb19f3a3214033a286f42c57f0daee2212c29
diff --git a/dev-python/cheetah-docs/cheetah-docs-0.9.16_alpha1.ebuild b/dev-python/cheetah-docs/cheetah-docs-0.9.16_alpha1.ebuild
new file mode 100644
index 000000000000..4c106541f31b
--- /dev/null
+++ b/dev-python/cheetah-docs/cheetah-docs-0.9.16_alpha1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Documentation for Cheetah templates"
+HOMEPAGE="http://www.cheetahtemplate.org/"
+SRC_URI="mirror://sourceforge/cheetahtemplate/CheetahDocs-${PV/_alpha/a}.tgz"
+
+IUSE=""
+LICENSE="OPL"
+KEYWORDS="~amd64 ~ia64 ppc x86"
+SLOT="0"
+
+S=${WORKDIR}/CheetahDocs
+
+RESTRICT="binchecks strip"
+
+src_install() {
+ ecvs_clean
+
+ dodoc *.txt TODO
+ dohtml -r devel_guide_html devel_guide_html_multipage \
+ users_guide_html users_guide_html_multipage \
+ OnePageTutorial.html
+
+ # Install the source code.
+ insinto /usr/share/doc/${PF}
+ doins -r devel_guide_src users_guide_src
+
+ doins *.ps *.pdf
+}
diff --git a/dev-python/cheetah-docs/metadata.xml b/dev-python/cheetah-docs/metadata.xml
new file mode 100644
index 000000000000..6511520b2753
--- /dev/null
+++ b/dev-python/cheetah-docs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">cheetahtemplate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cheetah/Manifest b/dev-python/cheetah/Manifest
new file mode 100644
index 000000000000..a7fda49e7948
--- /dev/null
+++ b/dev-python/cheetah/Manifest
@@ -0,0 +1 @@
+DIST Cheetah-2.4.4.tar.gz 190989 SHA256 be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550 SHA512 11b8cbf7d71789d6ae83596b133ddbe0bf1ccf2bca4c59562e7cd1d9bb75fa9d3208c0021d7d77edafdb03fd399cf1a26c003267fbffb94f27bf4457b0f9234c WHIRLPOOL 41261459eb8063344a27f2f26c28c97f79e06c002efaff437b6a0810954aaf4ed0ae7cbb08fa21cd3e79ef22e30c00888cbd9056e85cce2b13abb185df63e2c9
diff --git a/dev-python/cheetah/cheetah-2.4.4-r1.ebuild b/dev-python/cheetah/cheetah-2.4.4-r1.ebuild
new file mode 100644
index 000000000000..f2c46dc3c522
--- /dev/null
+++ b/dev-python/cheetah/cheetah-2.4.4-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Cheetah"
+MY_P="${MY_PN}-${PV/_}"
+
+DESCRIPTION="Python-powered template engine and code generator"
+HOMEPAGE="http://www.cheetahtemplate.org/ http://rtyler.github.com/cheetah/ http://pypi.python.org/pypi/Cheetah"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+IUSE=""
+KEYWORDS="alpha amd64 ~arm ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+SLOT="0"
+
+RDEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGES README.markdown TODO )
+# Race in the test suite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Disable broken tests.
+ sed \
+ -e "/Unicode/d" \
+ -e "s/if not sys.platform.startswith('java'):/if False:/" \
+ -e "/results =/a\\ sys.exit(not results.wasSuccessful())" \
+ -i cheetah/Tests/Test.py || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" cheetah/Tests/Test.py || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/cheetah/metadata.xml b/dev-python/cheetah/metadata.xml
new file mode 100644
index 000000000000..311eecfcd216
--- /dev/null
+++ b/dev-python/cheetah/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>Cheetah is a Python-powered template engine and code generator. It can be used
+as a standalone utility or it can be combined with other tools. Web developers
+are its principle user group, but it has many potential uses and is also being
+used to generate C++ game code, Java, SQL, form emails, and even Python code.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Cheetah</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
new file mode 100644
index 000000000000..b8caa00fb9c0
--- /dev/null
+++ b/dev-python/cherrypy/Manifest
@@ -0,0 +1,3 @@
+DIST CherryPy-3.3.0.tar.gz 429204 SHA256 f8829bf1b4f613833b690b33b2fd00b1da4ef98df3c70240f78ee91b70f4a5a2 SHA512 605d1ca5694cd8c5237f2115ef2ca39d7290b90c82b91c3699cfb59ad346c3506a1b78ad0502f89de43f8711d01afbbc2eb82f00f86ffbc0fcd63c1def88f0a4 WHIRLPOOL 406c735ae3b5f52408bab6fdde32684caeeb2092b4b0124b12cd43923beb1b11e899069ed48d395839bbb55e202e748ad2cb4e0c626ed29a0d2ff0bfef8aae5b
+DIST CherryPy-3.7.0.tar.gz 433083 SHA256 2d19b9a99dc70c01d7ac58b5c2a0c6f6c0e12620e6f5dc1f556f6c1cdfd90ef8 SHA512 e8ad7eba4074aba65b1b7368cae90c1a5bd5f58217e05fe96a82e591d1e4e544555b815e19019373574f8545a80a52884e4015f6b39512b2f6fa4dc5e80f1253 WHIRLPOOL a2a8127a2ea3a2b497b18751c7ef10e61902ba8b909695c4afc926a31c8715ab1c30d5e0b865de90e931c40fed5385bb0c9902d61f8a7bc39feaf5b50303b9e6
+DIST CherryPy-3.8.0.tar.gz 433711 SHA256 ffcdb43667d4098247efaf8c82dd36d3dd4f8e5dc768ef5e90b480899e523bea SHA512 25f84093e30d814c0980f7d77b98492113470c3297c66ee8652e40650757f8e2b7db01bb8de6d7a1ea9b4bed8b764502b1f563ac6f0d082970bc2d46739d19c2 WHIRLPOOL 9e484fb5589e219108c48281f34bbe64d4767796a391dfb7f194f57dda89774d4517a6acd032fb492879a7bae2d0373e843e4b8aad53bf7b606b1b60dc2bfe56
diff --git a/dev-python/cherrypy/cherrypy-3.3.0.ebuild b/dev-python/cherrypy/cherrypy-3.3.0.ebuild
new file mode 100644
index 000000000000..c90fcd06f3a3
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-3.3.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_P="CherryPy-${PV}"
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="http://www.cherrypy.org/ http://pypi.python.org/pypi/CherryPy"
+SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ia64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/nose-1.3.3[${PYTHON_USEDEP}] )"
+RDEPEND=""
+S="${WORKDIR}/${MY_P}"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/${PN}-3.3.0-test_config.patch" )
+
+python_prepare_all() {
+ # Prevent interactive failures (hangs) in the test suite
+ sed -i -e "s/interactive = True/interactive = False/" cherrypy/test/webtest.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # suite requires current latest nose-1.3.3
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1308
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1306
+ local exclude=(
+ -e test_file_stream -e test_4_File_deletion -e test_3_Redirect
+ -e test_2_File_Concurrency -e test_0_Session -e testStatic
+ )
+
+ # This really doesn't sit well with multiprocessing
+ # The issue 1306 tells us some tests are subject to the deleterious effects of
+ # the 'race condition'. Both the issues are unresolved / open
+ if [[ "${EPYTHON}" == pypy ]]; then
+ nosetests "${exclude[@]}" -I test_logging.py < /dev/tty || die "Testing failed with${EPYTHON}"
+ else
+ nosetests "${exclude[@]}" < /dev/tty || die "Testing failed with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/cherrypy/cherrypy-3.7.0.ebuild b/dev-python/cherrypy/cherrypy-3.7.0.ebuild
new file mode 100644
index 000000000000..43d61a587150
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-3.7.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_P="CherryPy-${PV}"
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="http://www.cherrypy.org/ http://pypi.python.org/pypi/CherryPy"
+SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/nose-1.3.3[${PYTHON_USEDEP}] )"
+RDEPEND=""
+S="${WORKDIR}/${MY_P}"
+
+# testsuite predominantly connects to the network
+RESTRICT="test"
+
+python_prepare_all() {
+ # Prevent interactive failures (hangs) in the test suite
+ sed -i -e "s/interactive = True/interactive = False/" cherrypy/test/webtest.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # suite requires current latest nose-1.3.3
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1308
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1306
+ local exclude=(
+ -e test_file_stream -e test_4_File_deletion -e test_3_Redirect
+ -e test_2_File_Concurrency -e test_0_Session -e testStatic
+ )
+
+ # This really doesn't sit well with multiprocessing
+ # The issue 1306 tells us some tests are subject to the deleterious effects of
+ # the 'race condition'. Both the issues are unresolved / open
+# if [[ "${EPYTHON}" == pypy ]]; then
+ nosetests "${exclude[@]}" -I test_logging.py || die "Testing failed with ${EPYTHON}"
+# else
+# nosetests "${exclude[@]}" < /dev/tty || die "Testing failed with ${EPYTHON}"
+# fi
+}
diff --git a/dev-python/cherrypy/cherrypy-3.8.0.ebuild b/dev-python/cherrypy/cherrypy-3.8.0.ebuild
new file mode 100644
index 000000000000..43d61a587150
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-3.8.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_P="CherryPy-${PV}"
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="http://www.cherrypy.org/ http://pypi.python.org/pypi/CherryPy"
+SRC_URI="mirror://pypi/C/CherryPy/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/nose-1.3.3[${PYTHON_USEDEP}] )"
+RDEPEND=""
+S="${WORKDIR}/${MY_P}"
+
+# testsuite predominantly connects to the network
+RESTRICT="test"
+
+python_prepare_all() {
+ # Prevent interactive failures (hangs) in the test suite
+ sed -i -e "s/interactive = True/interactive = False/" cherrypy/test/webtest.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # suite requires current latest nose-1.3.3
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1308
+ # https://bitbucket.org/cherrypy/cherrypy/issue/1306
+ local exclude=(
+ -e test_file_stream -e test_4_File_deletion -e test_3_Redirect
+ -e test_2_File_Concurrency -e test_0_Session -e testStatic
+ )
+
+ # This really doesn't sit well with multiprocessing
+ # The issue 1306 tells us some tests are subject to the deleterious effects of
+ # the 'race condition'. Both the issues are unresolved / open
+# if [[ "${EPYTHON}" == pypy ]]; then
+ nosetests "${exclude[@]}" -I test_logging.py || die "Testing failed with ${EPYTHON}"
+# else
+# nosetests "${exclude[@]}" < /dev/tty || die "Testing failed with ${EPYTHON}"
+# fi
+}
diff --git a/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch b/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch
new file mode 100644
index 000000000000..55c719564621
--- /dev/null
+++ b/dev-python/cherrypy/files/cherrypy-3.3.0-test_config.patch
@@ -0,0 +1,20 @@
+# HG changeset patch
+# User Mike Gilbert <floppym@gentoo.org>
+# Date 1399130996 14400
+# Sat May 03 11:29:56 2014 -0400
+# Node ID f8f63e119bd85b16bdee9b95195aba60d5fbca27
+# Parent 60c8bb0cd34632becb758a063032e76c13dc3425
+Remove unicode literal to avoid syntax error in python3.2
+
+diff --git a/cherrypy/test/test_config.py b/cherrypy/test/test_config.py
+--- a/cherrypy/test/test_config.py
++++ b/cherrypy/test/test_config.py
+@@ -206,7 +206,7 @@
+
+ if not compat.py3k:
+ self.getPage("/repr?key=thing3")
+- self.assertBody(repr(u'test'))
++ self.assertBody(repr(unicode('test')))
+
+ self.getPage("/repr?key=complex")
+ self.assertBody("(3+2j)")
diff --git a/dev-python/cherrypy/metadata.xml b/dev-python/cherrypy/metadata.xml
new file mode 100644
index 000000000000..937f5c4678b8
--- /dev/null
+++ b/dev-python/cherrypy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">CherryPy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cherrytemplate/Manifest b/dev-python/cherrytemplate/Manifest
new file mode 100644
index 000000000000..34db61735b1f
--- /dev/null
+++ b/dev-python/cherrytemplate/Manifest
@@ -0,0 +1 @@
+DIST CherryTemplate-1.0.0.tar.gz 6227 SHA256 b1fc5b055e38ef9ff5c7b5b0cfcbd7f322092acfd0c47771dd029ab9b5a31feb SHA512 275a18b29d31fa5a95fa1cc5b72adb923f34fa787fd3ab8c2f2d87c7c32399fd2e1a7b408124320b86d651713fe769a5f81fc76a1ccd9a87d4481bad9111e821 WHIRLPOOL 2c15a954fbec012d9fe1c9d553b0d7fee55dcc04473a374b244a9d70524557982d551eae96da4c445883055269822679612b54240aac60dc5677b1af9de86fa9
diff --git a/dev-python/cherrytemplate/cherrytemplate-1.0.0-r1.ebuild b/dev-python/cherrytemplate/cherrytemplate-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..286603a8830c
--- /dev/null
+++ b/dev-python/cherrytemplate/cherrytemplate-1.0.0-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="CherryTemplate"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Easy and powerful templating module for Python"
+HOMEPAGE="http://cherrytemplate.python-hosting.com/"
+SRC_URI="mirror://sourceforge/cherrypy/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/cherrytemplate/metadata.xml b/dev-python/cherrytemplate/metadata.xml
new file mode 100644
index 000000000000..7d0495c6538c
--- /dev/null
+++ b/dev-python/cherrytemplate/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">cherrypy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cliapp/Manifest b/dev-python/cliapp/Manifest
new file mode 100644
index 000000000000..306e9d833962
--- /dev/null
+++ b/dev-python/cliapp/Manifest
@@ -0,0 +1,3 @@
+DIST cliapp-1.20150305.tar.gz 55133 SHA256 09865ea3b2e63b41f4399997651d2c19c918922745b570530ff7dd5f77e49bd9 SHA512 a32e987bfc6e401672dc1e94fb29034b96fec5bba5864e1001d52460ecdd6cb903ad1bbbe52cfb6d8d880abd029c98f26c3edca8ed79ec10f77e86bfff595aa3 WHIRLPOOL 2286e990958f5012146ac07635f9ce4f1adf96b34cc4d47d4e2d21f472d576cd71a3633591f1e855eb79e3155c1d942cacabc1e96e1413d851f2b78f1d8a3578
+DIST python-cliapp_1.20130808.orig.tar.gz 50236 SHA256 62944c5b99beecb3fe5fff5321b35b71e0cc21c9cc212ebbad26b00cd5c42e45 SHA512 6f8b3bdcf2e737ecf3ebc92f43b85aaf9fbf848635ddcdf7f252dca9a2ea7b8fceb47908742cbbb2e25695ce7ffc7110053c9d648f3616aff87434ecdcb0b493 WHIRLPOOL 5d4f253ae265b37ae59679625daafd7bde39cdb8403663c3b537d27108f47e908888efc504e9e63d20ac0f7e564148ec0424a39864f76b1047116ed9b8f5a93e
+DIST python-cliapp_1.20140315.orig.tar.gz 51107 SHA256 55bec495881ba6759c07f1b94658e3b3b21fa3f04c8bbac2c5fe8b8ce1bf862d SHA512 ce538baec212d5d5149b0aa0ab542919e465fee6700104079842022bc47ef42e65d42179689e998d524feb6b7981e3e396f30266a4a8aa7373ebf1ae8013c2d9 WHIRLPOOL 3237ee51e1c8c15355e1b8a24e25f5c70eb242783e7be226bc400e750e98f708ccf3eb004a2bae4a6b8dc7ba4d39f512de8db4577123a5433e3ffc4f50bf7c71
diff --git a/dev-python/cliapp/cliapp-1.20130808.ebuild b/dev-python/cliapp/cliapp-1.20130808.ebuild
new file mode 100644
index 000000000000..970a723653e9
--- /dev/null
+++ b/dev-python/cliapp/cliapp-1.20130808.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Framework for Unix-like command line programs"
+HOMEPAGE="http://liw.fi/cliapp/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+DEPEND="${PYTHON_DEPS}
+ test? ( dev-python/CoverageTestRunner )"
+
+src_test() {
+ addwrite /proc/self/comm
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/cliapp/cliapp-1.20140315.ebuild b/dev-python/cliapp/cliapp-1.20140315.ebuild
new file mode 100644
index 000000000000..a84715532410
--- /dev/null
+++ b/dev-python/cliapp/cliapp-1.20140315.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Framework for Unix-like command line programs"
+HOMEPAGE="http://liw.fi/cliapp/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+DEPEND="${PYTHON_DEPS}
+ test? ( dev-python/CoverageTestRunner )"
+
+src_test() {
+ use test && addwrite /proc/self/comm
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/cliapp/cliapp-1.20150305.ebuild b/dev-python/cliapp/cliapp-1.20150305.ebuild
new file mode 100644
index 000000000000..ae2b32da68e2
--- /dev/null
+++ b/dev-python/cliapp/cliapp-1.20150305.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Framework for Unix-like command line programs"
+HOMEPAGE="http://liw.fi/cliapp/"
+SRC_URI="http://git.liw.fi/cgi-bin/cgit/cgit.cgi/cliapp/snapshot/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+DEPEND="${PYTHON_DEPS}
+ test? ( dev-python/CoverageTestRunner )"
+
+src_test() {
+ use test && addwrite /proc/self/comm
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/cliapp/metadata.xml b/dev-python/cliapp/metadata.xml
new file mode 100644
index 000000000000..ea7bd021a21e
--- /dev/null
+++ b/dev-python/cliapp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/click/Manifest b/dev-python/click/Manifest
new file mode 100644
index 000000000000..84bb34b4d15c
--- /dev/null
+++ b/dev-python/click/Manifest
@@ -0,0 +1,3 @@
+DIST click-2.0.tar.gz 47342 SHA256 33a984fe73aa8c6bf69c38098b69dd38405529db54baf4c8cf64c50b2dee644f SHA512 4c703ab4b5c76e393420b0edf9af9e8ddb301ccfef5f8117d3408eaa8a94abe6b7b5c7a8b61b7774a3b459b153c10438e8934f21ceb73697199828cce2c2887c WHIRLPOOL bf599395245319b31c189df297a1ec35ca69723ed24e2d3e9aa9231a3cfebdb80e1f43a0b010865b6fbecf09f23dc1121cca232aec26f09bdb455f41da5261c4
+DIST click-4.0.tar.gz 270183 SHA256 f49e03611f5f2557788ceeb80710b1c67110f97c5e6740b97edf70245eea2409 SHA512 7b3b3e3b57fe74e8d2e3be79c59476fe7830c04068f0e31b39dfee28d879d8a96eed311fbe789bfc6d12c898052ea1c901c3b6f4c995cd4e0ede61b62fe0a39a WHIRLPOOL fd183c6509c3d8a3c582454aac8a18b3d570c16ca4b1cf19dbdd97d8846fde62fadd7d80596eb321a67e48477853b26cb7e5d554c9254061ab1bb74a52d3a05a
+DIST click-4.1.tar.gz 274489 SHA256 e339ed09f25e2145314c902a870bc959adcb25653a2bd5cc1b48d9f56edf8ed8 SHA512 fe751406919d06a3ccffc2831992848d8e324f0f0ca566ea3b9ed0be3298c8d1e2039643eadc71eb4dfabd790310396cd5b26a11d7b6f6cdf503f191ce6dd1cd WHIRLPOOL 3005501210fae07d3cbdd5674a22d24b577c02ba20c34fb94f3bf7011ec2d26847b7faca5fe74ca620bdc8a0c4bfaecdf5dbcf4c2f0046de76e8b13628e2910f
diff --git a/dev-python/click/click-2.0.ebuild b/dev-python/click/click-2.0.ebuild
new file mode 100644
index 000000000000..c910519ff704
--- /dev/null
+++ b/dev-python/click/click-2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python package for creating beautiful command line interfaces"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://click.pocoo.org/ http://pypi.python.org/pypi/click"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# FIXME: tests docs and examples aren't being shipped with releases.
+# Asked upstream to fix this. Avoided using github snapshots for now. (rafaelmartins)
+IUSE=""
+
+RDEPEND="dev-python/colorama"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/click/click-4.0-r1.ebuild b/dev-python/click/click-4.0-r1.ebuild
new file mode 100644
index 000000000000..9ce0a97b53ca
--- /dev/null
+++ b/dev-python/click/click-4.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python package for creating beautiful command line interfaces"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://click.pocoo.org/ http://pypi.python.org/pypi/click"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+PATCHES=( "${FILESDIR}"/${P}-docbuild.patch )
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ emake test
+}
+
+python_install_all() {
+ # use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/click/click-4.1.ebuild b/dev-python/click/click-4.1.ebuild
new file mode 100644
index 000000000000..0a348e7634ec
--- /dev/null
+++ b/dev-python/click/click-4.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python package for creating beautiful command line interfaces"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://click.pocoo.org/ http://pypi.python.org/pypi/click"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ emake test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/click/files/click-4.0-docbuild.patch b/dev-python/click/files/click-4.0-docbuild.patch
new file mode 100644
index 000000000000..24ce6ce1ead0
--- /dev/null
+++ b/dev-python/click/files/click-4.0-docbuild.patch
@@ -0,0 +1,12 @@
+https://github.com/mitsuhiko/click/issues/318#issuecomment-89565131
+--- docs/options.rst
++++ docs/options.rst
+@@ -150,6 +150,7 @@
+ .. click:example::
+
+ import os
++ import sys
+
+ @click.command()
+ @click.option('--shout/--no-shout', default=False)
+
diff --git a/dev-python/click/metadata.xml b/dev-python/click/metadata.xml
new file mode 100644
index 000000000000..3f003a9288b3
--- /dev/null
+++ b/dev-python/click/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">click</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/clientcookie/Manifest b/dev-python/clientcookie/Manifest
new file mode 100644
index 000000000000..39857e610f80
--- /dev/null
+++ b/dev-python/clientcookie/Manifest
@@ -0,0 +1 @@
+DIST ClientCookie-1.3.0.tar.gz 130974 SHA256 cd51a411ffbbce76a4046a42f43711fc2674db05201e649c6035aa8178874797 SHA512 3a42660557bbcda76f7e63fb4fea0ccaa15967e8e6991d65dc72921efb8cec475f7ebfbfe963e5577f7dfbacebb84488b7bb5e6e4e913e863e54c0faf0b4e9f5 WHIRLPOOL 892e206238d5954b2f16610bfc52d89c8c8f82fecddc6ee519c931a007ed9d261dd5cb7e0832c3175bb696888fbb7d488b1a04094bba3d940a5b57344f3b78c6
diff --git a/dev-python/clientcookie/clientcookie-1.3.0-r1.ebuild b/dev-python/clientcookie/clientcookie-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..86404f8502a0
--- /dev/null
+++ b/dev-python/clientcookie/clientcookie-1.3.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="ClientCookie-${PV}"
+
+DESCRIPTION="Python module for handling HTTP cookies on the client side"
+HOMEPAGE="http://wwwsearch.sourceforge.net/ClientCookie/ http://pypi.python.org/pypi/ClientCookie"
+SRC_URI="http://wwwsearch.sourceforge.net/ClientCookie/src/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc x86 ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="*.txt"
diff --git a/dev-python/clientcookie/metadata.xml b/dev-python/clientcookie/metadata.xml
new file mode 100644
index 000000000000..ca527c7bee0a
--- /dev/null
+++ b/dev-python/clientcookie/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+ClientCookie is a Python module for handling HTTP cookies on the client
+side, useful for accessing web sites that require cookies to be set and
+then returned later. It also provides some other (optional) useful stuff:
+HTTP-EQUIV and Refresh handling, automatic adding of the Referer [sic]
+header, automatic observance of robots.txt and lazily-seek()able responses.
+These extras are implemented using an extension that makes it easier to add
+new functionality to urllib2. It has developed from a port of Gisle Aas'
+Perl module HTTP::Cookies, from the libwww-perl library.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/cliff-tablib/Manifest b/dev-python/cliff-tablib/Manifest
new file mode 100644
index 000000000000..46cf1964b4b2
--- /dev/null
+++ b/dev-python/cliff-tablib/Manifest
@@ -0,0 +1 @@
+DIST cliff-tablib-1.1.tar.gz 80508 SHA256 4a8ed81f6678e76d0e0497f2708d0fe5d2b83ec442a03f982aaa711a08c74139 SHA512 26beea20ca1ba5c96276ce974c24bab572c6efebfe44ef45bd3ee6197593a34bf29843676a4e37fe400272f3ff59f703d60ff1abda22a1ca28c2434c0f224aac WHIRLPOOL e4aabd11f43d21f47ae281dcdfad4f0c40a85cf4e51e3e344e4ba7bb3f99148f89e285e3ad4a6f8cbab854539803d0ed11b2e943da18b57fbbc81c366f58e54f
diff --git a/dev-python/cliff-tablib/cliff-tablib-1.1.ebuild b/dev-python/cliff-tablib/cliff-tablib-1.1.ebuild
new file mode 100644
index 000000000000..d2ab862a8578
--- /dev/null
+++ b/dev-python/cliff-tablib/cliff-tablib-1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Formatter extensions of JSON, YAML, and HTML output in programs created by the cliff framework"
+HOMEPAGE="https://github.com/dreamhost/cliff-tablib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="dev-python/tablib[${PYTHON_USEDEP}]
+ dev-python/cliff[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ # Use IUSE examples for installing the demoapp
+ use examples && local EXAMPLES=( demoapp/. )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cliff-tablib/metadata.xml b/dev-python/cliff-tablib/metadata.xml
new file mode 100644
index 000000000000..0d6cfb59d5e2
--- /dev/null
+++ b/dev-python/cliff-tablib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">cliff-tablib</remote-id>
+ <remote-id type="github">dreamhost/cliff-tablib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
new file mode 100644
index 000000000000..f538ad916c90
--- /dev/null
+++ b/dev-python/cliff/Manifest
@@ -0,0 +1,4 @@
+DIST cliff-1.10.1.tar.gz 46901 SHA256 ddfec39bf0de7b53666045c946d495ca070e538e5f92dc19588596c9bcc52c6e SHA512 9ebf7bcfb901053e91d7b56c92d709acdd71fee00140fc8b5aa2997580c4616a9811947808d943ce61f5aa8c8ea96e941482207781936d8f6df5d1605ce1dcb9 WHIRLPOOL 57b82eee91e60a67fae83aa6128f43f173896d8723082206a6ae87e4f341d044d67cdb5bea9e826e71bc88b8beff956daad609607800d63a28436ecb7ef67ed2
+DIST cliff-1.12.0.tar.gz 48052 SHA256 7609abc1789522fc4e228ea5567a9fd1db3963850396178adca3332cdd9c929a SHA512 991dd63cb675384f98de63e84bb8be76385ea53e24a3ec4a4a5d098f3b1af1848109773ec6131a58151704e7667afda598e1089f35eda882e52885c5d7e270d8 WHIRLPOOL 26de29c7754c6823dc37caf4be8e3f6785a1299675dc09405d38a933e7ce1a10b74f2588e75b417787962d939df21b126f6ab343652de8e9714c9412e2cff19f
+DIST cliff-1.13.0.tar.gz 46997 SHA256 2b92d12cf1aa59c0cf1914b4b6b02b78daadac890a53d0e6b71b5220661ab9e0 SHA512 fd2842041bb407472c405cb362e25b87dc6a59dd7f2335254a0484e030c685e38c0290c41b5e2be005bbd5a74589c1d1086a7caf379507d463704ad4614c1aeb WHIRLPOOL 57e654e9c558098d132e941b197e7c0cfc4654a3d339034132cc645898009a82c9d0cb98ffa1def9e81ce93cd8e347185a9d7e680765f43dca2e7dc25cf1737c
+DIST cliff-1.8.0.tar.gz 44863 SHA256 a761e19cf9375739a5db94bba6fbcd2ed1a23484190740bb9631eeb01efdfebf SHA512 f16eeaf911bf9e613f7a6f85651a48dc43fe373d5ee09523c977ec8f80996610965683dc66b3e4c40dc5c65219046bd015ff4b85e98c70f5a60a0e03e34a58d5 WHIRLPOOL 108ea36366a1e82d899c523378101eb4c93a63ba049369b901b4a9586ae7b7801b3e82d705e52aee4feba423d244a76fbc2900dcfbc32295b8f5f451fc211968
diff --git a/dev-python/cliff/cliff-1.10.1.ebuild b/dev-python/cliff/cliff-1.10.1.ebuild
new file mode 100644
index 000000000000..5c864c1212ff
--- /dev/null
+++ b/dev-python/cliff/cliff-1.10.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="https://github.com/dreamhost/cliff"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/cmd2-0.6.7[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cliff/cliff-1.12.0.ebuild b/dev-python/cliff/cliff-1.12.0.ebuild
new file mode 100644
index 000000000000..7e6e5ad3f515
--- /dev/null
+++ b/dev-python/cliff/cliff-1.12.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="https://github.com/dreamhost/cliff"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ "
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] )
+ "
+# source files stipulate <sphinx-1.3 however build effected perfectly with sphinx-1.3.1
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/cmd2-0.6.7[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ "
+
+python_compile() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests ${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cliff/cliff-1.13.0.ebuild b/dev-python/cliff/cliff-1.13.0.ebuild
new file mode 100644
index 000000000000..8f3482043bce
--- /dev/null
+++ b/dev-python/cliff/cliff-1.13.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="https://github.com/dreamhost/cliff"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ "
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] )
+ "
+# source files stipulate <sphinx-1.3 however build effected perfectly with sphinx-1.3.1
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/cmd2-0.6.7[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ "
+
+python_compile() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests ${PN}/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cliff/cliff-1.8.0.ebuild b/dev-python/cliff/cliff-1.8.0.ebuild
new file mode 100644
index 000000000000..cb144acc7f1a
--- /dev/null
+++ b/dev-python/cliff/cliff-1.8.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="https://github.com/dreamhost/cliff"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/cmd2-0.6.7[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cliff/metadata.xml b/dev-python/cliff/metadata.xml
new file mode 100644
index 000000000000..6840e3251ae0
--- /dev/null
+++ b/dev-python/cliff/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Cliff is a framework for building command line programs.
+ It uses setuptools entry points to provide subcommands,
+ output formatters, and other extensions.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">cliff</remote-id>
+ <remote-id type="github">dreamhost/cliff</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/clint/Manifest b/dev-python/clint/Manifest
new file mode 100644
index 000000000000..c660d258b338
--- /dev/null
+++ b/dev-python/clint/Manifest
@@ -0,0 +1,3 @@
+DIST clint-0.3.1.tar.gz 147154 SHA256 faa94e073e1c8d26e67b34ef1d69d6cd92bd06e87a94cc451d587b4c8b965e1e SHA512 c7a1ccca82d1530e9501f2f854a90f4840cdb4bc2536c8eca30832f156c0898d02d9b839be6b9bf0425b1fa0f94940ef223c55cfd50c183c89b3822ca90b4aba WHIRLPOOL 2da1e651c8b9f038261de3c8908cbbc737debea6475c9268d1b1c48bef8bfe5795ba6b931bbc614431e7798823db6e1ab1e7aead3db91141a3b9752076f24b0c
+DIST clint-0.3.7.tar.gz 149553 SHA256 efef49442bc18de26aea4f76aeef09f9ffc90d4d99f06109e6dd2390ae58d98c SHA512 7d0becec7d412077f0fff7b2bfb278b835cfa271c89ed5fe8cce5116c1be6ae393a3e7146691c55470c57b29d82e9895e41ac292801e3720fe2b1797a67438d0 WHIRLPOOL f4bdf5e5892359db24550ac052396e585753ad62fd99feb245bf2a63153e3c8b70e095532a54ca11fc8134a3517e48e1fd7eaea4edb1005c7ace6f2ee253da6a
+DIST clint-0.4.1.tar.gz 80383 SHA256 6709b638fd13fc2395284d0d42fe857ce97fdb6f03929ceb7ece28393933b4ea SHA512 8ee4fb8d7e5416c0c1c6c23abddb255521a7d682cb855a9fe2446137e83f739a1c44c135a05803632b896fa39400c33f44e5a78442af21bebd3cf66d28fbc9fc WHIRLPOOL 0dd5c062d025bc6ebfd304b056f75294eaac5868afec2c0c2403f380c6e2043478280b2c5ce575060af3939cdcae71d4ebc62b40edb011216535b115ef29c379
diff --git a/dev-python/clint/clint-0.3.1-r1.ebuild b/dev-python/clint/clint-0.3.1-r1.ebuild
new file mode 100644
index 000000000000..699af441d963
--- /dev/null
+++ b/dev-python/clint/clint-0.3.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python Command-line Application Tools"
+HOMEPAGE="https://github.com/kennethreitz/clint"
+SRC_URI="https://github.com/kennethreitz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+# Prevent install of files to wrong location
+PATCHES=( "${FILESDIR}"/${PN}-setup.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/clint/clint-0.3.7.ebuild b/dev-python/clint/clint-0.3.7.ebuild
new file mode 100644
index 000000000000..7530fa6a956d
--- /dev/null
+++ b/dev-python/clint/clint-0.3.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python Command-line Application Tools"
+HOMEPAGE="https://github.com/kennethreitz/clint"
+SRC_URI="https://github.com/kennethreitz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/clint/clint-0.4.1.ebuild b/dev-python/clint/clint-0.4.1.ebuild
new file mode 100644
index 000000000000..cca7df08a9b0
--- /dev/null
+++ b/dev-python/clint/clint-0.4.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python Command-line Application Tools"
+HOMEPAGE="https://github.com/kennethreitz/clint"
+SRC_URI="https://github.com/kennethreitz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc examples test"
+
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+RDEPEND="dev-python/args[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/clint/files/clint-setup.patch b/dev-python/clint/files/clint-setup.patch
new file mode 100644
index 000000000000..960dc99be429
--- /dev/null
+++ b/dev-python/clint/files/clint-setup.patch
@@ -0,0 +1,15 @@
+setup.py installs data files to /usr/ !!!??!!
+diff -ur clint-0.3.1.orig/setup.py clint-0.3.1/setup.py
+--- setup.py 2012-01-16 22:25:54.000000000 +0800
++++ setup.py 2014-10-11 12:20:29.174133572 +0800
+@@ -29,10 +29,6 @@
+ author='Kenneth Reitz',
+ author_email='me@kennethreitz.com',
+ url='https://github.com/kennethreitz/clint',
+- data_files=[
+- 'README.rst',
+- 'HISTORY.rst',
+- ],
+ packages= [
+ 'clint',
+ 'clint.textui',
diff --git a/dev-python/clint/metadata.xml b/dev-python/clint/metadata.xml
new file mode 100644
index 000000000000..61f985dbe7fb
--- /dev/null
+++ b/dev-python/clint/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">kennethreitz/clint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cloudlib/Manifest b/dev-python/cloudlib/Manifest
new file mode 100644
index 000000000000..0f1090245542
--- /dev/null
+++ b/dev-python/cloudlib/Manifest
@@ -0,0 +1 @@
+DIST cloudlib-0.4.0.tar.gz 117754 SHA256 105e18f1ef52bbc0b5389a33ddd5f649d20ce03b145d3d395acc5e4497a99bc9 SHA512 fcaa65f0215465df09d0f6b53b626fe1d5facd8c173bb5c5a1cfb44f487aa5cb0cbffd6fc5ab6a3a065ff816b16e095b146db65ac201d2b5cd083f8bfb96c926 WHIRLPOOL a5eaed2f977cf6709e5c3872bc9b049dedd34ac966d8b1a06b518ae7dfbf207916268922c3af20a5d54d2c2291570e4cf989ba5c909187311fa65cf77af59182
diff --git a/dev-python/cloudlib/cloudlib-0.4.0.ebuild b/dev-python/cloudlib/cloudlib-0.4.0.ebuild
new file mode 100644
index 000000000000..4de81e3cf124
--- /dev/null
+++ b/dev-python/cloudlib/cloudlib-0.4.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Cloud middleware for in application use."
+HOMEPAGE="https://github.com/cloudnull/cloudlib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/prettytable-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]"
+
+python_prepare() {
+ sed -i "s/required.append\(\'argparse\'\)/pass/g" setup.py || die
+}
diff --git a/dev-python/cloudlib/metadata.xml b/dev-python/cloudlib/metadata.xml
new file mode 100644
index 000000000000..4f932b065ce8
--- /dev/null
+++ b/dev-python/cloudlib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+Cloud middleware for in application use
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">cloudlib</remote-id>
+ <remote-id type="github">cloudnull/cloudlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cmd2/Manifest b/dev-python/cmd2/Manifest
new file mode 100644
index 000000000000..3ad930ef2794
--- /dev/null
+++ b/dev-python/cmd2/Manifest
@@ -0,0 +1,2 @@
+DIST cmd2-0.6.7.tar.gz 20558 SHA256 8e98c7a1cfd106183559240b269e7cd9fe97e8342b5c05295f591aab6fd2f4f0 SHA512 a37393bd9ef6c3ece02249b5a4293a25889ebd68120ee592d2ccd77a8e3e4ab3ba724e0be7f3c98a453dbba30c1851c7f690fbe69711df8a723545f8dbe38607 WHIRLPOOL 9da375c5ab0e1cd0f13e67b1b168b5f87be7f56bc758589b1e41959f3e14b07ad1e055fc2fce6d44ded77f806217b6bbe590009fec27c9179922ea764db0b86d
+DIST cmd2-0.6.8.tar.gz 21483 SHA256 ac780d8c31fc107bf6b4edcbcea711de4ff776d59d89bb167f8819d2d83764a8 SHA512 d3e284e047f22cecadecba5267c313b18c3d0a25e9bc9267cade7e2dae9b472ea7f468a16f91fa0f9362cff3fae019d56866bd8534f9cf879dfe412a2648a411 WHIRLPOOL 53296e0ef6a9ac1c781926a6b183941a4be117e0887a61518873c7740c0f365435ad4254c53b90c211c35422f11029b2ef9699ef05d7713c768148089d9b4519
diff --git a/dev-python/cmd2/cmd2-0.6.7.ebuild b/dev-python/cmd2/cmd2-0.6.7.ebuild
new file mode 100644
index 000000000000..700dac6b3cea
--- /dev/null
+++ b/dev-python/cmd2/cmd2-0.6.7.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extra features for standard library's cmd module"
+HOMEPAGE="https://bitbucket.org/catherinedevlin/cmd2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=">=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+#python_prepare_all() {
+# # Remove broken pyparsing dep.
+# # https://bitbucket.org/catherinedevlin/cmd2/pull-request/3
+# sed -i -e '/= install_requires/d' setup.py || die
+#
+# distutils-r1_python_prepare_all
+#}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ "${PYTHON}" -m cmd2 -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cmd2/cmd2-0.6.8.ebuild b/dev-python/cmd2/cmd2-0.6.8.ebuild
new file mode 100644
index 000000000000..f799a8179424
--- /dev/null
+++ b/dev-python/cmd2/cmd2-0.6.8.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extra features for standard library's cmd module"
+HOMEPAGE="https://bitbucket.org/catherinedevlin/cmd2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=">=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ "${PYTHON}" -m cmd2 -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cmd2/metadata.xml b/dev-python/cmd2/metadata.xml
new file mode 100644
index 000000000000..ead6025e17bb
--- /dev/null
+++ b/dev-python/cmd2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Extra features for standard library's cmd module
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">cmd2</remote-id>
+ <remote-id type="bitbucket">catherinedevlin/cmd2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/codetools/Manifest b/dev-python/codetools/Manifest
new file mode 100644
index 000000000000..392308f9aa84
--- /dev/null
+++ b/dev-python/codetools/Manifest
@@ -0,0 +1 @@
+DIST codetools-4.2.0.tar.gz 117891 SHA256 a93452b3f421bb5f9f18a74d404661433e189e29de3a4b9cfe92544e69be9c2c SHA512 8b63b9cb65966db72f3d2b054559fadf3008a4f4a7fc66ff12b046ca18568694c9d11066d6450e38b053b73df31c8a136729d7052bf8e21f287eac220ddf5dbb WHIRLPOOL adf4f8f3a516cf14cb8c71a4874b80c09814b017872be5dbb7768e506fecfc76d59805763d1cf3dbfdf941f86efd3893545e314932bad93c461a4468cee5c15e
diff --git a/dev-python/codetools/codetools-4.2.0.ebuild b/dev-python/codetools/codetools-4.2.0.ebuild
new file mode 100644
index 000000000000..648a3fc100e1
--- /dev/null
+++ b/dev-python/codetools/codetools-4.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Code analysis and execution tools"
+HOMEPAGE="http://code.enthought.com/projects/code_tools/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+IUSE="test"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/scimath-4[${PYTHON_USEDEP}]
+ >=dev-python/traits-4[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/blockcanvas[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ virtual/python-futures[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests" virtualmake -e with_mask_test_case
+}
diff --git a/dev-python/codetools/metadata.xml b/dev-python/codetools/metadata.xml
new file mode 100644
index 000000000000..6f5804ff43a6
--- /dev/null
+++ b/dev-python/codetools/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ The CodeTools project from the Enthought Tool Suite
+ includes packages that simplify meta-programming
+ and help the programmer separate data from code in Python. This
+ library contains classes that allow defining simple snippets, or
+ "blocks", of Python code, analyze variable dependencies in the code
+ block, and use these dependencies to construct or restrict an
+ execution graph. These (restricted) code blocks can then be executed
+ in any namespace. However, this project also provides a
+ Traits-event-enhanced namespace, called a "context", which can be used
+ in place of a vanilla namespace to allow actions to be performed
+ whenever variables are assigned or retrieved from the namespace. This
+ project is used as the foundation for the BlockCanvas project.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">codetools</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/colander/Manifest b/dev-python/colander/Manifest
new file mode 100644
index 000000000000..7e61f3280592
--- /dev/null
+++ b/dev-python/colander/Manifest
@@ -0,0 +1 @@
+DIST colander-1.0.tar.gz 113800 SHA256 7389413266b9e680c9529c16d56284edf87e0d5de557948e75f41d65683c23b3 SHA512 f361520a12ebec4271580fe5be002bfbdd38fcd4cfb29fa41b9c37308636343dd25595f2e0bd8099bc96583d25644d2039996efefd9c0060fe39f3c46394a4f7 WHIRLPOOL c1ed492781ab276fc5c6cf7d0ce6a9393981c86ed06c9b113c2e37e01748595e8b5422fa24eaac3d3c2a68cd99f337ea9c65b8f0f536f955e2b9b621101278a5
diff --git a/dev-python/colander/colander-1.0.ebuild b/dev-python/colander/colander-1.0.ebuild
new file mode 100644
index 000000000000..0aa70d158726
--- /dev/null
+++ b/dev-python/colander/colander-1.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple schema-based serialization and deserialization library"
+HOMEPAGE="http://docs.pylonsproject.org/projects/colander/en/latest/ http://pypi.python.org/pypi/colander"
+MY_P=${P/_beta1/b1}
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+# MIT license is used by included (modified) iso8601.py code.
+LICENSE="repoze MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+# Depend on an ebuild of translationstring with Python 3 support.
+RDEPEND=">=dev-python/translationstring-1.1[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}] )"
+
+# Include COPYRIGHT.txt because the license seems to require it.
+DOCS=( CHANGES.rst COPYRIGHT.txt README.rst )
+
+python_prepare_all() {
+ # Remove pylons theme since it's not included in source
+ sed -e "/# Add and use Pylons theme/,+37d" -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # https://github.com/Pylons/colander/issues/38
+ emake -C docs html SPHINXOPTS=""
+ fi
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/colander/metadata.xml b/dev-python/colander/metadata.xml
new file mode 100644
index 000000000000..f96f0f02bb89
--- /dev/null
+++ b/dev-python/colander/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">colander</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/colorama/Manifest b/dev-python/colorama/Manifest
new file mode 100644
index 000000000000..c5477999c938
--- /dev/null
+++ b/dev-python/colorama/Manifest
@@ -0,0 +1,2 @@
+DIST colorama-0.3.2.tar.gz 18343 SHA256 218862857d74ff781c2caf44629a7d72b88bbb8a2b0aa0f4f1eb8666f8305c11 SHA512 1fe6d72a4f56ef1adb96f70b1721223937647a2f22648bececf7ad05710d82bede767ebd00e9267db0f874ddbe3ec852b82408794b80ea803c888dcfcd9b9532 WHIRLPOOL b49b276772798ba0b606f0b109d8eef1aaeaa6103e143765f75c3c9275b5e94a06aefd05856e0534372fcf0e3da10b236eac8f1f0b4962ec297beff0cfafe059
+DIST colorama-0.3.3.tar.gz 22765 SHA256 eb21f2ba718fbf357afdfdf6f641ab393901c7ca8d9f37edd0bee4806ffa269c SHA512 8e6177ea60ab8f1267ce982f23803a9d2eb0c4550d7eac4776416d62a99d1ce03254fc64cc959ca95e2409ceeff081d4d19359c383e969dfb921b44c56914495 WHIRLPOOL e5fe6c0046b558abdde260d9d89e3cbe197165f99fb4f7134c14fff95e6c1e92b3472a95001d847ab58e8445c87f21774a71f629771593934ea070838c765461
diff --git a/dev-python/colorama/colorama-0.3.2.ebuild b/dev-python/colorama/colorama-0.3.2.ebuild
new file mode 100644
index 000000000000..671172f1e82d
--- /dev/null
+++ b/dev-python/colorama/colorama-0.3.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Makes ANSI escape character sequences for producing colored terminal text & cursor positioning"
+HOMEPAGE="http://code.google.com/p/colorama/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+python_install_all() {
+ use examples && local EXAMPLES=( demos/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/colorama/colorama-0.3.3.ebuild b/dev-python/colorama/colorama-0.3.3.ebuild
new file mode 100644
index 000000000000..a89ee41317e5
--- /dev/null
+++ b/dev-python/colorama/colorama-0.3.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Makes ANSI escape character sequences for producing colored terminal text & cursor positioning"
+HOMEPAGE="http://code.google.com/p/colorama/ https://pypi.python.org/pypi/colorama https://github.com/tartley/colorama"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+python_install_all() {
+ use examples && local EXAMPLES=( demos/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/colorama/metadata.xml b/dev-python/colorama/metadata.xml
new file mode 100644
index 000000000000..6d2cc60852ec
--- /dev/null
+++ b/dev-python/colorama/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Makes ANSI escape character sequences, for producing colored terminal text
+ and cursor positioning, works under MS Windows.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">colorama</remote-id>
+ <remote-id type="github">tartley/colorama</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/coloredlogs/Manifest b/dev-python/coloredlogs/Manifest
new file mode 100644
index 000000000000..b184f86e5831
--- /dev/null
+++ b/dev-python/coloredlogs/Manifest
@@ -0,0 +1 @@
+DIST coloredlogs-1.0.1.tar.gz 13926 SHA256 11067ca91532ba4a316fa53b005152a08b3e015dcb1234d393cfc25af88ebc3e SHA512 098aa22b371ffdb6400fac7d2f000aa73f8956eae71f48ceed2110eb35a4b4d11f814f8cacca643c4deccd82da058a750c700264e7c71c2351514a6f887101a5 WHIRLPOOL 71b447498d5e91a0cda131046f7545230bc0c13aa814f0d79cf8888bd60934dee7c5cc54a729dd36b0a937451f80302384fb0733fd94e43e09c2ce9258c950fd
diff --git a/dev-python/coloredlogs/coloredlogs-1.0.1-r1.ebuild b/dev-python/coloredlogs/coloredlogs-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..6d2702e1707a
--- /dev/null
+++ b/dev-python/coloredlogs/coloredlogs-1.0.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Colored stream handler for the logging module"
+HOMEPAGE="https://pypi.python.org/pypi/coloredlogs https://github.com/xolox/python-coloredlogs http://coloredlogs.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/humanfriendly-1.25.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/verboselogs[${PYTHON_USEDEP}] )"
+
+DOCS=( README.rst )
+
+PATCHES=( "${FILESDIR}"/${P}-ansi2html.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/coloredlogs/files/coloredlogs-1.0.1-ansi2html.patch b/dev-python/coloredlogs/files/coloredlogs-1.0.1-ansi2html.patch
new file mode 100644
index 000000000000..32f124481f28
--- /dev/null
+++ b/dev-python/coloredlogs/files/coloredlogs-1.0.1-ansi2html.patch
@@ -0,0 +1,17 @@
+ setup.py | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index bbfd220..0ffe721 100755
+--- a/setup.py
++++ b/setup.py
+@@ -41,9 +41,6 @@ setup(name='coloredlogs',
+ author='Peter Odding',
+ author_email='peter@peterodding.com',
+ packages=find_packages(),
+- entry_points=dict(console_scripts=[
+- 'ansi2html = coloredlogs.converter:main',
+- ]),
+ install_requires=[
+ 'humanfriendly >= 1.25.1',
+ ],
diff --git a/dev-python/coloredlogs/metadata.xml b/dev-python/coloredlogs/metadata.xml
new file mode 100644
index 000000000000..6d57e9c7e6d8
--- /dev/null
+++ b/dev-python/coloredlogs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">coloredlogs</remote-id>
+ <remote-id type="github">xolox/python-coloredlogs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/colorlog/Manifest b/dev-python/colorlog/Manifest
new file mode 100644
index 000000000000..62558fd83154
--- /dev/null
+++ b/dev-python/colorlog/Manifest
@@ -0,0 +1 @@
+DIST colorlog-2.6.0.tar.gz 7079 SHA256 0f03ae0128a1ac2e22ec6a6617efbd36ab00d4b2e1c49c497e11854cf24f1fe9 SHA512 be0fbdb617f2edede0d7076a7d9bb0f32578d8f8e688734cf2f29a3bad8e95a8cd2ee32abd680289602a8fb5fb3da728a134ac0f9eb7bcf645a3220c9e02dbf0 WHIRLPOOL 64565c351e6e36b3c20882b9c73a36a2d8aed5866b92d447bbe95dbbff30f15f3d9d68b6840916738d5eb943246f1ec5c9548505e6e2df2e09057c20c564da7c
diff --git a/dev-python/colorlog/colorlog-2.6.0.ebuild b/dev-python/colorlog/colorlog-2.6.0.ebuild
new file mode 100644
index 000000000000..a586d01e0064
--- /dev/null
+++ b/dev-python/colorlog/colorlog-2.6.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Log formatting with colors"
+HOMEPAGE="https://pypi.python.org/pypi/colorlog https://github.com/borntyping/python-colorlog"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+DOCS=( README.rst )
+
+python_test() {
+ py.test colorlog || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/colorlog/metadata.xml b/dev-python/colorlog/metadata.xml
new file mode 100644
index 000000000000..cd6e112d72aa
--- /dev/null
+++ b/dev-python/colorlog/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">colorlog</remote-id>
+ <remote-id type="github">borntyping/python-colorlog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/colout/Manifest b/dev-python/colout/Manifest
new file mode 100644
index 000000000000..c802ff640ed0
--- /dev/null
+++ b/dev-python/colout/Manifest
@@ -0,0 +1 @@
+DIST colout-0.1.tar.gz 11184 SHA256 dc0cc0672f85150894af35a3811faf4e18f82aa97dbc2627083bf8e7f1856827 SHA512 605f67c706296f92d3300ae3ea1ad46c77073ef8503c99febc64a8bb17a677f7f4539a5b148853c8a3838c79f158f4703017db62bc99554628e9d7c3138f8880 WHIRLPOOL 88c2acb8703b48b4f29126c06e56ddb62b19508756fd370121390b3427c4ff60fdfab1aed0e6ac096ac3b3b8a169b12bce2e8b4c00c089fd426631ed0a53b7f5
diff --git a/dev-python/colout/colout-0.1.ebuild b/dev-python/colout/colout-0.1.ebuild
new file mode 100644
index 000000000000..8ed8cc14e30e
--- /dev/null
+++ b/dev-python/colout/colout-0.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Adds color to arbitrary command output"
+HOMEPAGE="http://nojhan.github.com/colout/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/Babel[$(python_gen_usedep 'python2*')]
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ #PyPi tarball has wrong (old, evidently) README. Upstream uses GPL-3.
+ sed -e 's:BSD licensed:GPL-3 licensed:' -i README || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ if [[ "${PYTHON_TARGETS}" == *python3* ]]; then
+ ewarn "Though ${PN} supports Python 3, Babel does not, thus it's number parsing feature won't be used."
+ ewarn "If you need it, use Python 2."
+ fi
+}
diff --git a/dev-python/colout/metadata.xml b/dev-python/colout/metadata.xml
new file mode 100644
index 000000000000..1a741a7899ac
--- /dev/null
+++ b/dev-python/colout/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Colout</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/columnize/Manifest b/dev-python/columnize/Manifest
new file mode 100644
index 000000000000..a63e88ec0613
--- /dev/null
+++ b/dev-python/columnize/Manifest
@@ -0,0 +1,2 @@
+DIST columnize-0.3.5.tar.gz 8838 SHA256 b5793700ef089584681ae703b4bb3b9a31be57eff09021162048d79ef480af68 SHA512 7df49fcb52e2eafd47ca0dad4529117c4181b3306f984c02bf470bdec427bd92c92680caf91398a918bee17c30d4d5a9accd1999241daa1e298d0016e3257d08 WHIRLPOOL 18ce0c5fc16832a6db2dddfac628798018e995f185ef4bceccfdafc4cd3a97d17807bd5f0e36de6e36feaeb3dbed1dacf558f28678f4dc7efc547c7b275ebe9b
+DIST columnize-0.3.8.tar.gz 9464 SHA256 c94d9173e0cb34682b1f63d2cea5924a522ef588981a7baa6a4c08a785808555 SHA512 4bcf232f2c8057eb8a77ab8c140a69c15831291da7476032f8b257774d9f945009bdd2d6295e98dceddcf9943b5e0b5e8eeab6bd229d2ae126f11c421b2e1dae WHIRLPOOL d21410955c3d461246cc7e02fd09277a9071017a287a23ec0d36cbeeef273b8bf4d4be289472f9882bede39afa552934a610bbe2e559929a34963eedad3972dd
diff --git a/dev-python/columnize/columnize-0.3.5-r1.ebuild b/dev-python/columnize/columnize-0.3.5-r1.ebuild
new file mode 100644
index 000000000000..69dc4efd1b02
--- /dev/null
+++ b/dev-python/columnize/columnize-0.3.5-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Format a simple (i.e. not nested) list into aligned columns"
+HOMEPAGE="http://code.google.com/p/pycolumnize/ http://pypi.python.org/pypi/columnize"
+SRC_URI="http://pycolumnize.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/columnize/columnize-0.3.8.ebuild b/dev-python/columnize/columnize-0.3.8.ebuild
new file mode 100644
index 000000000000..a88502073542
--- /dev/null
+++ b/dev-python/columnize/columnize-0.3.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Format a simple (i.e. not nested) list into aligned columns"
+HOMEPAGE="https://github.com/rocky/pycolumnize http://pypi.python.org/pypi/columnize"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/backports-shutil_get_terminal_size[$(python_gen_usedep 'python2*')]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/columnize/metadata.xml b/dev-python/columnize/metadata.xml
new file mode 100644
index 000000000000..6514190e88b4
--- /dev/null
+++ b/dev-python/columnize/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pycolumnize</remote-id>
+ <remote-id type="pypi">columnize</remote-id>
+ <remote-id type="github">rocky/pycolumnize</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/common/Manifest b/dev-python/common/Manifest
new file mode 100644
index 000000000000..b7973f241fa0
--- /dev/null
+++ b/dev-python/common/Manifest
@@ -0,0 +1 @@
+DIST common-0.1.1.tar.gz 2695 SHA256 197638d6146898400c5d0f1549bdef990503fa004a21bcfa0d157cf898bd9f21 SHA512 9bc76b762bf58599f8bd15c0e66fc5eb5898b7e3401d7a4908ca6a58a4f8040bb3fa44f016de62a129db2cb932ee724dfc59f42213f65f61a1fd399d3738eec0 WHIRLPOOL b038231708624ee582a46ba7f04a218c08e3415b743470539d0a5b996bc34b22f40defdbc326dc462283322a85a3d612eac6b147724e20ebc9fc25e6fda0d283
diff --git a/dev-python/common/common-0.1.1.ebuild b/dev-python/common/common-0.1.1.ebuild
new file mode 100644
index 000000000000..21a5ba200eb8
--- /dev/null
+++ b/dev-python/common/common-0.1.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Common tools and data structures implemented in pure python"
+HOMEPAGE="https://pypi.python.org/pypi/common"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="all-rights-reserved"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RESTRICT="mirror bindist"
diff --git a/dev-python/common/metadata.xml b/dev-python/common/metadata.xml
new file mode 100644
index 000000000000..87cd88a7414d
--- /dev/null
+++ b/dev-python/common/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">common</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/compizconfig-python/Manifest b/dev-python/compizconfig-python/Manifest
new file mode 100644
index 000000000000..288e1b0c4cb1
--- /dev/null
+++ b/dev-python/compizconfig-python/Manifest
@@ -0,0 +1 @@
+DIST compizconfig-python-0.8.4.tar.bz2 269812 SHA256 6734ae35ee69d081f35f98a89cd3bccb411a4db7c5b35fbd226270d95ac76f5a SHA512 3cd20014a7d0b186c9659ce104576d8e08e9e9f1f60bed4b7f4097c12ca4c49392621d2328abb50017c7d9f86af5b43675468b1cd4b5d128e23c24371c4af9ef WHIRLPOOL d2b92846acc25a134604a8773f96b5745b65864f4365e864b9a43e72bbaa7a277592911932886ca3e0af052240f3a56d89ff66799bba0afad58bc8b6d33ba2ac
diff --git a/dev-python/compizconfig-python/compizconfig-python-0.8.4-r5.ebuild b/dev-python/compizconfig-python/compizconfig-python-0.8.4-r5.ebuild
new file mode 100644
index 000000000000..1f0b72390a5d
--- /dev/null
+++ b/dev-python/compizconfig-python/compizconfig-python-0.8.4-r5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils autotools-utils python-r1
+
+DESCRIPTION="Compizconfig Python Bindings"
+HOMEPAGE="http://www.compiz.org/"
+SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.6
+ >=x11-libs/libcompizconfig-${PV}"
+
+DEPEND="${RDEPEND}
+ dev-python/pyrex[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_configure() {
+ local myeconfargs=(
+ --enable-fast-install
+ --disable-static
+ )
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+ prune_libtool_files --modules
+}
diff --git a/dev-python/compizconfig-python/metadata.xml b/dev-python/compizconfig-python/metadata.xml
new file mode 100644
index 000000000000..20b5ab50db60
--- /dev/null
+++ b/dev-python/compizconfig-python/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>desktop-effects</herd>
+<longdescription lang="en">Python bindings for libcompizconfig.</longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/configargparse/Manifest b/dev-python/configargparse/Manifest
new file mode 100644
index 000000000000..ad23fb415a98
--- /dev/null
+++ b/dev-python/configargparse/Manifest
@@ -0,0 +1 @@
+DIST ConfigArgParse-0.9.3.tar.gz 18983 SHA256 141c57112e1f8eb7e594a9820e95af897a7fa2d186cef5cff7e08cb3f7252829 SHA512 27b5132e7a87a59e5bc650d6884859c5c9a2f2f3d8d05e123d00c726527db26e021b5413f8e6e54fb311696e6e30fc5c236e86b43a271a10362368818d2ea0a2 WHIRLPOOL 586b06c99dc3c064fb7b7e53a1906fcaac665547accac1e5d7d5e88adecd038d9b8247c4d53566c7bfdf58003292da1dcf3b1e283e9398341409463d04c3c5a6
diff --git a/dev-python/configargparse/configargparse-0.9.3.ebuild b/dev-python/configargparse/configargparse-0.9.3.ebuild
new file mode 100644
index 000000000000..672542ea6f17
--- /dev/null
+++ b/dev-python/configargparse/configargparse-0.9.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=ConfigArgParse
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A drop-in replacement for argparse that adds support for config files and/or environment variables"
+HOMEPAGE="https://github.com/zorro3/ConfigArgParse https://pypi.python.org/pypi/ConfigArgParse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/configargparse/metadata.xml b/dev-python/configargparse/metadata.xml
new file mode 100644
index 000000000000..c18f7cb4f924
--- /dev/null
+++ b/dev-python/configargparse/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ConfigArgParse</remote-id>
+ <remote-id type="github">zorro3/ConfigArgParse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/configclass/Manifest b/dev-python/configclass/Manifest
new file mode 100644
index 000000000000..9cfca21cea24
--- /dev/null
+++ b/dev-python/configclass/Manifest
@@ -0,0 +1 @@
+DIST configclass-0.1.0.tar.gz 3246 SHA256 e10b26d2476089d3c98e7dd3b535a93df86a3c6c86a3d08ec047f4d730f9dd1c SHA512 d3a83c742916a9d345a3e8b2fb29d8742cff67a110f9bbaaee6e04fc1134faa6eee13f7344a95f133107afcdfccd394f6a3b5fc516b21dbfd7ac38a5bed00d34 WHIRLPOOL 9b2acce86aab20fc0d1c4a99081b184252a71c6f3df6d5c6efded84f2113c161dad8e15a2a34843962aa61064f43e241ccf9d4aa4b42e20eed7d22cf655574c0
diff --git a/dev-python/configclass/configclass-0.1.0.ebuild b/dev-python/configclass/configclass-0.1.0.ebuild
new file mode 100644
index 000000000000..761e15d6269f
--- /dev/null
+++ b/dev-python/configclass/configclass-0.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python to class to hold configuration values"
+HOMEPAGE="https://github.com/schettino72/configclass/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/mergedict-0.2.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/configclass/metadata.xml b/dev-python/configclass/metadata.xml
new file mode 100644
index 000000000000..fcac0317b9ec
--- /dev/null
+++ b/dev-python/configclass/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">configclass</remote-id>
+ <remote-id type="github">schettino72/configclass</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/configobj/Manifest b/dev-python/configobj/Manifest
new file mode 100644
index 000000000000..8ebb884657fd
--- /dev/null
+++ b/dev-python/configobj/Manifest
@@ -0,0 +1,3 @@
+DIST configobj-4.7.2.zip 143618 SHA256 332a0d20d4d736d521d95cb2cf069b1ac7c858985207db4296f4050396558c49 SHA512 510b7ce461932d504808a9aeb539265b9fddb17c9451076f8b6be796f38617a5095d3c287c78c38a1825d76be462ca0224f5ae3b614f67fd69c6260b399d802f WHIRLPOOL e38ea000479792be4c9ddf17fca8d17bc486cd2ef0363a7fc29922012b485ca8c2a9ac8b7eb06676783b87ca8ec37da41a8a44e7111dcaf07244318e1599924b
+DIST configobj-5.0.5.tar.gz 33232 SHA256 766eff273f2cbb007a3ea8aa69429ee9b1553aa96fe282c6ace3769b9ac47b08 SHA512 6dfb30fff22b1a62a191876161c20c7236d49137a0def85ea2ddf80a6810347f586bbec2dffbcd58ed942591f362b7741ec2f9464fb377e852edc6748b12ba6a WHIRLPOOL ff4c202b15188f501f2538db16a518e154a93bffa31c2d89e509220967d6bde51f7dc1e062f3d57895bf024a04554f42cc8d527d89b93ff9a6e1127dadc9d035
+DIST configobj-5.0.6.tar.gz 33248 SHA256 a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902 SHA512 f253fdd0bc3fcd37f56c9ceb28f5c8c739b0861e099b07a3929645907c97b2261f0529850a95c1a42507846f72d88a0992fcd1e1d6fa8654dc713d120f769963 WHIRLPOOL fc8472d7fd161f4ccd09e3d99c6e97d3ecfe008b3cd16d623ef6ecd598148a41b4658c6ce7488f30eb581e2fcc09bbb8887240e77582d3c272b88c8da87ebb08
diff --git a/dev-python/configobj/configobj-4.7.2-r2.ebuild b/dev-python/configobj/configobj-4.7.2-r2.ebuild
new file mode 100644
index 000000000000..c3fcd7027a81
--- /dev/null
+++ b/dev-python/configobj/configobj-4.7.2-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Simple config file reader and writer"
+HOMEPAGE="http://www.voidspace.org.uk/python/configobj.html http://code.google.com/p/configobj/ http://pypi.python.org/pypi/configobj"
+SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-fix_tests.patch )
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -e "s/ \(doctest\.testmod(.*\)/ sys.exit(\1[0] != 0)/" -i validate.py || die
+}
+
+python_test() {
+ "${PYTHON}" validate.py -v || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ rm -f docs/BSD*
+ insinto /usr/share/doc/${PF}/html
+ doins -r docs/* || die "doins failed"
+ fi
+}
diff --git a/dev-python/configobj/configobj-5.0.5.ebuild b/dev-python/configobj/configobj-5.0.5.ebuild
new file mode 100644
index 000000000000..8d43f8cce3fc
--- /dev/null
+++ b/dev-python/configobj/configobj-5.0.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple config file reader and writer"
+HOMEPAGE="http://www.voidspace.org.uk/python/configobj.html http://code.google.com/p/configobj/ http://pypi.python.org/pypi/configobj"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Not to install un-needed _version.py
+ sed -e "/^MODULES =/s/, '_version'//" -i setup.py
+ sed -e "s/^from _version import __version__$/__version__ = '${PV}'/" -i configobj.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" validate.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/configobj/configobj-5.0.6.ebuild b/dev-python/configobj/configobj-5.0.6.ebuild
new file mode 100644
index 000000000000..396c1a6bb7cc
--- /dev/null
+++ b/dev-python/configobj/configobj-5.0.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple config file reader and writer"
+HOMEPAGE="http://www.voidspace.org.uk/python/configobj.html http://code.google.com/p/configobj/ http://pypi.python.org/pypi/configobj"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Not to install un-needed _version.py
+ sed -e "/^MODULES =/s/, '_version'//" -i setup.py
+ sed -e "s/^from _version import __version__$/__version__ = '${PV}'/" -i configobj.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" validate.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/configobj/files/configobj-4.7.2-fix_tests.patch b/dev-python/configobj/files/configobj-4.7.2-fix_tests.patch
new file mode 100644
index 000000000000..c0b867e0ee7c
--- /dev/null
+++ b/dev-python/configobj/files/configobj-4.7.2-fix_tests.patch
@@ -0,0 +1,11 @@
+--- validate.py
++++ validate.py
+@@ -268,8 +268,6 @@
+ 16908291
+ >>> int(dottedQuadToNum('1.2.3.4'))
+ 16909060
+- >>> dottedQuadToNum('255.255.255.255')
+- 4294967295L
+ >>> dottedQuadToNum('255.255.255.256')
+ Traceback (most recent call last):
+ ValueError: Not a good dotted-quad IP: 255.255.255.256
diff --git a/dev-python/configobj/metadata.xml b/dev-python/configobj/metadata.xml
new file mode 100644
index 000000000000..8deebe785efb
--- /dev/null
+++ b/dev-python/configobj/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ ConfigObj is a simple but powerful config file reader and writer: an
+ ini file round tripper. Its main feature is that it is very easy to
+ use, with a straightforward programmer's interface and a simple syntax
+ for config files.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">configobj</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/configparser/Manifest b/dev-python/configparser/Manifest
new file mode 100644
index 000000000000..3290a0c7af5a
--- /dev/null
+++ b/dev-python/configparser/Manifest
@@ -0,0 +1 @@
+DIST configparser-3.3.0r2.tar.gz 32885 SHA256 6a2318590dfc4013fc5bf53c2bec14a8cb455a232295eb282a13f94786c4b0b2 SHA512 86c095bb64766e87ba59462a99d0287ec52073f27a1c9be7d37568516bc0cc4af6f362ca90a1b90f52aaa4342dc275d769c77f18d80c0efb114ba6fce37fff5f WHIRLPOOL 125ea0a2f1632c599e30d2e196f463139248b9fe1d0e24945b15f3497646b5e87dd0659c9ba78625d8fbaeac7ea5a7f8fd4124c0ad52e64ebbf4ec06533fe9b8
diff --git a/dev-python/configparser/configparser-3.3.0.2.ebuild b/dev-python/configparser/configparser-3.3.0.2.ebuild
new file mode 100644
index 000000000000..96e08ff12bf0
--- /dev/null
+++ b/dev-python/configparser/configparser-3.3.0.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+MY_PV=${PV%.*}r${PV##*.}
+DESCRIPTION="Backport of Python-3 built-in configparser"
+HOMEPAGE="http://pypi.python.org/pypi/configparser/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+S=${WORKDIR}/${PN}-${MY_PV}
diff --git a/dev-python/configparser/metadata.xml b/dev-python/configparser/metadata.xml
new file mode 100644
index 000000000000..e6628be595b3
--- /dev/null
+++ b/dev-python/configparser/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ <name>Ben de Groot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">configparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/configshell/configshell-9999.ebuild b/dev-python/configshell/configshell-9999.ebuild
new file mode 100644
index 000000000000..f12b9c3c4b5d
--- /dev/null
+++ b/dev-python/configshell/configshell-9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://linux-iscsi.org/${PN}.git"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="ConfigShell Community Edition for target_core_mod/ConfigFS"
+HOMEPAGE="http://linux-iscsi.org/"
+SRC_URI=""
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ dev-python/epydoc[${PYTHON_USEDEP}]
+ dev-python/simpleparse[${PYTHON_USEDEP}]
+ "
+RDEPEND="${DEPEND}"
diff --git a/dev-python/configshell/metadata.xml b/dev-python/configshell/metadata.xml
new file mode 100644
index 000000000000..59fc80b97cfa
--- /dev/null
+++ b/dev-python/configshell/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>cluster</herd>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/contextlib2/Manifest b/dev-python/contextlib2/Manifest
new file mode 100644
index 000000000000..a2aa4e4db776
--- /dev/null
+++ b/dev-python/contextlib2/Manifest
@@ -0,0 +1 @@
+DIST contextlib2-0.4.0.tar.gz 18741 SHA256 55a5dc78f7a742a0e756645134ffb39bbe11da0fea2bc0f7070d40dac208b732 SHA512 622762c5490f0ff3e4b421a63bccce8fe0753977112ee0db9640dad31093c40c8a331f3d7cade9925f17903eaeaa376925ef607d7a440170c7c5ec1c8e04f56a WHIRLPOOL b1b2b753b15cb5124ebc378acf6b959839e727a53d3a096eea5b04404fc059f6a1b49b9fa23cc6310ad1b9bcfa655a82088af0906a74f8326d7bf57f3793440c
diff --git a/dev-python/contextlib2/contextlib2-0.4.0.ebuild b/dev-python/contextlib2/contextlib2-0.4.0.ebuild
new file mode 100644
index 000000000000..bd498c20f701
--- /dev/null
+++ b/dev-python/contextlib2/contextlib2-0.4.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Backports and enhancements for the contextlib module"
+HOMEPAGE="https://pypi.python.org/pypi/contextlib2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2.4"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+python_test() {
+ "${PYTHON}" test_contextlib2.py || die "Tests fail for ${EPYTHON}"
+}
diff --git a/dev-python/contextlib2/metadata.xml b/dev-python/contextlib2/metadata.xml
new file mode 100644
index 000000000000..54713949c687
--- /dev/null
+++ b/dev-python/contextlib2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">contextlib2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cosmolopy/Manifest b/dev-python/cosmolopy/Manifest
new file mode 100644
index 000000000000..1a8c94c4127b
--- /dev/null
+++ b/dev-python/cosmolopy/Manifest
@@ -0,0 +1 @@
+DIST CosmoloPy-0.1.104.tar.gz 65162 SHA256 f70486c362230ece215a974ef12ba7c9969598a220ecba64de19d0fcd5674e75 SHA512 b79b5b264a6bdd68082fc3f62f40957421d9a6914d1623cc89bac9b64598e5fca5d52290632ab55878c893223aeb3283c9b088987a0927d2c22160bc521359fa WHIRLPOOL 7155a20339a3548b5c194dc22efe62bf30b45c626c13d8a6e2c4a76ab37cbf097cda2ce94bff435f387bb8ed303c83a70cefc3e979f1a04e1b0b14726a4db978
diff --git a/dev-python/cosmolopy/cosmolopy-0.1.104-r1.ebuild b/dev-python/cosmolopy/cosmolopy-0.1.104-r1.ebuild
new file mode 100644
index 000000000000..74fc1c2bee66
--- /dev/null
+++ b/dev-python/cosmolopy/cosmolopy-0.1.104-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7)
+
+inherit distutils-r1
+
+MY_PN=CosmoloPy
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Cosmology routines built on NumPy/SciPy"
+HOMEPAGE="http://roban.github.com/CosmoloPy/ http://pypi.python.org/pypi/CosmoloPy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/nose[${PYTHON_USEDEP}]
+ dev-lang/swig
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )"
+RDEPEND="sci-libs/scipy[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_compile_all() {
+ if use doc; then
+ epydoc -n "CosmoloPy - Cosmology routines built on NumPy/SciPy" \
+ --exclude='cosmolopy.EH._power' --exclude='cosmolopy.EH.power' \
+ --no-private --no-frames --html --docformat restructuredtext \
+ cosmolopy/ -o docAPI/ || die
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docAPI/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cosmolopy/metadata.xml b/dev-python/cosmolopy/metadata.xml
new file mode 100644
index 000000000000..c931c4e1666e
--- /dev/null
+++ b/dev-python/cosmolopy/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">CosmoloPy is a package of cosmology routines built on NumPy/SciPy.</longdescription>
+ <upstream>
+ <remote-id type="pypi">CosmoloPy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/couchdb-python/Manifest b/dev-python/couchdb-python/Manifest
new file mode 100644
index 000000000000..caeef0ee2950
--- /dev/null
+++ b/dev-python/couchdb-python/Manifest
@@ -0,0 +1,3 @@
+DIST CouchDB-0.10.tar.gz 56547 SHA256 dd477d8c535a324d763b34beb0d296cf660c98090666a06956b5b98d9a69c960 SHA512 73655b173e497cde58f8bd3d648f28b6189363bccea68454ea60c851a73933d94e90f357a4969694f72c3034dac5166b351f7d68290ff458860f19a2d669bab5 WHIRLPOOL cee3cb74435955384297d84f09da9132f34b2d404868b094df80fc46770c1cc8cbd83cdc9ac70f668610a9d34ac18790084eaeb68bb863913f239a694990f3fa
+DIST CouchDB-0.9.tar.gz 55189 SHA256 a1cf5071b5adb47048199bbfbaf1500e69c88b27afe14ba26efa0f4044c3baee SHA512 ceba7afd3400e9da51fb6493b68d5192e1c3817d159fc8f2791bdc03b61828f1b2f262a64832e81f4b950379795b100c8f506527489e91a8872291a7b4173c42 WHIRLPOOL ddace810c3e879a6cba84602999fc964b4681a56a838d2e5e301b23ce76c94c99fb1936cbb8426f1d276a42b937755b39adaf206c7e60738799bf8add6deb7be
+DIST CouchDB-1.0.tar.gz 56791 SHA256 f81de35433932e1d81b922d12119fe9b2435046db5dc53d1fb068a087c1fb264 SHA512 c328a9b027d24ee560ef592925a072a463852fdb7e8e93e1d6e740d7245181ba147985d610d6fd55f4790d7338e69470c44f574469e718eeb7b4163dfb6fc19a WHIRLPOOL 326be4bedd76ebbc5c9fd3cbdc52182230e0701372e75fa074a328633668e407528ccab7d3516b665be8587d131db4e7f7ba054cb6be2fca60b16265793f38c4
diff --git a/dev-python/couchdb-python/couchdb-python-0.10.ebuild b/dev-python/couchdb-python/couchdb-python-0.10.ebuild
new file mode 100644
index 000000000000..8cc0d4e6ff88
--- /dev/null
+++ b/dev-python/couchdb-python/couchdb-python-0.10.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="CouchDB"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python library for working with CouchDB"
+HOMEPAGE="http://code.google.com/p/couchdb-python/ http://pypi.python.org/pypi/CouchDB"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+# Tests require connectivity to a couchdb server.
+# Re-enable when the ebuild is capable of starting a local couchdb
+# instance.
+RESTRICT=test
+
+PATCHES=( "${FILESDIR}/${PV}-exec-compat.patch" )
+
+python_compile_all() {
+ esetup.py build_sphinx
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/couchdb-python/couchdb-python-0.9.ebuild b/dev-python/couchdb-python/couchdb-python-0.9.ebuild
new file mode 100644
index 000000000000..435d2ec3265d
--- /dev/null
+++ b/dev-python/couchdb-python/couchdb-python-0.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="CouchDB"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python library for working with CouchDB"
+HOMEPAGE="http://code.google.com/p/couchdb-python/ http://pypi.python.org/pypi/CouchDB"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+# Tests require connectivity to a couchdb server.
+# Re-enable when the ebuild is capable of starting a local couchdb
+# instance.
+RESTRICT=test
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/couchdb-python/couchdb-python-1.0.ebuild b/dev-python/couchdb-python/couchdb-python-1.0.ebuild
new file mode 100644
index 000000000000..63278c2e505c
--- /dev/null
+++ b/dev-python/couchdb-python/couchdb-python-1.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="CouchDB"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python library for working with CouchDB"
+HOMEPAGE="https://github.com/djc/couchdb-python http://pypi.python.org/pypi/CouchDB"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+# Tests require connectivity to a couchdb server.
+# Re-enable when the ebuild is capable of starting a local couchdb
+# instance.
+RESTRICT=test
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/couchdb-python/files/0.10-exec-compat.patch b/dev-python/couchdb-python/files/0.10-exec-compat.patch
new file mode 100644
index 000000000000..da0ad536e113
--- /dev/null
+++ b/dev-python/couchdb-python/files/0.10-exec-compat.patch
@@ -0,0 +1,87 @@
+commit 8fdba0f09df00d69618858c70d11ddbeecd30026
+Author: Dirkjan Ochtman <dirkjan@ochtman.nl>
+Date: Thu Jul 24 11:43:52 2014 +0200
+
+ Use a single pyexec() utility function to fix compatibility issues
+
+ While the current setup (where 2.x uses the exec statement and 3.x uses the
+ exec() function) works at run-time, it causes problem while byte-compiling
+ the util modules for their non-appropriate interpreter versions:
+
+ File "/usr/lib64/python2.7/site-packages/couchdb/util3.py", line 17
+ pyexec = exec
+ ^
+ SyntaxError: invalid syntax
+
+ File "/usr/lib64/python3.3/site-packages/couchdb/util2.py", line 19
+ exec code in gns, lns
+ ^
+ SyntaxError: invalid syntax
+
+ There doesn't appear to be an easy way to exclude some files from installation
+ based on the installing Python version, but it turns out the 2.x exec
+ statement can also take its arguments as a tuple, such that the 2.x and 3.x
+ versions can be used with the same syntax.
+
+ However, Python 2.7 has a bug (#21591) that prevents this from working in the
+ context we use exec in (in a function that also contains a nested function),
+ due to a bad implementation that enables the arguments-as-tuple functionality.
+ We thus need a helper function after all, to pull it out of that context.
+
+diff --git a/couchdb/util.py b/couchdb/util.py
+index bdd52f3..d111a6b 100644
+--- a/couchdb/util.py
++++ b/couchdb/util.py
+@@ -4,3 +4,7 @@ if sys.version_info[0] < 3:
+ from couchdb.util2 import *
+ else:
+ from couchdb.util3 import *
++
++def pyexec(code, gns, lns):
++ # http://bugs.python.org/issue21591
++ exec(code, gns, lns)
+diff --git a/couchdb/util2.py b/couchdb/util2.py
+index ad1b0a8..03fd558 100644
+--- a/couchdb/util2.py
++++ b/couchdb/util2.py
+@@ -1,8 +1,7 @@
+
+ __all__ = [
+ 'StringIO', 'urlsplit', 'urlunsplit', 'urlquote', 'urlunquote',
+- 'urlencode', 'utype', 'ltype', 'pyexec', 'strbase', 'funcode',
+- 'urlparse',
++ 'urlencode', 'utype', 'ltype', 'strbase', 'funcode', 'urlparse',
+ ]
+
+ utype = unicode
+@@ -15,8 +14,5 @@ from urllib import quote as urlquote
+ from urllib import unquote as urlunquote
+ from urllib import urlencode
+
+-def pyexec(code, gns, lns):
+- exec code in gns, lns
+-
+ def funcode(fun):
+ return fun.func_code
+diff --git a/couchdb/util3.py b/couchdb/util3.py
+index c2e46d6..6bf84f0 100644
+--- a/couchdb/util3.py
++++ b/couchdb/util3.py
+@@ -1,8 +1,7 @@
+
+ __all__ = [
+ 'StringIO', 'urlsplit', 'urlunsplit', 'urlquote', 'urlunquote',
+- 'urlencode', 'utype', 'ltype', 'pyexec', 'strbase', 'funcode',
+- 'urlparse',
++ 'urlencode', 'utype', 'ltype', 'strbase', 'funcode', 'urlparse',
+ ]
+
+ utype = str
+@@ -14,7 +13,5 @@ from urllib.parse import urlsplit, urlunsplit, urlencode, urlparse
+ from urllib.parse import quote as urlquote
+ from urllib.parse import unquote as urlunquote
+
+-pyexec = exec
+-
+ def funcode(fun):
+ return fun.__code__
diff --git a/dev-python/couchdb-python/metadata.xml b/dev-python/couchdb-python/metadata.xml
new file mode 100644
index 000000000000..805dbec4a0d1
--- /dev/null
+++ b/dev-python/couchdb-python/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">CouchDB</remote-id>
+ <remote-id type="github">djc/couchdb-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cov-core/Manifest b/dev-python/cov-core/Manifest
new file mode 100644
index 000000000000..0183413ce92a
--- /dev/null
+++ b/dev-python/cov-core/Manifest
@@ -0,0 +1,2 @@
+DIST cov-core-1.15.0.tar.gz 5890 SHA256 4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c SHA512 1b962a6a7253c1f6530248f3a71058e7709ee5cca274166807f040163c9cc240e9e85e42820063476c1c0f6dfca81d45277738663ed818fe715b30db151ace16 WHIRLPOOL 8a4198b8914507aeeb44c66ece4397c98c86cb7a5206d5b69cfea34bda2399f6c37ad46935839a86edadafecbf534dbe8a275801f9b217e994576f399f0a884a
+DIST cov-core-1.7.tar.gz 5972 SHA256 8050c226fa73234b88e62630d64e0416c879202891309cbcdbb8b556222c3020 SHA512 8e1744f686262c5affc6e2d7b08ce6277b60e79156a4c2491f805325048702f765b64c40acd53d59b5fd7358d85bf3ab367270eef4a12ad209db5f661612b140 WHIRLPOOL cb85a234560bae9628853958a88e15abb85a570710fdfaf627b1a3c0242bf3d6b46bdecd14972744df5331d884c1b592266143f4ececa0b795fb4a682d1156a6
diff --git a/dev-python/cov-core/cov-core-1.15.0.ebuild b/dev-python/cov-core/cov-core-1.15.0.ebuild
new file mode 100644
index 000000000000..446ea79b0f56
--- /dev/null
+++ b/dev-python/cov-core/cov-core-1.15.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="plugin core for use by pytest-cov, nose-cov and nose2-cov"
+HOMEPAGE="https://bitbucket.org/memedough/cov-core/overview"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ia64 m68k ppc ppc64 s390 sh x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=">=dev-python/coverage-3.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/cov-core/cov-core-1.7.ebuild b/dev-python/cov-core/cov-core-1.7.ebuild
new file mode 100644
index 000000000000..bb61f48abc9c
--- /dev/null
+++ b/dev-python/cov-core/cov-core-1.7.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="plugin core for use by pytest-cov, nose-cov and nose2-cov"
+HOMEPAGE="https://bitbucket.org/memedough/cov-core/overview"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha ~amd64 arm hppa ~ppc ~ppc64 sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/coverage[${PYTHON_USEDEP}]"
+DEPEND=""
diff --git a/dev-python/cov-core/metadata.xml b/dev-python/cov-core/metadata.xml
new file mode 100644
index 000000000000..9e8e0d2961c4
--- /dev/null
+++ b/dev-python/cov-core/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">cov-core</remote-id>
+ <remote-id type="bitbucket">memedough/cov-core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
new file mode 100644
index 000000000000..9316b3a03041
--- /dev/null
+++ b/dev-python/coverage/Manifest
@@ -0,0 +1,3 @@
+DIST coverage-3.6.tar.gz 232067 SHA256 df3bf169d4727f3fad146ca715a49a1f72a8258689651ef9de908022e739700d SHA512 fb9f26ba20dced48d01929251a08b0b9da2bc5910ccc734910aed76634bd98b538983880e2e29c2c4604f6b97ed3a947871dfe8c9a43acc4556484e4c77ee68e WHIRLPOOL c6163901763dadd4cfba13953dd2535778b0da73a4f08f1400534135d49d54558736c46253146cbe03f9680d33f3cd2a33f8be7795ff17054bf0608393ac6eca
+DIST coverage-3.7.1.tar.gz 284735 SHA256 d1aea1c4aa61b8366d6a42dd3650622fbf9c634ed24eaf7f379c8b970e5ed44e SHA512 d198b06db938119fad8c13b9a7bbf018a5406c29327c943014e3b9b33ea85f0fbadaef6565fba26a461a3f1ee31f4cbfb42503420cc587c846ce499e80fd5133 WHIRLPOOL f07d239053bf357fe3dca7bec04d390db9b6610060fd848c9f15ea9de2f0a141d66e68cba5833a63bde860f4377c9029574e6ea7ed76ffe2fda332703e3100ab
+DIST coverage-3.7.tar.gz 283419 SHA256 c50ee4c391a083d87e2345b0094a7ec24a07b98b4e435f134d02a62ea3827fdb SHA512 62d20d8a3f5be93c8eae513b61330cd5876df94cb7269ff90bcc0d4b946dd426b7bad9bcb74e2b6334a5c14178c408667c7dfd00d5362ee499c203d4ac55d189 WHIRLPOOL 910e766d2eaa7918611325beacb4ab2dd220cccf2478b01e635b8339f4bdd11823b69a1c5a630d20342188db7e1aae0ab0d26e85743ce3f0e24c1ead5f49e64b
diff --git a/dev-python/coverage/coverage-3.6.ebuild b/dev-python/coverage/coverage-3.6.ebuild
new file mode 100644
index 000000000000..e10e7fc728ac
--- /dev/null
+++ b/dev-python/coverage/coverage-3.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="http://nedbatchelder.com/code/coverage/ http://pypi.python.org/pypi/coverage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.[67] ]]; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/coverage/coverage-3.7.1.ebuild b/dev-python/coverage/coverage-3.7.1.ebuild
new file mode 100644
index 000000000000..6a6883b318ba
--- /dev/null
+++ b/dev-python/coverage/coverage-3.7.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="http://nedbatchelder.com/code/coverage/ http://pypi.python.org/pypi/coverage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/coverage/coverage-3.7.ebuild b/dev-python/coverage/coverage-3.7.ebuild
new file mode 100644
index 000000000000..53ba7774ab79
--- /dev/null
+++ b/dev-python/coverage/coverage-3.7.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="http://nedbatchelder.com/code/coverage/ http://pypi.python.org/pypi/coverage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.[67] ]]; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/coverage/metadata.xml b/dev-python/coverage/metadata.xml
new file mode 100644
index 000000000000..55232d3d816e
--- /dev/null
+++ b/dev-python/coverage/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <longdescription lang="en">Coverage.py is a Python module that measures code coverage during Python
+execution. It uses the code analysis tools and tracing hooks provided in the
+Python standard library to determine which lines are executable, and which have
+been executed.</longdescription>
+ <upstream>
+ <remote-id type="pypi">coverage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crcmod/Manifest b/dev-python/crcmod/Manifest
new file mode 100644
index 000000000000..e2953d554008
--- /dev/null
+++ b/dev-python/crcmod/Manifest
@@ -0,0 +1 @@
+DIST crcmod-1.7.tar.gz 89670 SHA256 dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e SHA512 3c2f65004761c84f19d6ba95a0af74512108bad5007d9e20f8e684822e4196ce17073e58b47d2fa997e058e3d82782f3393458b6f0e86935418f38877d319a31 WHIRLPOOL 17b05332b71c5043ff870146714e49c84ce58fd9c408c040fcfdc4e9ebd3a340326da7cbc900f7ebf43f3b68e9cd4666ae5f0089aa327b47a0fda5a56ae89591
diff --git a/dev-python/crcmod/crcmod-1.7-r2.ebuild b/dev-python/crcmod/crcmod-1.7-r2.ebuild
new file mode 100644
index 000000000000..181bae11da97
--- /dev/null
+++ b/dev-python/crcmod/crcmod-1.7-r2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python CRC Generator module"
+HOMEPAGE="http://crcmod.sourceforge.net/"
+SRC_URI="mirror://sourceforge/crcmod/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+DOCS=( changelog test/examples.py )
+
+python_test() {
+ "${PYTHON}" test/test_crcmod.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/crcmod/metadata.xml b/dev-python/crcmod/metadata.xml
new file mode 100644
index 000000000000..d96d3dad153e
--- /dev/null
+++ b/dev-python/crcmod/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The software in this package is a Python module for generating objects
+ that compute the Cyclic Redundancy Check (CRC). It includes a (optional)
+ C extension for fast calculation, as well as a pure Python
+ implementation.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">crcmod</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crumbs/Manifest b/dev-python/crumbs/Manifest
new file mode 100644
index 000000000000..4b79e7206f8d
--- /dev/null
+++ b/dev-python/crumbs/Manifest
@@ -0,0 +1,3 @@
+DIST crumbs-1.2.2.tar.gz 7721 SHA256 eb3ea05bab4ba34501e2d18da151d7036bfd68e948383d3f7303891463ff590f SHA512 be20aa24ef25d3fac1cba7e653b06e0ab394286032f7f01320c53ba88cff363a72d6302a44da7019acd3f2f04ea98d7a2f4d01b5f9f9cc0327391346a4a4ebf6 WHIRLPOOL 73f834900b19c2fd4dacb705ca6af5bc89fab6f8712115e3e894775c7bf6e5d87071faa2a5152350e1d7244751e2d6a9e07732c88e3ca40aae56ece560d77f72
+DIST crumbs-2.0.0.tar.gz 13134 SHA256 776634a652205791f30419dbd3f89f26eecb0bf041348690f4552deb7f61ebc1 SHA512 b518041ed7d3d1026b83901f3ffa2faf1da30fb39c598eb88eebabfeb3489c4ce2b2de1f0267bdb3e7d9366509efe0e109f54ec45b9297345f1224c2de5213c5 WHIRLPOOL 64b7e09898c5861ab950fae1331ef973f4c42cc57e2204f23aaf11dce8eb84b817d9ee44b58acebbb909d1266a38eed419a615e8102cc76a46b4b41bb846592f
+DIST crumbs-2.0.1.tar.gz 12377 SHA256 b537d608b9c54d8fc0bd73a4a60599fe2a68ba66ecd05f3f45a25d2301f439ca SHA512 d15a8f3484f8178a1d41555d1783fdf6356c97f05247cf3daf6c56af9e0bd2795ee187f7fde549f5e23b4883317608cc40a71dedfaf49e544c87a12a0f97738a WHIRLPOOL a74e0e61726ca7dbeb702ce92b369137b7c21da5e224a365c9fbf3e6221859c6307329447c6835ff824950d0155cf180d62616f10b6f3084cb041751e9e8d0c4
diff --git a/dev-python/crumbs/crumbs-1.2.2-r1.ebuild b/dev-python/crumbs/crumbs-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..7d196a80f763
--- /dev/null
+++ b/dev-python/crumbs/crumbs-1.2.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Generalized all-in-one parameters module"
+HOMEPAGE="https://github.com/alunduil/crumbs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="inotify test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="inotify? ( dev-python/pyinotify[${PYTHON_USEDEP}] )"
+
+python_test() {
+ flake8 || die 'flake8'
+ nosetests || die 'nosetests'
+}
diff --git a/dev-python/crumbs/crumbs-2.0.0.ebuild b/dev-python/crumbs/crumbs-2.0.0.ebuild
new file mode 100644
index 000000000000..23bc8832bdb5
--- /dev/null
+++ b/dev-python/crumbs/crumbs-2.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Generalized all-in-one parameters module"
+HOMEPAGE="https://github.com/alunduil/crumbs"
+SRC_URI="https://github.com/alunduil/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="inotify test"
+
+CDEPEND="inotify? ( dev-python/pyinotify[${PYTHON_USEDEP}] )"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_test() {
+ nosetests || die "Tests failed on ${EPYTHON}"
+}
diff --git a/dev-python/crumbs/crumbs-2.0.1.ebuild b/dev-python/crumbs/crumbs-2.0.1.ebuild
new file mode 100644
index 000000000000..e04f47aa7e6f
--- /dev/null
+++ b/dev-python/crumbs/crumbs-2.0.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Generalized all-in-one parameters module"
+HOMEPAGE="https://github.com/alunduil/crumbs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="inotify test"
+
+CDEPEND="inotify? ( dev-python/pyinotify[${PYTHON_USEDEP}] )"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_test() {
+ nosetests || die "Tests failed on ${EPYTHON}"
+}
diff --git a/dev-python/crumbs/metadata.xml b/dev-python/crumbs/metadata.xml
new file mode 100644
index 000000000000..3ec159379e27
--- /dev/null
+++ b/dev-python/crumbs/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">crumbs</remote-id>
+ <remote-id type="github">alunduil/crumbs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cryptography-vectors/Manifest b/dev-python/cryptography-vectors/Manifest
new file mode 100644
index 000000000000..1f01c2bffc6e
--- /dev/null
+++ b/dev-python/cryptography-vectors/Manifest
@@ -0,0 +1,12 @@
+DIST cryptography_vectors-0.5.4.tar.gz 19093455 SHA256 3537837ef31814fb25c082274a64042bf2c52b6108b99374d1eee505097ccf36 SHA512 b548130a4566928c9103b57c1b441fb8a52ced337d358126b6ce9e8bc9566690f321b6f83ed7858a5d6171465ec862f654624bebc9874bb6990502bab5f629d2 WHIRLPOOL c1e03779a72332bea7f41eb53e60a7eb41ca93201fe184434f51bc6e71333752c61dd15e503dbbd65862159a662a7115f8bc44eef59265abd74350b50cb01e6c
+DIST cryptography_vectors-0.6.1.tar.gz 19348556 SHA256 79d0cd0a4ae89e013f0a9e8df7a4bedc2ecdf3dc8ee1df64c5e4381756eb41cf SHA512 00a802cf8ee3a56236b67b1405f593300141e63f5354182ea5e229516b52ab870f3164009aa47bb75d2294d5587f4b0ad531f3cef867e70bcce87eadd1743cc0 WHIRLPOOL c37ace825f40664890fdcf600fc9213741f2abc168fc5794a80f9224d940bd980bffd4a3c0333f379d238247e97ea3f098a94632cbc2a5ee59e6a32bae8f9cb0
+DIST cryptography_vectors-0.7.1.tar.gz 21377829 SHA256 2b7592b7d8f2ff3a7e288a6fecda5129a4ec4067d6d7ce3ce061a5d2024ea676 SHA512 98a3b8138ab2754f9f6eb6ba06118718b7f1b30af99d00c205a33b435fe8e432af84328b5b26ec531c920f7c3091bf3189d1d884e543fc9e5b4bea93f6d5b94b WHIRLPOOL 2d041fb9908e2991562bd2b90781082b99a03440fcdd5727e2aff69b20abe3534119acd069a3459c4fd4c67bc2222ab01738ba36468494c111be713884ab27a7
+DIST cryptography_vectors-0.7.2.tar.gz 21377865 SHA256 36ad9bec8ed667e3720ff4b877b4dc728e54986a895fdc1d90d55c00b10a21c4 SHA512 be12f275874ec38ec768858ff2d0c9a058c324321dea2eb6e9f771636f2917ea59b39f6499634169876ae0dc01d3481f47f90638d1fb94e4e20b7bc7c59f0cba WHIRLPOOL 499f7a247557c2fb4def26f9a021022f9bf3418f741f34d8c5c3836a907716526ff4b8eb01edfae2432ff3d611661164e3a696feabbe10ddafc2ae65a8b28e07
+DIST cryptography_vectors-0.7.tar.gz 21375413 SHA256 73c84276e5932a4d6b28394c31393350f27b61f66619e5ef5b6932fa835ea084 SHA512 5cb54bb32822d454fa449dc8c5add75efb430722d62ea0c7b591b27d681db5384522d9892bfdd088d00e2ec933564566302ca7b14d94b9e79f11151b2b816f08 WHIRLPOOL 10f14c934d08289dca26a398ce58e4b7b262bf802bc3491831424b769922ddbd63957083da8a66646c74425aaa4234e6b8a1b8b9671213bebba1a607c1a33f01
+DIST cryptography_vectors-0.8.1.tar.gz 21396583 SHA256 4a69e66026bfce4b97f75e72fe262f5e8f71daddc081f6608e5b0db89e552504 SHA512 0d0a383a81247eb2027b2c33827041494cd1c3198957196f7c8aab840119a3c127951584efbe522885afb725bc99b923d15cbc371fb9c7bbd5b1067e3bc70c80 WHIRLPOOL 74db8741a270d9c00f8368bc191c400b60e5a3ec06cc4386e104cc8e50c896be853ab7135a6d8f251fdf7dbf12f5593235f41970254dae738fd476b26d01c6af
+DIST cryptography_vectors-0.8.2.tar.gz 21396554 SHA256 6e7c2c2761a210ae8af34c6797c291ef2b01cff787b08e433570ca4915973c06 SHA512 36760a13aeef4baa65c0eb94fb36a64360f065c7781bfcae049e671affeb931e842a58066b736e02a67bcc1cf9717c95d14e4c953cfd64c98a78b01495bb322e WHIRLPOOL b19c3de0b3bf739f2c407552f3ccc97d4cf248c13663d6c36eed1075e6cf51186d0d1a36ac752d5949f3d736e0a2f8a5e48f746ae85b8c6112c7b4d6df6f7d6b
+DIST cryptography_vectors-0.8.tar.gz 21394291 SHA256 330b6601dffa7ad75eaf48aa5c693471970895a8cee86d94d2431513ace20dfe SHA512 2e33b7818a63cd44fdd0d8cfa3e2d69e8371194acfb6cf48a4b41bce055ce4da4b25eb223dff975d6fcd04c834224705c417c3ddf339cdad40662fe30cde8ce8 WHIRLPOOL d610239aa8c134c2e755a5fdb9906b050fb9e8ce0c21a2c9497a27382e60e24169a53b7383c83d32f32c0798d7fc317e630c9167ee5861ec27afb63eb26f397c
+DIST cryptography_vectors-0.9.1.tar.gz 24986147 SHA256 46cf6c05103b5f83056b5eb5d0e38bb60e8e3767a2149ea1afa6b9dc79bf5a9b SHA512 8dd7bd0ab7d22511343de3c3d275ca31073b87bd7b0ca73628bfa4e2a1487c032d3b4e9ad00e603e48971a0bf4b4b58b0b5fbf0212ff6b2980cab4d2a936d73e WHIRLPOOL 7da6ca7e78094ec4745ae47a88760f7b9b34f2d07339e9e1cb9eab45a006ee6607bb34308fecf9dc0efc4c68dd26bf0d4c10ff5b1d4da48f8abbce741256482b
+DIST cryptography_vectors-0.9.2.tar.gz 24986082 SHA256 b443ca0c75383e7c6acba89acbb7de3f591e3a63f7cc7601e589f323bdc52b4c SHA512 152b8d44d4b9c979a060435016d16d8052e15ad6e3b20086fd1a3a38818843817ddfef72ba6d3c02e034747a4bd9c2a7eb171426d69f27bcc57988a6576d73b7 WHIRLPOOL 1dc6018215bbc5d518c232636757ef5962f06435b5bc1d2fad259158a422fe53a089aa149ba9188c274772a3d3a8438ba3a847dd2147752c91d3310705d2091c
+DIST cryptography_vectors-0.9.3.tar.gz 24986101 SHA256 aa3949852323aebb5d33e6a461caa25190f05a042ceb63b20c2810f83f855e43 SHA512 53bc8e1284c7fa9e1723866149edb3b7f2ef6ddc7f04e79ee6f11cfa00b4e32e81c8202ac4a99ffbc251687ca1d9305c2ebb3dc5ce295241646a5fb3e7ee877b WHIRLPOOL 0e1edcc8e796d2a490781dbf3608cc609f6a66f08f7add962b5f5659df2654666efabd7d81cb135e951e8834c243c8572de4483a1018c9c7239083edda95ea9d
+DIST cryptography_vectors-0.9.tar.gz 24983458 SHA256 d4accc8f5fb763cb65021c0e792a2884b8956ccfb467bc6b59124159e9746bca SHA512 6c3eff20139a9c714305dc09919633deff346ac6186df196a6ab130219b3a6467be33ffd64c9582d960505113e062975e0d9f2e5ffbe051ad47c6513a1580227 WHIRLPOOL b001f8c420139ab14e761dcc9c94322e82f8f6c6b7009cf1bdb025e6d5212aa7d4cb3a35e503d685c7216ee75edbcf370981e169ccff707daacb42d273f21266
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.5.4.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.5.4.ebuild
new file mode 100644
index 000000000000..2bd15fb97a7c
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.5.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.6.1.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.6.1.ebuild
new file mode 100644
index 000000000000..596df6a48f8f
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.6.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.7.1.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.7.1.ebuild
new file mode 100644
index 000000000000..00bdae97b345
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.7.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.7.2.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.7.2.ebuild
new file mode 100644
index 000000000000..00bdae97b345
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.7.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.7.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.7.ebuild
new file mode 100644
index 000000000000..00bdae97b345
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.8.1.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.8.1.ebuild
new file mode 100644
index 000000000000..00bdae97b345
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.8.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.8.2.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.8.2.ebuild
new file mode 100644
index 000000000000..ecbe8ef1b6e9
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.8.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.8.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.8.ebuild
new file mode 100644
index 000000000000..00bdae97b345
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.9.1.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.9.1.ebuild
new file mode 100644
index 000000000000..ecbe8ef1b6e9
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.9.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.9.2.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.9.2.ebuild
new file mode 100644
index 000000000000..ecbe8ef1b6e9
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.9.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.9.3.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.9.3.ebuild
new file mode 100644
index 000000000000..ecbe8ef1b6e9
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.9.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/cryptography-vectors-0.9.ebuild b/dev-python/cryptography-vectors/cryptography-vectors-0.9.ebuild
new file mode 100644
index 000000000000..ecbe8ef1b6e9
--- /dev/null
+++ b/dev-python/cryptography-vectors/cryptography-vectors-0.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Test vectors for the cryptography package"
+HOMEPAGE="https://pypi.python.org/pypi/cryptography-vectors/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/cryptography-vectors/metadata.xml b/dev-python/cryptography-vectors/metadata.xml
new file mode 100644
index 000000000000..f7fa3df91c02
--- /dev/null
+++ b/dev-python/cryptography-vectors/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cryptography-vectors</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
new file mode 100644
index 000000000000..791702e67d01
--- /dev/null
+++ b/dev-python/cryptography/Manifest
@@ -0,0 +1,9 @@
+DIST cryptography-0.5.4.tar.gz 320104 SHA256 5675999f3744cbc32a60cb0bba64de21405abced32ce19655212612262dd270d SHA512 bdfaed6271e21d8b5cef4e8d0cdb7fd4bfb5b607c0f14c7b33888301f9922035f337120c3252d2df16f1844129d4b18dd97abe566bccc18c829faa752af2b4a7 WHIRLPOOL 5522d40bef251b5005e17fa2f43c4f015a7422c2aa9a09cfed8f84365506a1c8d9a97d956d97a3130a46aa7a0d0e90258f9c365ffb196ad0df2be4f6548e3b10
+DIST cryptography-0.6.1.tar.gz 236721 SHA256 024910130a01eda0ce969764d893d2e397168ebb94181ca1ea3e23e19912329e SHA512 b99338bbbeb70f37e0bfcc6ef33ddff5beb74f7876a30d34deb3a433ddd77f821e5cc5dde228f792362ae7a261d4ceb3b702fb1a8c30ce15a1e6e4de98ef1afa WHIRLPOOL a641342fe13f584ee657aa917172810117416cd426746af30499e43174041c8031598c223398dace1ad1385e3905a27c9f6e5ac5def88a8b87e2ed3bfd95b9ce
+DIST cryptography-0.7.1.tar.gz 247309 SHA256 9ee59090b242ad0d6abcedebb9ab54358d5efd1a45706195f6e5928f7725bb76 SHA512 ae552fcb8005c98ded32b47edf61d4bf2b495c63b9ac744545d3d1ada7f6f64b1b23a5d9f396bf2a998fcc58370307c893f324806e0c825b9c63fe78698bdc4b WHIRLPOOL dfdb3ff90291c7f3dca3835532608b742c9768311b204bb4a41c62ed6d4ed48b812898a482d86ced10887daebe2b57b1451df51f297f9a19a7ce80a05446f938
+DIST cryptography-0.7.2.tar.gz 247477 SHA256 fab7fcdde360ec6614442d0321dcd0eff5e43544cb30d975e9d75a914a4cdf78 SHA512 5afc8e01ffcdbd829716e65663cca91ad7ec42f5b65f64f6f1d3189c5cb7a209dcd67698225e1bb54eb6428fa5abdd25405a7ae1d234d5194697d3b879483226 WHIRLPOOL a5ed7d6f9e9f51d9a41e1014968ccada84b13b5e6f80ad14278edb1eacbf7abf4ed5009b942845840ba84b50b4dd4bcd2c41032444e3452fd42c669babdcdbed
+DIST cryptography-0.8.1.tar.gz 268240 SHA256 f4e041bc83c1be94d87116a7aa201c378b7c6581be4d83994b2da0a84499f73b SHA512 84b32ca493f31efe00a4c18104dfcba4d1f6de0698f1606057b1473ae2217448a319d62c1b872955639129bdf5f69d2e7fcdf5b7ef9b0ecc0cd98c92f224f557 WHIRLPOOL c0fb0a1948fdc2f03127184d1dd16b5b97338953c6ab8c08c568df45cfec15d307797bb71a612667f4c856b6630fad6bd02d24df4d602c73e39b2b10f554f165
+DIST cryptography-0.8.2.tar.gz 268288 SHA256 1c9a022ab3decaf152093e2ef2d5ee4258c72c7d429446c86bd68ff8c0929db6 SHA512 8a76e325387284facdaa381c27fd8ca3c2e7e4c6dfe41bf6eccdfdc4004f8a5bd8a95f0ff6537dd012f5c7fcec5f86d96fe86a64ec15d63e4bf673d8461a8225 WHIRLPOOL bbee1a538daf9fffcdd87f132e678505f2c92def5e00a3c139c68cfc1a91308546705954d9d546696a9f50cb750ddc9e60fe42bbcdc48516c7e06662b7f715a7
+DIST cryptography-0.8.tar.gz 268083 SHA256 e54601e4dec2b8acb90f5ed3b93d23d280964adbefe1723ac82acc453a694480 SHA512 e17d2d31f1d6da782eb3531ca9dded14e137ddc61893ef17a8238997274a85e77e8a957e1eec3ed3960675694f97750ca1f6821a2e8d974795bca3b2be49e196 WHIRLPOOL ecef7a807934006ce2266ba0636a9a8b5bd30a49931ba9c83dabbd1bd6b47523dd3d32205d1ac4f94f2a8bfe4c1b23ac36fcddf4092d9e756beda74379dfc7dd
+DIST cryptography-0.9.2.tar.gz 302972 SHA256 bc9ddd1442ce67a5bbd5598eced127de000da55f0ce25498b1174746c0290b3c SHA512 3d13f0284d484911b1f7067966f3727de9019d24af379b1adb1e0377888680b9385792e481888d2b357bce20f250a948c22b34743b4aeb955d736e8ae9ca88da WHIRLPOOL 0832bfdaff40e89750d92ffd5298be5c39fc1b4606ee7f769a68fb469e9e2175837f1b3f660f774a793538e050f2081fd69201f882a5bd77713e1bacd3115370
+DIST cryptography-0.9.3.tar.gz 303075 SHA256 aed022f738dd9adb840d92960b0464ea1fbb222ba118938858eb93fe25151c2d SHA512 828dd6d3af940c91f77b9bcefb34ca9cc3ac05606d707889ff35bf708c3536414db46f8db7d7dcbffe2ad1f82834bc9edab1b28b05fee3f2a5f9f5a56abd697c WHIRLPOOL 33eb42741cf2426ffe16d50d0f555fee65637d812f9510016ceb708f9c591f38de2d65e4b4118f744ff9b73596727160501ec5d077bfe0935d088586909b979d
diff --git a/dev-python/cryptography/cryptography-0.5.4.ebuild b/dev-python/cryptography/cryptography-0.5.4.ebuild
new file mode 100644
index 000000000000..6db7161de386
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.5.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE="test"
+
+RDEPEND="dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ =dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.6.1.ebuild b/dev-python/cryptography/cryptography-0.6.1.ebuild
new file mode 100644
index 000000000000..d9397589514b
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.6.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ~ppc ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+# Restricted until cffi fixes its compile on import issues
+RESTRICT="test"
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.7.1-r1.ebuild b/dev-python/cryptography/cryptography-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..400af40eb90b
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.7.1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+PATCHES=( "${FILESDIR}"/0.7-setup.patch )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.7.2.ebuild b/dev-python/cryptography/cryptography-0.7.2.ebuild
new file mode 100644
index 000000000000..937062f6ecdc
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.7.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.8.1.ebuild b/dev-python/cryptography/cryptography-0.8.1.ebuild
new file mode 100644
index 000000000000..542f08c98912
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.8.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.8.2.ebuild b/dev-python/cryptography/cryptography-0.8.2.ebuild
new file mode 100644
index 000000000000..10f2391fd4b8
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.8.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.8.ebuild b/dev-python/cryptography/cryptography-0.8.ebuild
new file mode 100644
index 000000000000..937062f6ecdc
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.8.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-libs/openssl:0
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.9.2.ebuild b/dev-python/cryptography/cryptography-0.9.2.ebuild
new file mode 100644
index 000000000000..6083bbc57fe0
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.9.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/openssl:0
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)
+ dev-python/idna[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/ipaddress[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/cryptography-0.9.3.ebuild b/dev-python/cryptography/cryptography-0.9.3.ebuild
new file mode 100644
index 000000000000..6083bbc57fe0
--- /dev/null
+++ b/dev-python/cryptography/cryptography-0.9.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.python.org/pypi/cryptography/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/openssl:0
+ $(python_gen_cond_dep '>=dev-python/cffi-0.8:=[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3 pypy)
+ dev-python/idna[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/ipaddress[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cryptography/files/0.7-setup.patch b/dev-python/cryptography/files/0.7-setup.patch
new file mode 100644
index 000000000000..db5cc0239c70
--- /dev/null
+++ b/dev-python/cryptography/files/0.7-setup.patch
@@ -0,0 +1,22 @@
+https://github.com/pyca/cryptography/commit/5bea5ca0233be05e09d8c62fdeae86187e73a48e
+diff --git a/setup.py b/setup.py
+index ead5ec4..32a87ba 100644
+--- a/setup.py
++++ b/setup.py
+@@ -36,12 +36,14 @@
+
+ requirements = [
+ CFFI_DEPENDENCY,
+- "enum34",
+ "pyasn1",
+ SIX_DEPENDENCY,
+ SETUPTOOLS_DEPENDENCY
+ ]
+
++if sys.version_info < (3, 4):
++ requirements.append("enum34")
++
+ # If you add a new dep here you probably need to add it in the tox.ini as well
+ test_requirements = [
+ "pytest",
+
diff --git a/dev-python/cryptography/metadata.xml b/dev-python/cryptography/metadata.xml
new file mode 100644
index 000000000000..f215972e68f9
--- /dev/null
+++ b/dev-python/cryptography/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cryptography</remote-id>
+ <remote-id type="github">pyca/cryptography</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cssselect/Manifest b/dev-python/cssselect/Manifest
new file mode 100644
index 000000000000..b12618b6b3a1
--- /dev/null
+++ b/dev-python/cssselect/Manifest
@@ -0,0 +1 @@
+DIST cssselect-0.9.1.tar.gz 32952 SHA256 0535a7e27014874b27ae3a4d33e8749e345bdfa62766195208b7996bf1100682 SHA512 c4cd2c8d6fbfa99b836554685dd59e1e794e1fab06fcf4419a226b0608a05d58be5af54e507003f2a233a22f03d59d3d63c0bf19b3314f15c95ab3ce5f4db6cc WHIRLPOOL 0fabe49d4f504069eb782ba98c93a34fa9433fd4d10a545f46f5aa1a5fb3a898580f4e17d744052590e18fe7a0f06feca0527d86ac243282e826caddfb410324
diff --git a/dev-python/cssselect/cssselect-0.9.1.ebuild b/dev-python/cssselect/cssselect-0.9.1.ebuild
new file mode 100644
index 000000000000..e2aaeb386f31
--- /dev/null
+++ b/dev-python/cssselect/cssselect-0.9.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="parses CSS3 Selectors and translates them to XPath 1.0"
+HOMEPAGE="http://packages.python.org/cssselect/ http://pypi.python.org/pypi/cssselect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/lxml[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_prepare_all() {
+ # prevent non essential d'load of files in doc build
+ sed -e 's:intersphinx_:#&:' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc ; then
+ "${PYTHON}" setup.py build_sphinx || die
+ fi
+}
+
+python_test() {
+ "${PYTHON}" ${PN}/tests.py -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cssselect/metadata.xml b/dev-python/cssselect/metadata.xml
new file mode 100644
index 000000000000..cd343cc5838f
--- /dev/null
+++ b/dev-python/cssselect/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cssselect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cssutils/Manifest b/dev-python/cssutils/Manifest
new file mode 100644
index 000000000000..dccbcc846cb5
--- /dev/null
+++ b/dev-python/cssutils/Manifest
@@ -0,0 +1,2 @@
+DIST cssutils-0.9.10.tar.gz 622919 SHA256 08e2481f53d57e27fffb781bf8c313132c1079b8b1c18ff4f633f2df47011ca6 SHA512 c8fabc808a6d31f0d4a1b48b566277a15bb91974eb797d11d857b05e9e548e03d510d90265e43b9fa9b173eccb5f571c9306bda57c2515878e646b2be32b736e WHIRLPOOL 8d8455b5c6a0fb49d87c7097169c2670e7a2e09ade9fcaa70344a6aab70d7420e3e982488eb88ef118457936d9f917080ea576b879905ebff7dc8bf47815c9b2
+DIST cssutils-1.0.tar.gz 622909 SHA256 050f4e78a9c24a619cbb15c395105e73f3b3bec0204991a6d5e2f8bcca031753 SHA512 673e1de1028acbc8e3fe298b88207da73ee704b7eb89eb22d4606d5086c46a943e3bb48d2ba9b5a1685a253553bbd13d89f41546dca3deaf2d54d8d6f61f9b65 WHIRLPOOL 726a5f557e70bdc612ca70b8203ecf1670c4385eaf5c77aa3b21c3a13e80928e38fc7766efa2ae682a52b0a890675f5746190e0740389dee5427740bab817bff
diff --git a/dev-python/cssutils/cssutils-0.9.10-r1.ebuild b/dev-python/cssutils/cssutils-0.9.10-r1.ebuild
new file mode 100644
index 000000000000..1e6dba203338
--- /dev/null
+++ b/dev-python/cssutils/cssutils-0.9.10-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="A CSS Cascading Style Sheets library"
+HOMEPAGE="http://pypi.python.org/pypi/cssutils/ https://bitbucket.org/cthedot/cssutils"
+# Missing test data
+# https://bitbucket.org/cthedot/cssutils/pull-request/11
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+HG_COMMIT="6fbc1877f6089610b733a92d21c2bbf25dc1ca28"
+SRC_URI="https://bitbucket.org/cthedot/cssutils/get/${HG_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="examples test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Disable test failing with dev-python/pyxml installed.
+ if has_version dev-python/pyxml; then
+ sed -e "s/test_linecol/_&/" -i src/tests/test_errorhandler.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ln -s "${S}/sheets" "${BUILD_DIR}/sheets" || die
+ set -- nosetests -P "${BUILD_DIR}/lib/cssutils/tests"
+ echo "$@"
+ "$@" || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cssutils/cssutils-1.0.ebuild b/dev-python/cssutils/cssutils-1.0.ebuild
new file mode 100644
index 000000000000..6b5a065fe0ae
--- /dev/null
+++ b/dev-python/cssutils/cssutils-1.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="A CSS Cascading Style Sheets library"
+HOMEPAGE="http://pypi.python.org/pypi/cssutils/ https://bitbucket.org/cthedot/cssutils"
+# Missing test data
+# https://bitbucket.org/cthedot/cssutils/pull-request/11
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+HG_COMMIT="6fbc1877f6089610b733a92d21c2bbf25dc1ca28"
+SRC_URI="https://bitbucket.org/cthedot/cssutils/get/${HG_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="examples test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Disable test failing with dev-python/pyxml installed.
+ if has_version dev-python/pyxml; then
+ sed -e "s/test_linecol/_&/" -i src/tests/test_errorhandler.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ln -s "${S}/sheets" "${BUILD_DIR}/sheets" || die
+ # exclude tests that connect to the network
+ set -- nosetests \
+ -e test_parseUrl -e test_handlers -P "${BUILD_DIR}/lib/cssutils/tests"
+ echo "$@"
+ "$@" || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cssutils/metadata.xml b/dev-python/cssutils/metadata.xml
new file mode 100644
index 000000000000..596676e6bf4e
--- /dev/null
+++ b/dev-python/cssutils/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>lordvan@gentoo.org</email>
+ <name>Thomas Raschbacher</name>
+ </maintainer>
+ <longdescription lang="en">
+A Python package to parse and build CSS Cascading Style Sheets.
+</longdescription>
+ <upstream>
+ <remote-id type="google-code">cssutils</remote-id>
+ <remote-id type="pypi">cssutils</remote-id>
+ <remote-id type="bitbucket">cthedot/cssutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ctypesgen/Manifest b/dev-python/ctypesgen/Manifest
new file mode 100644
index 000000000000..92a94955bcc8
--- /dev/null
+++ b/dev-python/ctypesgen/Manifest
@@ -0,0 +1 @@
+DIST ctypesgen-0_p72.tar.bz2 85694 SHA256 1a43b7db43034fc88908c156ce701cb0a4c4f21b023f9e3fa46d488307c92b24 SHA512 eab85c71a2f98fd03ae582899de680bd861e7e6e20841ac087520f8b844dc686ea519b0510382cedec09ff3fa1d87fcc1c79878a2eb9219d7cc092423813e2e5 WHIRLPOOL b15e11d8d24280f4bdaf22fd3e6c8e13b36830e846774832ca584c0c816a0c814021ee95750b79df4a9ea701d99f0b1eda69f5e945a02184f788872aff409c95
diff --git a/dev-python/ctypesgen/ctypesgen-0_p72-r1.ebuild b/dev-python/ctypesgen/ctypesgen-0_p72-r1.ebuild
new file mode 100644
index 000000000000..242e09b05f69
--- /dev/null
+++ b/dev-python/ctypesgen/ctypesgen-0_p72-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper generator for ctypes"
+HOMEPAGE="http://code.google.com/p/ctypesgen/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ # r73 upstream
+ sed -i -e 's:libc:libm.so.6:' test/math_functions.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp -r -l test "${BUILD_DIR}"/ || die
+
+ cd "${BUILD_DIR}"/test || die
+ local f
+ for f in {math_functions,simple_macros,structures}.py; do
+ "${PYTHON}" "${f}" || die "Test ${f} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/ctypesgen/ctypesgen-0_p72.ebuild b/dev-python/ctypesgen/ctypesgen-0_p72.ebuild
new file mode 100644
index 000000000000..9fa93ee45287
--- /dev/null
+++ b/dev-python/ctypesgen/ctypesgen-0_p72.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.5"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils
+
+DESCRIPTION="Python wrapper generator for ctypes"
+HOMEPAGE="http://code.google.com/p/ctypesgen/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+# 2.4 restricted due to usage of ctypes module.
+RESTRICT_PYTHON_ABIS="2.4 3.*"
+
+PYTHON_MODNAME="ctypesgencore"
diff --git a/dev-python/ctypesgen/metadata.xml b/dev-python/ctypesgen/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/ctypesgen/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/curtsies/Manifest b/dev-python/curtsies/Manifest
new file mode 100644
index 000000000000..84852f4ca8d8
--- /dev/null
+++ b/dev-python/curtsies/Manifest
@@ -0,0 +1,2 @@
+DIST curtsies-0.1.18.tar.gz 44353 SHA256 477121f256eea2b71237492e2924f05b54e1f91815d042bf91d7112b71d4edd4 SHA512 02ae86b215dca10e779061485cb18ab8b6fefbdad10e2bcad3c24890b79f81d1aae0b84467a23ca1951ffaa336fc2fe9b5137c1a10a65fafe0a0b540cc0c819c WHIRLPOOL 801738c450c2fd9343e01260240ebd5ed74e951c03a918808c8c2c47e8ec46afe425f4d8978dea894d2cdf36bc2e3bd19e9de2ed12a62e5786eebeed87dd9800
+DIST curtsies-0.2.3.tar.gz 42805 SHA256 5da88a67472ada96de3be2a9da4210080c7e4b2c1afc4c97075b3f51755e0dc4 SHA512 8d48fb147fc247b2241472543a5019a55ef1b8f029b0bb93c7de72cd9eeb1bfe9940520bb5a0509406915523b98e1dbd9f07499e9eb9649d6d70df51ba71606d WHIRLPOOL 6b3e37f630488f01b6451349fcbf5e81cde7cdf8e1590bc4c65bb9bdffb4b83f8d868c37624e3f1f932cc51d9af251914f8fa55bc88eeaacc6c2dd3eb91239ea
diff --git a/dev-python/curtsies/curtsies-0.1.18.ebuild b/dev-python/curtsies/curtsies-0.1.18.ebuild
new file mode 100644
index 000000000000..4c2cb332bdbc
--- /dev/null
+++ b/dev-python/curtsies/curtsies-0.1.18.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Curses-like terminal wrapper, with colored strings"
+HOMEPAGE="https://github.com/thomasballinger/curtsies"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/blessings-1.5[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.1.4[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyte[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests tests || die
+}
diff --git a/dev-python/curtsies/curtsies-0.2.3.ebuild b/dev-python/curtsies/curtsies-0.2.3.ebuild
new file mode 100644
index 000000000000..4c2cb332bdbc
--- /dev/null
+++ b/dev-python/curtsies/curtsies-0.2.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Curses-like terminal wrapper, with colored strings"
+HOMEPAGE="https://github.com/thomasballinger/curtsies"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/blessings-1.5[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.1.4[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyte[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests tests || die
+}
diff --git a/dev-python/curtsies/metadata.xml b/dev-python/curtsies/metadata.xml
new file mode 100644
index 000000000000..6f57fe5515a9
--- /dev/null
+++ b/dev-python/curtsies/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">curtsies</remote-id>
+ <remote-id type="github">thomasballinger/curtsies</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cvxopt/Manifest b/dev-python/cvxopt/Manifest
new file mode 100644
index 000000000000..4f7f06c52ac5
--- /dev/null
+++ b/dev-python/cvxopt/Manifest
@@ -0,0 +1 @@
+DIST cvxopt-1.1.6.tar.gz 3352996 SHA256 7b4ccf3ed896dde6624623431c0b1f5e32d874384329ed716f51babcbf416227 SHA512 b9f5fd7870412423b60068d205efb99d3630012509cb659fb67a10d6175906768846d7c906cf2fcac4be29afd558619b71e2dca730041329195a2365dd1d722c WHIRLPOOL d43cf090ee0396a77851fb71e6e34c980152bccdd5fdb3ecc53d0a464a505ac87a1e7198d313ec669443970bcf8a2d616f03c2f861b7df2f620bd583a97ea140
diff --git a/dev-python/cvxopt/cvxopt-1.1.6-r2.ebuild b/dev-python/cvxopt/cvxopt-1.1.6-r2.ebuild
new file mode 100644
index 000000000000..256fcd3eb840
--- /dev/null
+++ b/dev-python/cvxopt/cvxopt-1.1.6-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 toolchain-funcs eutils
+
+DESCRIPTION="Python package for convex optimization"
+HOMEPAGE="http://cvxopt.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc +dsdp examples fftw +glpk gsl"
+
+RDEPEND="
+ virtual/blas
+ virtual/cblas
+ virtual/lapack
+ sci-libs/cholmod:0=
+ sci-libs/umfpack:0=
+ dsdp? ( sci-libs/dsdp:0= )
+ fftw? ( sci-libs/fftw:3.0= )
+ glpk? ( sci-mathematics/glpk:0= )
+ gsl? ( sci-libs/gsl:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )"
+
+python_prepare_all(){
+ epatch "${FILESDIR}"/${PN}-1.1.6-setup.patch
+
+ has_version ">=sci-mathematics/glpk-4.49" && \
+ epatch "${FILESDIR}"/${PN}-1.1.6-glpk449.patch
+
+ rm -r src/C/SuiteSparse*/ || die
+
+ pkg_lib() {
+ local pkg=$(echo $1 | tr '[:lower:]' '[:upper:]')
+ local libs="$($(tc-getPKG_CONFIG) --libs-only-l $1 | \
+ sed -e 's:[ ]-l*\(pthread\|m\)\([ ]\|$\)::g' -e 's:[ ]*$::' | \
+ tr ' ' '\n' | sort -u | sed -e "s:^-l\(.*\):'\1':g" | \
+ tr '\n' ',' | sed -e 's:,$::')"
+ local libdir="$($(tc-getPKG_CONFIG) --libs-only-L $1 | \
+ sed -e 's:[ ]*$::' | \
+ tr ' ' '\n' | sort -u | sed -e "s:^-L\(.*\):'\1':g" | \
+ tr '\n' ',' | sed -e 's:,$::')"
+ local incdir="$($(tc-getPKG_CONFIG) --cflags-only-I $1 | \
+ sed -e 's:[ ]*$::' | \
+ tr ' ' '\n' | sort -u | sed -e "s:^-L\(.*\):'\1':g" | \
+ tr '\n' ',' | sed -e 's:,$::')"
+ sed -i \
+ -e "/${pkg}_LIB[ ]*=/s:\(.*[ ]*=[ ]*\[\).*${1}.*:\1${libs}\]:" \
+ -e "s:\(${pkg}_INC_DIR[ ]*=\).*$:\1 ${incdir}:" \
+ -e "s:\[ BLAS_LIB_DIR \]:\[ ${libdir} \]:g" \
+ setup.py || die
+ }
+
+ use_cvx() {
+ if use $1 ; then
+ sed -i \
+ -e "s/\(BUILD_${1^^} =\) 0/\1 1/" \
+ setup.py || die
+ fi
+ }
+
+ pkg_lib blas
+ pkg_lib lapack
+
+ use_cvx gsl
+ use_cvx fftw
+ use_cvx glpk
+ use_cvx dsdp
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && export VARTEXFONTS="${T}/fonts" && emake -C doc -B html
+}
+
+python_test() {
+ cd examples/doc/chap8
+ "${EPYTHON}" lp.py || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/build/html/. )
+ insinto /usr/share/doc/${PF}
+ use examples && doins -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cvxopt/files/cvxopt-1.1.6-glpk.patch b/dev-python/cvxopt/files/cvxopt-1.1.6-glpk.patch
new file mode 100644
index 000000000000..2887ccd02206
--- /dev/null
+++ b/dev-python/cvxopt/files/cvxopt-1.1.6-glpk.patch
@@ -0,0 +1,889 @@
+--- src/C/glpk.c.orig 2013-07-31 12:05:27.089955661 -0600
++++ src/C/glpk.c 2013-07-31 12:13:40.702115730 -0600
+@@ -22,6 +22,8 @@
+ #include "cvxopt.h"
+ #include "misc.h"
+ #include "glpk.h"
++#include <float.h>
++#include <limits.h>
+
+ PyDoc_STRVAR(glpk__doc__,
+ "Interface to the simplex and mixed integer LP algorithms in GLPK.\n\n"
+@@ -36,62 +38,15 @@ PyDoc_STRVAR(glpk__doc__,
+
+ static PyObject *glpk_module;
+
+-typedef struct {
+- char name[20];
+- int idx;
+- char type;
+-} param_tuple;
+-
+-static const param_tuple GLPK_PARAM_LIST[] = {
+- {"LPX_K_MSGLEV", LPX_K_MSGLEV, 'i'},
+- {"LPX_K_SCALE", LPX_K_SCALE, 'i'},
+- {"LPX_K_DUAL", LPX_K_DUAL, 'i'},
+- {"LPX_K_PRICE", LPX_K_PRICE, 'i'},
+- {"LPX_K_RELAX", LPX_K_RELAX, 'f'},
+- {"LPX_K_TOLBND", LPX_K_TOLBND, 'f'},
+- {"LPX_K_TOLDJ", LPX_K_TOLDJ, 'f'},
+- {"LPX_K_TOLPIV", LPX_K_TOLPIV, 'f'},
+- {"LPX_K_ROUND", LPX_K_ROUND, 'i'},
+- {"LPX_K_OBJLL", LPX_K_OBJLL, 'f'},
+- {"LPX_K_OBJUL", LPX_K_OBJUL, 'f'},
+- {"LPX_K_ITLIM", LPX_K_ITLIM, 'i'},
+- {"LPX_K_ITCNT", LPX_K_ITCNT, 'i'},
+- {"LPX_K_TMLIM", LPX_K_TMLIM, 'f'},
+- {"LPX_K_OUTFRQ", LPX_K_OUTFRQ, 'i'},
+- {"LPX_K_OUTDLY", LPX_K_OUTDLY, 'f'},
+- {"LPX_K_BRANCH", LPX_K_BRANCH, 'i'},
+- {"LPX_K_BTRACK", LPX_K_BTRACK, 'i'},
+- {"LPX_K_TOLINT", LPX_K_TOLINT, 'f'},
+- {"LPX_K_TOLOBJ", LPX_K_TOLOBJ, 'f'},
+- {"LPX_K_MPSINFO", LPX_K_MPSINFO, 'i'},
+- {"LPX_K_MPSOBJ", LPX_K_MPSOBJ, 'i'},
+- {"LPX_K_MPSORIG", LPX_K_MPSORIG, 'i'},
+- {"LPX_K_MPSWIDE", LPX_K_MPSWIDE, 'i'},
+- {"LPX_K_MPSFREE", LPX_K_MPSFREE, 'i'},
+- {"LPX_K_MPSSKIP", LPX_K_MPSSKIP, 'i'},
+- {"LPX_K_LPTORIG", LPX_K_LPTORIG, 'i'},
+- {"LPX_K_PRESOL", LPX_K_PRESOL, 'i'},
+-}; /* 28 paramaters */
+-
+-
+ #if PY_MAJOR_VERSION >= 3
+-static int get_param_idx(const char *str, int *idx, char *type)
++#define PYINT_CHECK(value) PyLong_Check(value)
++#define PYINT_AS_LONG(value) PyLong_AS_LONG(value)
++#define PYSTRING_FROMSTRING(str) PyUnicode_FromString(str)
+ #else
+-static int get_param_idx(char *str, int *idx, char *type)
++#define PYINT_CHECK(value) PyInt_Check(value)
++#define PYINT_AS_LONG(value) PyInt_AS_LONG(value)
++#define PYSTRING_FROMSTRING(str) PyString_FromString(str)
+ #endif
+-{
+- int i;
+-
+- for (i=0; i<28; i++) {
+- if (!strcmp(GLPK_PARAM_LIST[i].name, str)) {
+- *idx = GLPK_PARAM_LIST[i].idx;
+- *type = GLPK_PARAM_LIST[i].type;
+- return 1;
+- }
+- }
+- return 0;
+-}
+-
+
+ static char doc_simplex[] =
+ "Solves a linear program using GLPK.\n\n"
+@@ -127,11 +82,12 @@ static PyObject *simplex(PyObject *self,
+ {
+ matrix *c, *h, *b=NULL, *x=NULL, *z=NULL, *y=NULL;
+ PyObject *G, *A=NULL, *t=NULL, *param, *key, *value;
+- LPX *lp;
+- int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL, param_id;
++ glp_prob *lp;
++ glp_smcp smcp;
++ int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL;
+ int_t pos=0;
+ double *a=NULL, val;
+- char param_type, err_str[100];
++ char err_str[100];
+ #if PY_MAJOR_VERSION >= 3
+ const char *keystr;
+ #else
+@@ -183,18 +139,18 @@ static PyObject *simplex(PyObject *self,
+ return NULL;
+ }
+
+- lp = lpx_create_prob();
+- lpx_add_rows(lp, m+p);
+- lpx_add_cols(lp, n);
++ lp = glp_create_prob();
++ glp_add_rows(lp, m+p);
++ glp_add_cols(lp, n);
+
+ for (i=0; i<n; i++){
+- lpx_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
+- lpx_set_col_bnds(lp, i+1, LPX_FR, 0.0, 0.0);
++ glp_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
++ glp_set_col_bnds(lp, i+1, GLP_FR, 0.0, 0.0);
+ }
+ for (i=0; i<m; i++)
+- lpx_set_row_bnds(lp, i+1, LPX_UP, 0.0, MAT_BUFD(h)[i]);
++ glp_set_row_bnds(lp, i+1, GLP_UP, 0.0, MAT_BUFD(h)[i]);
+ for (i=0; i<p; i++)
+- lpx_set_row_bnds(lp, i+m+1, LPX_FX, MAT_BUFD(b)[i],
++ glp_set_row_bnds(lp, i+m+1, GLP_FX, MAT_BUFD(b)[i],
+ MAT_BUFD(b)[i]);
+
+ nnzmax = (SpMatrix_Check(G) ? SP_NNZ(G) : m*n ) +
+@@ -203,7 +159,7 @@ static PyObject *simplex(PyObject *self,
+ rn = (int *) calloc(nnzmax+1, sizeof(int));
+ cn = (int *) calloc(nnzmax+1, sizeof(int));
+ if (!a || !rn || !cn){
+- free(a); free(rn); free(cn); lpx_delete_prob(lp);
++ free(a); free(rn); free(cn); glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+@@ -242,84 +198,155 @@ static PyObject *simplex(PyObject *self,
+ nnz++;
+ }
+
+- lpx_load_matrix(lp, nnz, rn, cn, a);
++ glp_load_matrix(lp, nnz, rn, cn, a);
+ free(rn); free(cn); free(a);
+
+ if (!(t = PyTuple_New(A ? 4 : 3))){
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+ if (!(param = PyObject_GetAttrString(glpk_module, "options"))
+ || !PyDict_Check(param)){
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ PyErr_SetString(PyExc_AttributeError,
+ "missing glpk.options dictionary");
+ return NULL;
+ }
+
+- while (PyDict_Next(param, &pos, &key, &value))
++ glp_init_smcp(&smcp);
++ while (PyDict_Next(param, &pos, &key, &value)){
+ #if PY_MAJOR_VERSION >= 3
+- if ((PyUnicode_Check(key)) &&
+- get_param_idx(_PyUnicode_AsString(key), &param_id,
+- &param_type)){
++ if (PyUnicode_Check(key)){
+ keystr = _PyUnicode_AsString(key);
+ #else
+- if ((keystr = PyString_AsString(key)) && get_param_idx(keystr,
+- &param_id, &param_type)){
+-#endif
+- if (param_type == 'i'){
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value)){
+-#else
+- if (!PyInt_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for integer "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- if (!strcmp("LPX_K_PRESOL", keystr) &&
+-#if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value) != 1){
+-#else
+- PyInt_AS_LONG(value) != 1){
++ if ((keystr = PyString_AsString(key))){
+ #endif
++ if (!strcmp("LPX_K_MSGLEV", keystr)){
++ switch (PYINT_AS_LONG(value)){
++ case 0: smcp.msg_lev = GLP_MSG_OFF; break;
++ case 1: smcp.msg_lev = GLP_MSG_ERR; break;
++ case 2: smcp.msg_lev = GLP_MSG_ON; break;
++ case 3: smcp.msg_lev = GLP_MSG_ALL; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_SCALE", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: glp_unscale_prob(lp); break;
++ case 1: glp_scale_prob(lp, GLP_SF_EQ); break;
++ case 2: glp_scale_prob(lp, GLP_SF_GM); break;
++ case 3: glp_scale_prob(lp, GLP_SF_GM | GLP_SF_EQ); break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_DUAL", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: smcp.meth = GLP_PRIMAL; break;
++ case 1: smcp.meth = GLP_DUAL; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_PRICE", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: smcp.pricing = GLP_PT_STD; break;
++ case 1: smcp.pricing = GLP_PT_PSE; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_RELAX", keystr)){
++ double relax = PyFloat_AsDouble(value);
++ if (relax < 0.0 || relax > 1.0)
++ goto error;
++ smcp.r_test = (relax == 0.0) ? GLP_RT_STD : GLP_RT_HAR;
++ } else if (!strcmp("LPX_K_TOLBND", keystr)){
++ smcp.tol_bnd = PyFloat_AsDouble(value);
++ if (smcp.tol_bnd < DBL_EPSILON || smcp.tol_bnd > 0.001)
++ goto error;
++ } else if (!strcmp("LPX_K_TOLDJ", keystr)){
++ smcp.tol_dj = PyFloat_AsDouble(value);
++ if (smcp.tol_dj < DBL_EPSILON || smcp.tol_dj > 0.001)
++ goto error;
++ } else if (!strcmp("LPX_K_TOLPIV", keystr)){
++ smcp.tol_piv = PyFloat_AsDouble(value);
++ if (smcp.tol_piv < DBL_EPSILON || smcp.tol_piv > 0.001)
++ goto error;
++ } else if (!strcmp("LPX_K_ROUND", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_OBJLL", keystr)){
++ smcp.obj_ll = PyFloat_AsDouble(value);
++ } else if (!strcmp("LPX_K_OBJUL", keystr)){
++ smcp.obj_ul = PyFloat_AsDouble(value);
++ } else if (!strcmp("LPX_K_ITLIM", keystr)){
++ smcp.it_lim = PYINT_AS_LONG(value);
++ if (smcp.it_lim < 0)
++ smcp.it_lim = INT_MAX;
++ } else if (!strcmp("LPX_K_ITCNT", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TMLIM", keystr)){
++ smcp.tm_lim = (int)(PyFloat_AsDouble(value) * 1000.0);
++ if (smcp.tm_lim < 0)
++ smcp.tm_lim = INT_MAX;
++ } else if (!strcmp("LPX_K_OUTFRQ", keystr)){
++ smcp.out_frq = PYINT_AS_LONG(value);
++ if (smcp.out_frq <= 0)
++ goto error;
++ } else if (!strcmp("LPX_K_OUTDLY", keystr)){
++ smcp.out_dly = (int)(PyFloat_AsDouble(value) * 1000.0);
++ } else if (!strcmp("LPX_K_BRANCH", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_BTRACK", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TOLINT", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TOLOBJ", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSINFO", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSOBJ", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSORIG", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSWIDE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSFREE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSSKIP", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_LPTORIG", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_PRESOL", keystr)){
++ if (PYINT_AS_LONG(value) != 1)
+ PyErr_Warn(PyExc_UserWarning, "ignoring value of "
+ "GLPK parameter 'LPX_K_PRESOL'");
++ } else if (!strcmp("LPX_K_BINARIZE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_USECUTS", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_BFTYPE", keystr)){
++ glp_bfcp bfcp;
++
++ glp_get_bfcp(lp, &bfcp);
++ switch(PYINT_AS_LONG(value)){
++ case 1: bfcp.type = GLP_BF_FT; break;
++ case 2: bfcp.type = GLP_BF_BG; break;
++ case 3: bfcp.type = GLP_BF_GR; break;
++ default: goto error;
+ }
+- else lpx_set_int_parm(lp, param_id,
+-#if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value));
+-#else
+- PyInt_AS_LONG(value));
+-#endif
+- }
+- else {
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value) && !PyFloat_Check(value)){
+-#else
+- if (!PyInt_Check(value) && !PyFloat_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for floating point "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- lpx_set_real_parm(lp, param_id,
+- PyFloat_AsDouble(value));
++ glp_set_bfcp(lp, &bfcp);
++ } else if (!strcmp("LPX_K_MIPGAP", keystr)){
++ /* Ignored */
++ } else {
++ sprintf(err_str, "unknown GLPK parameter: %-.20s", keystr);
++ PyErr_SetString(PyExc_ValueError, err_str);
++ glp_delete_prob(lp);
++ Py_DECREF(param);
++ return NULL;
+ }
++ }
+ }
+- lpx_set_int_parm(lp, LPX_K_PRESOL, 1);
++ smcp.presolve = GLP_ON;
+ Py_DECREF(param);
+
+- switch (lpx_simplex(lp)){
++ switch (glp_simplex(lp, &smcp)){
+
+- case LPX_E_OK:
++ case 0:
+
+ x = (matrix *) Matrix_New(n,1,DOUBLE);
+ z = (matrix *) Matrix_New(m,1,DOUBLE);
+@@ -329,71 +356,61 @@ static PyObject *simplex(PyObject *self,
+ Py_XDECREF(z);
+ Py_XDECREF(y);
+ Py_XDECREF(t);
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("optimal"));
+-#else
+- PyString_FromString("optimal"));
+-#endif
++ PyTuple_SET_ITEM(t, 0, (PyObject *)PYSTRING_FROMSTRING("optimal"));
+
+ for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_get_col_prim(lp, i+1);
++ MAT_BUFD(x)[i] = glp_get_col_prim(lp, i+1);
+ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+ for (i=0; i<m; i++)
+- MAT_BUFD(z)[i] = -lpx_get_row_dual(lp, i+1);
++ MAT_BUFD(z)[i] = -glp_get_row_dual(lp, i+1);
+ PyTuple_SET_ITEM(t, 2, (PyObject *) z);
+
+ if (A){
+ for (i=0; i<p; i++)
+- MAT_BUFD(y)[i] = -lpx_get_row_dual(lp, m+i+1);
++ MAT_BUFD(y)[i] = -glp_get_row_dual(lp, m+i+1);
+ PyTuple_SET_ITEM(t, 3, (PyObject *) y);
+ }
+
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return (PyObject *) t;
+
+- case LPX_E_NOPFS:
++ case GLP_ENOPFS:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("primal infeasible"));
+-#else
+- PyString_FromString("primal infeasible"));
+-#endif
++ PYSTRING_FROMSTRING("primal infeasible"));
+ break;
+
+- case LPX_E_NODFS:
++ case GLP_ENODFS:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("dual infeasible"));
+-#else
+- PyString_FromString("dual infeasible"));
+-#endif
++ PYSTRING_FROMSTRING("dual infeasible"));
+ break;
+
+ default:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("unknown"));
+-#else
+- PyString_FromString("unknown"));
+-#endif
++ PYSTRING_FROMSTRING("unknown"));
+ }
+
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+
+ PyTuple_SET_ITEM(t, 1, Py_BuildValue(""));
+ PyTuple_SET_ITEM(t, 2, Py_BuildValue(""));
+ if (A) PyTuple_SET_ITEM(t, 3, Py_BuildValue(""));
+
+ return (PyObject *) t;
++
++error:
++ sprintf(err_str, "invalid value for GLPK parameter: %-.20s", keystr);
++ PyErr_SetString(PyExc_ValueError, err_str);
++ glp_delete_prob(lp);
++ Py_DECREF(param);
++ return NULL;
+ }
+
+
+@@ -428,11 +445,12 @@ static PyObject *integer(PyObject *self,
+ matrix *c, *h, *b=NULL, *x=NULL;
+ PyObject *G, *A=NULL, *IntSet=NULL, *BinSet = NULL;
+ PyObject *t=NULL, *param, *key, *value;
+- LPX *lp;
+- int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL, param_id;
++ glp_prob *lp;
++ glp_iocp iocp;
++ int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL;
+ int_t pos=0;
+ double *a=NULL, val;
+- char param_type, err_str[100];
++ char err_str[100];
+ #if PY_MAJOR_VERSION >= 3
+ const char *keystr;
+ #else
+@@ -490,18 +508,18 @@ static PyObject *integer(PyObject *self,
+ if ((BinSet) && (!PyAnySet_Check(BinSet)))
+ PY_ERR_TYPE("invalid binary index set");
+
+- lp = lpx_create_prob();
+- lpx_add_rows(lp, m+p);
+- lpx_add_cols(lp, n);
++ lp = glp_create_prob();
++ glp_add_rows(lp, m+p);
++ glp_add_cols(lp, n);
+
+ for (i=0; i<n; i++){
+- lpx_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
+- lpx_set_col_bnds(lp, i+1, LPX_FR, 0.0, 0.0);
++ glp_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
++ glp_set_col_bnds(lp, i+1, GLP_FR, 0.0, 0.0);
+ }
+ for (i=0; i<m; i++)
+- lpx_set_row_bnds(lp, i+1, LPX_UP, 0.0, MAT_BUFD(h)[i]);
++ glp_set_row_bnds(lp, i+1, GLP_UP, 0.0, MAT_BUFD(h)[i]);
+ for (i=0; i<p; i++)
+- lpx_set_row_bnds(lp, i+m+1, LPX_FX, MAT_BUFD(b)[i],
++ glp_set_row_bnds(lp, i+m+1, GLP_FX, MAT_BUFD(b)[i],
+ MAT_BUFD(b)[i]);
+
+ nnzmax = (SpMatrix_Check(G) ? SP_NNZ(G) : m*n ) +
+@@ -510,7 +528,7 @@ static PyObject *integer(PyObject *self,
+ rn = (int *) calloc(nnzmax+1, sizeof(int));
+ cn = (int *) calloc(nnzmax+1, sizeof(int));
+ if (!a || !rn || !cn){
+- free(a); free(rn); free(cn); lpx_delete_prob(lp);
++ free(a); free(rn); free(cn); glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+@@ -549,77 +567,152 @@ static PyObject *integer(PyObject *self,
+ nnz++;
+ }
+
+- lpx_load_matrix(lp, nnz, rn, cn, a);
++ glp_load_matrix(lp, nnz, rn, cn, a);
+ free(rn); free(cn); free(a);
+
+ if (!(t = PyTuple_New(2))) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+ if (!(param = PyObject_GetAttrString(glpk_module, "options"))
+ || !PyDict_Check(param)){
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ PyErr_SetString(PyExc_AttributeError,
+ "missing glpk.options dictionary");
+ return NULL;
+ }
+
+- while (PyDict_Next(param, &pos, &key, &value))
+-#if PY_MAJOR_VERSION >= 3
+- if ((PyUnicode_Check(key)) && (keystr = PyUnicode_AS_DATA(key))
+- && get_param_idx(keystr, &param_id, &param_type)){
+-#else
+- if ((keystr = PyString_AsString(key)) && get_param_idx(keystr,
+- &param_id, &param_type)){
+-#endif
+- if (param_type == 'i'){
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value)){
+-#else
+- if (!PyInt_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for integer "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- if (!strcmp("LPX_K_PRESOL", keystr) &&
++ glp_init_iocp(&iocp);
++ while (PyDict_Next(param, &pos, &key, &value)) {
+ #if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value) != 1){
++ if ((PyUnicode_Check(key)) && (keystr = PyUnicode_AS_DATA(key))){
+ #else
+- PyInt_AS_LONG(value) != 1){
++ if ((keystr = PyString_AsString(key))){
+ #endif
++ if (!strcmp("LPX_K_MSGLEV", keystr)){
++ switch (PYINT_AS_LONG(value)){
++ case 0: iocp.msg_lev = GLP_MSG_OFF; break;
++ case 1: iocp.msg_lev = GLP_MSG_ERR; break;
++ case 2: iocp.msg_lev = GLP_MSG_ON; break;
++ case 3: iocp.msg_lev = GLP_MSG_ALL; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_SCALE", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: glp_unscale_prob(lp); break;
++ case 1: glp_scale_prob(lp, GLP_SF_EQ); break;
++ case 2: glp_scale_prob(lp, GLP_SF_GM); break;
++ case 3: glp_scale_prob(lp, GLP_SF_GM | GLP_SF_EQ); break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_DUAL", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_PRICE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_RELAX", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TOLBND", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TOLDJ", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TOLPIV", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_ROUND", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_OBJLL", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_OBJUL", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_ITLIM", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_ITCNT", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_TMLIM", keystr)){
++ iocp.tm_lim = (int)(PyFloat_AsDouble(value) * 1000.0);
++ if (iocp.tm_lim < 0)
++ iocp.tm_lim = INT_MAX;
++ } else if (!strcmp("LPX_K_OUTFRQ", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_OUTDLY", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_BRANCH", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: iocp.br_tech = GLP_BR_FFV; break;
++ case 1: iocp.br_tech = GLP_BR_LFV; break;
++ case 2: iocp.br_tech = GLP_BR_DTH; break;
++ case 3: iocp.br_tech = GLP_BR_MFV; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_BTRACK", keystr)){
++ switch(PYINT_AS_LONG(value)){
++ case 0: iocp.bt_tech = GLP_BT_DFS; break;
++ case 1: iocp.bt_tech = GLP_BT_BFS; break;
++ case 2: iocp.bt_tech = GLP_BT_BPH; break;
++ case 3: iocp.bt_tech = GLP_BT_BLB; break;
++ default: goto error;
++ }
++ } else if (!strcmp("LPX_K_TOLINT", keystr)){
++ iocp.tol_int = PyFloat_AsDouble(value);
++ if (iocp.tol_int < DBL_EPSILON || iocp.tol_int > 0.001)
++ goto error;
++ } else if (!strcmp("LPX_K_TOLOBJ", keystr)){
++ iocp.tol_obj = PyFloat_AsDouble(value);
++ if (iocp.tol_obj < DBL_EPSILON || iocp.tol_obj > 0.001)
++ goto error;
++ } else if (!strcmp("LPX_K_MPSINFO", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSOBJ", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSORIG", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSWIDE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSFREE", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_MPSSKIP", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_LPTORIG", keystr)){
++ /* Ignored */
++ } else if (!strcmp("LPX_K_PRESOL", keystr)){
++ if (PYINT_AS_LONG(value) != 1)
+ PyErr_Warn(PyExc_UserWarning, "ignoring value of "
+ "GLPK parameter 'LPX_K_PRESOL'");
++ } else if (!strcmp("LPX_K_BINARIZE", keystr)){
++ iocp.binarize = (PYINT_AS_LONG(value) == 0) ? GLP_OFF : GLP_ON;
++ } else if (!strcmp("LPX_K_USECUTS", keystr)){
++ int cuts = PYINT_AS_LONG(value);
++ if (cuts & ~0xFF)
++ goto error;
++ iocp.cov_cuts = (cuts & 1) ? GLP_ON : GLP_OFF;
++ iocp.clq_cuts = (cuts & 2) ? GLP_ON : GLP_OFF;
++ iocp.gmi_cuts = (cuts & 4) ? GLP_ON : GLP_OFF;
++ iocp.mir_cuts = (cuts & 8) ? GLP_ON : GLP_OFF;
++ } else if (!strcmp("LPX_K_BFTYPE", keystr)){
++ glp_bfcp bfcp;
++
++ glp_get_bfcp(lp, &bfcp);
++ switch(PYINT_AS_LONG(value)){
++ case 1: bfcp.type = GLP_BF_FT; break;
++ case 2: bfcp.type = GLP_BF_BG; break;
++ case 3: bfcp.type = GLP_BF_GR; break;
++ default: goto error;
+ }
+- else
+-#if PY_MAJOR_VERSION >= 3
+- lpx_set_int_parm(lp, param_id, PyLong_AS_LONG(value));
+-#else
+- lpx_set_int_parm(lp, param_id, PyInt_AS_LONG(value));
+-#endif
+- }
+- else {
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value) && !PyFloat_Check(value)){
+-#else
+- if (!PyInt_Check(value) && !PyFloat_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for floating point "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- lpx_set_real_parm(lp, param_id,
+- PyFloat_AsDouble(value));
++ glp_set_bfcp(lp, &bfcp);
++ } else if (!strcmp("LPX_K_MIPGAP", keystr)){
++ iocp.mip_gap = PyFloat_AsDouble(value);
++ if (iocp.mip_gap < 0.0)
++ goto error;
++ } else {
++ sprintf(err_str, "unknown GLPK parameter: %-.20s", keystr);
++ PyErr_SetString(PyExc_ValueError, err_str);
++ glp_delete_prob(lp);
++ Py_DECREF(param);
++ return NULL;
+ }
++ }
+ }
+- lpx_set_int_parm(lp, LPX_K_PRESOL, 1);
++ iocp.presolve = GLP_ON;
+ Py_DECREF(param);
+
+ if (IntSet) {
+@@ -628,22 +721,14 @@ static PyObject *integer(PyObject *self,
+ for (i=0; i<PySet_GET_SIZE(IntSet); i++) {
+
+ PyObject *tmp = PySequence_Fast_GET_ITEM(iter, i);
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(tmp)) {
+-#else
+- if (!PyInt_Check(tmp)) {
+-#endif
+- lpx_delete_prob(lp);
++ if (!PYINT_CHECK(tmp)) {
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR_TYPE("non-integer element in I");
+ }
+-#if PY_MAJOR_VERSION >= 3
+- int k = PyLong_AS_LONG(tmp);
+-#else
+- int k = PyInt_AS_LONG(tmp);
+-#endif
++ int k = PYINT_AS_LONG(tmp);
+ if ((k < 0) || (k >= n)) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR(PyExc_IndexError, "index element out of range in I");
+ }
+@@ -659,22 +744,14 @@ static PyObject *integer(PyObject *self,
+ for (i=0; i<PySet_GET_SIZE(BinSet); i++) {
+
+ PyObject *tmp = PySequence_Fast_GET_ITEM(iter, i);
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(tmp)) {
+-#else
+- if (!PyInt_Check(tmp)) {
+-#endif
+- lpx_delete_prob(lp);
++ if (!PYINT_CHECK(tmp)) {
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR_TYPE("non-binary element in I");
+ }
+-#if PY_MAJOR_VERSION >= 3
+- int k = PyLong_AS_LONG(tmp);
+-#else
+- int k = PyInt_AS_LONG(tmp);
+-#endif
++ int k = PYINT_AS_LONG(tmp);
+ if ((k < 0) || (k >= n)) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR(PyExc_IndexError, "index element out of range in B");
+ }
+@@ -686,117 +763,92 @@ static PyObject *integer(PyObject *self,
+ }
+
+
++ switch (glp_intopt(lp, &iocp)){
+
+- switch (lpx_intopt(lp)){
+-
+- case LPX_E_OK:
++ case 0:
+
+ x = (matrix *) Matrix_New(n,1,DOUBLE);
+ if (!x) {
+ Py_XDECREF(t);
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("optimal"));
+-#else
+- PyString_FromString("optimal"));
+-#endif
++ PyTuple_SET_ITEM(t, 0, (PyObject *)PYSTRING_FROMSTRING("optimal"));
+
+ for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_mip_col_val(lp, i+1);
++ MAT_BUFD(x)[i] = glp_mip_col_val(lp, i+1);
+ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return (PyObject *) t;
+
+- case LPX_E_TMLIM:
++ case GLP_ETMLIM:
+
+ x = (matrix *) Matrix_New(n,1,DOUBLE);
+ if (!x) {
+ Py_XDECREF(t);
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("time limit exceeded"));
+-#else
+- PyString_FromString("time limit exceeded"));
+-#endif
++ PYSTRING_FROMSTRING("time limit exceeded"));
+
+ for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_mip_col_val(lp, i+1);
++ MAT_BUFD(x)[i] = glp_mip_col_val(lp, i+1);
+ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return (PyObject *) t;
+
+
+- case LPX_E_FAULT:
++ case GLP_EBADB:
++ case GLP_ECOND:
++ case GLP_EBOUND:
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("invalid MIP formulation"));
+-#else
+- PyString_FromString("invalid MIP formulation"));
+-#endif
++ PYSTRING_FROMSTRING("invalid MIP formulation"));
+ break;
+
+- case LPX_E_NOPFS:
++ case GLP_ENOPFS:
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("primal infeasible"));
+-#else
+- PyString_FromString("primal infeasible"));
+-#endif
++ PYSTRING_FROMSTRING("primal infeasible"));
+ break;
+
+- case LPX_E_NODFS:
++ case GLP_ENODFS:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("dual infeasible"));
+-#else
+- PyString_FromString("dual infeasible"));
+-#endif
++ PYSTRING_FROMSTRING("dual infeasible"));
+ break;
+
+- case LPX_E_ITLIM:
++ case GLP_EITLIM:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("maxiters exceeded"));
+-#else
+- PyString_FromString("maxiters exceeded"));
+-#endif
++ PYSTRING_FROMSTRING("maxiters exceeded"));
+ break;
+
+- case LPX_E_SING:
++ case GLP_ESING:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("singular or ill-conditioned basis"));
+-#else
+- PyString_FromString("singular or ill-conditioned basis"));
+-#endif
++ PYSTRING_FROMSTRING("singular or ill-conditioned basis"));
+ break;
+
+
+ default:
+
+ PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("unknown"));
+-#else
+- PyString_FromString("unknown"));
+-#endif
++ PYSTRING_FROMSTRING("unknown"));
+ }
+
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+
+ PyTuple_SET_ITEM(t, 1, Py_BuildValue(""));
+ return (PyObject *) t;
++
++error:
++ sprintf(err_str, "invalid value for GLPK parameter: %-.20s", keystr);
++ PyErr_SetString(PyExc_ValueError, err_str);
++ glp_delete_prob(lp);
++ Py_DECREF(param);
++ return NULL;
+ }
+
+
diff --git a/dev-python/cvxopt/files/cvxopt-1.1.6-glpk449.patch b/dev-python/cvxopt/files/cvxopt-1.1.6-glpk449.patch
new file mode 100644
index 000000000000..2a1cc6737be4
--- /dev/null
+++ b/dev-python/cvxopt/files/cvxopt-1.1.6-glpk449.patch
@@ -0,0 +1,1082 @@
+--- src/C/glpk.c.orig 2014-03-24 09:39:39.510214726 -0700
++++ src/C/glpk.c 2014-03-24 09:38:41.251897138 -0700
+@@ -23,75 +23,271 @@
+ #include "misc.h"
+ #include "glpk.h"
+
++
+ PyDoc_STRVAR(glpk__doc__,
+ "Interface to the simplex and mixed integer LP algorithms in GLPK.\n\n"
+ "The GLPK control parameters have the default values listed in \n"
+- "the GLPK documentation, except for 'LPX_K_PRESOL', which is set\n"
++ "the GLPK documentation, except for 'presolve', which is set\n"
+ "to 1 and cannot be modified. The other parameters can be\n"
+- "modified by making an entry in the dictionary glpk.options.\n"
+- "For example, the command glpk.options['LPX_K_MSGLEV'] = 0 turns\n"
+- "off the printed output during execution of glpk.simplex().\n"
++ "modified by passing a smcp or iocp object to the appropriate function\n"
++ "For example, the commands param = glpk.smcp(msg_lev = 0), or \n"
++ "param=glpk.smcp(); param.msg_lev=1 turn off the printed output during"
++ " execution of glpk.simplex().\n"
+ "See the documentation at www.gnu.org/software/glpk/glpk.html for\n"
+ "the list of GLPK control parameters and their default values.");
+
+ static PyObject *glpk_module;
+
+-typedef struct {
+- char name[20];
+- int idx;
+- char type;
+-} param_tuple;
+-
+-static const param_tuple GLPK_PARAM_LIST[] = {
+- {"LPX_K_MSGLEV", LPX_K_MSGLEV, 'i'},
+- {"LPX_K_SCALE", LPX_K_SCALE, 'i'},
+- {"LPX_K_DUAL", LPX_K_DUAL, 'i'},
+- {"LPX_K_PRICE", LPX_K_PRICE, 'i'},
+- {"LPX_K_RELAX", LPX_K_RELAX, 'f'},
+- {"LPX_K_TOLBND", LPX_K_TOLBND, 'f'},
+- {"LPX_K_TOLDJ", LPX_K_TOLDJ, 'f'},
+- {"LPX_K_TOLPIV", LPX_K_TOLPIV, 'f'},
+- {"LPX_K_ROUND", LPX_K_ROUND, 'i'},
+- {"LPX_K_OBJLL", LPX_K_OBJLL, 'f'},
+- {"LPX_K_OBJUL", LPX_K_OBJUL, 'f'},
+- {"LPX_K_ITLIM", LPX_K_ITLIM, 'i'},
+- {"LPX_K_ITCNT", LPX_K_ITCNT, 'i'},
+- {"LPX_K_TMLIM", LPX_K_TMLIM, 'f'},
+- {"LPX_K_OUTFRQ", LPX_K_OUTFRQ, 'i'},
+- {"LPX_K_OUTDLY", LPX_K_OUTDLY, 'f'},
+- {"LPX_K_BRANCH", LPX_K_BRANCH, 'i'},
+- {"LPX_K_BTRACK", LPX_K_BTRACK, 'i'},
+- {"LPX_K_TOLINT", LPX_K_TOLINT, 'f'},
+- {"LPX_K_TOLOBJ", LPX_K_TOLOBJ, 'f'},
+- {"LPX_K_MPSINFO", LPX_K_MPSINFO, 'i'},
+- {"LPX_K_MPSOBJ", LPX_K_MPSOBJ, 'i'},
+- {"LPX_K_MPSORIG", LPX_K_MPSORIG, 'i'},
+- {"LPX_K_MPSWIDE", LPX_K_MPSWIDE, 'i'},
+- {"LPX_K_MPSFREE", LPX_K_MPSFREE, 'i'},
+- {"LPX_K_MPSSKIP", LPX_K_MPSSKIP, 'i'},
+- {"LPX_K_LPTORIG", LPX_K_LPTORIG, 'i'},
+- {"LPX_K_PRESOL", LPX_K_PRESOL, 'i'},
+-}; /* 28 paramaters */
++/* Wrappers around the option glpk structs */
++typedef struct{
++ PyObject_HEAD
++ glp_smcp obj;
++} pysmcp;
+
++/* Deallocation of smcp object */
++static void smcp_dealloc(pysmcp* self)
++{
++ Py_TYPE(self)->tp_free((PyObject*)self);
++}
+
+-#if PY_MAJOR_VERSION >= 3
+-static int get_param_idx(const char *str, int *idx, char *type)
+-#else
+-static int get_param_idx(char *str, int *idx, char *type)
+-#endif
++/* New smcp method */
++static PyObject *
++smcp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
+ {
+- int i;
++ pysmcp *self;
++ self = (pysmcp *)type->tp_alloc(type, 0);
++ return (PyObject *)self;
++}
++
++/* Initialisation of smcp object */
++static int
++smcp_init(pysmcp *self, PyObject *args, PyObject *kwds)
++{
++ /*static char *kwlist[] = {"number", NULL};*/
++ static char *kwlist[] = { "msg_lev", "meth", "pricing", "r_test", "tol_bnd", "tol_dj", "tol_piv", "obj_ll", "obj_ul", "it_lim", "tm_lim", "out_frq", "out_dly", "presolve" };
++ glp_init_smcp(&self->obj);
++ if (! PyArg_ParseTupleAndKeywords(args, kwds, "|iiiidddddiiiii", kwlist,
++ &self->obj.msg_lev,
++ &self->obj.meth,
++ &self->obj.pricing,
++ &self->obj.r_test,
++ &self->obj.tol_bnd,
++ &self->obj.tol_dj,
++ &self->obj.tol_piv,
++ &self->obj.obj_ll,
++ &self->obj.obj_ul,
++ &self->obj.it_lim,
++ &self->obj.tm_lim,
++ &self->obj.out_frq,
++ &self->obj.out_dly,
++ &self->obj.presolve))
++ return -1;
+
+- for (i=0; i<28; i++) {
+- if (!strcmp(GLPK_PARAM_LIST[i].name, str)) {
+- *idx = GLPK_PARAM_LIST[i].idx;
+- *type = GLPK_PARAM_LIST[i].type;
+- return 1;
+- }
+- }
+ return 0;
+ }
+
++/* smcp members declaration */
++static PyMemberDef smcpMembers[] = {
++ {"msg_lev", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,msg_lev), 0, "message level: "},
++ {"meth", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,meth), 0, "simplex method option: "},
++ {"pricing", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,pricing), 0, "pricing technique: "},
++ {"r_test", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,r_test), 0, "ratio test technique: "},
++ {"tol_bnd", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_smcp,tol_bnd), 0, "spx.tol_bnd "},
++ {"tol_dj", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_smcp,tol_dj), 0, "spx.tol_dj "},
++ {"tol_piv", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_smcp,tol_piv), 0, "spx.tol_piv "},
++ {"obj_ll", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_smcp,obj_ll), 0, "spx.obj_ll "},
++ {"obj_ul", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_smcp,obj_ul), 0, "spx.obj_ul "},
++ {"it_lim", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,it_lim), 0, "spx.it_lim "},
++ {"tm_lim", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,tm_lim), 0, "spx.tm_lim (milliseconds) "},
++ {"out_frq", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,out_frq), 0, "spx.out_frq "},
++ {"out_dly", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,out_dly), 0, "spx.out_dly (milliseconds) "},
++ {"presolve", T_INT, offsetof(pysmcp,obj)+offsetof(glp_smcp,presolve), 0, "enable/disable using LP presolver "},
++};
++
++static PyTypeObject smcp_t = {
++ PyVarObject_HEAD_INIT(NULL, 0)
++ "glpk.smcp", /* tp_name */
++ sizeof(pysmcp), /* tp_basicsize */
++ 0, /* tp_itemsize */
++ (destructor)smcp_dealloc, /* tp_dealloc */
++ 0, /* tp_print */
++ 0, /* tp_getattr */
++ 0, /* tp_setattr */
++ 0, /* tp_reserved */
++ 0, /* tp_repr */
++ 0, /* tp_as_number */
++ 0, /* tp_as_sequence */
++ 0, /* tp_as_mapping */
++ 0, /* tp_hash */
++ 0, /* tp_call */
++ 0, /* tp_str */
++ 0, /* tp_getattro */
++ 0, /* tp_setattro */
++ 0, /* tp_as_buffer */
++ Py_TPFLAGS_DEFAULT |
++ Py_TPFLAGS_BASETYPE, /* tp_flags */
++ "simplex method control parameters", /* tp_doc */
++ 0, /* tp_traverse */
++ 0, /* tp_clear */
++ 0, /* tp_richcompare */
++ 0, /* tp_weaklistoffset */
++ 0, /* tp_iter */
++ 0, /* tp_iternext */
++ 0, /* tp_methods */
++ smcpMembers, /* tp_members */
++ 0, /* tp_getset */
++ 0, /* tp_base */
++ 0, /* tp_dict */
++ 0, /* tp_descr_get */
++ 0, /* tp_descr_set */
++ 0, /* tp_dictoffset */
++ (initproc)smcp_init, /* tp_init */
++ 0, /* tp_alloc */
++ smcp_new, /* tp_new */
++};
++
++
++/* Wrappers around the option glpk structs */
++typedef struct{
++ PyObject_HEAD
++ glp_iocp obj;
++} pyiocp;
++
++/* Deallocation of iocp object */
++static void iocp_dealloc(pysmcp* self)
++{
++ Py_TYPE(self)->tp_free((PyObject*)self);
++}
++
++/* New iocp method */
++static PyObject *
++iocp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
++{
++ pyiocp *self;
++ self = (pyiocp *)type->tp_alloc(type, 0);
++ return (PyObject *)self;
++}
++
++/* Initialisation of iocp object */
++static int
++iocp_init(pyiocp *self, PyObject *args, PyObject *kwds)
++{
++ /*static char *kwlist[] = {"number", NULL};*/
++ static char *kwlist[] = { "msg_lev", "br_tech", "bt_tech", "tol_int", "tol_obj", "tm_lim", "out_frq", "out_dly", "cb_size", "pp_tech", "mip_gap", "mir_cuts", "gmi_cuts", "cov_cuts", "clq_cuts", "presolve", "binarize", "fp_heur", "ps_heur", "ps_tm_lim", "use_sol", "save_sol", "alien",NULL};
++ glp_init_iocp(&self->obj);
++
++ if (! PyArg_ParseTupleAndKeywords(args, kwds, "|iiiddiiiiidiiiiiiiiiisi", kwlist,
++ &self->obj.msg_lev,
++ &self->obj.br_tech,
++ &self->obj.bt_tech,
++ &self->obj.tol_int,
++ &self->obj.tol_obj,
++ &self->obj.tm_lim,
++ &self->obj.out_frq,
++ &self->obj.out_dly,
++ &self->obj.cb_size,
++ &self->obj.pp_tech,
++ &self->obj.mip_gap,
++ &self->obj.mir_cuts,
++ &self->obj.gmi_cuts,
++ &self->obj.cov_cuts,
++ &self->obj.clq_cuts,
++ &self->obj.presolve,
++ &self->obj.binarize,
++ &self->obj.fp_heur,
++ &self->obj.ps_heur,
++ &self->obj.ps_tm_lim,
++ &self->obj.use_sol,
++ &self->obj.save_sol,
++ &self->obj.alien))
++ return -1;
++
++ return 0;
++}
++
++/* iocp members declaration */
++static PyMemberDef iocpMembers[] = {
++ {"msg_lev", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,msg_lev), 0, "message level (see glp_smcp) "},
++ {"br_tech", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,br_tech), 0, "branching technique: "},
++ {"bt_tech", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,bt_tech), 0, "backtracking technique: "},
++ {"tol_int", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_iocp,tol_int), 0, "mip.tol_int "},
++ {"tol_obj", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_iocp,tol_obj), 0, "mip.tol_obj "},
++ {"tm_lim", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,tm_lim), 0, "mip.tm_lim (milliseconds) "},
++ {"out_frq", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,out_frq), 0, "mip.out_frq (milliseconds) "},
++ {"out_dly", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,out_dly), 0, "mip.out_dly (milliseconds) "},
++ /*void (*cb_func)(glp_tree *T, void *info); [> mip.cb_func <]*/
++ /*void *cb_info; [> mip.cb_info <]*/
++ {"cb_size", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,cb_size), 0, "mip.cb_size "},
++ {"pp_tech", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,pp_tech), 0, "preprocessing technique: "},
++ {"mip_gap", T_DOUBLE, offsetof(pysmcp,obj)+offsetof(glp_iocp,mip_gap), 0, "relative MIP gap tolerance "},
++ {"mir_cuts", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,mir_cuts), 0, "MIR cuts (GLP_ON/GLP_OFF) "},
++ {"gmi_cuts", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,gmi_cuts), 0, "Gomory's cuts (GLP_ON/GLP_OFF) "},
++ {"cov_cuts", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,cov_cuts), 0, "cover cuts (GLP_ON/GLP_OFF) "},
++ {"clq_cuts", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,clq_cuts), 0, "clique cuts (GLP_ON/GLP_OFF) "},
++ {"presolve", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,presolve), 0, "enable/disable using MIP presolver "},
++ {"binarize", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,binarize), 0, "try to binarize integer variables "},
++ {"fp_heur", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,fp_heur), 0, "feasibility pump heuristic "},
++ {"ps_heur", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,ps_heur), 0, "proximity search heuristic "},
++ {"ps_tm_lim", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,ps_tm_lim), 0, "proxy time limit, milliseconds "},
++ {"use_sol", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,use_sol), 0, "use existing solution "},
++ {"save_sol",T_STRING,offsetof(pysmcp,obj)+offsetof(glp_iocp,save_sol),0, "filename to save every new solution"},
++ {"alien", T_INT, offsetof(pysmcp,obj)+offsetof(glp_iocp,alien), 0, "use alien solver "},
++};
++
++static PyTypeObject iocp_t = {
++ PyVarObject_HEAD_INIT(NULL, 0)
++ "glpk.iocp", /* tp_name */
++ sizeof(pyiocp), /* tp_basicsize */
++ 0, /* tp_itemsize */
++ (destructor)iocp_dealloc, /* tp_dealloc */
++ 0, /* tp_print */
++ 0, /* tp_getattr */
++ 0, /* tp_setattr */
++ 0, /* tp_reserved */
++ 0, /* tp_repr */
++ 0, /* tp_as_number */
++ 0, /* tp_as_sequence */
++ 0, /* tp_as_mapping */
++ 0, /* tp_hash */
++ 0, /* tp_call */
++ 0, /* tp_str */
++ 0, /* tp_getattro */
++ 0, /* tp_setattro */
++ 0, /* tp_as_buffer */
++ Py_TPFLAGS_DEFAULT |
++ Py_TPFLAGS_BASETYPE, /* tp_flags */
++ "integer optimizer control parameters", /* tp_doc */
++ 0, /* tp_traverse */
++ 0, /* tp_clear */
++ 0, /* tp_richcompare */
++ 0, /* tp_weaklistoffset */
++ 0, /* tp_iter */
++ 0, /* tp_iternext */
++ 0, /* tp_methods */
++ iocpMembers, /* tp_members */
++ 0, /* tp_getset */
++ 0, /* tp_base */
++ 0, /* tp_dict */
++ 0, /* tp_descr_get */
++ 0, /* tp_descr_set */
++ 0, /* tp_dictoffset */
++ (initproc)iocp_init, /* tp_init */
++ 0, /* tp_alloc */
++ iocp_new, /* tp_new */
++};
++
++
++
++/* Small helper function to generate the output string of the simplex function */
++inline static void set_output_string(PyObject* t,const char s[]) {
++ PyTuple_SET_ITEM(t, 0, (PyObject *)
++#if PY_MAJOR_VERSION >= 3
++ PyUnicode_FromString(s));
++#else
++ PyString_FromString(s));
++#endif
++ }
++
+
+ static char doc_simplex[] =
+ "Solves a linear program using GLPK.\n\n"
+@@ -126,21 +322,16 @@
+ PyObject *kwrds)
+ {
+ matrix *c, *h, *b=NULL, *x=NULL, *z=NULL, *y=NULL;
+- PyObject *G, *A=NULL, *t=NULL, *param, *key, *value;
+- LPX *lp;
+- int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL, param_id;
+- int_t pos=0;
++ PyObject *G, *A=NULL, *t=NULL;
++ glp_prob *lp;
++ glp_smcp *options = NULL;
++ pysmcp *smcpParm = NULL;
++ int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL;
+ double *a=NULL, val;
+- char param_type, err_str[100];
+-#if PY_MAJOR_VERSION >= 3
+- const char *keystr;
+-#else
+- char *keystr;
+-#endif
+- char *kwlist[] = {"c", "G", "h", "A", "b", NULL};
++ char *kwlist[] = {"c", "G", "h", "A", "b","options", NULL};
+
+- if (!PyArg_ParseTupleAndKeywords(args, kwrds, "OOO|OO", kwlist, &c,
+- &G, &h, &A, &b)) return NULL;
++ if (!PyArg_ParseTupleAndKeywords(args, kwrds, "OOO|OOO!", kwlist, &c,
++ &G, &h, &A, &b,&smcp_t,&smcpParm)) return NULL;
+
+ if ((Matrix_Check(G) && MAT_ID(G) != DOUBLE) ||
+ (SpMatrix_Check(G) && SP_ID(G) != DOUBLE) ||
+@@ -182,19 +373,30 @@
+ PyErr_SetString(PyExc_ValueError, "incompatible dimensions");
+ return NULL;
+ }
++ if(!smcpParm)
++ {
++ smcpParm = (pysmcp*)malloc(sizeof(*smcpParm));
++ glp_init_smcp(&(smcpParm->obj));
++ }
++ if(smcpParm)
++ {
++ Py_INCREF(smcpParm);
++ options = &smcpParm->obj;
++ options->presolve = 1;
++ }
+
+- lp = lpx_create_prob();
+- lpx_add_rows(lp, m+p);
+- lpx_add_cols(lp, n);
++ lp = glp_create_prob();
++ glp_add_rows(lp, m+p);
++ glp_add_cols(lp, n);
+
+ for (i=0; i<n; i++){
+- lpx_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
+- lpx_set_col_bnds(lp, i+1, LPX_FR, 0.0, 0.0);
++ glp_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
++ glp_set_col_bnds(lp, i+1, GLP_FR, 0.0, 0.0);
+ }
+ for (i=0; i<m; i++)
+- lpx_set_row_bnds(lp, i+1, LPX_UP, 0.0, MAT_BUFD(h)[i]);
++ glp_set_row_bnds(lp, i+1, GLP_UP, 0.0, MAT_BUFD(h)[i]);
+ for (i=0; i<p; i++)
+- lpx_set_row_bnds(lp, i+m+1, LPX_FX, MAT_BUFD(b)[i],
++ glp_set_row_bnds(lp, i+m+1, GLP_FX, MAT_BUFD(b)[i],
+ MAT_BUFD(b)[i]);
+
+ nnzmax = (SpMatrix_Check(G) ? SP_NNZ(G) : m*n ) +
+@@ -203,7 +405,7 @@
+ rn = (int *) calloc(nnzmax+1, sizeof(int));
+ cn = (int *) calloc(nnzmax+1, sizeof(int));
+ if (!a || !rn || !cn){
+- free(a); free(rn); free(cn); lpx_delete_prob(lp);
++ free(a); free(rn); free(cn); glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+@@ -242,84 +444,18 @@
+ nnz++;
+ }
+
+- lpx_load_matrix(lp, nnz, rn, cn, a);
++ glp_load_matrix(lp, nnz, rn, cn, a);
+ free(rn); free(cn); free(a);
+
+ if (!(t = PyTuple_New(A ? 4 : 3))){
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+- if (!(param = PyObject_GetAttrString(glpk_module, "options"))
+- || !PyDict_Check(param)){
+- lpx_delete_prob(lp);
+- PyErr_SetString(PyExc_AttributeError,
+- "missing glpk.options dictionary");
+- return NULL;
+- }
+-
+- while (PyDict_Next(param, &pos, &key, &value))
+-#if PY_MAJOR_VERSION >= 3
+- if ((PyUnicode_Check(key)) &&
+- get_param_idx(_PyUnicode_AsString(key), &param_id,
+- &param_type)){
+- keystr = _PyUnicode_AsString(key);
+-#else
+- if ((keystr = PyString_AsString(key)) && get_param_idx(keystr,
+- &param_id, &param_type)){
+-#endif
+- if (param_type == 'i'){
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value)){
+-#else
+- if (!PyInt_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for integer "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- if (!strcmp("LPX_K_PRESOL", keystr) &&
+-#if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value) != 1){
+-#else
+- PyInt_AS_LONG(value) != 1){
+-#endif
+- PyErr_Warn(PyExc_UserWarning, "ignoring value of "
+- "GLPK parameter 'LPX_K_PRESOL'");
+- }
+- else lpx_set_int_parm(lp, param_id,
+-#if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value));
+-#else
+- PyInt_AS_LONG(value));
+-#endif
+- }
+- else {
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value) && !PyFloat_Check(value)){
+-#else
+- if (!PyInt_Check(value) && !PyFloat_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for floating point "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- lpx_set_real_parm(lp, param_id,
+- PyFloat_AsDouble(value));
+- }
+- }
+- lpx_set_int_parm(lp, LPX_K_PRESOL, 1);
+- Py_DECREF(param);
+
+- switch (lpx_simplex(lp)){
++ switch (glp_simplex(lp,options)){
+
+- case LPX_E_OK:
++ case 0:
+
+ x = (matrix *) Matrix_New(n,1,DOUBLE);
+ z = (matrix *) Matrix_New(m,1,DOUBLE);
+@@ -329,65 +465,70 @@
+ Py_XDECREF(z);
+ Py_XDECREF(y);
+ Py_XDECREF(t);
+- lpx_delete_prob(lp);
++ Py_XDECREF(smcpParm);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("optimal"));
+-#else
+- PyString_FromString("optimal"));
+-#endif
++ set_output_string(t,"optimal");
+
+ for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_get_col_prim(lp, i+1);
++ MAT_BUFD(x)[i] = glp_get_col_prim(lp, i+1);
+ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+ for (i=0; i<m; i++)
+- MAT_BUFD(z)[i] = -lpx_get_row_dual(lp, i+1);
++ MAT_BUFD(z)[i] = -glp_get_row_dual(lp, i+1);
+ PyTuple_SET_ITEM(t, 2, (PyObject *) z);
+
+ if (A){
+ for (i=0; i<p; i++)
+- MAT_BUFD(y)[i] = -lpx_get_row_dual(lp, m+i+1);
++ MAT_BUFD(y)[i] = -glp_get_row_dual(lp, m+i+1);
+ PyTuple_SET_ITEM(t, 3, (PyObject *) y);
+ }
+
+- lpx_delete_prob(lp);
++ Py_XDECREF(smcpParm);
++ glp_delete_prob(lp);
+ return (PyObject *) t;
+-
+- case LPX_E_NOPFS:
+-
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("primal infeasible"));
+-#else
+- PyString_FromString("primal infeasible"));
+-#endif
++ case GLP_EBADB:
++ set_output_string(t,"incorrect initial basis");
+ break;
+-
+- case LPX_E_NODFS:
+-
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("dual infeasible"));
+-#else
+- PyString_FromString("dual infeasible"));
+-#endif
++ case GLP_ESING:
++ set_output_string(t,"singular initial basis matrix");
++ break;
++ case GLP_ECOND:
++ set_output_string(t,"ill-conditioned initial basis matrix");
++ break;
++ case GLP_EBOUND:
++ set_output_string(t,"incorrect bounds");
++ break;
++ case GLP_EFAIL:
++ set_output_string(t,"solver failure");
++ break;
++ case GLP_EOBJLL:
++ set_output_string(t,"objective function reached lower limit");
++ break;
++ case GLP_EOBJUL:
++ set_output_string(t,"objective function reached upper limit");
++ break;
++ case GLP_EITLIM:
++ set_output_string(t,"iteration limit exceeded");
++ break;
++ case GLP_ETMLIM:
++ set_output_string(t,"time limit exceeded");
++ break;
++ case GLP_ENOPFS:
++ set_output_string(t,"primal infeasible");
++ break;
++ case GLP_ENODFS:
++ set_output_string(t,"dual infeasible");
+ break;
+-
+ default:
+-
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("unknown"));
+-#else
+- PyString_FromString("unknown"));
+-#endif
++ set_output_string(t,"unknown");
++ break;
+ }
+
+- lpx_delete_prob(lp);
++ Py_XDECREF(smcpParm);
++ glp_delete_prob(lp);
+
+ PyTuple_SET_ITEM(t, 1, Py_BuildValue(""));
+ PyTuple_SET_ITEM(t, 2, Py_BuildValue(""));
+@@ -427,21 +568,28 @@
+ {
+ matrix *c, *h, *b=NULL, *x=NULL;
+ PyObject *G, *A=NULL, *IntSet=NULL, *BinSet = NULL;
+- PyObject *t=NULL, *param, *key, *value;
+- LPX *lp;
+- int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL, param_id;
+- int_t pos=0;
++ PyObject *t=NULL;
++ pyiocp *iocpParm = NULL;;
++ glp_iocp *options = NULL;
++ glp_prob *lp;
++ int m, n, p, i, j, k, nnz, nnzmax, *rn=NULL, *cn=NULL;
+ double *a=NULL, val;
+- char param_type, err_str[100];
+-#if PY_MAJOR_VERSION >= 3
+- const char *keystr;
+-#else
+- char *keystr;
+-#endif
+- char *kwlist[] = {"c", "G", "h", "A", "b", "I", "B", NULL};
++ char *kwlist[] = {"c", "G", "h", "A", "b", "I", "B","iocp", NULL};
++
++ if (!PyArg_ParseTupleAndKeywords(args, kwrds, "OOO|OOOOO!", kwlist, &c,
++ &G, &h, &A, &b, &IntSet, &BinSet,iocp_t,&iocpParm)) return NULL;
+
+- if (!PyArg_ParseTupleAndKeywords(args, kwrds, "OOO|OOOO", kwlist, &c,
+- &G, &h, &A, &b, &IntSet, &BinSet)) return NULL;
++ if(!iocpParm)
++ {
++ iocpParm = (pyiocp*)malloc(sizeof(*iocpParm));
++ glp_init_iocp(&(iocpParm->obj));
++ }
++ if(iocpParm)
++ {
++ Py_INCREF(iocpParm);
++ options = &iocpParm->obj;
++ options->presolve = 1;
++ }
+
+ if ((Matrix_Check(G) && MAT_ID(G) != DOUBLE) ||
+ (SpMatrix_Check(G) && SP_ID(G) != DOUBLE) ||
+@@ -490,18 +638,18 @@
+ if ((BinSet) && (!PyAnySet_Check(BinSet)))
+ PY_ERR_TYPE("invalid binary index set");
+
+- lp = lpx_create_prob();
+- lpx_add_rows(lp, m+p);
+- lpx_add_cols(lp, n);
++ lp = glp_create_prob();
++ glp_add_rows(lp, m+p);
++ glp_add_cols(lp, n);
+
+ for (i=0; i<n; i++){
+- lpx_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
+- lpx_set_col_bnds(lp, i+1, LPX_FR, 0.0, 0.0);
++ glp_set_obj_coef(lp, i+1, MAT_BUFD(c)[i]);
++ glp_set_col_bnds(lp, i+1, GLP_FR, 0.0, 0.0);
+ }
+ for (i=0; i<m; i++)
+- lpx_set_row_bnds(lp, i+1, LPX_UP, 0.0, MAT_BUFD(h)[i]);
++ glp_set_row_bnds(lp, i+1, GLP_UP, 0.0, MAT_BUFD(h)[i]);
+ for (i=0; i<p; i++)
+- lpx_set_row_bnds(lp, i+m+1, LPX_FX, MAT_BUFD(b)[i],
++ glp_set_row_bnds(lp, i+m+1, GLP_FX, MAT_BUFD(b)[i],
+ MAT_BUFD(b)[i]);
+
+ nnzmax = (SpMatrix_Check(G) ? SP_NNZ(G) : m*n ) +
+@@ -510,7 +658,7 @@
+ rn = (int *) calloc(nnzmax+1, sizeof(int));
+ cn = (int *) calloc(nnzmax+1, sizeof(int));
+ if (!a || !rn || !cn){
+- free(a); free(rn); free(cn); lpx_delete_prob(lp);
++ free(a); free(rn); free(cn); glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+@@ -549,79 +697,14 @@
+ nnz++;
+ }
+
+- lpx_load_matrix(lp, nnz, rn, cn, a);
++ glp_load_matrix(lp, nnz, rn, cn, a);
+ free(rn); free(cn); free(a);
+
+ if (!(t = PyTuple_New(2))) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ return PyErr_NoMemory();
+ }
+
+- if (!(param = PyObject_GetAttrString(glpk_module, "options"))
+- || !PyDict_Check(param)){
+- lpx_delete_prob(lp);
+- PyErr_SetString(PyExc_AttributeError,
+- "missing glpk.options dictionary");
+- return NULL;
+- }
+-
+- while (PyDict_Next(param, &pos, &key, &value))
+-#if PY_MAJOR_VERSION >= 3
+- if ((PyUnicode_Check(key)) && (keystr = PyUnicode_AS_DATA(key))
+- && get_param_idx(keystr, &param_id, &param_type)){
+-#else
+- if ((keystr = PyString_AsString(key)) && get_param_idx(keystr,
+- &param_id, &param_type)){
+-#endif
+- if (param_type == 'i'){
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value)){
+-#else
+- if (!PyInt_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for integer "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- if (!strcmp("LPX_K_PRESOL", keystr) &&
+-#if PY_MAJOR_VERSION >= 3
+- PyLong_AS_LONG(value) != 1){
+-#else
+- PyInt_AS_LONG(value) != 1){
+-#endif
+- PyErr_Warn(PyExc_UserWarning, "ignoring value of "
+- "GLPK parameter 'LPX_K_PRESOL'");
+- }
+- else
+-#if PY_MAJOR_VERSION >= 3
+- lpx_set_int_parm(lp, param_id, PyLong_AS_LONG(value));
+-#else
+- lpx_set_int_parm(lp, param_id, PyInt_AS_LONG(value));
+-#endif
+- }
+- else {
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyLong_Check(value) && !PyFloat_Check(value)){
+-#else
+- if (!PyInt_Check(value) && !PyFloat_Check(value)){
+-#endif
+- sprintf(err_str, "invalid value for floating point "
+- "GLPK parameter: %-.20s", keystr);
+- PyErr_SetString(PyExc_ValueError, err_str);
+- lpx_delete_prob(lp);
+- Py_DECREF(param);
+- return NULL;
+- }
+- lpx_set_real_parm(lp, param_id,
+- PyFloat_AsDouble(value));
+- }
+- }
+- lpx_set_int_parm(lp, LPX_K_PRESOL, 1);
+- Py_DECREF(param);
+-
+ if (IntSet) {
+ PyObject *iter = PySequence_Fast(IntSet, "Critical error: not sequence");
+
+@@ -633,7 +716,7 @@
+ #else
+ if (!PyInt_Check(tmp)) {
+ #endif
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR_TYPE("non-integer element in I");
+ }
+@@ -643,7 +726,7 @@
+ int k = PyInt_AS_LONG(tmp);
+ #endif
+ if ((k < 0) || (k >= n)) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR(PyExc_IndexError, "index element out of range in I");
+ }
+@@ -664,7 +747,7 @@
+ #else
+ if (!PyInt_Check(tmp)) {
+ #endif
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR_TYPE("non-binary element in I");
+ }
+@@ -674,7 +757,7 @@
+ int k = PyInt_AS_LONG(tmp);
+ #endif
+ if ((k < 0) || (k >= n)) {
+- lpx_delete_prob(lp);
++ glp_delete_prob(lp);
+ Py_DECREF(iter);
+ PY_ERR(PyExc_IndexError, "index element out of range in B");
+ }
+@@ -686,114 +769,85 @@
+ }
+
+
++ switch (glp_intopt(lp,options)){
+
+- switch (lpx_intopt(lp)){
++ case 0:
+
+- case LPX_E_OK:
++ x = (matrix *) Matrix_New(n,1,DOUBLE);
++ if (!x) {
++ Py_XDECREF(iocpParm);
++ Py_XDECREF(t);
++ glp_delete_prob(lp);
++ return PyErr_NoMemory();
++ }
++ set_output_string(t,"optimal");
++ set_output_string(t,"optimal");
+
+- x = (matrix *) Matrix_New(n,1,DOUBLE);
+- if (!x) {
+- Py_XDECREF(t);
+- lpx_delete_prob(lp);
+- return PyErr_NoMemory();
+- }
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("optimal"));
+-#else
+- PyString_FromString("optimal"));
+-#endif
++ for (i=0; i<n; i++)
++ MAT_BUFD(x)[i] = glp_mip_col_val(lp, i+1);
++ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+- for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_mip_col_val(lp, i+1);
+- PyTuple_SET_ITEM(t, 1, (PyObject *) x);
++ Py_XDECREF(iocpParm);
++ glp_delete_prob(lp);
++ return (PyObject *) t;
+
+- lpx_delete_prob(lp);
+- return (PyObject *) t;
++ case GLP_ETMLIM:
+
+- case LPX_E_TMLIM:
++ x = (matrix *) Matrix_New(n,1,DOUBLE);
++ if (!x) {
++ Py_XDECREF(t);
++ Py_XDECREF(iocpParm);
++ glp_delete_prob(lp);
++ return PyErr_NoMemory();
++ }
++ set_output_string(t,"time limit exceeded");
+
+- x = (matrix *) Matrix_New(n,1,DOUBLE);
+- if (!x) {
+- Py_XDECREF(t);
+- lpx_delete_prob(lp);
+- return PyErr_NoMemory();
+- }
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("time limit exceeded"));
+-#else
+- PyString_FromString("time limit exceeded"));
+-#endif
++ for (i=0; i<n; i++)
++ MAT_BUFD(x)[i] = glp_mip_col_val(lp, i+1);
++ PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+
+- for (i=0; i<n; i++)
+- MAT_BUFD(x)[i] = lpx_mip_col_val(lp, i+1);
+- PyTuple_SET_ITEM(t, 1, (PyObject *) x);
+-
+- lpx_delete_prob(lp);
+- return (PyObject *) t;
++ Py_XDECREF(iocpParm);
++ glp_delete_prob(lp);
++ return (PyObject *) t;
+
+
+- case LPX_E_FAULT:
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("invalid MIP formulation"));
+-#else
+- PyString_FromString("invalid MIP formulation"));
+-#endif
+- break;
++ case GLP_EBOUND:
++ set_output_string(t,"incorrect bounds");
++ break;
++ case GLP_EFAIL:
++ set_output_string(t,"invalid MIP formulation");
++ break;
+
+- case LPX_E_NOPFS:
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("primal infeasible"));
+-#else
+- PyString_FromString("primal infeasible"));
+-#endif
+- break;
++ case GLP_ENOPFS:
++ set_output_string(t,"primal infeasible");
++ break;
+
+- case LPX_E_NODFS:
++ case GLP_ENODFS:
++ set_output_string(t,"dual infeasible");
++ break;
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("dual infeasible"));
+-#else
+- PyString_FromString("dual infeasible"));
+-#endif
+- break;
++ case GLP_EMIPGAP:
++ set_output_string(t,"Relative mip gap tolerance reached");
++ break;
+
+- case LPX_E_ITLIM:
++ /*case LPX_E_ITLIM:
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("maxiters exceeded"));
+-#else
+- PyString_FromString("maxiters exceeded"));
+-#endif
+- break;
++ set_output_string(t,"maxiters exceeded");
++ break;*/
+
+- case LPX_E_SING:
++ /*case LPX_E_SING:
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("singular or ill-conditioned basis"));
+-#else
+- PyString_FromString("singular or ill-conditioned basis"));
+-#endif
+- break;
++ set_output_string(t,"singular or ill-conditioned basis");
++ break;*/
+
+
+- default:
++ default:
+
+- PyTuple_SET_ITEM(t, 0, (PyObject *)
+-#if PY_MAJOR_VERSION >= 3
+- PyUnicode_FromString("unknown"));
+-#else
+- PyString_FromString("unknown"));
+-#endif
+- }
++ set_output_string(t,"unknown");
++ }
+
+- lpx_delete_prob(lp);
++ Py_XDECREF(iocpParm);
++ glp_delete_prob(lp);
+
+ PyTuple_SET_ITEM(t, 1, Py_BuildValue(""));
+ return (PyObject *) t;
+@@ -819,10 +873,94 @@
+ NULL, NULL, NULL, NULL
+ };
+
++void addglpkConstants (void)
++{
++ PyModule_AddIntMacro(glpk_module, GLP_ON);
++ PyModule_AddIntMacro(glpk_module,GLP_OFF);
++
++ /* reason codes: */
++ PyModule_AddIntMacro(glpk_module,GLP_IROWGEN);
++ PyModule_AddIntMacro(glpk_module,GLP_IBINGO);
++ PyModule_AddIntMacro(glpk_module,GLP_IHEUR);
++ PyModule_AddIntMacro(glpk_module,GLP_ICUTGEN);
++ PyModule_AddIntMacro(glpk_module,GLP_IBRANCH);
++ PyModule_AddIntMacro(glpk_module,GLP_ISELECT);
++ PyModule_AddIntMacro(glpk_module,GLP_IPREPRO);
++
++ /* branch selection indicator: */
++ PyModule_AddIntMacro(glpk_module,GLP_NO_BRNCH);
++ PyModule_AddIntMacro(glpk_module,GLP_DN_BRNCH);
++ PyModule_AddIntMacro(glpk_module,GLP_UP_BRNCH);
++
++ /* return codes: */
++ PyModule_AddIntMacro(glpk_module,GLP_EBADB);
++ PyModule_AddIntMacro(glpk_module,GLP_ESING);
++ PyModule_AddIntMacro(glpk_module,GLP_ECOND);
++ PyModule_AddIntMacro(glpk_module,GLP_EBOUND);
++ PyModule_AddIntMacro(glpk_module,GLP_EFAIL);
++ PyModule_AddIntMacro(glpk_module,GLP_EOBJLL);
++ PyModule_AddIntMacro(glpk_module,GLP_EOBJUL);
++ PyModule_AddIntMacro(glpk_module,GLP_EITLIM);
++ PyModule_AddIntMacro(glpk_module,GLP_ETMLIM);
++ PyModule_AddIntMacro(glpk_module,GLP_ENOPFS);
++ PyModule_AddIntMacro(glpk_module,GLP_ENODFS);
++ PyModule_AddIntMacro(glpk_module,GLP_EROOT);
++ PyModule_AddIntMacro(glpk_module,GLP_ESTOP);
++ PyModule_AddIntMacro(glpk_module,GLP_EMIPGAP);
++ PyModule_AddIntMacro(glpk_module,GLP_ENOFEAS);
++ PyModule_AddIntMacro(glpk_module,GLP_ENOCVG);
++ PyModule_AddIntMacro(glpk_module,GLP_EINSTAB);
++ PyModule_AddIntMacro(glpk_module,GLP_EDATA);
++ PyModule_AddIntMacro(glpk_module,GLP_ERANGE);
++
++ /* condition indicator: */
++ PyModule_AddIntMacro(glpk_module,GLP_KKT_PE);
++ PyModule_AddIntMacro(glpk_module,GLP_KKT_PB);
++ PyModule_AddIntMacro(glpk_module,GLP_KKT_DE);
++ PyModule_AddIntMacro(glpk_module,GLP_KKT_DB);
++ PyModule_AddIntMacro(glpk_module,GLP_KKT_CS);
++
++ /* MPS file format: */
++ PyModule_AddIntMacro(glpk_module,GLP_MPS_DECK);
++ PyModule_AddIntMacro(glpk_module,GLP_MPS_FILE);
++
++ /* simplex method control parameters */
++ /* message level: */
++ PyModule_AddIntMacro(glpk_module,GLP_MSG_OFF);
++ PyModule_AddIntMacro(glpk_module,GLP_MSG_ERR);
++ PyModule_AddIntMacro(glpk_module,GLP_MSG_ON);
++ PyModule_AddIntMacro(glpk_module,GLP_MSG_ALL);
++ PyModule_AddIntMacro(glpk_module,GLP_MSG_DBG);
++ /* simplex method option: */
++ PyModule_AddIntMacro(glpk_module,GLP_PRIMAL);
++ PyModule_AddIntMacro(glpk_module,GLP_DUALP);
++ PyModule_AddIntMacro(glpk_module,GLP_DUAL);
++ /* pricing technique: */
++ PyModule_AddIntMacro(glpk_module,GLP_PT_STD);
++ PyModule_AddIntMacro(glpk_module,GLP_PT_PSE);
++ /* ratio test technique: */
++ PyModule_AddIntMacro(glpk_module,GLP_RT_STD);
++ PyModule_AddIntMacro(glpk_module,GLP_RT_HAR);
++
++ /* interior-point solver control parameters */
++ /* ordering algorithm: */
++ PyModule_AddIntMacro(glpk_module,GLP_ORD_NONE);
++ PyModule_AddIntMacro(glpk_module,GLP_ORD_QMD);
++ PyModule_AddIntMacro(glpk_module,GLP_ORD_AMD);
++ PyModule_AddIntMacro(glpk_module,GLP_ORD_SYMAMD);
++}
++
+ PyMODINIT_FUNC PyInit_glpk(void)
+ {
+ if (!(glpk_module = PyModule_Create(&glpk_module_def))) return NULL;
+- PyModule_AddObject(glpk_module, "options", PyDict_New());
++ if (PyType_Ready(&iocp_t) < 0 || (PyType_Ready(&smcp_t) < 0)) return NULL;
++ /* Adding macros */
++ addglpkConstants();
++ /* Adding option lists as objects */
++ Py_INCREF(&smcp_t);
++ PyModule_AddObject(glpk_module,"smcp",(PyObject*)&smcp_t);
++ Py_INCREF(&iocp_t);
++ PyModule_AddObject(glpk_module,"iocp",(PyObject*)&iocp_t);
+ if (import_cvxopt() < 0) return NULL;
+ return glpk_module;
+ }
+@@ -832,8 +970,13 @@
+ PyMODINIT_FUNC initglpk(void)
+ {
+ glpk_module = Py_InitModule3("cvxopt.glpk", glpk_functions,
+- glpk__doc__);
+- PyModule_AddObject(glpk_module, "options", PyDict_New());
++ glpk__doc__);
++ if (PyType_Ready(&iocp_t) < 0 || (PyType_Ready(&smcp_t) < 0)) return NULL;
++ addglpkConstants();
++ Py_INCREF(&smcp_t);
++ PyModule_AddObject(glpk_module,"smcp",(PyObject*)&smcp_t);
++ Py_INCREF(&iocp_t);
++ PyModule_AddObject(glpk_module,"iocp",(PyObject*)&iocp_t);
+ if (import_cvxopt() < 0) return;
+ }
+
diff --git a/dev-python/cvxopt/files/cvxopt-1.1.6-setup.patch b/dev-python/cvxopt/files/cvxopt-1.1.6-setup.patch
new file mode 100644
index 000000000000..c95f31bf6048
--- /dev/null
+++ b/dev-python/cvxopt/files/cvxopt-1.1.6-setup.patch
@@ -0,0 +1,176 @@
+--- setup.py.orig 2013-05-16 21:36:29.616510963 +1200
++++ setup.py 2013-05-16 21:51:08.456347311 +1200
+@@ -2,7 +2,7 @@
+ from glob import glob
+
+ # Modifiy this if BLAS and LAPACK libraries are not in /usr/lib.
+-BLAS_LIB_DIR = '/usr/lib'
++BLAS_LIB_DIR = ''
+
+ # Default names of BLAS and LAPACK libraries
+ BLAS_LIB = ['blas']
+@@ -18,37 +18,37 @@
+ BUILD_GSL = 0
+
+ # Directory containing libgsl (used only when BUILD_GSL = 1).
+-GSL_LIB_DIR = '/usr/lib'
++GSL_LIB_DIR = ''
+
+ # Directory containing the GSL header files (used only when BUILD_GSL = 1).
+-GSL_INC_DIR = '/usr/include/gsl'
++GSL_INC_DIR = ''
+
+ # Set to 1 if you are installing the fftw module.
+ BUILD_FFTW = 0
+
+ # Directory containing libfftw3 (used only when BUILD_FFTW = 1).
+-FFTW_LIB_DIR = '/usr/lib'
++FFTW_LIB_DIR = ''
+
+ # Directory containing fftw.h (used only when BUILD_FFTW = 1).
+-FFTW_INC_DIR = '/usr/include'
++FFTW_INC_DIR = ''
+
+ # Set to 1 if you are installing the glpk module.
+ BUILD_GLPK = 0
+
+ # Directory containing libglpk (used only when BUILD_GLPK = 1).
+-GLPK_LIB_DIR = '/usr/lib'
++GLPK_LIB_DIR = ''
+
+ # Directory containing glpk.h (used only when BUILD_GLPK = 1).
+-GLPK_INC_DIR = '/usr/include'
++GLPK_INC_DIR = ''
+
+ # Set to 1 if you are installing the DSDP module.
+ BUILD_DSDP = 0
+
+ # Directory containing libdsdp (used only when BUILD_DSDP = 1).
+-DSDP_LIB_DIR = '/usr/lib'
++DSDP_LIB_DIR = ''
+
+ # Directory containing dsdp5.h (used only when BUILD_DSDP = 1).
+-DSDP_INC_DIR = '/usr/include/dsdp'
++DSDP_INC_DIR = ''
+
+ # No modifications should be needed below this line.
+
+@@ -61,39 +61,32 @@
+ # optional modules
+
+ if BUILD_GSL:
+- gsl = Extension('gsl', libraries = ['m', 'gsl'] + BLAS_LIB,
+- include_dirs = [ GSL_INC_DIR ],
+- library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ],
+- extra_link_args = BLAS_EXTRA_LINK_ARGS,
++ gsl = Extension('gsl', libraries = ['gsl'],
++ library_dirs = [ GSL_LIB_DIR ],
+ sources = ['src/C/gsl.c'] )
+ extmods += [gsl];
+
+ if BUILD_FFTW:
+- fftw = Extension('fftw', libraries = ['fftw3'] + BLAS_LIB,
+- include_dirs = [ FFTW_INC_DIR ],
+- library_dirs = [ FFTW_LIB_DIR, BLAS_LIB_DIR ],
+- extra_link_args = BLAS_EXTRA_LINK_ARGS,
++ fftw = Extension('fftw', libraries = ['fftw3'],
++ library_dirs = [ FFTW_LIB_DIR ],
+ sources = ['src/C/fftw.c'] )
+ extmods += [fftw];
+
+ if BUILD_GLPK:
+ glpk = Extension('glpk', libraries = ['glpk'],
+- include_dirs = [ GLPK_INC_DIR ],
+ library_dirs = [ GLPK_LIB_DIR ],
+ sources = ['src/C/glpk.c'] )
+ extmods += [glpk];
+
+ if BUILD_DSDP:
+- dsdp = Extension('dsdp', libraries = ['dsdp'] + LAPACK_LIB + BLAS_LIB,
+- include_dirs = [ DSDP_INC_DIR ],
+- library_dirs = [ DSDP_LIB_DIR, BLAS_LIB_DIR ],
+- extra_link_args = BLAS_EXTRA_LINK_ARGS,
++ dsdp = Extension('dsdp', libraries = ['dsdp'],
++ library_dirs = [ DSDP_LIB_DIR ],
+ sources = ['src/C/dsdp.c'] )
+ extmods += [dsdp];
+
+ # Required modules
+
+-base = Extension('base', libraries = ['m'] + LAPACK_LIB + BLAS_LIB,
++base = Extension('base', libraries = ['m'] + LAPACK_LIB,
+ library_dirs = [ BLAS_LIB_DIR ],
+ define_macros = MACROS,
+ extra_link_args = BLAS_EXTRA_LINK_ARGS,
+@@ -105,61 +98,36 @@
+ extra_link_args = BLAS_EXTRA_LINK_ARGS,
+ sources = ['src/C/blas.c'] )
+
+-lapack = Extension('lapack', libraries = LAPACK_LIB + BLAS_LIB,
++lapack = Extension('lapack', libraries = LAPACK_LIB,
+ library_dirs = [ BLAS_LIB_DIR ],
+ define_macros = MACROS,
+ extra_link_args = BLAS_EXTRA_LINK_ARGS,
+ sources = ['src/C/lapack.c'] )
+
+ umfpack = Extension('umfpack',
+- include_dirs = [ 'src/C/SuiteSparse/UMFPACK/Include',
+- 'src/C/SuiteSparse/AMD/Include',
+- 'src/C/SuiteSparse/AMD/Source',
+- 'src/C/SuiteSparse/SuiteSparse_config' ],
+ library_dirs = [ BLAS_LIB_DIR ],
+ define_macros = MACROS + [('NTIMER', '1'), ('NCHOLMOD', '1')],
+- libraries = LAPACK_LIB + BLAS_LIB,
++ libraries = [ 'umfpack' ],
+ extra_compile_args = ['-Wno-unknown-pragmas'],
+- extra_link_args = BLAS_EXTRA_LINK_ARGS,
+- sources = [ 'src/C/umfpack.c',
+- 'src/C/SuiteSparse/UMFPACK/Source/umfpack_global.c',
+- 'src/C/SuiteSparse/UMFPACK/Source/umfpack_tictoc.c' ] +
+- ['src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c'] +
+- glob('src/C/SuiteSparse_cvxopt_extra/umfpack/*'))
++ sources = [ 'src/C/umfpack.c' ])
+
+ # Build for int or long?
+ import sys
+ if sys.maxsize > 2**31: MACROS += [('DLONG',None)]
+
+ cholmod = Extension('cholmod',
+- library_dirs = [ BLAS_LIB_DIR ],
+- libraries = LAPACK_LIB + BLAS_LIB,
+- include_dirs = [ 'src/C/SuiteSparse/CHOLMOD/Include',
+- 'src/C/SuiteSparse/COLAMD',
+- 'src/C/SuiteSparse/AMD/Include',
+- 'src/C/SuiteSparse/COLAMD/Include',
+- 'src/C/SuiteSparse/SuiteSparse_config' ],
+- define_macros = MACROS + [('NPARTITION', '1'), ('NTIMER', '1')],
+- extra_link_args = BLAS_EXTRA_LINK_ARGS,
+- sources = [ 'src/C/cholmod.c' ] +
+- ['src/C/SuiteSparse/AMD/Source/' + s for s in ['amd_global.c',
+- 'amd_postorder.c', 'amd_post_tree.c', 'amd_2.c']] +
+- ['src/C/SuiteSparse/COLAMD/Source/' + s for s in ['colamd.c',
+- 'colamd_global.c']] +
+- ['src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c'] +
+- glob('src/C/SuiteSparse/CHOLMOD/Core/c*.c') +
+- glob('src/C/SuiteSparse/CHOLMOD/Cholesky/c*.c') +
+- ['src/C/SuiteSparse/CHOLMOD/Check/cholmod_check.c'] +
+- glob('src/C/SuiteSparse/CHOLMOD/Supernodal/c*.c') )
++ library_dirs = [ BLAS_LIB_DIR ],
++ libraries = ['cholmod'] + BLAS_LIB,
++ define_macros = MACROS + [('NPARTITION', '1'), ('NTIMER', '1')],
++ sources = [ 'src/C/cholmod.c' ])
+
+ amd = Extension('amd',
+- include_dirs = [ 'src/C/SuiteSparse/AMD/Include',
+- 'src/C/SuiteSparse/SuiteSparse_config' ],
+ define_macros = MACROS,
+- sources = [ 'src/C/amd.c' ] + glob('src/C/SuiteSparse/AMD/Source/*.c') )
++ libraries = ['amd'],
++ sources = [ 'src/C/amd.c' ])
+
+ misc_solvers = Extension('misc_solvers',
+- libraries = LAPACK_LIB + BLAS_LIB,
++ libraries = LAPACK_LIB,
+ library_dirs = [ BLAS_LIB_DIR ],
+ define_macros = MACROS,
+ extra_link_args = BLAS_EXTRA_LINK_ARGS,
diff --git a/dev-python/cvxopt/metadata.xml b/dev-python/cvxopt/metadata.xml
new file mode 100644
index 000000000000..9202e558f39b
--- /dev/null
+++ b/dev-python/cvxopt/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ CVXOPT is a software for convex optimization based on
+ the Python programming language. Its main purpose is to make the
+ development of software for convex optimization applications
+ straightforward.
+</longdescription>
+ <use>
+ <flag name="dsdp">Use interior point library
+ <pkg>sci-libs/dsdp</pkg></flag>
+ <flag name="glpk">Use GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">cvxopt/cvxopt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cx_Freeze/Manifest b/dev-python/cx_Freeze/Manifest
new file mode 100644
index 000000000000..894f6219fde8
--- /dev/null
+++ b/dev-python/cx_Freeze/Manifest
@@ -0,0 +1,3 @@
+DIST cx_Freeze-4.3.1.tar.gz 53441 SHA256 11f8818ab4e1754c81c1226ce3430f29e6ba231a22a153ce3794a5cc464fa11b SHA512 3fbd179e6b0dcdc926c8827745dfe52df01c0ba1a36f5ae01240d977a251517ce9dba6b6f276a2a292f4a0bd91e923899da1bbd08671cee687a912980481e9e9 WHIRLPOOL dcbc2d29eafd4e3f4361da7a6501fa929bd1bd66b0f29b0d9cd717609b30150ea43387468565d41e663d1f8425f7889122da929c8b160473cb0580d2630e02a5
+DIST cx_Freeze-4.3.2.tar.gz 55816 SHA256 d634aae1e1d20b660d24245450b8a5ea3ad9c443cd735d8fbe17c1d93b8b23df SHA512 2ff4d695ac5ff23b68d0ee32c94948beef7c6be9a2b606e43c77bf954fe96c0dba6fa5186e3995c2937c6b5862fb3b0dd3e21c518626c1905a13b6d0abdcd3ec WHIRLPOOL e3ee3cc1b893f18b3afea645bdb7d5c72d5363380aa18a2416d2693c9f185a57442083f4bf19760ffdf7fe8e587ab835c2dbe56ed713c3bf59679a0d92bb1fca
+DIST cx_Freeze-4.3.3.tar.gz 58975 SHA256 eaac9ab61117c64371384766e0b9c6603d3bdb23cf306b257f31b8a3a5740729 SHA512 a707d5acca4a01a762d6ba9fde35e47405c03d769c15bf828bfa16bacb48f41c75f28d08cefb7e1825e2b9c85fae46f7728ecd9d095a11e2740286cc2d798d52 WHIRLPOOL 9a5623705842c08b7e9efb67829abac164224170f513c8f021e9f6da36c83a9faf966e763dc2fe8ad8e4c2622cbbcfa9ce0f370cd01735741e3807b113b1520a
diff --git a/dev-python/cx_Freeze/cx_Freeze-4.3.1-r2.ebuild b/dev-python/cx_Freeze/cx_Freeze-4.3.1-r2.ebuild
new file mode 100644
index 000000000000..5635f916386e
--- /dev/null
+++ b/dev-python/cx_Freeze/cx_Freeze-4.3.1-r2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+inherit distutils-r1
+
+DESCRIPTION="Create standalone executables from Python scripts"
+HOMEPAGE="http://cx-freeze.sourceforge.net"
+SRC_URI="mirror://sourceforge/cx-freeze/${P}.tar.gz"
+
+LICENSE="PYTHON"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DOCS=( README.txt )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.2-buildsystem.patch" # bug #491602
+)
diff --git a/dev-python/cx_Freeze/cx_Freeze-4.3.2.ebuild b/dev-python/cx_Freeze/cx_Freeze-4.3.2.ebuild
new file mode 100644
index 000000000000..effe661d5afe
--- /dev/null
+++ b/dev-python/cx_Freeze/cx_Freeze-4.3.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+inherit distutils-r1
+
+DESCRIPTION="Create standalone executables from Python scripts"
+HOMEPAGE="http://cx-freeze.sourceforge.net"
+SRC_URI="mirror://sourceforge/cx-freeze/${P}.tar.gz"
+
+LICENSE="PYTHON"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.txt )
+
+PATCHES=(
+ "${FILESDIR}/${P}-buildsystem.patch" # bug #491602
+)
diff --git a/dev-python/cx_Freeze/cx_Freeze-4.3.3.ebuild b/dev-python/cx_Freeze/cx_Freeze-4.3.3.ebuild
new file mode 100644
index 000000000000..8f62d8769d07
--- /dev/null
+++ b/dev-python/cx_Freeze/cx_Freeze-4.3.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Create standalone executables from Python scripts"
+HOMEPAGE="http://cx-freeze.sourceforge.net"
+SRC_URI="mirror://sourceforge/cx-freeze/${P}.tar.gz"
+
+LICENSE="PYTHON"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.2-buildsystem.patch" # bug #491602
+)
+# test folder missing half the source content.
diff --git a/dev-python/cx_Freeze/files/cx_Freeze-4.3.2-buildsystem.patch b/dev-python/cx_Freeze/files/cx_Freeze-4.3.2-buildsystem.patch
new file mode 100644
index 000000000000..288443bba495
--- /dev/null
+++ b/dev-python/cx_Freeze/files/cx_Freeze-4.3.2-buildsystem.patch
@@ -0,0 +1,31 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Tue Nov 19 11:20:21 UTC 2013
+
+Respect LDFLAGS, remove stripping.
+Fixes Gentoo bug #491602
+
+--- a/cx_Freeze-4.3.2/setup.py
++++ b/cx_Freeze-4.3.2/setup.py
+@@ -78,11 +78,12 @@
+ extraArgs = ext.extra_link_args or []
+ if sys.platform != "win32":
+ vars = distutils.sysconfig.get_config_vars()
++ if vars["LINKFORSHARED"] and sys.platform != "darwin":
++ vars["LINKFORSHARED"] = vars["LINKFORSHARED"] + " " + os.environ["LDFLAGS"]
++ extraArgs.extend(vars["LINKFORSHARED"].split())
+ if not vars.get("Py_ENABLE_SHARED", 0):
+ libraryDirs.append(vars["LIBPL"])
+ libraries.append("python%s.%s" % sys.version_info[:2])
+- if vars["LINKFORSHARED"] and sys.platform != "darwin":
+- extraArgs.extend(vars["LINKFORSHARED"].split())
+ if vars["LIBS"]:
+ extraArgs.extend(vars["LIBS"].split())
+ if vars["LIBM"]:
+@@ -91,7 +92,6 @@
+ extraArgs.extend(vars["BASEMODLIBS"].split())
+ if vars["LOCALMODLIBS"]:
+ extraArgs.extend(vars["LOCALMODLIBS"].split())
+- extraArgs.append("-s")
+ elif ext.name.find("Win32GUI") > 0 \
+ and self.compiler.compiler_type == "mingw32":
+ extraArgs.append("-mwindows")
diff --git a/dev-python/cx_Freeze/metadata.xml b/dev-python/cx_Freeze/metadata.xml
new file mode 100644
index 000000000000..277c7f1ba6a8
--- /dev/null
+++ b/dev-python/cx_Freeze/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">cx-freeze</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
new file mode 100644
index 000000000000..1b3ff65f3b7a
--- /dev/null
+++ b/dev-python/cython/Manifest
@@ -0,0 +1,2 @@
+DIST Cython-0.22.1.tar.gz 1581021 SHA256 7fff120e65e7b66edb4a42823f5642bad3bc1e5601bf882d66aee50248cf0682 SHA512 96cfdcaa52b40cc1592e56429eefb3166280a1cecfb67e56b1cd3c4ecf9092bf7a85f340d87345f354f9ccce9e74fcb11b80251e74d10e85781fa371f3f58fef WHIRLPOOL 4de771f49897856a34bb4e5cf83156946e78390fec2c6e5f948e061187428b3dc706ffdfb699b67aa66551c040c65a80eb1a6efa95a9d3194a18ea7b90ccd6f7
+DIST Cython-0.22.tar.gz 1584483 SHA256 14307e7a69af9a0d0e0024d446af7e51cc0e3e4d0dfb10d36ba837e5e5844015 SHA512 856220fa579e272ac38dcef091760f527431ff3b98df9af6e68416fcf77d9659ac5abe5c7dee41331f359614637a4ff452033085335ee499830ed126ab584267 WHIRLPOOL d9919e1fe33f7ea02833c485e10667d8470d7c69901b2419c6c4c1d464f9ef2444795e14903cc66b6fee40ec5a4c20308c331ad93fd8818f207d0a21cccf9b2b
diff --git a/dev-python/cython/cython-0.22.1.ebuild b/dev-python/cython/cython-0.22.1.ebuild
new file mode 100644
index 000000000000..ad80457e8ddc
--- /dev/null
+++ b/dev-python/cython/cython-0.22.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic toolchain-funcs
+
+MY_PN="Cython"
+MY_P="${MY_PN}-${PV/_/}"
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="http://www.cython.org/ http://pypi.python.org/pypi/Cython"
+SRC_URI="http://www.cython.org/release/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND=""
+# On testing, setuptools invokes an error in running the testsuite cited in a number of recent bugs
+# spanning several packages. This bug has been fixed in the recent release of version 9.1
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-9.1[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV%_*}"
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS}"
+ local CXXFLAGS="${CXXFLAGS}"
+ append-flags -fno-strict-aliasing
+ fi
+
+ # Python gets confused when it is in sys.path before build.
+ local PYTHONPATH=
+ export PYTHONPATH
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && unset XDG_CONFIG_HOME && emake -C docs html
+}
+
+python_test() {
+ tc-export CC
+ "${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.txt ToDo.txt USAGE.txt )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( Demos/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cython/cython-0.22.ebuild b/dev-python/cython/cython-0.22.ebuild
new file mode 100644
index 000000000000..f149e18a328c
--- /dev/null
+++ b/dev-python/cython/cython-0.22.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic toolchain-funcs
+
+MY_PN="Cython"
+MY_P="${MY_PN}-${PV/_/}"
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="http://www.cython.org/ http://pypi.python.org/pypi/Cython"
+SRC_URI="http://www.cython.org/release/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND=""
+# On testing, setuptools invokes an error in running the testsuite cited in a number of recent bugs
+# spanning several packages. This bug has been fixed in the recent release of version 9.1
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-9.1[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV%_*}"
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS}"
+ local CXXFLAGS="${CXXFLAGS}"
+ append-flags -fno-strict-aliasing
+ fi
+
+ # Python gets confused when it is in sys.path before build.
+ local PYTHONPATH=
+ export PYTHONPATH
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && unset XDG_CONFIG_HOME && emake -C docs html
+}
+
+python_test() {
+ tc-export CC
+ "${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.txt ToDo.txt USAGE.txt )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( Demos/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cython/metadata.xml b/dev-python/cython/metadata.xml
new file mode 100644
index 000000000000..41e10f103ab2
--- /dev/null
+++ b/dev-python/cython/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Cython is a language that makes writing C extensions for the Python
+ language as easy as Python itself. It's based on Pyrex, but supports
+ more cutting edge functionality and optimizations.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/cytoolz/Manifest b/dev-python/cytoolz/Manifest
new file mode 100644
index 000000000000..f2c258d24f7a
--- /dev/null
+++ b/dev-python/cytoolz/Manifest
@@ -0,0 +1,3 @@
+DIST cytoolz-0.7.1.tar.gz 250988 SHA256 297b3cf8606afc3332e0d0b0da707b306f8cec6f8f9a962a04181caee9bbf27e SHA512 742acde6316d5fe0cda1cb7be86812ad79bad9b5402e3b7d3d29f22afce3222d14fa8fe5a41d9cb2f3a3745f6a7ca5db3395873a5dee3e55c661fc01bfa3b007 WHIRLPOOL a54572e85e160fb7dda5eeb3ef2e5c4aca9c4e5a390321112783cfad1e40100d37eb0d763d92d3335a4ffab50bb562ce7f8138b9bc4a5722ddbd115f625baad1
+DIST cytoolz-0.7.2.tar.gz 281930 SHA256 0800949df710aa487f52b1a9f97d8844e81e07067d6ec95581b1b792c098c159 SHA512 3423b25687b143e5c80bafbb20c1220f3030348844dc753c25e5aebd9ce0b0d3c571b386138c9f6d6546c22cd5a3f1ff73e0c2ae6ee5ad1f7607d90cc7e2da3c WHIRLPOOL bffb53e662aac32eacb7222103f79c89b8708628508e5fd6326a2bffbc30cd2a422b554c18acb537e7803cb80d1f9e6aee4501505f905358af9b19d4adf15ec1
+DIST cytoolz-0.7.3.tar.gz 304597 SHA256 202eb77cf2405c702c2172e5c2e66e3e2611f866640c99b38f24f96ad680dea8 SHA512 a9e83cb22b3b9af0c28754696c59a081e74e03b23f63eaf7bf31526d33b9d645bb82ec98e650e1a6c17d367951cbea6417c6b8c69ff3d80e2d45a8a44c97ed16 WHIRLPOOL fd16958c1158be3265c22a27d8c5a12510e20038cb846dac13ce6f24060096b64030bc4aea5f0c48bff6464b8fab048c3e3b0aef604e69693b38d5c9b7056051
diff --git a/dev-python/cytoolz/cytoolz-0.7.1.ebuild b/dev-python/cytoolz/cytoolz-0.7.1.ebuild
new file mode 100644
index 000000000000..bbd81d984d26
--- /dev/null
+++ b/dev-python/cytoolz/cytoolz-0.7.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Cython implementation of Toolz: High performance functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/cytoolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/cytoolz/cytoolz-0.7.2-r2.ebuild b/dev-python/cytoolz/cytoolz-0.7.2-r2.ebuild
new file mode 100644
index 000000000000..eaa2e9af3bff
--- /dev/null
+++ b/dev-python/cytoolz/cytoolz-0.7.2-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Cython implementation of Toolz: High performance functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/cytoolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# Informed by author the dep in toolz is not only required but the
+# tests are version sensitive.
+# https://github.com/pytoolz/cytoolz/issues/57
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/toolz-0.7.1[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib/ > /dev/null
+ PYTHONPATH=.:${PN} nosetests --with-doctest ${PN} || die "tests failed under ${EPYTHON}"
+ popd > /dev/null
+}
diff --git a/dev-python/cytoolz/cytoolz-0.7.3.ebuild b/dev-python/cytoolz/cytoolz-0.7.3.ebuild
new file mode 100644
index 000000000000..eaa2e9af3bff
--- /dev/null
+++ b/dev-python/cytoolz/cytoolz-0.7.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Cython implementation of Toolz: High performance functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/cytoolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# Informed by author the dep in toolz is not only required but the
+# tests are version sensitive.
+# https://github.com/pytoolz/cytoolz/issues/57
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/toolz-0.7.1[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib/ > /dev/null
+ PYTHONPATH=.:${PN} nosetests --with-doctest ${PN} || die "tests failed under ${EPYTHON}"
+ popd > /dev/null
+}
diff --git a/dev-python/cytoolz/metadata.xml b/dev-python/cytoolz/metadata.xml
new file mode 100644
index 000000000000..99e0558beda5
--- /dev/null
+++ b/dev-python/cytoolz/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cytoolz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/d2to1/Manifest b/dev-python/d2to1/Manifest
new file mode 100644
index 000000000000..72e6472cb96a
--- /dev/null
+++ b/dev-python/d2to1/Manifest
@@ -0,0 +1,2 @@
+DIST d2to1-0.2.11.tar.gz 25237 SHA256 64097a1b9270458898a0047034e9ba422a6456f51771105f33edb6b38e19bfa8 SHA512 46a8b8b154b77bbef7bfeeeba1d6752899fad1b4cac8a6df699d42c848dcccc51e16db6429d171efd829fd051215f58fd9a5ec2edb62a06cf75f00ec5faac4da WHIRLPOOL 88d71211a96523002892f8aa03abfdfd33b6859480898d8f0b68af5f1386976aa5563fbb0e15dfe588dab37d216fa74c7d990cb9ea4b61b7f53a9b8f7f5b99fe
+DIST d2to1-0.2.12.tar.gz 35901 SHA256 d75c431beb8ed9d75af35093a88218fd5fc38944ddbebff6234bea0228af43d3 SHA512 a437d3652a63267470488de677e9d9e9844265480a8693f8b0163db8e1801f123888a14b78b0efb99c88598601cda5af7cfba993bd053c0683ed9ea22e8342a6 WHIRLPOOL d27067ce3e55ba7408c08717a4a7c13e2b0e1383a3529ea95b4faf8cab74aa787648192f51179ec3bb312c9159bc0bbc93ce2befeaa709e165550392ab07767e
diff --git a/dev-python/d2to1/d2to1-0.2.11.ebuild b/dev-python/d2to1/d2to1-0.2.11.ebuild
new file mode 100644
index 000000000000..ccf82401d9d1
--- /dev/null
+++ b/dev-python/d2to1/d2to1-0.2.11.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Allows using distutils2-like setup.cfg files for a package metadata"
+HOMEPAGE="http://pypi.python.org/pypi/d2to1"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/d2to1/d2to1-0.2.12.ebuild b/dev-python/d2to1/d2to1-0.2.12.ebuild
new file mode 100644
index 000000000000..e1768efa21b0
--- /dev/null
+++ b/dev-python/d2to1/d2to1-0.2.12.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Allows using distutils2-like setup.cfg files for a package metadata"
+HOMEPAGE="http://pypi.python.org/pypi/d2to1"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/d2to1/metadata.xml b/dev-python/d2to1/metadata.xml
new file mode 100644
index 000000000000..a328208040ef
--- /dev/null
+++ b/dev-python/d2to1/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>d2to1 (the 'd' is for 'distutils') allows using distutils2-like
+ setup.cfg files for a package's metadata with a distribute/setuptools
+ setup.py script. It works by providing a distutils2-formatted setup.cfg
+ file containing all of a package's metadata, and a very minimal setup.py
+ which will slurp its arguments from the setup.cfg.</longdescription>
+ <upstream>
+ <remote-id type="pypi">d2to1</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dap/Manifest b/dev-python/dap/Manifest
new file mode 100644
index 000000000000..60a133ddfcc4
--- /dev/null
+++ b/dev-python/dap/Manifest
@@ -0,0 +1 @@
+DIST dap-2.2.6.7.tar.gz 54055 SHA256 89601cb351681e7cdc621c2aa9d8788d180d2f16f6d341f55f513c489af8701a SHA512 8b9ee3fbbe15777f050f067be29a8d4e8e8b58aa8b430f69330da262593808838c8e0b3946a6f7932dc5d4d1b9dad12be73b98f82a6c399f7383f2630ad6ce47 WHIRLPOOL f5f055bfa3f303643ac0593a972b732f4b431284e8c959c49ca3e41182d3a8b0bfb844ba9471318308a54408fb08ee19525679c0d9460ce29753ecc616883894
diff --git a/dev-python/dap/dap-2.2.6.7-r1.ebuild b/dev-python/dap/dap-2.2.6.7-r1.ebuild
new file mode 100644
index 000000000000..9a98974ed060
--- /dev/null
+++ b/dev-python/dap/dap-2.2.6.7-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Data Access Protocol client and server"
+HOMEPAGE="http://pydap.org http://pypi.python.org/pypi/dap http://pypi.python.org/pypi/Pydap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="server"
+
+RDEPEND="dev-python/httplib2[${PYTHON_USEDEP}]
+ server? (
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/pastescript[${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( docs/bugs docs/Changelog docs/history README TODO )
+
+src_prepare() {
+ sed -e "s/'dap.plugins'/'dap', 'dap.plugins'/" -i setup.py || die "sed failed"
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/dap/metadata.xml b/dev-python/dap/metadata.xml
new file mode 100644
index 000000000000..eb4573dd0945
--- /dev/null
+++ b/dev-python/dap/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <herd>python</herd>
+ <use>
+ <flag name="server">Enable OpenDAP server support</flag>
+ </use>
+ <longdescription lang="en">pydap is a Python implementation of the Data Access Protocol
+ a.k.a. DODS or OPeNDAP. Using pydap as a client you can access
+ hundreds of scientific datasets. You can also use it to serve your
+ data from a variety of formats.</longdescription>
+ <upstream>
+ <remote-id type="pypi">dap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/datashape/Manifest b/dev-python/datashape/Manifest
new file mode 100644
index 000000000000..6ccd353f2198
--- /dev/null
+++ b/dev-python/datashape/Manifest
@@ -0,0 +1,4 @@
+DIST datashape-0.4.2.tar.gz 79106 SHA256 56ca27c5eb090d3670d3f59d2cd4a9855c488495fd1888e6f723a21f42acfa32 SHA512 d12eecdce6ffeb77d9367fcf978c2cfddea3bd2daa53a2aea983464c41ff2a408f9d199462ed25eebf247f4bb0f9e827ac97a5acab19979a5d30789898441c49 WHIRLPOOL 5497a90258115e8db30414ab1bedbad88d38462e6606561c9be7645137557608ac12a384e93da08f3e2cb49c1ffbb5a3b5d33483376ee8f170cfe6af10a9dc32
+DIST datashape-0.4.4.tar.gz 80923 SHA256 c4142eadbdb986a350941e5427d35a2aa106934f9197e91ccb53809c4c79e394 SHA512 047127e070b1cbecd241a888a8b2d773ee149d05e08556644ae0add79f774be9795caab8b8c6de146dc9281ebfd93aadbcb54c2c08fc8fa7f1612834cecf9753 WHIRLPOOL 8294278a940f2a89e525e1133d5870c320b37d1cf1f48f24b267fa792c1599695e8b72cdda6a455500cd8d6d008d394791ba5ea71c7ff42d71da9059bcf47268
+DIST datashape-0.4.5.tar.gz 93549 SHA256 34d4922fa924ef474de2ef8b69833fe2d5da51703d74426f8c4354c9bb209d0f SHA512 f8fcaf923640e42d0ceb6cd607e89b74145443f33ec1d4c0018dc0093518d572ae890bf582487b0c2de6c9d793e96ebb7dc901a330150f2ef2f203b329db5968 WHIRLPOOL cb78a9fd8337d9047c473914f216a06ff3797cc3fc494982696ba8c379d3e50e7cc194f84557eada06fe8459d3711589ad6e1404eb2ae9e389e81e104d447ce0
+DIST datashape-0.4.6.tar.gz 94083 SHA256 872929d992929ee23ea939984d43d726458ddaa3367503bb4678edac81a4b854 SHA512 596b997ebf9f3b05d5c7d686514408630a987b5933ded24e5cfe1321ea32b1cb4b2f99b820c3e2ec608fdf5fcb1ec795f256bbc14c0ec2e6e8f21b61b083d696 WHIRLPOOL e85917492996b81d01f6c3c5577f5a446ce141c3518d332709a95d40584a77898b59264f3d03bd87a33d39df63854225020e604ca06341e090eeacd541a14047
diff --git a/dev-python/datashape/datashape-0.4.2.ebuild b/dev-python/datashape/datashape-0.4.2.ebuild
new file mode 100644
index 000000000000..e390a4bf85eb
--- /dev/null
+++ b/dev-python/datashape/datashape-0.4.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Language defining a data description protocol"
+HOMEPAGE="https://github.com/ContinuumIO/datashape"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/datashape/datashape-0.4.4.ebuild b/dev-python/datashape/datashape-0.4.4.ebuild
new file mode 100644
index 000000000000..e390a4bf85eb
--- /dev/null
+++ b/dev-python/datashape/datashape-0.4.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Language defining a data description protocol"
+HOMEPAGE="https://github.com/ContinuumIO/datashape"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/datashape/datashape-0.4.5.ebuild b/dev-python/datashape/datashape-0.4.5.ebuild
new file mode 100644
index 000000000000..1b828232d294
--- /dev/null
+++ b/dev-python/datashape/datashape-0.4.5.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Language defining a data description protocol"
+HOMEPAGE="https://github.com/ContinuumIO/datashape"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/datashape/datashape-0.4.6.ebuild b/dev-python/datashape/datashape-0.4.6.ebuild
new file mode 100644
index 000000000000..1b828232d294
--- /dev/null
+++ b/dev-python/datashape/datashape-0.4.6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Language defining a data description protocol"
+HOMEPAGE="https://github.com/ContinuumIO/datashape"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/datashape/metadata.xml b/dev-python/datashape/metadata.xml
new file mode 100644
index 000000000000..8731be10d26c
--- /dev/null
+++ b/dev-python/datashape/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ DataShape is a language for describing data. It is an extension of
+ the NumPy dtype with an emphasis on cross language support.
+</longdescription>
+ <upstream>
+ <remote-id type="github">ContinuumIO/datashape</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dbus-python/Manifest b/dev-python/dbus-python/Manifest
new file mode 100644
index 000000000000..67bd685a80d5
--- /dev/null
+++ b/dev-python/dbus-python/Manifest
@@ -0,0 +1 @@
+DIST dbus-python-1.2.0.tar.gz 602426 SHA256 e12c6c8b2bf3a9302f75166952cbe41d6b38c3441bbc6767dbd498942316c6df SHA512 013b23e08fa1ed43f53a756587fefbc9770f7c51e93510e555acbd77230b7200693419bba9a69680d790bbaf123f4a195afa38b3eee1143da950fee0b5130bce WHIRLPOOL 2b505646c21afd6238f32cda7aaf5f4b770d3c82b0d5c2c254f044729d6e06d3eab89cf816dbd22e96b8d8e1550297521dcb49fc90bb4825fdafd12d5beba5ee
diff --git a/dev-python/dbus-python/dbus-python-1.2.0-r1.ebuild b/dev-python/dbus-python/dbus-python-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..8b025358fb72
--- /dev/null
+++ b/dev-python/dbus-python/dbus-python-1.2.0-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit autotools eutils python-r1
+
+DESCRIPTION="Python bindings for the D-Bus messagebus"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/DBusBindings http://dbus.freedesktop.org/doc/dbus-python/"
+SRC_URI="http://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE="doc examples test"
+# API docs generated with epydoc, which is python2-only
+REQUIRED_USE="doc? ( python_targets_python2_7 )"
+
+RDEPEND=">=dev-libs/dbus-glib-0.100:=
+ >=sys-apps/dbus-1.6:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ dev-python/docutils[python_targets_python2_7?]
+ =dev-python/epydoc-3*[python_targets_python2_7?] )
+ test? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )"
+
+src_prepare() {
+ # Update py-compile, bug 529502.
+ eautoreconf
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ # epydoc is python2-only, bug #447642
+ local apidocs=--disable-api-docs
+ [[ ${EPYTHON/.*} = "python2" ]] && apidocs=$(use_enable doc api-docs)
+
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --disable-html-docs \
+ ${apidocs} \
+ PYTHON_LIBS="$(python-config --ldflags)"
+ # configure assumes that ${PYTHON}-config executable exists :/
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installing() {
+ default
+ [[ ${EPYTHON/.*} = "python2" ]] && use doc && dohtml -r api/*
+ }
+ python_foreach_impl run_in_build_dir installing
+ prune_libtool_files --modules
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/dbus-python/metadata.xml b/dev-python/dbus-python/metadata.xml
new file mode 100644
index 000000000000..1f701e5bb782
--- /dev/null
+++ b/dev-python/dbus-python/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/dbutils/Manifest b/dev-python/dbutils/Manifest
new file mode 100644
index 000000000000..d3655679a066
--- /dev/null
+++ b/dev-python/dbutils/Manifest
@@ -0,0 +1 @@
+DIST DBUtils-1.1.tar.gz 109943 SHA256 d62d1abaafdbd9245a53e9c901f4162125d0258ef8a489233dba4689cea0bff7 SHA512 34e2dd85e94bbf13804deb7a40707ed2d83174758af7282702e1614d34924a6ae085bca620da0233bfd8972a00332c022fe764e6e5efa642c3365879cdedf88e WHIRLPOOL d1ae1126c00acef91fbd01b6048adac5f81bec07ca523ef73684fcc0879e5b90e42d74c4e901eb65166cad4767f9d6c97ceca0434b971bd6606e62a2f2d0e818
diff --git a/dev-python/dbutils/dbutils-1.1-r1.ebuild b/dev-python/dbutils/dbutils-1.1-r1.ebuild
new file mode 100644
index 000000000000..eb0d95ab0092
--- /dev/null
+++ b/dev-python/dbutils/dbutils-1.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="DBUtils"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Database connections for multi-threaded environments"
+HOMEPAGE="http://www.webwareforpython.org/DBUtils http://pypi.python.org/pypi/DBUtils"
+SRC_URI="http://www.webwareforpython.org/downloads/DBUtils/${MY_P}.tar.gz"
+
+LICENSE="OSL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -i -e "s/, 'DBUtils.Tests'//" \
+ -e "s/, 'DBUtils.Examples'//" \
+ -e "/package_data=/d" \
+ setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -s ${MY_PN}/Tests
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${S}/${MY_PN}"/Docs/. )
+ use examples && local EXAMPLES=( "${MY_PN}"/Examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dbutils/metadata.xml b/dev-python/dbutils/metadata.xml
new file mode 100644
index 000000000000..acf9520461d0
--- /dev/null
+++ b/dev-python/dbutils/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+<email>robbat2@gentoo.org</email>
+<name>Robin H. Johnson</name>
+</maintainer>
+<longdescription lang="en">
+DBUtils is a suite of tools providing solid, persistent and pooled connections
+to a database that can be used in all kinds of multi-threaded environments
+like Webware for Python or other web application servers. The suite supports
+DB-API 2 compliant database interfaces and the classic PyGreSQL interface.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/ddt/Manifest b/dev-python/ddt/Manifest
new file mode 100644
index 000000000000..ce34b0340ed8
--- /dev/null
+++ b/dev-python/ddt/Manifest
@@ -0,0 +1 @@
+DIST ddt-1.0.0.tar.gz 5535 SHA256 e24ecb7e2cf0bf43fa9d4255d3ae2bd0b7ce30b1d1b89ace7aa68aca1152f37a SHA512 4afec9fca19479acefb4f01bd550d696f437e53bf8e63cbb9dc16aa0b7f6c0214f5c7dc8118044b2d6e794de54ce3bac539f8de58202df74619eee1d8c7f85c1 WHIRLPOOL 0c6d54566147ce9fe9d2a0a3004f1bc053854b97048264442573102494fd8185f4d0f60127ca576b3a066d25756902538400944620745144e6042d4c72c25e71
diff --git a/dev-python/ddt/ddt-1.0.0.ebuild b/dev-python/ddt/ddt-1.0.0.ebuild
new file mode 100644
index 000000000000..bf447015b8c8
--- /dev/null
+++ b/dev-python/ddt/ddt-1.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to multiply test cases"
+HOMEPAGE="http://pypi.python.org/pypi/ddt https://github.com/txels/ddt"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ddt/metadata.xml b/dev-python/ddt/metadata.xml
new file mode 100644
index 000000000000..a3ec71bb61c3
--- /dev/null
+++ b/dev-python/ddt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+Data-Driven/Decorated Tests - long_description='A library to multiply test cases
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">ddt</remote-id>
+ <remote-id type="github">txels/ddt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/decorator/Manifest b/dev-python/decorator/Manifest
new file mode 100644
index 000000000000..d1715c3ce033
--- /dev/null
+++ b/dev-python/decorator/Manifest
@@ -0,0 +1,3 @@
+DIST decorator-3.4.0.tar.gz 30333 SHA256 c20b404cbb7ee5cebd506688e0114e3cd76f5ce233805a51f36e1a7988d9d783 SHA512 94ae8ff3bf694b72ad85a04d02ed9b58c42d50341fbc7307a12fc5abcb8042d8f67df80b53e63afd4b692c52fbefec83b80b591cba036deee21e281a5e8ff249 WHIRLPOOL 05b1c59e23ca3ca38cf06a08ae7ef253779c18050445f37a7f926e69456979ab539966e1821a0bd97b63aeef343a89a681a01d0da54182992cdc769c1cdda5b4
+DIST decorator-3.4.2.tar.gz 6115 SHA256 7320002ce61dea6aa24adc945d9d7831b3669553158905cdd12f5d0027b54b44 SHA512 48e5c65ba4243310267e4a75660a55091d5d354e35f31c3c37d886bdf2f8bf915b54d829b9a0a8affe35920e1c981c41a06bcac0eaa8930b47a6ed1c68a71566 WHIRLPOOL 51b7afd6e91967783ffccab73b9a26fb53e103da5e9116621268828874bd6ace55c37f6ba5881bbdfd3593d017b5eaa42c9017c0cbaa88360af69a2368b7eef7
+DIST decorator-4.0.2.tar.gz 64850 SHA256 1a089279d5de2471c47624d4463f2e5b3fc6a2cf65045c39bf714fc461a25206 SHA512 9f135c9c624557a90619e46002f12d54f8c53045420f524bbc52dee0b488268501467b207ea8f4445a8aa7d119af3e615cd76cbc25c1d1335d3bb581a1045ab3 WHIRLPOOL 1a4a31fe67d4cdfc58cb5486f83ee059a9211af5c5e48d57c9b22a24e08e5659a2e8b4519ecaba68fa603ef6e5a0756f69ee10fbe173d07ffe23204b579f2f18
diff --git a/dev-python/decorator/decorator-3.4.0-r1.ebuild b/dev-python/decorator/decorator-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..f007a316aed6
--- /dev/null
+++ b/dev-python/decorator/decorator-3.4.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplifies the usage of decorators for the average programmer"
+HOMEPAGE="http://pypi.python.org/pypi/decorator http://code.google.com/p/micheles/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test-failure-exit.patch
+)
+
+python_test() {
+ local t=documentation.py
+ [[ ${EPYTHON} == python3* ]] && t=documentation3.py
+
+ "${PYTHON}" ${t} || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/decorator/decorator-3.4.2.ebuild b/dev-python/decorator/decorator-3.4.2.ebuild
new file mode 100644
index 000000000000..81a946181b75
--- /dev/null
+++ b/dev-python/decorator/decorator-3.4.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplifies the usage of decorators for the average programmer"
+HOMEPAGE="http://pypi.python.org/pypi/decorator http://code.google.com/p/micheles/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+# This release is missing no less than 8 files
+
+#python_test() {
+# local t=documentation.py
+# python_is_python3 && t=documentation3.py
+#
+# "${PYTHON}" ${t} || die "Tests fail with ${EPYTHON}"
+#}
diff --git a/dev-python/decorator/decorator-4.0.2.ebuild b/dev-python/decorator/decorator-4.0.2.ebuild
new file mode 100644
index 000000000000..3fafdcc465a2
--- /dev/null
+++ b/dev-python/decorator/decorator-4.0.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplifies the usage of decorators for the average programmer"
+HOMEPAGE="http://pypi.python.org/pypi/decorator http://code.google.com/p/micheles/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( docs/README.rst )
+
+python_test() {
+ "${PYTHON}" src/tests/test.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && dodoc documentation.pdf
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/decorator/files/decorator-3.4.0-test-failure-exit.patch b/dev-python/decorator/files/decorator-3.4.0-test-failure-exit.patch
new file mode 100644
index 000000000000..4126e2bdced0
--- /dev/null
+++ b/dev-python/decorator/files/decorator-3.4.0-test-failure-exit.patch
@@ -0,0 +1,35 @@
+From fb1fc865000c92fc431a04d54116001c35ec0cdd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
+Date: Fri, 21 Dec 2012 00:29:53 +0100
+Subject: [PATCH] Exit with failure when doctests fail.
+
+---
+ documentation.py | 3 ++-
+ documentation3.py | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/documentation.py b/documentation.py
+index 3d5a5c0..0ddd681 100644
+--- a/documentation.py
++++ b/documentation.py
+@@ -1131,4 +1131,5 @@ def hello(user):
+ print('hello %s' % user)
+
+ if __name__ == '__main__':
+- import doctest; doctest.testmod()
++ import doctest
++ sys.exit(0 if doctest.testmod()[0] == 0 else 1)
+diff --git a/documentation3.py b/documentation3.py
+index bd86cc6..4162d56 100644
+--- a/documentation3.py
++++ b/documentation3.py
+@@ -1167,4 +1167,5 @@ def hello(user):
+ print('hello %s' % user)
+
+ if __name__ == '__main__':
+- import doctest; doctest.testmod()
++ import doctest
++ sys.exit(0 if doctest.testmod()[0] == 0 else 1)
+--
+1.8.0.2
+
diff --git a/dev-python/decorator/metadata.xml b/dev-python/decorator/metadata.xml
new file mode 100644
index 000000000000..cc991ffb9094
--- /dev/null
+++ b/dev-python/decorator/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">The aim of the decorator python module is to simplify the usage of
+ decorators for the average programmer and to popularize
+ decorators usage giving examples of useful decorators, such as
+ memoize, tracing, redirecting_stdout, locked, etc.</longdescription>
+ <upstream>
+ <remote-id type="pypi">decorator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/decoratortools/Manifest b/dev-python/decoratortools/Manifest
new file mode 100644
index 000000000000..a7b4969ad996
--- /dev/null
+++ b/dev-python/decoratortools/Manifest
@@ -0,0 +1 @@
+DIST DecoratorTools-1.8.zip 29566 SHA256 da73f03a9fab80a205c8febcecee83f8a989eab8ce81affd7989210e4a3d9ea8 SHA512 b107b61d76c1c41ebe4f663d42fff3ecf184364fa46c234a8ad9df0d626bdd113c7527c6e1d97fc2d38c0fc76ff43dbe0190fc1297240c44d9ba490b11f6fa51 WHIRLPOOL efc61d822b3c8862fa2a927284e01b7c7e5d739afc576bc2bcca03f504b65d33119ba525de25f42d951291fc55279061998c8b9bca876185afdd88a2bbff42fb
diff --git a/dev-python/decoratortools/decoratortools-1.8-r1.ebuild b/dev-python/decoratortools/decoratortools-1.8-r1.ebuild
new file mode 100644
index 000000000000..af03a1de35ef
--- /dev/null
+++ b/dev-python/decoratortools/decoratortools-1.8-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="DecoratorTools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Class, function, and metaclass decorators"
+HOMEPAGE="http://pypi.python.org/pypi/DecoratorTools"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="|| ( PSF-2 ZPL )"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests broken with named tuples.
+ sed -e "s/additional_tests/_&/" -i test_decorators.py || die "sed failed"
+}
+
+python_test() {
+ esetup.py test && einfo "Tests passed under ${EPYTHON}" || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/decoratortools/metadata.xml b/dev-python/decoratortools/metadata.xml
new file mode 100644
index 000000000000..56f3768c3602
--- /dev/null
+++ b/dev-python/decoratortools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Use class and function decorators - even in Python 2.3 - now with source debugging for generated code.</longdescription>
+ <upstream>
+ <remote-id type="pypi">DecoratorTools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/deform/Manifest b/dev-python/deform/Manifest
new file mode 100644
index 000000000000..41580168f61d
--- /dev/null
+++ b/dev-python/deform/Manifest
@@ -0,0 +1,2 @@
+DIST deform-0.9.8.tar.gz 1336542 SHA256 fd4a4f216d939423a4fe5ef86ec9523b0f5f048cc37a7c9beed3d8316a06a094 SHA512 561fb7bdeefa848c2eeac3a36a13116409be0b9c90ef515fc9a3ac8f31e071767a155734a104ac261794caf35d0aacd434f243f19ffe4321fdabac3d9ccec789 WHIRLPOOL 4fd24743b0b01a279a193b6b24a4743d03c2bf7fa272f58953343e497f35fd1c835f3e0c9fd53ec9bdfdbe239d754ca927458b16696acc1b79c06c0fcc6f295e
+DIST deform-0.9.9.tar.gz 1336829 SHA256 a0ddbeba3ed5f4b061a2c83423e00a421003600868d71021816897dfa1d4b77a SHA512 f0f615415696adba8add8f37c7ab8b8d213ec6d1eb68e2322961cef46df9e381b2368515b524d71eed110a33aa8a7f0aee8302e39b4d6a8871a0eb78108aca11 WHIRLPOOL fa3a2462ae3f9d5ec81305c15efb2ceca0335dde12f3ef801933caf306dcfd3c95d989f2c61e940a757b9a029e5a090fa05435b24b5d18b3665bdbfc6975c602
diff --git a/dev-python/deform/deform-0.9.8.ebuild b/dev-python/deform/deform-0.9.8.ebuild
new file mode 100644
index 000000000000..d612d9b59596
--- /dev/null
+++ b/dev-python/deform/deform-0.9.8.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Another form generation library"
+HOMEPAGE="http://docs.pylonsproject.org/projects/deform/en/latest/ http://pypi.python.org/pypi/deform https://github.com/Pylons/deform"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# tests require zope.deprecation
+RESTRICT="test"
+
+RDEPEND=">=dev-python/translationstring-1.1[${PYTHON_USEDEP}]
+ >=dev-python/colander-1.0_alpha1[${PYTHON_USEDEP}]
+ >=dev-python/peppercorn-0.4[${PYTHON_USEDEP}]
+ >=dev-python/chameleon-1.2.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/beautifulsoup:4[${PYTHON_USEDEP}] )"
+
+# Include COPYRIGHT.txt because the license seems to require it.
+DOCS=( CHANGES.txt COPYRIGHT.txt README.txt )
+
+src_install() {
+ distutils-r1_src_install
+
+ # Install only the .rst source, as sphinx processing requires
+ # a theme only available from git that contains hardcoded
+ # references to files on https://static.pylonsproject.org/ (so
+ # the docs would not actually work offline). Install the
+ # source, which is somewhat readable.
+ docinto docs
+ dodoc docs/*.rst || die
+}
diff --git a/dev-python/deform/deform-0.9.9.ebuild b/dev-python/deform/deform-0.9.9.ebuild
new file mode 100644
index 000000000000..406b8a4cf99c
--- /dev/null
+++ b/dev-python/deform/deform-0.9.9.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Another form generation library"
+HOMEPAGE="http://docs.pylonsproject.org/projects/deform/en/latest/ http://pypi.python.org/pypi/deform https://github.com/Pylons/deform"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+# tests require zope.deprecation
+RESTRICT="test"
+
+RDEPEND=">=dev-python/translationstring-1.1[${PYTHON_USEDEP}]
+ >=dev-python/colander-1.0_alpha1[${PYTHON_USEDEP}]
+ >=dev-python/peppercorn-0.4[${PYTHON_USEDEP}]
+ >=dev-python/chameleon-1.2.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/beautifulsoup:4[${PYTHON_USEDEP}] )"
+
+# Include COPYRIGHT.txt because the license seems to require it.
+DOCS=( CHANGES.txt COPYRIGHT.txt README.txt )
+
+src_install() {
+ distutils-r1_src_install
+
+ # Install only the .rst source, as sphinx processing requires
+ # a theme only available from git that contains hardcoded
+ # references to files on https://static.pylonsproject.org/ (so
+ # the docs would not actually work offline). Install the
+ # source, which is somewhat readable.
+ docinto docs
+ dodoc docs/*.rst || die
+}
diff --git a/dev-python/deform/metadata.xml b/dev-python/deform/metadata.xml
new file mode 100644
index 000000000000..7751d9e184f7
--- /dev/null
+++ b/dev-python/deform/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">deform</remote-id>
+ <remote-id type="github">Pylons/deform</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/defusedxml/Manifest b/dev-python/defusedxml/Manifest
new file mode 100644
index 000000000000..ed7fd2fae288
--- /dev/null
+++ b/dev-python/defusedxml/Manifest
@@ -0,0 +1 @@
+DIST defusedxml-0.4.1.tar.gz 48889 SHA256 cd551d5a518b745407635bb85116eb813818ecaf182e773c35b36239fc3f2478 SHA512 78a7a1f3d1eed9d7cda00afaaccf8153c7f616303c53d3918341d75970d532932b04effcfc8b1b8ed88ba6d730cb56400e9e4ecee8aa7d2181c7577f1d535783 WHIRLPOOL 9f3f51af296e3fd16b2cd94029481fbabb687c986f39810dcba331c9d3e5e30e0b294f9f1f5ce031ea28053f33be1a13e89d65ef7d0c6a3333e81dc764868d7e
diff --git a/dev-python/defusedxml/defusedxml-0.4.1-r1.ebuild b/dev-python/defusedxml/defusedxml-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..44a9452cb399
--- /dev/null
+++ b/dev-python/defusedxml/defusedxml-0.4.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="XML bomb protection for Python stdlib modules, an xml serialiser"
+HOMEPAGE="https://bitbucket.org/tiran/defusedxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="alpha amd64 arm hppa ~ppc64 x86"
+IUSE="examples"
+
+LICENSE="PSF-2"
+SLOT="0"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( other/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/defusedxml/metadata.xml b/dev-python/defusedxml/metadata.xml
new file mode 100644
index 000000000000..1928bfb0b228
--- /dev/null
+++ b/dev-python/defusedxml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">defusedxml</remote-id>
+ <remote-id type="bitbucket">tiran/defusedxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/demjson/Manifest b/dev-python/demjson/Manifest
new file mode 100644
index 000000000000..d9917c95f89c
--- /dev/null
+++ b/dev-python/demjson/Manifest
@@ -0,0 +1,3 @@
+DIST demjson-1.6.tar.gz 64299 SHA256 1d989c310e33569ecc178b8182e53bde8f748bf5ea10cfbc0e331f8c313f6e29 SHA512 aad21fb11998fc2bd6d9ce6cf3be448d0cb6636716109384dcf268aa3b5c6e37f20e579e51d72e554de3e9e4857b7ea850727009bf72bf020ee0f305e3c258f9 WHIRLPOOL efef0bd9e180b52c8d176e65302f0e9850cd30e8eae28323e7a3abe60319a81f1f1f5019ba5835937544816bea8965746276b6597dce610224193dfc5d415a65
+DIST demjson-2.2.2.tar.gz 130874 SHA256 5114563dd3a0324b6c9c74250528660adbb6a095b2a015038149e31a9b5727d5 SHA512 c5df57fdc286b33fbceada0ff8531d559fb183b29ca114fbfef7dfd0615ad5bae3882da91b6818ad58be5e20d3c2091db7cb75b1c31285b8ed5f466984b5fc15 WHIRLPOOL 6ca4e599128a896df098514d2b1983b025122ac07ee5ffa2f673c2d441482e32b7fa013a3896c2efedfcea9114dbe2049927b1754d4db9127bdf1ab9f32ddda3
+DIST demjson-2.2.3.tar.gz 131263 SHA256 9fb0f3c02fe500104680af2889a64d1637b395aebdb37341ae2309d77854f40c SHA512 058f8429967e21b30a9e28ec7790c372f5eb3126d7ab05c17d6f0548002650314048bf2f4eb3e2c8f75bb91169722c90eeeddb815ca166dfb14b2d1385504b14 WHIRLPOOL b665e19c5c28afd4636b2f33959f7a14d04706c8e8d7c77ef790fb12e3aff56a1cea35420caf7eceb06de8b001cab07a3e38d4252b7f67a3dbba99fcc4f1d476
diff --git a/dev-python/demjson/demjson-1.6.ebuild b/dev-python/demjson/demjson-1.6.ebuild
new file mode 100644
index 000000000000..28953531ef66
--- /dev/null
+++ b/dev-python/demjson/demjson-1.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+DESCRIPTION="encoder, decoder, and lint/validator for JSON (JavaScript Object Notation) compliant with RFC 4627"
+HOMEPAGE="http://deron.meranda.us/python/demjson/ http://pypi.python.org/pypi/demjson"
+SRC_URI="http://deron.meranda.us/python/${PN}/dist/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
+
+DOCS="AUTHORS.txt CHANGES.txt NEWS.txt THANKS.txt docs/*.txt"
+PYTHON_MODNAME="demjson.py"
+
+src_test() {
+ cd test
+
+ testing() {
+ PYTHONPATH="../build-${PYTHON_ABI}/lib" "$(PYTHON)" test_demjson.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+
+ if use doc; then
+ dohtml docs/*.html || die "Installation of documentation failed"
+ fi
+}
diff --git a/dev-python/demjson/demjson-2.2.2.ebuild b/dev-python/demjson/demjson-2.2.2.ebuild
new file mode 100644
index 000000000000..5ce72c9cddf9
--- /dev/null
+++ b/dev-python/demjson/demjson-2.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="encoder, decoder, and lint/validator for JSON (JavaScript Object Notation) compliant with RFC 4627"
+HOMEPAGE="http://deron.meranda.us/python/demjson/ http://pypi.python.org/pypi/demjson"
+SRC_URI="http://deron.meranda.us/python/${PN}/dist/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ cd test
+ if python_is_python3; then
+ 2to3 -w --no-diffs test_demjson.py
+ fi
+ "${PYTHON}" test_demjson.py
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # Docs are .txt files
+ if use doc; then
+ dodoc docs/*.txt || die "Installation of documentation failed"
+ fi
+}
diff --git a/dev-python/demjson/demjson-2.2.3.ebuild b/dev-python/demjson/demjson-2.2.3.ebuild
new file mode 100644
index 000000000000..69d0794ca93f
--- /dev/null
+++ b/dev-python/demjson/demjson-2.2.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="encoder, decoder, and lint/validator for JSON (JavaScript Object Notation) compliant with RFC 4627"
+HOMEPAGE="http://deron.meranda.us/python/demjson/ http://pypi.python.org/pypi/demjson"
+SRC_URI="http://deron.meranda.us/python/${PN}/dist/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ cd test
+ if python_is_python3; then
+ 2to3 -w --no-diffs test_demjson.py
+ fi
+ "${PYTHON}" test_demjson.py
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # Docs are .txt files
+ if use doc; then
+ dodoc docs/*.txt || die "Installation of documentation failed"
+ fi
+}
diff --git a/dev-python/demjson/metadata.xml b/dev-python/demjson/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/demjson/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/dicttoxml/Manifest b/dev-python/dicttoxml/Manifest
new file mode 100644
index 000000000000..8defe7562815
--- /dev/null
+++ b/dev-python/dicttoxml/Manifest
@@ -0,0 +1,2 @@
+DIST dicttoxml-1.5.6.tar.gz 14627 SHA256 7b7375b1721cb64e5c69927335bf8dc8e0c83ebe9ed120526fe7043f0b70c52a SHA512 53f54c929afae4f84b532e96ab9876b19d24eb4ff2e6347f689257e582bc155e3552e1482118ed3f38f62d70b4f463441268d89b5c14f43ef16a2287c25aeef1 WHIRLPOOL f2ba052b486f84cf9a1c55812ebc94cf84c1d11f1ad26c16836349e0bd36747fb1bcbf8884cc253e38f32c7af62f9590248a464981a1f2e2219be47b0d8908a4
+DIST dicttoxml-1.6.6.tar.gz 15790 SHA256 8229dcbadbe8a417b5e221b0bd56dff8a8ffd250951e6e95d51d5c5e2a77cc68 SHA512 d2bf83f107b5d81a4fd04e9a5beb162db65808f7bb97d15de5d34beb8a4a2f68fce9e4c46f9c0c56d56c4fcce48181b3175a821834e4fb18d1ee4bc1ac952c8b WHIRLPOOL 3f9f9e96b7cc6185c1e170fab54088686765a04c9fab52bcbcf117716cfc7f3795dee48d1b6e92619924aed8c19261071030fe7b13349a84bd25c3acb0fd5304
diff --git a/dev-python/dicttoxml/dicttoxml-1.5.6.ebuild b/dev-python/dicttoxml/dicttoxml-1.5.6.ebuild
new file mode 100644
index 000000000000..4bbf59894080
--- /dev/null
+++ b/dev-python/dicttoxml/dicttoxml-1.5.6.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Converts a Python dictionary or other native data type into a valid XML string"
+HOMEPAGE="https://github.com/quandyfactory/dicttoxml"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
diff --git a/dev-python/dicttoxml/dicttoxml-1.6.6.ebuild b/dev-python/dicttoxml/dicttoxml-1.6.6.ebuild
new file mode 100644
index 000000000000..47489944bef1
--- /dev/null
+++ b/dev-python/dicttoxml/dicttoxml-1.6.6.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Converts a Python dictionary or other ata type to a valid XML string"
+HOMEPAGE="https://github.com/quandyfactory/dicttoxml"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/dicttoxml/metadata.xml b/dev-python/dicttoxml/metadata.xml
new file mode 100644
index 000000000000..c026e9d62231
--- /dev/null
+++ b/dev-python/dicttoxml/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">dicttoxml</remote-id>
+ <remote-id type="github">quandyfactory/dicttoxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/diff-match-patch/Manifest b/dev-python/diff-match-patch/Manifest
new file mode 100644
index 000000000000..a8d49cad2628
--- /dev/null
+++ b/dev-python/diff-match-patch/Manifest
@@ -0,0 +1 @@
+DIST diff-match-patch-20121119.tar.gz 54113 SHA256 9dba5611fbf27893347349fd51cc1911cb403682a7163373adacc565d11e2e4c SHA512 3daff80a6043a0413c515125a21839d9fa1d71f7e2441f4870ebefed35f1accea711814ad231c65de0e3468bbd01402c977fc063ab120b7d9f0e04ef555a8207 WHIRLPOOL ebd50cd7b86cb6c5b003f09d3c8efccda14cb1b2d158123b424f0c2bd40b37338ac8f13dcf464feb408d661db0ed6134fa9fc5c9954ebf35a3ebce206552b3aa
diff --git a/dev-python/diff-match-patch/diff-match-patch-20121119.ebuild b/dev-python/diff-match-patch/diff-match-patch-20121119.ebuild
new file mode 100644
index 000000000000..35d9c513165f
--- /dev/null
+++ b/dev-python/diff-match-patch/diff-match-patch-20121119.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Diff, match and patch algorithms for plain text"
+HOMEPAGE="http://code.google.com/p/google-diff-match-patch/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/diff-match-patch/metadata.xml b/dev-python/diff-match-patch/metadata.xml
new file mode 100644
index 000000000000..e01e20080e11
--- /dev/null
+++ b/dev-python/diff-match-patch/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">The Diff Match and Patch libraries offer robust algorithms to perform
+ the operations required for synchronizing plain text.
+ Diff: Compare two blocks of plain text and efficiently return a list of
+ differences.
+ Match: Given a search string, find its best fuzzy match in a block of
+ plain text. Weighted for both accuracy and location.
+ Patch: Apply a list of patches onto plain text. Use best-effort to apply
+ patch even when the underlying text doesn't match.
+ Diff Match and Patch libraries are currently available in Java,
+ JavaScript, C++, C#, Objective C, Lua and Python, although this package
+ contains only Python implementation. Regardless of language, each
+ library features the same API and the same functionality. All versions
+ also have comprehensive test harnesses.</longdescription>
+ <upstream>
+ <remote-id type="pypi">diff-match-patch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dingus/Manifest b/dev-python/dingus/Manifest
new file mode 100644
index 000000000000..45dcbd31a31f
--- /dev/null
+++ b/dev-python/dingus/Manifest
@@ -0,0 +1 @@
+DIST dingus-0.3.4.tar.gz 6202 SHA256 eaacfcd17819eb9a0ee18c018be3a354a632a6e82b610d72f8a3bf33a1d7db35 SHA512 7fffe0a02037b8e85f4d58fac1b5e59af98a8fc4a298f67bf9cd813b369c469046dfbbdb07965df4aa8ada56de1f097c19ed448d99fc41047f02e5dec701e504 WHIRLPOOL a4fe81f496d81ca296a09f71e1aa18f9884f586c5343d7458fc2807fed5848e61080010a658c846720ae275f402e68a28b7c119776c4c95fb93adc654dd63e72
diff --git a/dev-python/dingus/dingus-0.3.4-r1.ebuild b/dev-python/dingus/dingus-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..aaaeeee6350c
--- /dev/null
+++ b/dev-python/dingus/dingus-0.3.4-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A record-then-assert mocking library"
+HOMEPAGE="http://pypi.python.org/pypi/dingus/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ sed -i -e '/data_files/d' setup.py || die #413769
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/dingus/metadata.xml b/dev-python/dingus/metadata.xml
new file mode 100644
index 000000000000..c8785f62bc77
--- /dev/null
+++ b/dev-python/dingus/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">dingus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/discogs-client/Manifest b/dev-python/discogs-client/Manifest
new file mode 100644
index 000000000000..130842346f2c
--- /dev/null
+++ b/dev-python/discogs-client/Manifest
@@ -0,0 +1,2 @@
+DIST discogs-client-2.0.2.tar.gz 25486 SHA256 7de2166ee4f7f5dc4cf1709b7a6abe6211a0046f2341874d2c67e5c6466351a8 SHA512 00634eb95018ccb2ece0adf4b7e3ea96674f0c8dd63d9bd151cdf9c871898fa24379f78065ebb677cc87eaffa31e91ba60051622a38c6bd774e010c20229b16e WHIRLPOOL ae54cdbb93d7fdfb26301f57a4ee3f0ec925a55a29c377c875221d62a0c54e54d957075ab04800fcc39aa3152317511ec775a66e6a5e25300558437c730faed5
+DIST discogs-client-2.2.0.tar.gz 27484 SHA256 b31e3fd8f17f46b9c7221182ed6be96774a334ac8be4e434ee99943d27170945 SHA512 e1f894cabab6c8162f0195164cd68fca7806149112d065c007991a4fb93de6bd4baa16230eaccde1e1d9d842930f6bb8ba64bd618352bc85051f64d3e7b13c0b WHIRLPOOL c903dc0348eddbd5c097972313cd04e7c9714f89ef8baac129b20ca01269b5be070f850f1d78b733bf408fb11ba40d26cae6b945bfb33bbdba16f8f9d5509a92
diff --git a/dev-python/discogs-client/discogs-client-2.0.2.ebuild b/dev-python/discogs-client/discogs-client-2.0.2.ebuild
new file mode 100644
index 000000000000..e092deb40965
--- /dev/null
+++ b/dev-python/discogs-client/discogs-client-2.0.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Not py3 capable due to oauth2 supports py2 pypy only
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Official Python API client for Discogs"
+HOMEPAGE="http://github.com/discogs/discogs_client http://pypi.python.org/pypi/discogs-client"
+#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/discogs/${PN/-/_}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/oauth2[${PYTHON_USEDEP}]"
+# It's either this or make a test use flag to add RDEPEND behind it. Both work
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${P/-/_}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/discogs-client/discogs-client-2.2.0.ebuild b/dev-python/discogs-client/discogs-client-2.2.0.ebuild
new file mode 100644
index 000000000000..83536e3e32f5
--- /dev/null
+++ b/dev-python/discogs-client/discogs-client-2.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Not py3 capable due to oauth2 supports py2 pypy only
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Official Python API client for Discogs"
+HOMEPAGE="http://github.com/discogs/discogs_client http://pypi.python.org/pypi/discogs-client"
+#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/discogs/${PN/-/_}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/oauth2[${PYTHON_USEDEP}]
+ dev-python/oauthlib[${PYTHON_USEDEP}]
+ "
+# It's either this or make a test use flag to add RDEPEND behind it. Both work
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${P/-/_}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/discogs-client/files/README.patch b/dev-python/discogs-client/files/README.patch
new file mode 100644
index 000000000000..538e96aa5f2e
--- /dev/null
+++ b/dev-python/discogs-client/files/README.patch
@@ -0,0 +1,25 @@
+From 7e914f37a851da1b7b52eb2bcb631f6148e41ee9 Mon Sep 17 00:00:00 2001
+From: Theofilos Intzoglou <int.teo@gmail.com>
+Date: Tue, 11 Jun 2013 21:24:35 +0300
+Subject: [PATCH] Fix README.mkd so that test_discogs_client.py doesn't fail
+
+---
+ README.mkd | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/README.mkd b/README.mkd
+index 73a609a..07f9724 100644
+--- a/README.mkd
++++ b/README.mkd
+@@ -185,7 +185,7 @@ Get a list of `Label`s representing sublabels associated with this `Label`:
+ Get the `Label`'s parent label, if it exists:
+
+ >>> label.parent_label
+- ...
++ <Label "...">
+
+ ### Possible `data` keys
+
+--
+1.8.1.6
+
diff --git a/dev-python/discogs-client/metadata.xml b/dev-python/discogs-client/metadata.xml
new file mode 100644
index 000000000000..b3d1da6cc08a
--- /dev/null
+++ b/dev-python/discogs-client/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>int.teo@gmail.com</email>
+ <name>Theofilos Intzoglou</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">discogs-client</remote-id>
+ <remote-id type="github">discogs/discogs_client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/disqus-python/Manifest b/dev-python/disqus-python/Manifest
new file mode 100644
index 000000000000..7d046cb51891
--- /dev/null
+++ b/dev-python/disqus-python/Manifest
@@ -0,0 +1 @@
+DIST disqus-python-0.4.2.tar.gz 9751 SHA256 aac773ab21fdea9e525de3e43bab6714899575f8fdccb70d31688fe6bc68020f SHA512 ad55c5d95ff9b382a187cfa13b2cc41ec8e90acb6378ebe11a32fc2dc7b125e3e9ebd94d8f24d686f56e87808cda7642d1356c1dfa1e4b7f5d7e1ee9e7875b0a WHIRLPOOL fcb3bd9ec7bdefc338ab7a60b60f0841a2ec591b9a907b52c0f61be0e3f168e004ca6d9b91b71bedd28f44ea37e24a6e7b6ca063abc23c03bcd0f2e120c0e36b
diff --git a/dev-python/disqus-python/disqus-python-0.4.2.ebuild b/dev-python/disqus-python/disqus-python-0.4.2.ebuild
new file mode 100644
index 000000000000..f388d2caf03d
--- /dev/null
+++ b/dev-python/disqus-python/disqus-python-0.4.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client library for accessing the disqus.com API"
+HOMEPAGE="https://github.com/disqus/disqus-python"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${EPYTHON}" "${S}/disqusapi/tests.py" || die
+}
diff --git a/dev-python/disqus-python/metadata.xml b/dev-python/disqus-python/metadata.xml
new file mode 100644
index 000000000000..8f105141f123
--- /dev/null
+++ b/dev-python/disqus-python/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">disqus/disqus-python</remote-id>
+ <remote-id type="pypi">disqus-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-annoying/Manifest b/dev-python/django-annoying/Manifest
new file mode 100644
index 000000000000..6383e75f787b
--- /dev/null
+++ b/dev-python/django-annoying/Manifest
@@ -0,0 +1,3 @@
+DIST django-annoying-0.7.6.tar.gz 7355 SHA256 7cc80ef00d63c3863e03ed97a197f8b71c67b00a5bd9eaf0383a90dcc6117003 SHA512 86ceb5ae10fafb6e273c2ff31b25489482da3ded6eaf3fdade3d148563251e00f4c9af3ce7420ae68124709a6f8e1a8960824e2b170d77fc5d57f2364b8c7e31 WHIRLPOOL d6f451f21db9ee1415392cfb2d18037bfd39306f0a0301f4bc393a9c158754894cd7e7d3345ee30b071832980939820742e44defcaa6056c11df9984887a8c85
+DIST django-annoying-0.7.7.tar.gz 7277 SHA256 498ba1ab00da56b939772913f7d5b3a29997990b63518acfa5305e8bf03fed7b SHA512 37435fb08110bc0e06a2a8b35d4f45d96d7fed3c03b87a541fcd96a76ed2e36281f1f7632654f3f5f64597203097ac7b5def1e8dc32e500e973fd81686a208ab WHIRLPOOL 14df887e05b9d1d47f80982a89ab719a2244dc38fa02ec9f0666484d79923ad7a1df047e261b5f70be8b408df30def2f70b9ca93ab7637278b5302e1eeb5e2f9
+DIST django-annoying-0.8.2.tar.gz 9135 SHA256 5e394ebb65819b9d6b44389e0d0f107b3504921293b784ab7cabaa73045f6b2c SHA512 5d8475ccc8f20291218f8302c90b70c01488361924bf7ad142403f6dcb9d51c9d8558c0dc3b0686585aa2f80b8a5ec2875ffc6f940a5a4bd8750de8653815f0a WHIRLPOOL 468b4bc3a1688e35cb2005e3f65fb49bb168092915c49c3d624909a93a65f017b76bb1ce83778b2396dbec12f92cd9da400f12d07b4b807e107bb64024020d0b
diff --git a/dev-python/django-annoying/django-annoying-0.7.6-r1.ebuild b/dev-python/django-annoying/django-annoying-0.7.6-r1.ebuild
new file mode 100644
index 000000000000..ef005b01dc36
--- /dev/null
+++ b/dev-python/django-annoying/django-annoying-0.7.6-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is django application that try to eliminate annoying things in Django framework"
+HOMEPAGE="http://bitbucket.org/offline/django-annoying/wiki/Home"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-annoying/django-annoying-0.7.7.ebuild b/dev-python/django-annoying/django-annoying-0.7.7.ebuild
new file mode 100644
index 000000000000..92e84cb5ee84
--- /dev/null
+++ b/dev-python/django-annoying/django-annoying-0.7.7.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is django application that try to eliminate annoying things in Django framework"
+HOMEPAGE="http://bitbucket.org/offline/django-annoying/wiki/Home"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-annoying/django-annoying-0.8.2.ebuild b/dev-python/django-annoying/django-annoying-0.8.2.ebuild
new file mode 100644
index 000000000000..ef005b01dc36
--- /dev/null
+++ b/dev-python/django-annoying/django-annoying-0.8.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is django application that try to eliminate annoying things in Django framework"
+HOMEPAGE="http://bitbucket.org/offline/django-annoying/wiki/Home"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-annoying/metadata.xml b/dev-python/django-annoying/metadata.xml
new file mode 100644
index 000000000000..51ac3214141b
--- /dev/null
+++ b/dev-python/django-annoying/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-annoying</remote-id>
+ <remote-id type="bitbucket">offline/django-annoying</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-appconf/Manifest b/dev-python/django-appconf/Manifest
new file mode 100644
index 000000000000..be65e5bb5787
--- /dev/null
+++ b/dev-python/django-appconf/Manifest
@@ -0,0 +1 @@
+DIST django-appconf-0.6.tar.gz 14072 SHA256 d3f4bcabcb3a9559775c5f4e94cef47f936b1df63703542bc8d912637452e75c SHA512 d2a4aea07eeabdc32ed85cf0625702f3e7861b82d1e47660f3761dedff42a3bd3bfcc54dc3d46072758bea1a34af160f7a908bf0925c05b7409f1224f4a7245d WHIRLPOOL f357a26a28476048ce97a1b85309c87382e750bb1ff9ea8552e194423e815b8945da5367200872096ede6177133094314e9a4a4ca4c5a058b273ab46aacb5091
diff --git a/dev-python/django-appconf/django-appconf-0.6.ebuild b/dev-python/django-appconf/django-appconf-0.6.ebuild
new file mode 100644
index 000000000000..b18bdd7d2a6a
--- /dev/null
+++ b/dev-python/django-appconf/django-appconf-0.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A helper class for handling configuration defaults of packaged apps gracefully"
+HOMEPAGE="https://github.com/jezdez/django-appconf http://django-appconf.readthedocs.org/"
+SRC_URI="https://github.com/jezdez/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND=">=dev-python/django-1.4.1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/django-discover-runner[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/docs.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd appconf/tests || die
+ set -- django-admin.py test appconf --settings=appconf.test_settings
+ echo "$@"
+ "$@" || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-appconf/files/docs.patch b/dev-python/django-appconf/files/docs.patch
new file mode 100644
index 000000000000..4b5d4861adfd
--- /dev/null
+++ b/dev-python/django-appconf/files/docs.patch
@@ -0,0 +1,16 @@
+Prevent unwanted d'loading of un-needed oject.inv files in doc build
+diff -ur django-appconf-0.6.orig/docs/conf.py django-appconf-0.6/docs/conf.py
+--- docs/conf.py 2013-01-29 01:45:50.000000000 +0800
++++ docs/conf.py 2013-05-18 21:40:38.737985957 +0800
+@@ -218,11 +218,3 @@
+ ('index', 'django-appconf', u'django-appconf Documentation',
+ [u'Jannis Leidel and individual contributors'], 1)
+ ]
+-
+-
+-# Example configuration for intersphinx: refer to the Python standard library.
+-intersphinx_mapping = {
+- 'python': ('http://python.readthedocs.org/en/v2.7.2/', None),
+- 'django': ('http://django.readthedocs.org/en/latest/', None),
+- 'celery': ('http://celery.readthedocs.org/en/latest/', None),
+-}
diff --git a/dev-python/django-appconf/metadata.xml b/dev-python/django-appconf/metadata.xml
new file mode 100644
index 000000000000..0c00bb319787
--- /dev/null
+++ b/dev-python/django-appconf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">jezdez/django-appconf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest
new file mode 100644
index 000000000000..a2e1627574ec
--- /dev/null
+++ b/dev-python/django-auth-ldap/Manifest
@@ -0,0 +1,2 @@
+DIST django-auth-ldap-1.2.2.tar.gz 131086 SHA256 faa067b073f6ea73c1ceeb5e244187ae1b3cf4ec79846ff366fa996428434264 SHA512 676d1114faeb9a2956ed51c586afea7618c1bf62867d3525596599391f8327b8f22a075c4203311df88279c317ca37b9097b59e55a64330afee6eb1c5a9c9ac3 WHIRLPOOL ae84405b4855ad9701244ab6cbd5e5154d2e173e04896c27e0869680bb4e030b6847293bcc59ef4f7f56969778c7d403721bae0d7099e2f3724186908c7abbbd
+DIST django-auth-ldap-1.2.6.tar.gz 131385 SHA256 17671e1f0f1ef5c1242291f710956ba9446bf804ff907eab1fe533031b9411b5 SHA512 59d6d18ad2f890e26a728b9f45885d98d08d85a36bce0a28cd52e02f7c4a52def79d668c1948be37915fd0c3be72d50de983bf4a4b622ce7bbff7d3e040b63b7 WHIRLPOOL 5e673bc686f222e6704ca98f0ae8a7472bd85b6c33f3182f4a087d9a8b3174cdcd76521ce42033874979d00dee94cbdc2db5da32b8bdceb474edf3e8b498d1ee
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-1.2.2.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-1.2.2.ebuild
new file mode 100644
index 000000000000..56d66ed3ed5f
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-1.2.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Although setup.py claims to support py3, python-ldap does not
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Django LDAP authentication backend"
+HOMEPAGE="http://pypi.python.org/pypi/django-auth-ldap http://bitbucket.org/psagers/django-auth-ldap/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-2.0[${PYTHON_USEDEP}]"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/mockldap-0.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+#S="${WORKDIR}"/psagers-${PN}-80379ce59e6b
+
+PATCHES=( "${FILESDIR}"/docs.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH=. "${PYTHON}" test/manage.py test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-1.2.6.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-1.2.6.ebuild
new file mode 100644
index 000000000000..03f5f9123711
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-1.2.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Although setup.py claims to support py3, python-ldap does not
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Django LDAP authentication backend"
+HOMEPAGE="http://pypi.python.org/pypi/django-auth-ldap http://bitbucket.org/psagers/django-auth-ldap/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-2.0[${PYTHON_USEDEP}]"
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/mockldap-0.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/docs.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH=. "${PYTHON}" test/manage.py test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-auth-ldap/files/docs.patch b/dev-python/django-auth-ldap/files/docs.patch
new file mode 100644
index 000000000000..c4e918fac538
--- /dev/null
+++ b/dev-python/django-auth-ldap/files/docs.patch
@@ -0,0 +1,18 @@
+Avoid unwanted d'loading for un-needed ojects.inv files
+diff -ur django-auth-ldap-1.1.4.orig/docs/source/conf.py django-auth-ldap-1.1.4/docs/source/conf.py
+--- docs/source/conf.py 2013-03-10 06:01:09.000000000 +0800
++++ docs/source/conf.py 2013-05-18 23:14:35.761187583 +0800
+@@ -29,13 +29,6 @@
+ 'daldocs',
+ ]
+
+-intersphinx_mapping = {
+- 'python': ('http://docs.python.org/', None),
+- 'django': ('https://docs.djangoproject.com/en/dev/',
+- 'https://docs.djangoproject.com/en/dev/_objects/'),
+- 'pythonldap': ('http://python-ldap.org/doc/html/', None),
+-}
+-
+ # Add any paths that contain templates here, relative to this directory.
+ templates_path = ['../_templates']
+
diff --git a/dev-python/django-auth-ldap/metadata.xml b/dev-python/django-auth-ldap/metadata.xml
new file mode 100644
index 000000000000..29b8b314b8c2
--- /dev/null
+++ b/dev-python/django-auth-ldap/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-auth-ldap</remote-id>
+ <remote-id type="bitbucket">psagers/django-auth-ldap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-baker/Manifest b/dev-python/django-baker/Manifest
new file mode 100644
index 000000000000..c2eeb777151f
--- /dev/null
+++ b/dev-python/django-baker/Manifest
@@ -0,0 +1 @@
+DIST django-baker-0.11.tar.gz 14920 SHA256 b656577f8234529374251ccf760a0e3e4cda613ea4a19ee17ae87647aeefc364 SHA512 98a64efec8a0cabe9c4091852f3dcbff95007c0ff2020b782f73ab6cc5e3d73cd52356546f1f64b55a69fefdf8f053d95d604584831cf07cb1b8037446892439 WHIRLPOOL 8feddec1f8dd57bdbfe7632c0da998ddaabdc0fb4711a84d9a31b1f0c4db15282311d41db323549a15fefebc41bde605b6f9052c215d756f56968c432529f33a
diff --git a/dev-python/django-baker/django-baker-0.11-r2.ebuild b/dev-python/django-baker/django-baker-0.11-r2.ebuild
new file mode 100644
index 000000000000..57c41e984e41
--- /dev/null
+++ b/dev-python/django-baker/django-baker-0.11-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Management command that generates views, forms, urls, admin, and templates for models"
+HOMEPAGE="https://pypi.python.org/pypi/django-baker https://github.com/krisfields/django-baker"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-py3-backport.patch
+ "${FILESDIR}"/${P}-py3-iter.patch
+)
diff --git a/dev-python/django-baker/files/django-baker-0.11-py3-backport.patch b/dev-python/django-baker/files/django-baker-0.11-py3-backport.patch
new file mode 100644
index 000000000000..b2bc42859c2f
--- /dev/null
+++ b/dev-python/django-baker/files/django-baker-0.11-py3-backport.patch
@@ -0,0 +1,50 @@
+From baf971a58d310d6d3bfe7ddea81b33c810e3d3cf Mon Sep 17 00:00:00 2001
+From: Tim Kamanin <tim@timonweb.com>
+Date: Sat, 21 Feb 2015 18:42:45 +0100
+Subject: [PATCH] Added Python 3 support
+
+---
+ django_baker/bakery.py | 4 ++--
+ django_baker/management/commands/bake.py | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/django_baker/bakery.py b/django_baker/bakery.py
+index ff04ef3..7c0cbc2 100644
+--- a/django_baker/bakery.py
++++ b/django_baker/bakery.py
+@@ -4,7 +4,7 @@
+ import re
+ from django.template.loader import get_template
+ from django.template import Context
+-
++from django.utils.six import iteritems
+
+ class Baker(object):
+ """
+@@ -16,7 +16,7 @@ def bake(self, apps_and_models):
+ """
+ Iterates a dictionary of apps and models and creates all the necessary files to get up and running quickly.
+ """
+- for app_label, models in apps_and_models.iteritems():
++ for app_label, models in iteritems(apps_and_models):
+ model_names = {model.__name__: self.get_field_names_for_model(model) for model in models}
+ self.create_directories(app_label)
+ self.create_init_files(app_label, model_names.keys(), models)
+diff --git a/django_baker/management/commands/bake.py b/django_baker/management/commands/bake.py
+index e602345..f7dc16a 100644
+--- a/django_baker/management/commands/bake.py
++++ b/django_baker/management/commands/bake.py
+@@ -1,3 +1,4 @@
++from __future__ import print_function
+ from django.core.management.base import BaseCommand, CommandError
+ from django.core.exceptions import ImproperlyConfigured
+ from django.db.models import get_app, get_models
+@@ -51,7 +52,7 @@ def get_selected_models(self, app, app_label, model_names):
+ """
+ if model_names:
+ try:
+- print app_label, model_names
++ print(app_label, model_names)
+ return [get_model(app_label, model_name) for model_name in model_names]
+ except:
+ raise CommandError("One or more of the models you entered for %s are incorrect." % app_label)
diff --git a/dev-python/django-baker/files/django-baker-0.11-py3-iter.patch b/dev-python/django-baker/files/django-baker-0.11-py3-iter.patch
new file mode 100644
index 000000000000..a2902b8f487d
--- /dev/null
+++ b/dev-python/django-baker/files/django-baker-0.11-py3-iter.patch
@@ -0,0 +1,42 @@
+From c6c856c999cb9a9ce4ec8ecee714da7f6719019d Mon Sep 17 00:00:00 2001
+From: Matt Clement <mclement@savantgroup.com>
+Date: Tue, 3 Mar 2015 14:57:41 -0500
+Subject: [PATCH] Switch iteritems to items for Py3 compatibility
+
+---
+ django_baker/templates/django_baker/__init__urls | 2 +-
+ django_baker/templates/django_baker/forms | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/django_baker/templates/django_baker/__init__urls b/django_baker/templates/django_baker/__init__urls
+index 1baf063..d6c9bec 100644
+--- a/django_baker/templates/django_baker/__init__urls
++++ b/django_baker/templates/django_baker/__init__urls
+@@ -1,6 +1,6 @@
+ from django.conf.urls import patterns, include
+
+ urlpatterns = patterns('',
+-{% for model_name_slug, plural_model_name_slug in model_names_dict.iteritems %}
++{% for model_name_slug, plural_model_name_slug in model_names_dict.items %}
+ (r'^{{ plural_model_name_slug }}/', include('{{ app_label }}.urls.{{ model_name_slug }}_urls')),{% if forloop.first %} # NOQA{% endif %}{% endfor %}
+ )
+diff --git a/django_baker/templates/django_baker/forms b/django_baker/templates/django_baker/forms
+index 1f55c86..a21234d 100644
+--- a/django_baker/templates/django_baker/forms
++++ b/django_baker/templates/django_baker/forms
+@@ -1,7 +1,7 @@
+ from django import forms
+ from .models import {{ model_names|join:", " }}
+
+-{% for model_name, model_fields in model_names.iteritems %}
++{% for model_name, model_fields in model_names.items %}
+ class {{ model_name }}Form(forms.ModelForm):
+
+ class Meta:
+@@ -36,4 +36,4 @@ class {{ model_name }}Form(forms.ModelForm):
+ def save(self, commit=True):
+ return super({{ model_name }}Form, self).save(commit)
+ {% if not forloop.last %}
+-{% endif %}{% endfor %}
+\ No newline at end of file
++{% endif %}{% endfor %}
diff --git a/dev-python/django-baker/metadata.xml b/dev-python/django-baker/metadata.xml
new file mode 100644
index 000000000000..6c335039f30a
--- /dev/null
+++ b/dev-python/django-baker/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-baker</remote-id>
+ <remote-id type="github">krisfields/django-baker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-celery/Manifest b/dev-python/django-celery/Manifest
new file mode 100644
index 000000000000..bfc7c48ce9c5
--- /dev/null
+++ b/dev-python/django-celery/Manifest
@@ -0,0 +1 @@
+DIST django-celery-3.1.16.tar.gz 77411 SHA256 07a9c650a1f20e040cf5fffd0bcd920a81d0734915130d898c0325c5fafb2ec4 SHA512 8bada03237f2b6f45484fe15e985d4763944fe19b3ac7271a6b9d53058c13d903b0aba070cd813741e2a1a2c6c1d17b335f8712ca70c377d45892471ef7a59bc WHIRLPOOL a707ce0e31407e9a452d4930e93207dea31f22365a1c827dc917d9dc34d6a5c48f2bfc0aab41ce3b5a92877200265630e6fc17f7e7c80e0aac2ceb76a272a483
diff --git a/dev-python/django-celery/django-celery-3.1.16.ebuild b/dev-python/django-celery/django-celery-3.1.16.ebuild
new file mode 100644
index 000000000000..44b6fe2c148d
--- /dev/null
+++ b/dev-python/django-celery/django-celery-3.1.16.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Celery Integration for Django"
+HOMEPAGE="http://celeryproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples test"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND=">=dev-python/celery-3.1.15[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django-nose[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/mock[${PY2_USEDEP}]
+ dev-python/python-memcached[${PY2_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-issuetracker[${PY2_USEDEP}]
+ dev-python/python-memcached[${PY2_USEDEP}]
+ )"
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="
+ doc? ( ${PY27_REQUSE} )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/celery/django-celery/issues/342
+ "${PYTHON}" tests/manage.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-celery/metadata.xml b/dev-python/django-celery/metadata.xml
new file mode 100644
index 000000000000..865a357b8386
--- /dev/null
+++ b/dev-python/django-celery/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-celery</remote-id>
+ <remote-id type="github">github/django-celery</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-compressor/Manifest b/dev-python/django-compressor/Manifest
new file mode 100644
index 000000000000..c8e237acf1c0
--- /dev/null
+++ b/dev-python/django-compressor/Manifest
@@ -0,0 +1,2 @@
+DIST django-compressor-1.4.tar.gz 103414 SHA256 47790524c754c34c37d960ab34ec7a3ef85002e56978fea69a4102f2856a4561 SHA512 620618675585248a38040d91e3c33a534758cc87c4b2cab16ac3d55f82e37be6d4d7058226f6366e14305465a29235e89acba937019cd28fe4285614797179e2 WHIRLPOOL 597d5f7530dc4ad67bc7cff294d4a46cad53328670ce530bbd76e6596c4f35e61edc04e1bac71e9a3b61f4a8efd73fdae38ccfdded65be800e45a30374b36fac
+DIST django-compressor-1.5.tar.gz 105855 SHA256 2f094de9c061f38b741db9fc88d359abc424f077b324fe33f5e93ecf91f8f2eb SHA512 d6c7a04263895a4195754a49bd4831053186c99d6fdd07977c26059eb931c982bd3b60848311e8469ad0e0298204a5fc3f0e63697a5af5608abf0b76e521c797 WHIRLPOOL 6626ea41b6465516126fe1f9eb66871df11ce5de80c35dd3024ba5fcd69cb6aa745c684201991bedd8ffc8356e2fc19495ee81a5165122ca70f5419b0749e269
diff --git a/dev-python/django-compressor/django-compressor-1.4.ebuild b/dev-python/django-compressor/django-compressor-1.4.ebuild
new file mode 100644
index 000000000000..630de33b6a20
--- /dev/null
+++ b/dev-python/django-compressor/django-compressor-1.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/_}"
+
+DESCRIPTION="Compresses linked and inline javascript or CSS into a single cached file"
+HOMEPAGE="https://github.com/django-compressor/django-compressor"
+SRC_URI="https://github.com/jezdez/django_compressor/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/django-appconf-0.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/versiontools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/django-discover-runner[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/Coffin[${PYTHON_USEDEP}]
+ dev-python/jingo[${PYTHON_USEDEP}]
+ )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/django-compressor/django-compressor/issues/531 532
+ pushd "${BUILD_DIR}/lib" > /dev/null || die
+ if python_is_python3; then
+ sed -e s':test_cachekey:_&:' -e s':test_css:_&:g' \
+ -i compressor/tests/test_base.py || die
+ fi
+ set -- django-admin.py test compressor --settings=compressor.test_settings
+ echo "$@"
+ "$@" || die "Tests failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-compressor/django-compressor-1.5.ebuild b/dev-python/django-compressor/django-compressor-1.5.ebuild
new file mode 100644
index 000000000000..57fa46c70391
--- /dev/null
+++ b/dev-python/django-compressor/django-compressor-1.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/_}"
+
+DESCRIPTION="Compresses linked and inline javascript or CSS into a single cached file"
+HOMEPAGE="https://github.com/django-compressor/django-compressor"
+SRC_URI="https://github.com/jezdez/django_compressor/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/django-appconf-0.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/versiontools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/django-discover-runner[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/Coffin[${PYTHON_USEDEP}]
+ dev-python/jingo[${PYTHON_USEDEP}]
+ )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/django-compressor/django-compressor/issues/531 532
+ pushd "${BUILD_DIR}/lib" > /dev/null || die
+ if python_is_python3; then
+ sed -e s':test_cachekey:_&:' -e s':test_css:_&:g' \
+ -i compressor/tests/test_base.py || die
+ fi
+ set -- django-admin.py test compressor --settings=compressor.test_settings
+ echo "$@"
+ "$@" || die "Tests failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-compressor/files/django-compressor-1.4-test.patch b/dev-python/django-compressor/files/django-compressor-1.4-test.patch
new file mode 100644
index 000000000000..1d672bb5b8f4
--- /dev/null
+++ b/dev-python/django-compressor/files/django-compressor-1.4-test.patch
@@ -0,0 +1,306 @@
+ compressor/tests/test_base.py | 6 +++---
+ compressor/tests/test_filters.py | 14 +++++++-------
+ compressor/tests/test_jinja2ext.py | 20 ++++++++++----------
+ compressor/tests/test_storages.py | 2 +-
+ compressor/tests/test_templatetags.py | 22 +++++++++++-----------
+ 5 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/compressor/tests/test_base.py b/compressor/tests/test_base.py
+index 46b1d91..6f70e80 100644
+--- a/compressor/tests/test_base.py
++++ b/compressor/tests/test_base.py
+@@ -112,7 +112,7 @@ class CompressorTestCase(SimpleTestCase):
+ hunks = '\n'.join([h for h in self.css_node.hunks()])
+ self.assertEqual(out, hunks)
+
+- def test_css_mtimes(self):
++ def _test_css_mtimes(self):
+ is_date = re.compile(r'^\d{10}[\.\d]+$')
+ for date in self.css_node.mtimes:
+ self.assertTrue(is_date.match(str(float(date))),
+@@ -122,7 +122,7 @@ class CompressorTestCase(SimpleTestCase):
+ settings.COMPRESS_ENABLED = False
+ self.assertEqualCollapsed(self.css, self.css_node.output())
+
+- def test_cachekey(self):
++ def _test_cachekey(self):
+ is_cachekey = re.compile(r'\w{12}')
+ self.assertTrue(is_cachekey.match(self.css_node.cachekey),
+ "cachekey is returning something that doesn't look like r'\w{12}'")
+@@ -265,6 +265,6 @@ class VerboseTestCase(CompressorTestCase):
+
+ class CacheBackendTestCase(CompressorTestCase):
+
+- def test_correct_backend(self):
++ def _test_correct_backend(self):
+ from compressor.cache import cache
+ self.assertEqual(cache.__class__, locmem.CacheClass)
+diff --git a/compressor/tests/test_filters.py b/compressor/tests/test_filters.py
+index b656a65..6b3e801 100644
+--- a/compressor/tests/test_filters.py
++++ b/compressor/tests/test_filters.py
+@@ -120,7 +120,7 @@ class CssAbsolutizingTestCase(TestCase):
+ settings.COMPRESS_URL = self.old_url
+ settings.COMPRESS_CSS_HASHING_METHOD = self.old_hashing_method
+
+- def test_css_absolute_filter(self):
++ def _test_css_absolute_filter(self):
+ filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
+ imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
+ params = {
+@@ -138,7 +138,7 @@ class CssAbsolutizingTestCase(TestCase):
+ "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }") % params
+ self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
+
+- def test_css_absolute_filter_url_fragment(self):
++ def _test_css_absolute_filter_url_fragment(self):
+ filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
+ imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
+ params = {
+@@ -166,7 +166,7 @@ class CssAbsolutizingTestCase(TestCase):
+ filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
+ self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
+
+- def test_css_absolute_filter_querystring(self):
++ def _test_css_absolute_filter_querystring(self):
+ filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
+ imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
+ params = {
+@@ -184,7 +184,7 @@ class CssAbsolutizingTestCase(TestCase):
+ output = "p { background: url('%(url)simg/python.png?foo&%(hash)s') }" % params
+ self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
+
+- def test_css_absolute_filter_https(self):
++ def _test_css_absolute_filter_https(self):
+ filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
+ imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
+ params = {
+@@ -202,7 +202,7 @@ class CssAbsolutizingTestCase(TestCase):
+ "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }") % params
+ self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
+
+- def test_css_absolute_filter_relative_path(self):
++ def _test_css_absolute_filter_relative_path(self):
+ filename = os.path.join(settings.TEST_DIR, 'whatever', '..', 'static', 'whatever/../css/url/test.css')
+ imagefilename = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
+ params = {
+@@ -219,7 +219,7 @@ class CssAbsolutizingTestCase(TestCase):
+ "p { filter: Alpha(src='%(url)simg/python.png?%(hash)s') }") % params
+ self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
+
+- def test_css_hunks(self):
++ def _test_css_hunks(self):
+ hash_dict = {
+ 'hash1': self.hashing_func(os.path.join(settings.COMPRESS_ROOT, 'img/python.png')),
+ 'hash2': self.hashing_func(os.path.join(settings.COMPRESS_ROOT, 'img/add.png')),
+@@ -276,7 +276,7 @@ class CssDataUriTestCase(TestCase):
+ """
+ self.css_node = CssCompressor(self.css)
+
+- def test_data_uris(self):
++ def _test_data_uris(self):
+ datauri_hash = get_hashed_mtime(os.path.join(settings.COMPRESS_ROOT, 'img/python.png'))
+ out = ['''.add { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg=="); }
+ .add-with-hash { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7nvrnvJABJ/5PfLnTTdcwOj4RsdYmo5glBWP6iOtzwvIKSWstI0Wgx80SBblpKtE9KQs/We7EaWoT/8wbWP61gMmCH0lMDvokT4j25TiQU/ITFkek9Ow6+7WH2gwsmahCPdwyw75uw9HEO2gUZSkfyI9zBPCJOoJ2SMmg46N61YO/rNoa39Xi41oFuXysMfh36/Fp0b7bAfWAH6RGi0HglWNCbzYgJaFjRv6zGuy+b9It96N3SQvNKiV9HvSaDfFEIxXItnPs23BzJQd6DDEVM0OKsoVwBG/1VMzpXVWhbkUM2K4oJBDYuGmbKIJ0qxsAbHfRLzbjcnUbFBIpx/qH3vQv9b3U03IQ/HfFkERTzfFj8w8jSpR7GBE123uFEYAzaDRIqX/2JAtJbDat/COkd7CNBva2cMvq0MGxp0PRSCPF8BXjWG3FgNHc9XPT71Ojy3sMFdfJRCeKxEsVtKwFHwALZfCUk3tIfNR8XiJwc1LmL4dg141JPKtj3WUdNFJqLGFVPC4OkR4BxajTWsChY64wmCnMxsWPCHcutKBxMVp5mxA1S+aMComToaqTRUQknLTH62kHOVEE+VQnjahscNCy0cMBWsSI0TCQcZc5ALkEYckL5A5noWSBhfm2AecMAjbcRWV0pUTh0HE64TNf0mczcnnQyu/MilaFJCae1nw2fbz1DnVOxyGTlKeZft/Ff8x1BRssfACjTwQAAAABJRU5ErkJggg=="); }
+diff --git a/compressor/tests/test_jinja2ext.py b/compressor/tests/test_jinja2ext.py
+index 5adc8ee..c7203c6 100644
+--- a/compressor/tests/test_jinja2ext.py
++++ b/compressor/tests/test_jinja2ext.py
+@@ -64,19 +64,19 @@ class TestJinja2CompressorExtension(TestCase):
+ template = self.env.from_string(template_string)
+ self.assertEqual(tag_body, template.render())
+
+- def test_empty_tag(self):
++ def _test_empty_tag(self):
+ template = self.env.from_string("""{% compress js %}{% block js %}
+ {% endblock %}{% endcompress %}""")
+ context = {'STATIC_URL': settings.COMPRESS_URL}
+ self.assertEqual('', template.render(context))
+
+- def test_empty_tag_with_kind(self):
++ def _test_empty_tag_with_kind(self):
+ template = self.env.from_string("""{% compress js %}{% block js %}
+ {% endblock %}{% endcompress js %}""")
+ context = {'STATIC_URL': settings.COMPRESS_URL}
+ self.assertEqual('', template.render(context))
+
+- def test_css_tag(self):
++ def _test_css_tag(self):
+ template = self.env.from_string("""{% compress css -%}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/one.css" type="text/css" charset="utf-8">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -86,7 +86,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = css_tag("/static/CACHE/css/e41ba2cc6982.css")
+ self.assertEqual(out, template.render(context))
+
+- def test_nonascii_css_tag(self):
++ def _test_nonascii_css_tag(self):
+ template = self.env.from_string("""{% compress css -%}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/nonasc.css" type="text/css" charset="utf-8">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -95,7 +95,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = css_tag("/static/CACHE/css/799f6defe43c.css")
+ self.assertEqual(out, template.render(context))
+
+- def test_js_tag(self):
++ def _test_js_tag(self):
+ template = self.env.from_string("""{% compress js -%}
+ <script src="{{ STATIC_URL }}js/one.js" type="text/javascript" charset="utf-8"></script>
+ <script type="text/javascript" charset="utf-8">obj.value = "value";</script>
+@@ -104,7 +104,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = '<script type="text/javascript" src="/static/CACHE/js/066cd253eada.js"></script>'
+ self.assertEqual(out, template.render(context))
+
+- def test_nonascii_js_tag(self):
++ def _test_nonascii_js_tag(self):
+ template = self.env.from_string("""{% compress js -%}
+ <script src="{{ STATIC_URL }}js/nonasc.js" type="text/javascript" charset="utf-8"></script>
+ <script type="text/javascript" charset="utf-8">var test_value = "\u2014";</script>
+@@ -113,7 +113,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = '<script type="text/javascript" src="/static/CACHE/js/e214fe629b28.js"></script>'
+ self.assertEqual(out, template.render(context))
+
+- def test_nonascii_latin1_js_tag(self):
++ def _test_nonascii_latin1_js_tag(self):
+ template = self.env.from_string("""{% compress js -%}
+ <script src="{{ STATIC_URL }}js/nonasc-latin1.js" type="text/javascript" charset="latin-1"></script>
+ <script type="text/javascript">var test_value = "\u2014";</script>
+@@ -122,7 +122,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = '<script type="text/javascript" src="/static/CACHE/js/be9e078b5ca7.js"></script>'
+ self.assertEqual(out, template.render(context))
+
+- def test_css_inline(self):
++ def _test_css_inline(self):
+ template = self.env.from_string("""{% compress css, inline -%}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/one.css" type="text/css" charset="utf-8">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -134,7 +134,7 @@ class TestJinja2CompressorExtension(TestCase):
+ ])
+ self.assertEqual(out, template.render(context))
+
+- def test_js_inline(self):
++ def _test_js_inline(self):
+ template = self.env.from_string("""{% compress js, inline -%}
+ <script src="{{ STATIC_URL }}js/one.js" type="text/css" type="text/javascript" charset="utf-8"></script>
+ <script type="text/javascript" charset="utf-8">obj.value = "value";</script>
+@@ -143,7 +143,7 @@ class TestJinja2CompressorExtension(TestCase):
+ out = '<script type="text/javascript">obj={};obj.value="value";</script>'
+ self.assertEqual(out, template.render(context))
+
+- def test_nonascii_inline_css(self):
++ def _test_nonascii_inline_css(self):
+ org_COMPRESS_ENABLED = settings.COMPRESS_ENABLED
+ settings.COMPRESS_ENABLED = False
+ template = self.env.from_string('{% compress css %}'
+diff --git a/compressor/tests/test_storages.py b/compressor/tests/test_storages.py
+index 91a36f2..986fef1 100644
+--- a/compressor/tests/test_storages.py
++++ b/compressor/tests/test_storages.py
+@@ -34,7 +34,7 @@ class StorageTestCase(TestCase):
+ self.assertTrue(os.path.exists(os.path.join(settings.COMPRESS_ROOT, 'test.txt')))
+ self.assertTrue(os.path.exists(os.path.join(settings.COMPRESS_ROOT, 'test.txt.gz')))
+
+- def test_css_tag_with_storage(self):
++ def _test_css_tag_with_storage(self):
+ template = """{% load compress %}{% compress css %}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/one.css" type="text/css">
+ <style type="text/css">p { border:5px solid white;}</style>
+diff --git a/compressor/tests/test_templatetags.py b/compressor/tests/test_templatetags.py
+index db0d1b7..f2f1cc6 100644
+--- a/compressor/tests/test_templatetags.py
++++ b/compressor/tests/test_templatetags.py
+@@ -34,12 +34,12 @@ class TemplatetagTestCase(TestCase):
+ def tearDown(self):
+ settings.COMPRESS_ENABLED = self.old_enabled
+
+- def test_empty_tag(self):
++ def _test_empty_tag(self):
+ template = """{% load compress %}{% compress js %}{% block js %}
+ {% endblock %}{% endcompress %}"""
+ self.assertEqual('', render(template, self.context))
+
+- def test_css_tag(self):
++ def _test_css_tag(self):
+ template = """{% load compress %}{% compress css %}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/one.css" type="text/css">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -48,7 +48,7 @@ class TemplatetagTestCase(TestCase):
+ out = css_tag("/static/CACHE/css/e41ba2cc6982.css")
+ self.assertEqual(out, render(template, self.context))
+
+- def test_uppercase_rel(self):
++ def _test_uppercase_rel(self):
+ template = """{% load compress %}{% compress css %}
+ <link rel="StyleSheet" href="{{ STATIC_URL }}css/one.css" type="text/css">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -57,7 +57,7 @@ class TemplatetagTestCase(TestCase):
+ out = css_tag("/static/CACHE/css/e41ba2cc6982.css")
+ self.assertEqual(out, render(template, self.context))
+
+- def test_nonascii_css_tag(self):
++ def _test_nonascii_css_tag(self):
+ template = """{% load compress %}{% compress css %}
+ <link rel="stylesheet" href="{{ STATIC_URL }}css/nonasc.css" type="text/css">
+ <style type="text/css">p { border:5px solid green;}</style>
+@@ -66,7 +66,7 @@ class TemplatetagTestCase(TestCase):
+ out = css_tag("/static/CACHE/css/799f6defe43c.css")
+ self.assertEqual(out, render(template, self.context))
+
+- def test_js_tag(self):
++ def _test_js_tag(self):
+ template = """{% load compress %}{% compress js %}
+ <script src="{{ STATIC_URL }}js/one.js" type="text/javascript"></script>
+ <script type="text/javascript">obj.value = "value";</script>
+@@ -75,7 +75,7 @@ class TemplatetagTestCase(TestCase):
+ out = '<script type="text/javascript" src="/static/CACHE/js/066cd253eada.js"></script>'
+ self.assertEqual(out, render(template, self.context))
+
+- def test_nonascii_js_tag(self):
++ def _test_nonascii_js_tag(self):
+ template = """{% load compress %}{% compress js %}
+ <script src="{{ STATIC_URL }}js/nonasc.js" type="text/javascript"></script>
+ <script type="text/javascript">var test_value = "\u2014";</script>
+@@ -84,7 +84,7 @@ class TemplatetagTestCase(TestCase):
+ out = '<script type="text/javascript" src="/static/CACHE/js/e214fe629b28.js"></script>'
+ self.assertEqual(out, render(template, self.context))
+
+- def test_nonascii_latin1_js_tag(self):
++ def _test_nonascii_latin1_js_tag(self):
+ template = """{% load compress %}{% compress js %}
+ <script src="{{ STATIC_URL }}js/nonasc-latin1.js" type="text/javascript" charset="latin-1"></script>
+ <script type="text/javascript">var test_value = "\u2014";</script>
+@@ -115,7 +115,7 @@ class TemplatetagTestCase(TestCase):
+ <script type="text/javascript">obj.value = "value";</script>"""
+ self.assertEqual(out, render(template, context))
+
+- def test_named_compress_tag(self):
++ def _test_named_compress_tag(self):
+ template = """{% load compress %}{% compress js inline foo %}
+ <script type="text/javascript">obj.value = "value";</script>
+ {% endcompress %}
+@@ -150,14 +150,14 @@ class PrecompilerTemplatetagTestCase(TestCase):
+ settings.COMPRESS_ENABLED = self.old_enabled
+ settings.COMPRESS_PRECOMPILERS = self.old_precompilers
+
+- def test_compress_coffeescript_tag(self):
++ def _test_compress_coffeescript_tag(self):
+ template = """{% load compress %}{% compress js %}
+ <script type="text/coffeescript"># this is a comment.</script>
+ {% endcompress %}"""
+ out = script(src="/static/CACHE/js/e920d58f166d.js")
+ self.assertEqual(out, render(template, self.context))
+
+- def test_compress_coffeescript_tag_and_javascript_tag(self):
++ def _test_compress_coffeescript_tag_and_javascript_tag(self):
+ template = """{% load compress %}{% compress js %}
+ <script type="text/coffeescript"># this is a comment.</script>
+ <script type="text/javascript"># this too is a comment.</script>
+@@ -176,7 +176,7 @@ class PrecompilerTemplatetagTestCase(TestCase):
+ self.assertEqual(out, render(template, self.context))
+
+ @override_settings(COMPRESS_ENABLED=False)
+- def test_compress_coffeescript_tag_compress_enabled_is_false(self):
++ def _test_compress_coffeescript_tag_compress_enabled_is_false(self):
+ template = """{% load compress %}{% compress js %}
+ <script type="text/coffeescript"># this is a comment.</script>
+ {% endcompress %}"""
diff --git a/dev-python/django-compressor/metadata.xml b/dev-python/django-compressor/metadata.xml
new file mode 100644
index 000000000000..88fe76a763a2
--- /dev/null
+++ b/dev-python/django-compressor/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">jezdez/django_compressor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-crispy-forms/Manifest b/dev-python/django-crispy-forms/Manifest
new file mode 100644
index 000000000000..55e86a9b03be
--- /dev/null
+++ b/dev-python/django-crispy-forms/Manifest
@@ -0,0 +1 @@
+DIST django-crispy-forms-1.4.0.tar.gz 47444 SHA256 d0c9531ebdff8dc255f625e677ec2fab326522e3f4cd8f7a3e891d773d281510 SHA512 e06ec72a2fc44aa0f57fd507230289f78caebdb02d4af9adafd4b09a29b1df1be5301f3883c8b9007ecd0722683395451bbc382060eca5a459ddf6ef9edc2e1b WHIRLPOOL 05813292a863c69b3b0296ea7a7912bb8ca0f673fc07eaeff5053def516dc2b836725c7559e98cd8aa7ad59d4d686b2ff04bc53b027ea53413ea2329fa04e42d
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-1.4.0.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-1.4.0.ebuild
new file mode 100644
index 000000000000..658947e05ac6
--- /dev/null
+++ b/dev-python/django-crispy-forms/django-crispy-forms-1.4.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Best way to have Django DRY forms"
+HOMEPAGE="https://pypi.python.org/pypi/django-crispy-forms/ http://github.com/maraujop/django-crispy-forms https://django-crispy-forms.readthedocs.org/en/latest/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# Missing DjangoTestSuiteRunner in django
+RESTRICT=test
+
+python_test() {
+ cd crispy_forms/tests || die
+ ${PYTHON} runtests.py || die
+}
diff --git a/dev-python/django-crispy-forms/metadata.xml b/dev-python/django-crispy-forms/metadata.xml
new file mode 100644
index 000000000000..3ba51420a771
--- /dev/null
+++ b/dev-python/django-crispy-forms/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-crispy-forms</remote-id>
+ <remote-id type="github">maraujop/django-crispy-forms</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-debug-toolbar/Manifest b/dev-python/django-debug-toolbar/Manifest
new file mode 100644
index 000000000000..ed99dfed149d
--- /dev/null
+++ b/dev-python/django-debug-toolbar/Manifest
@@ -0,0 +1 @@
+DIST django-debug-toolbar-1.3.2.tar.gz 316106 SHA256 3cb9128c17a672864b0daa16065c9d80ff910cbc3b344a3e5d82eb0fb30a185c SHA512 d1428f1f729a190ddbf3a260bc428d7a78421519be60c7f07ad3e7f3498414d4ac0ec64d5772fcf89d6521f83bd9226fae104c43b4f0ad4deaf7cfb427d24b1c WHIRLPOOL f088dc6c4fb766a9e38b2f736a66126bdb75bd3cd7762c8ba06650b401639a644831e848012bd001cbd8ffdaad6b823303765f5f44d8bc79688f2d9b7da4592d
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-1.3.2.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-1.3.2.ebuild
new file mode 100644
index 000000000000..15af675b92dc
--- /dev/null
+++ b/dev-python/django-debug-toolbar/django-debug-toolbar-1.3.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A configurable set of panels that display debug information"
+HOMEPAGE="
+ http://pypi.python.org/pypi/django-debug-toolbar/
+ https://github.com/django-debug-toolbar/django-debug-toolbar/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/django-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/python-sqlparse-0.1.10[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ # Prevent non essential d'loading by intersphinx
+ sed -e 's:intersphinx_mapping:_&:' -i docs/conf.py || die
+
+ # This prevents distutils from installing 'tests' package, rm magic no more needed
+ sed -e "/find_packages/s:'tests':'tests.\*', 'tests':" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ emake test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-debug-toolbar/metadata.xml b/dev-python/django-debug-toolbar/metadata.xml
new file mode 100644
index 000000000000..0c1990a0f2ed
--- /dev/null
+++ b/dev-python/django-debug-toolbar/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">django-debug-toolbar/django-debug-toolbar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-discover-runner/Manifest b/dev-python/django-discover-runner/Manifest
new file mode 100644
index 000000000000..514083ae078a
--- /dev/null
+++ b/dev-python/django-discover-runner/Manifest
@@ -0,0 +1,2 @@
+DIST django-discover-runner-0.4.tar.gz 6764 SHA256 c802a9f19ee9cf55f478c3b664ee6f5ea8973b58248d24aa8c9e2dc65b9fa885 SHA512 594b06915f373b77da3cdbe3e91e989fa6b4befea55381dff63e457f6c5dba9d9b7e4ebd77b88f97b51176e002915bdc8d11bc8e95908cdb4089da2cf997897b WHIRLPOOL 77e127c1b90fb7d1115734a2852d0edfbce56ee3a60e55dbd2a948402819ba694bac1ba4631460b796080a7b4e1e1f84cc41b99dcc2986e1acce5ad2f9a61db4
+DIST django-discover-runner-1.0.tar.gz 9190 SHA256 0ba91fe722c256bcbfdeb36fac7eac0f27e5bfda55d98c4c1cf9ab62b5b084fe SHA512 669287ed7f801dbfe949e2affd9ee1861aa6a41fcc2e2403dc2e106dee3d23c8400d686ef750242bdc74d23eaf316fcf36071c82d7c458ff724305e5fe27410e WHIRLPOOL 67f0e6cf59f4aab1db1012f27e12cc0ea1e3101ed1c066cd1294ec2455f17ee5e4ce5afb3b381a4bd03cb4cd97863c284199ed77ba3c89d430668ab80d723528
diff --git a/dev-python/django-discover-runner/django-discover-runner-0.4.ebuild b/dev-python/django-discover-runner/django-discover-runner-0.4.ebuild
new file mode 100644
index 000000000000..5967def84925
--- /dev/null
+++ b/dev-python/django-discover-runner/django-discover-runner-0.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django test runner based on unittest2's test discovery"
+HOMEPAGE="https://github.com/jezdez/django-discover-runner
+ https://pypi.python.org/pypi/django-discover-runner"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/django[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/django-discover-runner/django-discover-runner-1.0.ebuild b/dev-python/django-discover-runner/django-discover-runner-1.0.ebuild
new file mode 100644
index 000000000000..f80f174dcd48
--- /dev/null
+++ b/dev-python/django-discover-runner/django-discover-runner-1.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django test runner based on unittest2's test discovery"
+HOMEPAGE="https://github.com/jezdez/django-discover-runner
+ https://pypi.python.org/pypi/django-discover-runner"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/django-discover-runner/metadata.xml b/dev-python/django-discover-runner/metadata.xml
new file mode 100644
index 000000000000..7c1cce3d2a32
--- /dev/null
+++ b/dev-python/django-discover-runner/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-discover-runner</remote-id>
+ <remote-id type="github">jezdez/django-discover-runner</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-endless-pagination/Manifest b/dev-python/django-endless-pagination/Manifest
new file mode 100644
index 000000000000..ed07e60365a6
--- /dev/null
+++ b/dev-python/django-endless-pagination/Manifest
@@ -0,0 +1 @@
+DIST django-endless-pagination-2.0.tar.gz 61514 SHA256 a719f9d4e4fcd312774dcc3f260e85e9f5a4ad9a21c96d243b7cc048c3329c85 SHA512 d413c3e4f46c73c47e98eeb073bdbedaea3c03931c7147190594bc170489ae09325b43edae9c1eabe56f606b62bf93777f7444b0b174ff6303a5e30453578ac3 WHIRLPOOL 65929e5500e954ec9f8eaafc1c3519f2623148c1949b6ed39b00d172a3c4470e106e9fcea10925c9f21a254bf50be90e2c48281283e7235d00ed3e2bab0c7bfd
diff --git a/dev-python/django-endless-pagination/django-endless-pagination-2.0.ebuild b/dev-python/django-endless-pagination/django-endless-pagination-2.0.ebuild
new file mode 100644
index 000000000000..0557eacc9690
--- /dev/null
+++ b/dev-python/django-endless-pagination/django-endless-pagination-2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools supporting ajax, multiple and lazy pagination, Twitter-style and Digg-style pagination"
+HOMEPAGE="https://github.com/frankban/django-endless-pagination"
+SRC_URI="https://github.com/frankban/django-endless-pagination/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/django-1.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/django-nose[${PYTHON_USEDEP}]
+ dev-python/ipdb[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/xvfbwrapper[${PYTHON_USEDEP}]
+ )
+"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ unset PYTHONPATH
+ "${PYTHON}" tests/manage.py test || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${S}"/doc/_build/html/. )
+
+ #rm all OSX fork files, Bug #450842
+ pushd "${ED}" > /dev/null
+ rm -f $(find . -name "._*")
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-endless-pagination/metadata.xml b/dev-python/django-endless-pagination/metadata.xml
new file mode 100644
index 000000000000..33d45f7a1539
--- /dev/null
+++ b/dev-python/django-endless-pagination/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">frankban/django-endless-pagination</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-evolution/Manifest b/dev-python/django-evolution/Manifest
new file mode 100644
index 000000000000..bf5d009b450b
--- /dev/null
+++ b/dev-python/django-evolution/Manifest
@@ -0,0 +1,3 @@
+DIST django_evolution-0.6.9.tar.gz 65021 SHA256 7a526b1a39e07dd3df3612986896bd8bd5e7dd42a38a9779ce749a4e8f3015f4 SHA512 f3e0925546210bdcb622ed7e51ed6e032acfc721bee9dbd7ba96b4280b36c978657c8b3d68d17799c3cc654796f8cb4d7f6c05f6eaa49840471b7f1f5dc96651 WHIRLPOOL 043a1beb21c19765cbc207ba0ef5b2c1543ee78d2c6066dbf1b53f7c877783aa50d0193eab01547db38297204969a862e3330ca22865f1903f6d06b12983bfae
+DIST django_evolution-0.7.4.tar.gz 88467 SHA256 0b75bf163d5c859f171baf674503dfb3ca7d1d2ef082e5c5952d52b9ee6644e4 SHA512 6a6596211da7c0df1690e969b6116ee86ef2645886aab3d2026c1eadc0663f58f8c4025ffc30bb5b11f2f7ccedc687702396244c8fb12f1ea12b026521f90803 WHIRLPOOL e9f35d9c0ca8f8e199d1da3092904e38ec9e72e9602e342d7e5c0b20542d7f9ff591fae1b6a39b5703bb73a0822ae7f317d32f592301153aac7bbf7c56ef530b
+DIST django_evolution-0.7.5.tar.gz 89551 SHA256 db9ee54849ccce54736b18926bd3b839d5a0e61a713263851d3e220c49e96ce1 SHA512 f457fa53ff59bff09fa3fc3ad73ffc8f09ce306c756b022d2da097cba1f14b69dca03ff2c714ac470da7200f649c4765543a717a6ce851d1dbd4b0fc8fc84098 WHIRLPOOL 38cacf172047d97ef60cda119ca69bfada8b24687e21d7194c580bfff2def50e84c402223c086c9e870385b465d96556cc4b90ff9a0033937783529cab220be0
diff --git a/dev-python/django-evolution/django-evolution-0.6.9.ebuild b/dev-python/django-evolution/django-evolution-0.6.9.ebuild
new file mode 100644
index 000000000000..fe2e0c4d8d01
--- /dev/null
+++ b/dev-python/django-evolution/django-evolution-0.6.9.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A Django application that will run cron jobs for other django apps"
+HOMEPAGE="http://code.google.com/p/django-evolution/ http://pypi.python.org/pypi/django_evolution/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/django[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ # Fix installing 'tests' package in the global scope.
+ # http://code.google.com/p/django-evolution/issues/detail?id=134
+ sed -i -e 's:find_packages(:&exclude=("tests",):' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # http://code.google.com/p/django-evolution/issues/detail?id=135
+ # This is tested, any delay in die subsequent to (implicitly inherited) multiprocessing eclass
+ "${PYTHON}" tests/runtests.py || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs/
+}
diff --git a/dev-python/django-evolution/django-evolution-0.7.4.ebuild b/dev-python/django-evolution/django-evolution-0.7.4.ebuild
new file mode 100644
index 000000000000..3e463cafbb4b
--- /dev/null
+++ b/dev-python/django-evolution/django-evolution-0.7.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# This is now py3 compatible however is only re'd for Djblets which is py2.7 compat only
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+RELEASE="0.7"
+
+DESCRIPTION="A Django application that will run cron jobs for other django apps"
+HOMEPAGE="http://code.google.com/p/django-evolution/ http://pypi.python.org/pypi/django_evolution/"
+SRC_URI="http://downloads.reviewboard.org/releases/${PN}/${RELEASE}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+DOCS=( NEWS docs/{evolution.txt,faq.txt} )
+#DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ # Draws 1 trivial fail under django django-1.4.x
+ "${PYTHON}" tests/runtests.py || die
+}
diff --git a/dev-python/django-evolution/django-evolution-0.7.5.ebuild b/dev-python/django-evolution/django-evolution-0.7.5.ebuild
new file mode 100644
index 000000000000..2906ac8ec47b
--- /dev/null
+++ b/dev-python/django-evolution/django-evolution-0.7.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# This is now py3 compatible however is only re'd for Djblets which is py2.7 compat only
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}-${PV}
+RELEASE="0.7"
+
+DESCRIPTION="A Django application that will run cron jobs for other django apps"
+HOMEPAGE="http://code.google.com/p/django-evolution/ http://pypi.python.org/pypi/django_evolution/"
+SRC_URI="http://downloads.reviewboard.org/releases/${PN}/${RELEASE}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+DOCS=( NEWS docs/{evolution.txt,faq.txt} )
+
+python_test() {
+ # Draws 1 trivial fail under django django-1.4.x
+ einfo "The testsuite is not compatible with >=django-1.7"
+ "${PYTHON}" tests/runtests.py || die
+}
diff --git a/dev-python/django-evolution/metadata.xml b/dev-python/django-evolution/metadata.xml
new file mode 100644
index 000000000000..51b6135cf7f0
--- /dev/null
+++ b/dev-python/django-evolution/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django_evolution</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-extensions/Manifest b/dev-python/django-extensions/Manifest
new file mode 100644
index 000000000000..ace75d4c7f04
--- /dev/null
+++ b/dev-python/django-extensions/Manifest
@@ -0,0 +1,5 @@
+DIST django-extensions-1.4.0.tgz 185140 SHA256 04591eb842c21feb9441bda02b70be62760c2126acb33ad644fd40b967480145 SHA512 bbbbc641b8d1423f0365c6fa2467e5c93133c47cf84b629101f08ea4fac4d53f04d5ca75fd6d3fafae4160124d1c6e67a8da764c37432a65aaa95adfb8277b4d WHIRLPOOL f3689ef5f45f89a38a0a6c030fd9205ed8051c25766e9c7c1018acd5cb28cc92b8fe2e909a05c0d1b1250cb07ddf182d48791ee51a9faa6229cfc25125c03056
+DIST django-extensions-1.5.0.tgz 193691 SHA256 4922bab0ba7d25801f23d55ed9fd40eeb884e3b81e196a7b22f0720b9741e5f3 SHA512 9045b3c9ce83038462d797a81e17ab15959e6100519f7df08420bf3aa85e1fa542942a00af889bef62ca300f06d64fbdc8ab8e4da74fd067f5b34385689f04c1 WHIRLPOOL f54837321aaa49c0d8bd37527a4193b024594e8ceef5a94f44b54d3903237007b4dff47a0dd057db16456afdef05fde47bbf3b471ea465cf0b70198a2cdcaf3f
+DIST django-extensions-1.5.2.tar.gz 399105 SHA256 6b28b2b1029ca5891cc46303df7ce6a53f425b508b5633d188f612d54545b401 SHA512 9cf904397c3a1c7f924e23d9609e126bdcc19084b6d2aa7b9f1b7dfb88c8dfd0aa6c4686fab27747ed8dafb16dcc16c24a39e5b8fe29fa055f9feed5553ea86d WHIRLPOOL ae7657495a22cd5fdf8d5b6de5a893baa8215c22015997f048960d5820e932648af43e0dfdf99485134355c4fcdbed7da9c5e3a200e449571b39f7c8ae54ac3e
+DIST django-extensions-1.5.3.tar.gz 399785 SHA256 b88d4773697a16a0a2a9ba6fcb082c6c51ec9543ca0f634541680fec4a6867b1 SHA512 3fba49653e2120c0862f475502d5f9a52ddd57f7599eef4295591ff1bc744919d3a8e6a15752d3603a5843bea23362f1ec60a923e6aac05e5692be71d9f99dac WHIRLPOOL d0bc3c51bb42b09031c993526606d4df87266448b56f42daf5e76594c075c2f3dad4c89c4bfaa4fe5963e67ca987bd34cefb995d04de5bba693bfbdb7b8a9ae5
+DIST django-extensions-1.5.5.tar.gz 400104 SHA256 59c77d2c1bfd0bb1099dcba124a96b28c976c1c7bdcefc22be76aa2d9623654f SHA512 9cbb1687edaab4018f9fe9973f9be6930e8bb1730e40c3826b0288f8fc13ad4d8d8d70d89302f65164bde18a5e0832c944a18a4b4eadbbb3c2a45c186aeccabe WHIRLPOOL f4236d3c05c70eb15e56e992a61d7fa9c23a084be70efe9b642b64f466950f9652fd88dd9fd2ff0f60024866806b74a3091f3860d3674d4c8e0ec4378c1b11fa
diff --git a/dev-python/django-extensions/django-extensions-1.4.0.ebuild b/dev-python/django-extensions/django-extensions-1.4.0.ebuild
new file mode 100644
index 000000000000..23a8f43c093a
--- /dev/null
+++ b/dev-python/django-extensions/django-extensions-1.4.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+GIT_HASH_TAG="32ffe9b"
+
+DESCRIPTION="Django Command Extensions"
+HOMEPAGE="http://github.com/django-extensions/django-extensions http://code.google.com/p/django-command-extensions/"
+SRC_URI="http://github.com/django-extensions/django-extensions/tarball/${PV}/${P}.tgz"
+
+LICENSE="BSD || ( MIT GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc graphviz s3 test vcard"
+# Req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PY2_USEDEP=$(python_gen_usedep 'python2*')
+RDEPEND=">=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ graphviz? ( dev-python/pygraphviz[${PY2_USEDEP}] )
+ s3? ( dev-python/boto[${PY2_USEDEP}] )
+ vcard? ( dev-python/vobject[${PY2_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/shortuuid[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${PN}-${PN}-${GIT_HASH_TAG}"
+
+PY2_REQUSE="|| ( $(python_gen_useflags python2* ) )"
+REQUIRED_USE="
+ graphviz? ( ${PY2_REQUSE} )
+ s3? ( ${PY2_REQUSE} )
+ vcard? ( ${PY2_REQUSE} )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" run_tests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-extensions/django-extensions-1.5.0.ebuild b/dev-python/django-extensions/django-extensions-1.5.0.ebuild
new file mode 100644
index 000000000000..f26cc3148e1f
--- /dev/null
+++ b/dev-python/django-extensions/django-extensions-1.5.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+GIT_HASH_TAG="d39ecfd"
+
+DESCRIPTION="Django Command Extensions"
+HOMEPAGE="http://github.com/django-extensions/django-extensions http://django-extensions.readthedocs.org"
+SRC_URI="http://github.com/django-extensions/django-extensions/tarball/${PV}/${P}.tgz"
+
+LICENSE="BSD || ( MIT GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND="
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/shortuuid[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${PN}-${PN}-${GIT_HASH_TAG}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" run_tests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ echo ""
+ elog "Further enhancements can be achieved by installing the following packages:"
+ echo ""
+ optfeature "Use ipython in shell_plus" dev-python/ipython
+ optfeature "Use ptpython in shell_plus" dev-python/ptpython
+ optfeature "Renders a graphical overview of your project or specified apps." dev-python/pygraphviz
+ optfeature "sync your MEDIA_ROOT and STATIC_ROOT folders to S3" dev-python/boto
+ optfeature "RunServerPlus-typical runserver with Werkzeug debugger baked in" dev-python/werkzeug dev-python/watchdog
+}
diff --git a/dev-python/django-extensions/django-extensions-1.5.2.ebuild b/dev-python/django-extensions/django-extensions-1.5.2.ebuild
new file mode 100644
index 000000000000..fe2f15ecae8b
--- /dev/null
+++ b/dev-python/django-extensions/django-extensions-1.5.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Django Command Extensions"
+HOMEPAGE="http://github.com/django-extensions/django-extensions http://django-extensions.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD || ( MIT GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND="
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/shortuuid[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ echo ""
+ elog "Further enhancements can be achieved by installing the following packages:"
+ echo ""
+ optfeature "Use ipython in shell_plus" dev-python/ipython
+ optfeature "Use ptpython in shell_plus" dev-python/ptpython
+ optfeature "Renders a graphical overview of your project or specified apps." dev-python/pygraphviz
+ optfeature "sync your MEDIA_ROOT and STATIC_ROOT folders to S3" dev-python/boto
+ optfeature "RunServerPlus-typical runserver with Werkzeug debugger baked in" dev-python/werkzeug dev-python/watchdog
+}
diff --git a/dev-python/django-extensions/django-extensions-1.5.3.ebuild b/dev-python/django-extensions/django-extensions-1.5.3.ebuild
new file mode 100644
index 000000000000..fe2f15ecae8b
--- /dev/null
+++ b/dev-python/django-extensions/django-extensions-1.5.3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Django Command Extensions"
+HOMEPAGE="http://github.com/django-extensions/django-extensions http://django-extensions.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD || ( MIT GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND="
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/shortuuid[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ echo ""
+ elog "Further enhancements can be achieved by installing the following packages:"
+ echo ""
+ optfeature "Use ipython in shell_plus" dev-python/ipython
+ optfeature "Use ptpython in shell_plus" dev-python/ptpython
+ optfeature "Renders a graphical overview of your project or specified apps." dev-python/pygraphviz
+ optfeature "sync your MEDIA_ROOT and STATIC_ROOT folders to S3" dev-python/boto
+ optfeature "RunServerPlus-typical runserver with Werkzeug debugger baked in" dev-python/werkzeug dev-python/watchdog
+}
diff --git a/dev-python/django-extensions/django-extensions-1.5.5.ebuild b/dev-python/django-extensions/django-extensions-1.5.5.ebuild
new file mode 100644
index 000000000000..1c0e3348d6ed
--- /dev/null
+++ b/dev-python/django-extensions/django-extensions-1.5.5.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Django Command Extensions"
+HOMEPAGE="http://github.com/django-extensions/django-extensions http://django-extensions.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD || ( MIT GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND="
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/django-1.5.4[${PYTHON_USEDEP}]
+ dev-python/shortuuid[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ echo ""
+ elog "Further enhancements can be achieved by installing the following packages:"
+ echo ""
+ optfeature "Use ipython in shell_plus" dev-python/ipython
+ optfeature "Use ptpython in shell_plus" dev-python/ptpython
+ optfeature "Renders a graphical overview of your project or specified apps." dev-python/pygraphviz
+ optfeature "sync your MEDIA_ROOT and STATIC_ROOT folders to S3" dev-python/boto
+ optfeature "RunServerPlus-typical runserver with Werkzeug debugger baked in" dev-python/werkzeug dev-python/watchdog
+}
diff --git a/dev-python/django-extensions/metadata.xml b/dev-python/django-extensions/metadata.xml
new file mode 100644
index 000000000000..c6f6e0c4a4d6
--- /dev/null
+++ b/dev-python/django-extensions/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <use>
+ <flag name="graphviz">Create a diagram of your database entity relationships using <pkg>dev-python/pygraphviz</pkg>.</flag>
+ <flag name="s3">Upload your media files to S3.</flag>
+ <flag name="vcard">Export your users email addresses to the vcard format.</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">django-extensions</remote-id>
+ <remote-id type="github">django-extensions/django-extensions</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-formtools/Manifest b/dev-python/django-formtools/Manifest
new file mode 100644
index 000000000000..407ab6f39128
--- /dev/null
+++ b/dev-python/django-formtools/Manifest
@@ -0,0 +1 @@
+DIST django-formtools-1.0.tar.gz 70505 SHA256 647a5855277dcf335902eeeeeba3056e439493e6b7de70b942c988a6d8d70e04 SHA512 828ea5f5057d7ec72ab6cc6613e8af950f16595115bba658892e15aec39498f6e7c3dcb5c50ac4fc7ef54e12a640ed93e76a968f41bec59388630cdc43c9e3ce WHIRLPOOL ef8371e2e41b52b7c58fae2a5c58eef63354fddeeeaa2eb7808df45d003998a955842cf395cb07ce8cb7ea003b01f16b5834c2441ebf8548cd5e21d4ee0f2797
diff --git a/dev-python/django-formtools/django-formtools-1.0.ebuild b/dev-python/django-formtools/django-formtools-1.0.ebuild
new file mode 100644
index 000000000000..e1d5681a338a
--- /dev/null
+++ b/dev-python/django-formtools/django-formtools-1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="High-level abstractions for Django forms"
+HOMEPAGE="http://django-formtools.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="!<dev-python/django-1.8"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/django-1.8[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ emake test
+}
diff --git a/dev-python/django-formtools/metadata.xml b/dev-python/django-formtools/metadata.xml
new file mode 100644
index 000000000000..c2893eed6c67
--- /dev/null
+++ b/dev-python/django-formtools/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-formtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-haystack/Manifest b/dev-python/django-haystack/Manifest
new file mode 100644
index 000000000000..541e729e56f8
--- /dev/null
+++ b/dev-python/django-haystack/Manifest
@@ -0,0 +1,2 @@
+DIST django-haystack-2.2.0.tar.gz 155409 SHA256 31f5f08524dc46927a5ae1d4024d6496b5f990b0ed1012ad338293636d38fb78 SHA512 7bc27965650a759874c7e90b332994930a9318a4ca01245b04ade97559a6a125655c8a4fc182a3bcac63dbcd4bce76e71950218dff3116d3092d96f94e63e137 WHIRLPOOL 9869f57717a48edb3e27c7f7993ea03372620d81a71ee7f0dcbbd6a7e9bf09acda670b6d142f393ff242cb20af311962f99ca2f3821b161d92fe004dfc7d8d72
+DIST django-haystack-2.3.1.tar.gz 973789 SHA256 a30df888ee0da32c4837c328ecf859e992edb6d185efa7d49341cc1949dbb24d SHA512 c051523a63f32e066e3d8c83ef5cc9eec77a969801f57a0826073317c4d80bb24a67b4487638d38028ae288d9698d32483b2755f171a1b3cbb66f13b2b28a623 WHIRLPOOL 8752bf5c6197ef921447520b7da2a1ed3ae9da641c6cdecedfba41749a14f7a69b0ada343fd0aafc40726de9e6706c200caa1e68ad03018285be9e62f5140145
diff --git a/dev-python/django-haystack/django-haystack-2.2.0.ebuild b/dev-python/django-haystack/django-haystack-2.2.0.ebuild
new file mode 100644
index 000000000000..1da0cfe24947
--- /dev/null
+++ b/dev-python/django-haystack/django-haystack-2.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pluggable search for Django"
+HOMEPAGE="http://haystacksearch.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+RDEPEND=">=dev-python/django-1.5.8[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-haystack/django-haystack-2.3.1.ebuild b/dev-python/django-haystack/django-haystack-2.3.1.ebuild
new file mode 100644
index 000000000000..df67e6d8d5cc
--- /dev/null
+++ b/dev-python/django-haystack/django-haystack-2.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pluggable search for Django"
+HOMEPAGE="http://haystacksearch.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/django-1.6[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/elasticsearch-py[$(python_gen_usedep 'python*')]
+ dev-python/geopy[$(python_gen_usedep 'python*')]
+ dev-python/lxml[$(python_gen_usedep 'python*')]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/pysolr-3.2.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/whoosh[${PYTHON_USEDEP}]
+ )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+RESTRICT="test"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ ${EPYTHON} test_haystack/solr_tests/server/wait-for-solr
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-haystack/metadata.xml b/dev-python/django-haystack/metadata.xml
new file mode 100644
index 000000000000..6e9dd6c3d803
--- /dev/null
+++ b/dev-python/django-haystack/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-haystack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-international/Manifest b/dev-python/django-international/Manifest
new file mode 100644
index 000000000000..69d8b27d3b77
--- /dev/null
+++ b/dev-python/django-international/Manifest
@@ -0,0 +1,2 @@
+DIST django-international-0.0.3.tar.gz 16481 SHA256 3be26df5e77d43f04992d26d7a6fa1728f9571c2f8e7ad2f2edbe29d36772340 SHA512 9a42d150e3280f927fc55adcadd7e3618aa8b3fdc21e0f79bbc4943a7915505bb0dab7fab1359dc6e229adc59a5598627de6e529cb065afdbb173454879ebf88 WHIRLPOOL cc2c27cd04d2b29f8f0b62edf6b009e6863d5087343a4f637afd73c7c04f92587a4cc509587a669fdd421cf796a1616356ac92c9ecf413d6009ea0a280d67984
+DIST django-international-0.0.6.tar.gz 17104 SHA256 21e94cf90ac6befc267132916b8ca1b33100f95dab544184f42125968fb3b946 SHA512 a7ef5881467b88bd1d611476a8bc43ba54731f7bea8abd8790ca7b6912480c4b87ebc4d37a41859f60738d961b4a6c0221fabce5bc2d90c4fc83c8991567990c WHIRLPOOL 721196703beed43a88ee80a60a83ea037a75be07828eee787427018867b0ea0ab64ec1ad75b1a9a16e86bfd6460b8a393532c553b82bff78adf3e8e5f9a341b3
diff --git a/dev-python/django-international/django-international-0.0.3.ebuild b/dev-python/django-international/django-international-0.0.3.ebuild
new file mode 100644
index 000000000000..3e59838545fd
--- /dev/null
+++ b/dev-python/django-international/django-international-0.0.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="Country and currency data for Django projects"
+HOMEPAGE="http://pypi.python.org/pypi/django-international https://bitbucket.org/monwara/django-international"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/django"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_install() {
+ distutils-r1_python_install_all
+ dodir usr/share/doc/${P}/fixtures
+ docompress -x usr/share/doc/${P}/fixtures
+ insinto usr/share/doc/${P}/fixtures
+ doins international/fixtures/countries_fixture.json
+}
diff --git a/dev-python/django-international/django-international-0.0.6.ebuild b/dev-python/django-international/django-international-0.0.6.ebuild
new file mode 100644
index 000000000000..dc928d29d8f2
--- /dev/null
+++ b/dev-python/django-international/django-international-0.0.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="Country and currency data for Django projects"
+HOMEPAGE="http://pypi.python.org/pypi/django-international https://bitbucket.org/monwara/django-international"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-international/metadata.xml b/dev-python/django-international/metadata.xml
new file mode 100644
index 000000000000..d83293204507
--- /dev/null
+++ b/dev-python/django-international/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-international</remote-id>
+ <remote-id type="bitbucket">monwara/django-international</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-ldap-groups/Manifest b/dev-python/django-ldap-groups/Manifest
new file mode 100644
index 000000000000..e2110c8f8432
--- /dev/null
+++ b/dev-python/django-ldap-groups/Manifest
@@ -0,0 +1 @@
+DIST django-ldap-groups-0.1.3.tar.gz 8886 SHA256 39abf7f66e86163504055ae94ce2a58233b6dc6d50fedf2e436d63224090830a SHA512 0e9c5a1f1f38042f0a0dc9301c667a00b144ad0cbf15afd69cc44e241933626e0536752354ead4ae937ff3625c5ded86edaf0592a8e2c7b9f39ab86336e7d876 WHIRLPOOL b96a873d23632d1f8e3b94b6845094882beb994dfe3ff66e30d74b46137825ad2d0c99279846a869cbdb8cd1109c3c138f17cb9dcd7475f6e46e8ddf144a47b8
diff --git a/dev-python/django-ldap-groups/django-ldap-groups-0.1.3-r1.ebuild b/dev-python/django-ldap-groups/django-ldap-groups-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..105cd0aef118
--- /dev/null
+++ b/dev-python/django-ldap-groups/django-ldap-groups-0.1.3-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A reusable application for the Django web framework"
+HOMEPAGE="http://code.google.com/p/django-ldap-groups"
+SRC_URI="http://django-ldap-groups.googlecode.com/files/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="${RDEPEND} dev-python/django[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( ldap_groups/README )
diff --git a/dev-python/django-ldap-groups/metadata.xml b/dev-python/django-ldap-groups/metadata.xml
new file mode 100644
index 000000000000..9121b3205ced
--- /dev/null
+++ b/dev-python/django-ldap-groups/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/dev-python/django-ldapdb/Manifest b/dev-python/django-ldapdb/Manifest
new file mode 100644
index 000000000000..09b38739c327
--- /dev/null
+++ b/dev-python/django-ldapdb/Manifest
@@ -0,0 +1 @@
+DIST django-ldapdb-0.3.2.tar.gz 11029 SHA256 b6bab3a4501419ff9ba1e50076b67c5f92e1c0b3d4b2c8c40014aadb5c06cc6d SHA512 d1f88f754bebda53b5f51c5120b070ce93e229a1c31d59bcdb5cbffdfdc1d590479ae5a2024805705d8bcf51bad8787d578a348ec78ffc5565bdeedb9ffa7b96 WHIRLPOOL 013869787a85a822712ea2331272651d43462320319256d5e07355502a7392cd601b084492f03fb40b2f12fa733ca0e87ecc283a4fc7ba71fd37bbdc9d1b0eb3
diff --git a/dev-python/django-ldapdb/django-ldapdb-0.3.2.ebuild b/dev-python/django-ldapdb/django-ldapdb-0.3.2.ebuild
new file mode 100644
index 000000000000..98fd200c73cc
--- /dev/null
+++ b/dev-python/django-ldapdb/django-ldapdb-0.3.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An LDAP database backend for Django"
+HOMEPAGE="https://github.com/jlaine/django-ldapdb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-2.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-ldapdb/metadata.xml b/dev-python/django-ldapdb/metadata.xml
new file mode 100644
index 000000000000..185c5834bff8
--- /dev/null
+++ b/dev-python/django-ldapdb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-ldapdb</remote-id>
+ <remote-id type="github">jlaine/django-ldapdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-nose/Manifest b/dev-python/django-nose/Manifest
new file mode 100644
index 000000000000..76cc2b5b2ad3
--- /dev/null
+++ b/dev-python/django-nose/Manifest
@@ -0,0 +1,3 @@
+DIST django-nose-1.3.tar.gz 25149 SHA256 3667d26a41fec30364a0ef72580832ca5328802d553f6d6e72af5ac21cb36365 SHA512 0e7f18d32340f912fcde96c3ed4ff63caec71ad178f9bd01e61087a228d7e93ecfd87c5d320a66093bce438561638daacd586a4ecb3198573b28607d33eb853f WHIRLPOOL 0acbbe147c0e434ef641843d10f9781ef26f3dc428ba8e613165ed43d6f5d1dea27bf513d9efcbd551c38c7a1945ae3b06aafb0a6d01c8714479f0c4836f1863
+DIST django-nose-1.4.1.tar.gz 26792 SHA256 224dd1bfd8fcdb9f67256c5430147b4c0105d72f6ac8ce3bca6b486449ec6062 SHA512 9ba42767bdfb0c359d9c693c5a7775767ba1a56c54531e75ff2b97e2e12d2a9f535c771c5b076b9024f3662a4143f115aa4bd84b9844ce8cb71f99c47722dcef WHIRLPOOL 49c285867adcbf0b17a388bfd6c8cd2603d8c7b50ec162b088409c1a049e43718f9bc37167d914327d474f6177fb38e01797a80f0c47bc02fd7db31cbe7e8761
+DIST django-nose-1.4.tar.gz 26477 SHA256 26cef3c6f62df2eee955a25195de6f793881317c0f5fd1a1c6f9e22f351a9313 SHA512 2df1377146304bc0356e24a212bee8ee55c05ccaafcd6fceca4afe5ae528335192c4a89c842f4c2df6965965c9536f0862903aff2141139cfc83695b41d56e32 WHIRLPOOL 7da21678b2b955972f14dc806aac7c5615048b5edae96bdcc17ee4d1302d714519a223356398f89b0d512aa3aa6979567682dd81b8bb6c99cd7cdd340fa66293
diff --git a/dev-python/django-nose/django-nose-1.3.ebuild b/dev-python/django-nose/django-nose-1.3.ebuild
new file mode 100644
index 000000000000..99ac1a9e1248
--- /dev/null
+++ b/dev-python/django-nose/django-nose-1.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+RESTRICT="test" # missing south
+
+inherit distutils-r1
+
+DESCRIPTION="Django test runner that uses nose"
+HOMEPAGE="https://github.com/jbalogh/django-nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/nose-1.2.1[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# test? ( ${RDEPEND}
+# >=dev-python/south-0.7[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" testapp/runtests.py
+}
diff --git a/dev-python/django-nose/django-nose-1.4.1.ebuild b/dev-python/django-nose/django-nose-1.4.1.ebuild
new file mode 100644
index 000000000000..5cc34b373c9a
--- /dev/null
+++ b/dev-python/django-nose/django-nose-1.4.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Django test runner that uses nose"
+HOMEPAGE="https://github.com/jbalogh/django-nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="test" # The testsuite currently broken See notes below
+
+RDEPEND=">=dev-python/nose-1.2.1[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# test? ( ${RDEPEND}
+# >=dev-python/south-0.7[${PYTHON_USEDEP}] )"
+# South currently doesn't support any versions of django in portage
+# that support python3. They are masked as is south which appears may be deprecated
+
+python_test() {
+ # https://github.com/django-nose/django-nose/issues/227
+ # Running tests by the bash script runtests.sh reveals a missing
+ # folder. Use of runtests.py works only for py2.7 due to
+ # south supporting only old versions of django.
+ # The testsuite has a massive rewrite set in the issue listed above.
+ ./runtests.sh
+# "${PYTHON}" testapp/runtests.py broken
+}
diff --git a/dev-python/django-nose/django-nose-1.4.ebuild b/dev-python/django-nose/django-nose-1.4.ebuild
new file mode 100644
index 000000000000..17870774ebdf
--- /dev/null
+++ b/dev-python/django-nose/django-nose-1.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+RESTRICT="test" # missing south now
+
+inherit distutils-r1
+
+DESCRIPTION="Django test runner that uses nose"
+HOMEPAGE="https://github.com/jbalogh/django-nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/nose-1.2.1[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# test? ( ${RDEPEND}
+# >=dev-python/south-0.7[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" testapp/runtests.py
+}
diff --git a/dev-python/django-nose/metadata.xml b/dev-python/django-nose/metadata.xml
new file mode 100644
index 000000000000..c3eb3f767705
--- /dev/null
+++ b/dev-python/django-nose/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-nose</remote-id>
+ <remote-id type="github">jbalogh/django-nose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-oauth-plus/Manifest b/dev-python/django-oauth-plus/Manifest
new file mode 100644
index 000000000000..75203ab53072
--- /dev/null
+++ b/dev-python/django-oauth-plus/Manifest
@@ -0,0 +1 @@
+DIST django-oauth-plus-2.2.8.tar.gz 25911 SHA256 a9b08d846e23ce0227de8ccce72d453d3618a3de4f83959da2ae75f76b627867 SHA512 9237a2e2e52923b2fdfd3b7feff63e11f2c06c871faca3455189edba233e2a6513169481092f413c3ddea1c919f4b995fb465a505935388f1d803d094942ee07 WHIRLPOOL 9bf83c5052314cc1174ba4080653992569672a7c47a5b78896d7220b099346ac40e1a0f4c81738ec2638b76e942083953eb11e37925c2582cae5a5d098d49132
diff --git a/dev-python/django-oauth-plus/django-oauth-plus-2.2.8.ebuild b/dev-python/django-oauth-plus/django-oauth-plus-2.2.8.ebuild
new file mode 100644
index 000000000000..ede060f4f279
--- /dev/null
+++ b/dev-python/django-oauth-plus/django-oauth-plus-2.2.8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+# Testsuite written for py2 only, no indication given in source
+
+inherit distutils-r1
+
+DESCRIPTION="Support of OAuth 1.0a in Django using python-oauth2"
+HOMEPAGE="http://pypi.python.org/pypi/django-oauth-plus http://code.welldev.org/django-oauth-plus/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/django-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oauth2-1.5.170[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_test() {
+ PYTHONPATH=.:oauth_provider
+ if "${PYTHON}" oauth_provider/runtests/runtests.py; then
+ einfo "Testsuite passed under ${EPYTHON}"
+ else
+ die "Testsuite failed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/django-oauth-plus/metadata.xml b/dev-python/django-oauth-plus/metadata.xml
new file mode 100644
index 000000000000..81c84aa20e28
--- /dev/null
+++ b/dev-python/django-oauth-plus/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-oauth-plus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-openid-auth/Manifest b/dev-python/django-openid-auth/Manifest
new file mode 100644
index 000000000000..e3758b783ae7
--- /dev/null
+++ b/dev-python/django-openid-auth/Manifest
@@ -0,0 +1 @@
+DIST django-openid-auth-0.5.tar.gz 32722 SHA256 2ceb25b16140d6ee02e1c65948c18aa184d62350452a2b4b2f44819b69866dfc SHA512 9d1444aa15d450acc6ffc1ddc8359253828b2cceeee57e98268c1ae25bbcb1e2facd1e065c9e29fa3b167efb86923d72408cc43442b18d6dbed4dca05c33548b WHIRLPOOL 56dc25394756e2dfaed1eca82db60b132ab5c728e08c898b3072f211044fbb6335c51dc11576f60a37f86b41e3fb7a8f8306029b0b559a3260ac57cbd1046d22
diff --git a/dev-python/django-openid-auth/django-openid-auth-0.5.ebuild b/dev-python/django-openid-auth/django-openid-auth-0.5.ebuild
new file mode 100644
index 000000000000..ce5bbe119388
--- /dev/null
+++ b/dev-python/django-openid-auth/django-openid-auth-0.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library that can be used to add OpenID support to Django applications"
+HOMEPAGE="https://launchpad.net/django-openid-auth"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${PN}-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/django-1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-openid-2.2.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( example_consumer/ )
diff --git a/dev-python/django-openid-auth/metadata.xml b/dev-python/django-openid-auth/metadata.xml
new file mode 100644
index 000000000000..e314c7897b44
--- /dev/null
+++ b/dev-python/django-openid-auth/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ryanmcgrath/twython</remote-id>
+ <remote-id type="launchpad">django-openid-auth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-opensearch/Manifest b/dev-python/django-opensearch/Manifest
new file mode 100644
index 000000000000..7b03541a9963
--- /dev/null
+++ b/dev-python/django-opensearch/Manifest
@@ -0,0 +1 @@
+DIST django-opensearch-0.2.4.tar.gz 15770 SHA256 483074213473a699b3b6558402bc1502bd378542f53fabeabf651304a0d25912 SHA512 6852f95b52a68cf1c48ceeaa365a691391e7a19363221e3bc32a9dd4c863e37a9611b1f31f91c342303b0e1b3418c4a27873d0a980e64aeab87ff2ccb1aba63d WHIRLPOOL c84fbd512905c081a82e513280e35f3cfb83bac0d47a2dd61c27d9b0af6952170d379dd7fddca9b69a54519f0eb284caf5624b1f60ddd5824f368d154e0ebad7
diff --git a/dev-python/django-opensearch/django-opensearch-0.2.4.ebuild b/dev-python/django-opensearch/django-opensearch-0.2.4.ebuild
new file mode 100644
index 000000000000..7584285541fc
--- /dev/null
+++ b/dev-python/django-opensearch/django-opensearch-0.2.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A django reusable application to handle opensearch.xml"
+HOMEPAGE="https://github.com/vint21h/django-opensearch"
+SRC_URI="https://github.com/vint21h/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/django-1.7[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-opensearch/metadata.xml b/dev-python/django-opensearch/metadata.xml
new file mode 100644
index 000000000000..398e8255fbe3
--- /dev/null
+++ b/dev-python/django-opensearch/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">vint21h/django-opensearch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-openstack-auth/Manifest b/dev-python/django-openstack-auth/Manifest
new file mode 100644
index 000000000000..b120c6251721
--- /dev/null
+++ b/dev-python/django-openstack-auth/Manifest
@@ -0,0 +1,3 @@
+DIST django_openstack_auth-1.1.5.tar.gz 40893 SHA256 ad63e85575caae1107bd05afd8d27b45d4590cc1f6d3b63905959a7c457b1aef SHA512 43a95a1a5b9c24e15d4ff76660a52204c03d6679400632e870ee364c9f7de7b39128cc6acd883cd12abc80cbdfab44a3e3f2a803193eeac7d3e838be39a93ea2 WHIRLPOOL 2515c77ce6aa2c9f3e2860506ae0d5656f3dfda9bf17eb1fba5c307bf477de5aa22a3834b94c053a5f6fc439c9cf2a5b9bbeb7e87bef3bcf3e7739f55b80dd77
+DIST django_openstack_auth-1.2.0.tar.gz 75577 SHA256 5ad78e5c92502f1abfb10fd101c023adf74a3e728bd42ed19ffea2185680f9a6 SHA512 793f0763b47574574864c16c9d79787d44c84259304587b5d2b3375de04291c5d200699297960b3b3904b959ceee31f696fef2233659db9b846c6af06fd8c251 WHIRLPOOL 37632e35beb810979ffb7878c9ffed0258a64caf4a80f61050bb054d70b56e09c9f0f13dac2ce339b87ccdcbeba779893c2ce81912b95f50d52a88b947872092
+DIST django_openstack_auth-1.3.1.tar.gz 75165 SHA256 99c6e92170656eade430d31f79ddf60e66355ff7b84caf038ab1ecc879cff9ba SHA512 cf9b4a1c526f237a23dadab4a7e6a2bd1f80a8d6d89d9b83f4d0fb6fc4df80aba68ad344662fbeaddeca2ca8ec36856af1074da383368d85d56460ed199609aa WHIRLPOOL b99b9381ce9eb1357939b750a40f86373fcbbe411d90a23e15f2d1e77dcfab45e58ac69e4e774228dc1b0dc3d3a0649e451efc0f271e904a4241b06c80b4d8bd
diff --git a/dev-python/django-openstack-auth/django-openstack-auth-1.1.5.ebuild b/dev-python/django-openstack-auth/django-openstack-auth-1.1.5.ebuild
new file mode 100644
index 000000000000..48457ec18278
--- /dev/null
+++ b/dev-python/django-openstack-auth/django-openstack-auth-1.1.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django authentication backend for use with the OpenStack Keystone
+Identity backend."
+HOMEPAGE="http://django_openstack_auth.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/django_openstack_auth/django_openstack_auth-${PV}.tar.gz"
+S="${WORKDIR}/django_openstack_auth-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/django-1.4[${PYTHON_USEDEP}]
+ <dev-python/django-1.7[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" -m openstack_auth.tests.run_tests || die "Testsuite failed"
+}
diff --git a/dev-python/django-openstack-auth/django-openstack-auth-1.2.0.ebuild b/dev-python/django-openstack-auth/django-openstack-auth-1.2.0.ebuild
new file mode 100644
index 000000000000..23635efaa7eb
--- /dev/null
+++ b/dev-python/django-openstack-auth/django-openstack-auth-1.2.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django authentication backend for use with the OpenStack Keystone
+Identity backend."
+HOMEPAGE="http://django_openstack_auth.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/django_openstack_auth/django_openstack_auth-${PV}.tar.gz"
+S="${WORKDIR}/django_openstack_auth-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/django-1.4.2[${PYTHON_USEDEP}]
+ <dev-python/django-1.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" -m openstack_auth.tests.run_tests || die "Testsuite failed"
+}
diff --git a/dev-python/django-openstack-auth/django-openstack-auth-1.3.1.ebuild b/dev-python/django-openstack-auth/django-openstack-auth-1.3.1.ebuild
new file mode 100644
index 000000000000..53af5aa70a13
--- /dev/null
+++ b/dev-python/django-openstack-auth/django-openstack-auth-1.3.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Django authentication backend for use with OpenStack Keystone Identity backend"
+HOMEPAGE="http://django_openstack_auth.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/django_openstack_auth/django_openstack_auth-${PV}.tar.gz"
+S="${WORKDIR}/django_openstack_auth-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+CDEPEND=">=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}] )
+ ${CDEPEND}
+ doc? ( ${CDEPEND} )"
+RDEPEND="
+ >=dev-python/django-1.4.2[${PYTHON_USEDEP}]
+ <dev-python/django-1.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Avoid warning in doc build due to missed file
+ if use doc; then
+ mkdir doc/source/_static || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # under sphinx-1.3.1 the build outputs a harmless warning about change of
+ # html_theme setting in conf.py. priot versions will have the right setting
+ if use doc; then
+ sphinx-build -b html -c doc/source/ doc/source/ doc/source/html || die
+ fi
+}
+
+python_test() {
+ "${PYTHON}" -m openstack_auth.tests.run_tests || die "Testsuite failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-openstack-auth/metadata.xml b/dev-python/django-openstack-auth/metadata.xml
new file mode 100644
index 000000000000..8147c037263e
--- /dev/null
+++ b/dev-python/django-openstack-auth/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A Django authentication backend for use with the OpenStack Keystone Identity backend.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">django_openstack_auth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-otp-yubikey/Manifest b/dev-python/django-otp-yubikey/Manifest
new file mode 100644
index 000000000000..48d651b4e01b
--- /dev/null
+++ b/dev-python/django-otp-yubikey/Manifest
@@ -0,0 +1,2 @@
+DIST django-otp-yubikey-0.2.0.tar.gz 11264 SHA256 72a62d0a0cec9ccf1a1a029b04b6b620f30ec501c0115a52ef6472a6817ba808 SHA512 f0b18fb262caa76a25af0a063c85c07b41f7d211dacd1db2dc6cd55995bc505a1e70535b70a95cba722685a3b34c8a304e9b829b9c3f27caae67921f86f7ffde WHIRLPOOL ccd74c242715cd54436ac451b2d69b8a4a75291ac4f2d05ec3c4ead0dba61329ea720149e369799e3772da97ecc4a70139c0ffb7bf658213072c44b5a2cdc3c9
+DIST django-otp-yubikey-0.3.1.tar.gz 14027 SHA256 584ca85fe05525c04575d760348c1c9adaec24fbab882b3c718a56dbd2f3386b SHA512 d7f13a22f2beb52a8566b5f5b43997344a6ea754bcd06fade0fa39872aad2ba2eecc11b9bccff340e2099c264dcae08faf6beb8d99f0508ae5d67646fcd79204 WHIRLPOOL 90e7cd6b63d322335aa725f30435c222542b4a59e6d7c1c5659ab150a1b00e757b13fdc40cef527e95731499e8f922fd900474bcd70b0b03feb6e06753c5df43
diff --git a/dev-python/django-otp-yubikey/django-otp-yubikey-0.2.0.ebuild b/dev-python/django-otp-yubikey/django-otp-yubikey-0.2.0.ebuild
new file mode 100644
index 000000000000..76647d02c002
--- /dev/null
+++ b/dev-python/django-otp-yubikey/django-otp-yubikey-0.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="django-otp plugin that verifies YubiKey OTP tokens"
+HOMEPAGE="https://bitbucket.org/psagers/django-otp"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/django-otp[${PYTHON_USEDEP}]
+ dev-python/yubiotp[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/django-otp-yubikey/django-otp-yubikey-0.3.1.ebuild b/dev-python/django-otp-yubikey/django-otp-yubikey-0.3.1.ebuild
new file mode 100644
index 000000000000..f72c43c05040
--- /dev/null
+++ b/dev-python/django-otp-yubikey/django-otp-yubikey-0.3.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="django-otp plugin that verifies YubiKey OTP tokens"
+HOMEPAGE="https://bitbucket.org/psagers/django-otp"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/django-otp-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/yubiotp-0.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/django-otp-yubikey/metadata.xml b/dev-python/django-otp-yubikey/metadata.xml
new file mode 100644
index 000000000000..c2fc810c4b5e
--- /dev/null
+++ b/dev-python/django-otp-yubikey/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-otp-yubikey</remote-id>
+ <remote-id type="bitbucket">psagers/django-otp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
new file mode 100644
index 000000000000..762813281b03
--- /dev/null
+++ b/dev-python/django-otp/Manifest
@@ -0,0 +1,2 @@
+DIST django-otp-0.2.7.tar.gz 76879 SHA256 dfc305aa894da2b7111c8846d90254b0d9099f415e14165f6e784f5ceddd5f3f SHA512 b48c6dd505ed06b4028a1d27213ea759a1a54ca5f4e5c8dc2aad826535a80295fcdde3a1da455256927d26906e53ee40c47a0ab89de5c6331c2f3567e43fdae7 WHIRLPOOL eb819e389d924953537f0f9db2dff56631b07ea50f898abd398f873dad0144255e14984f6f5aa2ab0d0bd296163c995c7837ab6fafefab87646189047b839f52
+DIST django-otp-0.3.1.tar.gz 38800 SHA256 2aa9f24d655ca0c2583b7fc08c603c2861f337155e35fcc5aae9946e6985db45 SHA512 6eb78da109609ab843d97c170615a2273f32fa02cd9ca874f8e059c80736d98015477c1c15e8db2fba59a449b44c471f067e3ddb87776378e908c04e3a8a82db WHIRLPOOL fe27c2fbdd89ff279694d4b2baa0cd11354c104baccbad8282036ddd476da5b3cadb331d372c7114bcc77f885c606f875039e27b72f1d271fa1df7387e794d2a
diff --git a/dev-python/django-otp/django-otp-0.2.7.ebuild b/dev-python/django-otp/django-otp-0.2.7.ebuild
new file mode 100644
index 000000000000..407eec6f7e92
--- /dev/null
+++ b/dev-python/django-otp/django-otp-0.2.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pluggable framework for adding two-factor authentication to Django using one-time passwords"
+HOMEPAGE="https://bitbucket.org/psagers/django-otp"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/django-1.4.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-otp/django-otp-0.3.1.ebuild b/dev-python/django-otp/django-otp-0.3.1.ebuild
new file mode 100644
index 000000000000..407eec6f7e92
--- /dev/null
+++ b/dev-python/django-otp/django-otp-0.3.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pluggable framework for adding two-factor authentication to Django using one-time passwords"
+HOMEPAGE="https://bitbucket.org/psagers/django-otp"
+SRC_URI="mirror://pypi/d/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/django-1.4.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-otp/metadata.xml b/dev-python/django-otp/metadata.xml
new file mode 100644
index 000000000000..c3c00c114afe
--- /dev/null
+++ b/dev-python/django-otp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-otp</remote-id>
+ <remote-id type="bitbucket">psagers/django-otp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-picklefield/Manifest b/dev-python/django-picklefield/Manifest
new file mode 100644
index 000000000000..9717f0ede7f4
--- /dev/null
+++ b/dev-python/django-picklefield/Manifest
@@ -0,0 +1,2 @@
+DIST django-picklefield-0.3.0.tar.gz 10334 SHA256 d1db231b9bec426a7f0b1c37ebbf4e5448658a4714820d74f847e2f769baa2f0 SHA512 01ba2f5227c3a4613212b9049cf69dfdcccba3aa79309a71fb107cbb0dd3976b9fe0e481ba79180c0a5d1b6e8039dbc367df35a3250ce57008d7fd572b1020ba WHIRLPOOL c696006ee777049058cc04fc6457f1931b855d6f74424a3e73ad87f5d25901a1ee6122b366c481351433b13cb6f20b9e61f417fc59808b30f31749293e86c074
+DIST django-picklefield-0.3.1.tar.gz 10410 SHA256 d99426be46fd92fe6b64b9f5c5926ea9859394e44ec3ef9e1f7c647d3a26657f SHA512 47e9aa8fda2374672c29dcb1068c9bddb0630bfc95cab401aa611123d1eeb3380f42efeee833542e187e052622d60aec1affb1c43cd96e9e69aadc187feba098 WHIRLPOOL eba9dc88dc688007568e5141e427eb9d49c80890d4da6df9487092471d52ab93556a919fda64e64d05e628f1715b03cba15b1cea7d225aba9f9546b35cf68ab1
diff --git a/dev-python/django-picklefield/django-picklefield-0.3.0.ebuild b/dev-python/django-picklefield/django-picklefield-0.3.0.ebuild
new file mode 100644
index 000000000000..5cf232e1ef76
--- /dev/null
+++ b/dev-python/django-picklefield/django-picklefield-0.3.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of a pickled object field for django"
+HOMEPAGE="http://github.com/shrubberysoft/django-picklefield"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/django-1.1.1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-picklefield/django-picklefield-0.3.1.ebuild b/dev-python/django-picklefield/django-picklefield-0.3.1.ebuild
new file mode 100644
index 000000000000..fe29ccd8e215
--- /dev/null
+++ b/dev-python/django-picklefield/django-picklefield-0.3.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of a pickled object field for django"
+HOMEPAGE="http://github.com/shrubberysoft/django-picklefield"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-python/django-1.1.1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-picklefield/metadata.xml b/dev-python/django-picklefield/metadata.xml
new file mode 100644
index 000000000000..2443d3ac9a4f
--- /dev/null
+++ b/dev-python/django-picklefield/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-picklefield</remote-id>
+ <remote-id type="github">shrubberysoft/django-picklefield</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-pipeline/Manifest b/dev-python/django-pipeline/Manifest
new file mode 100644
index 000000000000..1886b93e2b9d
--- /dev/null
+++ b/dev-python/django-pipeline/Manifest
@@ -0,0 +1,2 @@
+DIST django-pipeline-1.3.25.tar.gz 41008 SHA256 92c4ba5543d3ad980cd3a65a121ced62a6ad6449a773269a693f54e0ca5c565f SHA512 2c66b8b60076a8d19049947a9465d96fd80098c6e560f6cb6ffa26fd17d267830d87913041f9876da1276b0224ef3e8b0183c56367741e11c0f010a236b87169 WHIRLPOOL 15ac71f71988b2c7f5bb2d7c322843c35f6e34532af526b72bc90c15458b512948b97af333aaa5d52f71fd785f70d9b04018f8337eefc037be2dd24f04c77d7f
+DIST django-pipeline-1.3.26.tar.gz 41054 SHA256 58433fc07cc81f213686b892caeb8d17d6ed4e00444ef95b35f21a5a3cc6357e SHA512 106c89e6a5509305548f6169f9b38d3a288bdf260c4b933ac1372c8471e897b8f6109cdecf70a4f77dff670e2b97abe4ed990903abfc188a59600189d0473284 WHIRLPOOL 7ead1f6dbc6df1a5c4b26869e6b4ae73cd416ed52f22ba1ff16b57a295f476c7973a56af9c05d1b50097e82dcd286207f648920b3acadd88fc40ad26aae10285
diff --git a/dev-python/django-pipeline/django-pipeline-1.3.25.ebuild b/dev-python/django-pipeline/django-pipeline-1.3.25.ebuild
new file mode 100644
index 000000000000..ff473614b8b6
--- /dev/null
+++ b/dev-python/django-pipeline/django-pipeline-1.3.25.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An asset packaging library for Django"
+HOMEPAGE="http://pypi.python.org/pypi/django-pipeline/ https://github.com/cyberdelia/django-pipeline"
+
+# PyPi releases lack docs/ subdir:
+# https://github.com/cyberdelia/django-pipeline/pull/254
+SRC_URI="https://github.com/cyberdelia/django-pipeline/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/django-1.5.8[${PYTHON_USEDEP}]
+ dev-python/jsmin[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# As usual for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH=. django-admin.py test --settings=tests.settings tests \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ export PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.jsmin.JSMinCompressor'
+ distutils-r1_python_install
+}
diff --git a/dev-python/django-pipeline/django-pipeline-1.3.26.ebuild b/dev-python/django-pipeline/django-pipeline-1.3.26.ebuild
new file mode 100644
index 000000000000..d9ab3154478a
--- /dev/null
+++ b/dev-python/django-pipeline/django-pipeline-1.3.26.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An asset packaging library for Django"
+HOMEPAGE="http://pypi.python.org/pypi/django-pipeline/ https://github.com/cyberdelia/django-pipeline"
+
+# PyPi releases lack docs/ subdir:
+# https://github.com/cyberdelia/django-pipeline/pull/254
+SRC_URI="https://github.com/cyberdelia/django-pipeline/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/django-1.5.8[${PYTHON_USEDEP}]
+ dev-python/jsmin[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PV}-tests.patch )
+
+# As usual for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/cyberdelia/django-pipeline/issues/381
+ PYTHONPATH=. django-admin.py test --settings=tests.settings tests \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ export PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.jsmin.JSMinCompressor'
+ distutils-r1_python_install
+}
diff --git a/dev-python/django-pipeline/files/1.3.26-tests.patch b/dev-python/django-pipeline/files/1.3.26-tests.patch
new file mode 100644
index 000000000000..5cdf5e760c96
--- /dev/null
+++ b/dev-python/django-pipeline/files/1.3.26-tests.patch
@@ -0,0 +1,64 @@
+https://github.com/cyberdelia/django-pipeline/commit/ba7b8d0d1cb621521a2025fed3e60786a010836d
+diff --git a/docs/configuration.rst b/docs/configuration.rst
+index 4385e23..e200bc3 100644
+--- a/docs/configuration.rst
++++ b/docs/configuration.rst
+@@ -185,7 +185,7 @@ Other settings
+ (
+ (b'text/coffeescript', '.coffee'),
+ (b'text/less', '.less'),
+- (b'application/javascript', '.js'),
++ (b'text/javascript', '.js'),
+ (b'text/x-sass', '.sass'),
+ (b'text/x-scss', '.scss')
+ )
+diff --git a/tests/tests/test_template.py b/tests/tests/test_template.py
+index 84b6957..a303d03 100644
+--- a/tests/tests/test_template.py
++++ b/tests/tests/test_template.py
+@@ -35,19 +35,19 @@ def test_package_css_disabled(self):
+
+ def test_package_js(self):
+ template = self.env.from_string(u"""{% compressed_js "scripts" %}""")
+- self.assertEqual(u'<script type="application/javascript" src="/static/scripts.js" charset="utf-8"></script>', template.render())
++ self.assertEqual(u'<script type="text/javascript" src="/static/scripts.js" charset="utf-8"></script>', template.render())
+
+ def test_package_js_async(self):
+ template = self.env.from_string(u"""{% compressed_js "scripts_async" %}""")
+- self.assertEqual(u'<script async type="application/javascript" src="/static/scripts_async.js" charset="utf-8"></script>', template.render())
++ self.assertEqual(u'<script async type="text/javascript" src="/static/scripts_async.js" charset="utf-8"></script>', template.render())
+
+ def test_package_js_defer(self):
+ template = self.env.from_string(u"""{% compressed_js "scripts_defer" %}""")
+- self.assertEqual(u'<script defer type="application/javascript" src="/static/scripts_defer.js" charset="utf-8"></script>', template.render())
++ self.assertEqual(u'<script defer type="text/javascript" src="/static/scripts_defer.js" charset="utf-8"></script>', template.render())
+
+ def test_package_js_async_defer(self):
+ template = self.env.from_string(u"""{% compressed_js "scripts_async_defer" %}""")
+- self.assertEqual(u'<script async defer type="application/javascript" src="/static/scripts_async_defer.js" charset="utf-8"></script>', template.render())
++ self.assertEqual(u'<script async defer type="text/javascript" src="/static/scripts_async_defer.js" charset="utf-8"></script>', template.render())
+
+
+ class DjangoTest(TestCase):
+@@ -64,16 +64,16 @@ def test_compressed_css(self):
+
+ def test_compressed_js(self):
+ rendered = self.render_template(u"""{% load compressed %}{% compressed_js "scripts" %}""")
+- self.assertEqual(u'<script type="application/javascript" src="/static/scripts.js" charset="utf-8"></script>', rendered)
++ self.assertEqual(u'<script type="text/javascript" src="/static/scripts.js" charset="utf-8"></script>', rendered)
+
+ def test_compressed_js_async(self):
+ rendered = self.render_template(u"""{% load compressed %}{% compressed_js "scripts_async" %}""")
+- self.assertEqual(u'<script async type="application/javascript" src="/static/scripts_async.js" charset="utf-8"></script>', rendered)
++ self.assertEqual(u'<script async type="text/javascript" src="/static/scripts_async.js" charset="utf-8"></script>', rendered)
+
+ def test_compressed_js_defer(self):
+ rendered = self.render_template(u"""{% load compressed %}{% compressed_js "scripts_defer" %}""")
+- self.assertEqual(u'<script defer type="application/javascript" src="/static/scripts_defer.js" charset="utf-8"></script>', rendered)
++ self.assertEqual(u'<script defer type="text/javascript" src="/static/scripts_defer.js" charset="utf-8"></script>', rendered)
+
+ def test_compressed_js_async_defer(self):
+ rendered = self.render_template(u"""{% load compressed %}{% compressed_js "scripts_async_defer" %}""")
+- self.assertEqual(u'<script async defer type="application/javascript" src="/static/scripts_async_defer.js" charset="utf-8"></script>', rendered)
++ self.assertEqual(u'<script async defer type="text/javascript" src="/static/scripts_async_defer.js" charset="utf-8"></script>', rendered)
+
diff --git a/dev-python/django-pipeline/metadata.xml b/dev-python/django-pipeline/metadata.xml
new file mode 100644
index 000000000000..14c10d6cf43f
--- /dev/null
+++ b/dev-python/django-pipeline/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">cyberdelia/django-pipeline</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-piston/Manifest b/dev-python/django-piston/Manifest
new file mode 100644
index 000000000000..c18b3ee9bd56
--- /dev/null
+++ b/dev-python/django-piston/Manifest
@@ -0,0 +1 @@
+DIST django-piston-0.2.3.tar.gz 34319 SHA256 fb015137ceb7934f4645f7eb91a05d7bd63ef6bb1bd84f557ce55fac38e38ae9 SHA512 205cb15b4e59e7cb4d744525e149480ce9f54afa6b514c038ecf20df9221b4193d5041963b7217f40454c34d77125a1e52f0e7bfed5a471b27b1694a3af2ef6a WHIRLPOOL 364c8273a7542c43e18059b9c0ea6a110577ae190d2faa8cb268045556cf9d1882771ae05d907c907467562994be1367435c498329515d554eb675618f3bc50f
diff --git a/dev-python/django-piston/django-piston-0.2.3-r1.ebuild b/dev-python/django-piston/django-piston-0.2.3-r1.ebuild
new file mode 100644
index 000000000000..63558b51ce1e
--- /dev/null
+++ b/dev-python/django-piston/django-piston-0.2.3-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A mini-framework for Django for creating RESTful APIs"
+HOMEPAGE="http://bitbucket.org/jespern/django-piston/wiki/Home"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-piston/django-piston-9999.ebuild b/dev-python/django-piston/django-piston-9999.ebuild
new file mode 100644
index 000000000000..6e4947ce4133
--- /dev/null
+++ b/dev-python/django-piston/django-piston-9999.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 mercurial
+
+DESCRIPTION="A mini-framework for Django for creating RESTful APIs"
+HOMEPAGE="http://bitbucket.org/jespern/django-piston/wiki/Home"
+EHG_REPO_URI="http://bitbucket.org/jespern/django-piston/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${PN}"
diff --git a/dev-python/django-piston/metadata.xml b/dev-python/django-piston/metadata.xml
new file mode 100644
index 000000000000..dedfa7e1286a
--- /dev/null
+++ b/dev-python/django-piston/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-piston</remote-id>
+ <remote-id type="bitbucket">jespern/django-piston</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-recaptcha/Manifest b/dev-python/django-recaptcha/Manifest
new file mode 100644
index 000000000000..32c49fb26f6c
--- /dev/null
+++ b/dev-python/django-recaptcha/Manifest
@@ -0,0 +1,2 @@
+DIST django-recaptcha-1.0.3.tar.gz 11268 SHA256 ca47210207e81d8237ff0c5cf51ce07b95ff83dcf5f1e03bb813b6e0cb853af6 SHA512 9288ba1b4145dd6a08f39d226eeaa5f9ea6d9ff63714ff497fe808dfbe249918e4bb67790566044bceeb59ed293a8fcfe4fb41e279b17b2d7a0a0c5a53dd6463 WHIRLPOOL 079349c118a163c6ba6addd18001b1a50a3139c1ff7cd8729e0c77d51f2a798d6aa32e911fcdfc57727eddb5e9bde58639256ba254a759790a0077b6aeb766a5
+DIST django-recaptcha-1.0.4.tar.gz 12036 SHA256 8af0da767b07ca4d7a5a2be329776fe6dbab183c3da61ae30796e1a9354eea6c SHA512 45a149250c2f2ca9d00591027bd9f8264fc2ba90a5f09b4a96484326c0805d86f690bf02255a1a112d5705d357b6db2fdf97ca8f26681692f7c1f07118c9c2e4 WHIRLPOOL 620afa904beb41e09b9e178de08785f915c21170e43c558f66fb6f1fba175839bf9d39eeb7094056f1a4fef7b52d79074436699708932639be7f24419d06718b
diff --git a/dev-python/django-recaptcha/django-recaptcha-1.0.3.ebuild b/dev-python/django-recaptcha/django-recaptcha-1.0.3.ebuild
new file mode 100644
index 000000000000..e19a0dbec2a3
--- /dev/null
+++ b/dev-python/django-recaptcha/django-recaptcha-1.0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Django recaptcha form field/widget app"
+HOMEPAGE="http://github.com/praekelt/django-recaptcha http://pypi.python.org/pypi/django-recaptcha"
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/django-setuptest-0.1[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/django-recaptcha/django-recaptcha-1.0.4.ebuild b/dev-python/django-recaptcha/django-recaptcha-1.0.4.ebuild
new file mode 100644
index 000000000000..4917c341d564
--- /dev/null
+++ b/dev-python/django-recaptcha/django-recaptcha-1.0.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Django recaptcha form field/widget app"
+HOMEPAGE="http://github.com/praekelt/django-recaptcha http://pypi.python.org/pypi/django-recaptcha"
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="<dev-python/django-1.8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/django-setuptest-0.1[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/django-recaptcha/files/django-recaptcha-fields.patch b/dev-python/django-recaptcha/files/django-recaptcha-fields.patch
new file mode 100644
index 000000000000..2bd0d32c967e
--- /dev/null
+++ b/dev-python/django-recaptcha/files/django-recaptcha-fields.patch
@@ -0,0 +1,18 @@
+diff -ur django-recaptcha-0.0.6.orig/captcha/fields.py django-recaptcha-0.0.6/captcha/fields.py
+--- captcha/fields.py 2013-01-31 17:05:59.000000000 +0800
++++ captcha/fields.py 2013-03-07 01:44:54.804708648 +0800
+@@ -2,13 +2,12 @@
+ import sys
+
+ from django import forms
+-from django.conf import settings
+ from django.utils.encoding import smart_unicode
+ from django.utils.translation import ugettext_lazy as _
+
+ from captcha import client
+ from captcha.widgets import ReCaptcha
+-
++from captcha import test_settings as settings
+
+ class ReCaptchaField(forms.CharField):
+ default_error_messages = {
diff --git a/dev-python/django-recaptcha/files/django-recaptcha-settings.patch b/dev-python/django-recaptcha/files/django-recaptcha-settings.patch
new file mode 100644
index 000000000000..c28694ee4d1a
--- /dev/null
+++ b/dev-python/django-recaptcha/files/django-recaptcha-settings.patch
@@ -0,0 +1,6 @@
+--- /dev/null 2013-03-05 00:07:00.881999836 +0800
++++ captcha/settings.py 2013-03-07 02:27:52.302580399 +0800
+@@ -0,0 +1,3 @@
++RECAPTCHA_PUBLIC_KEY='76wtgdfsjhsydt7r5FFGFhgsdfytd656sad75fgh'
++RECAPTCHA_PRIVATE_KEY='98dfg6df7g56df6gdfgdfg65JHJH656565GFGFGs'
++RECAPTCHA_USE_SSL='True'
diff --git a/dev-python/django-recaptcha/files/test_settings.py b/dev-python/django-recaptcha/files/test_settings.py
new file mode 100644
index 000000000000..5e66d9e454a2
--- /dev/null
+++ b/dev-python/django-recaptcha/files/test_settings.py
@@ -0,0 +1,14 @@
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': 'test.sqlite',
+ }
+}
+
+INSTALLED_APPS = [
+ 'captcha',
+]
+
+RECAPTCHA_PRIVATE_KEY = '98dfg6df7g56df6gdfgdfg65JHJH656565GFGFGs'
+RECAPTCHA_PUBLIC_KEY = '76wtgdfsjhsydt7r5FFGFhgsdfytd656sad75fgh'
+RECAPTCHA_USE_SSL='True'
diff --git a/dev-python/django-recaptcha/metadata.xml b/dev-python/django-recaptcha/metadata.xml
new file mode 100644
index 000000000000..ea4eb75ba888
--- /dev/null
+++ b/dev-python/django-recaptcha/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-recaptcha</remote-id>
+ <remote-id type="github">preakelt/django-recaptcha</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-registration/Manifest b/dev-python/django-registration/Manifest
new file mode 100644
index 000000000000..a38e3959fe65
--- /dev/null
+++ b/dev-python/django-registration/Manifest
@@ -0,0 +1,2 @@
+DIST django-registration-0.8.tar.gz 284427 SHA256 a9062db28a2f06cb710a07444141d9ec1c499b08502f244f27a002f3e7230f0b SHA512 164508908da937c4f8aacdc5ffdd190b19a4da0174bd92f248b7db80d161fb9cd9beb20c62c7e213b0e060c17306036cf11ffc4e53c071b372ab8c721ca671ac WHIRLPOOL 287a72457e34f3063d09afa61edcc82809cf0690bc16aa81782fa42a228e364c7afd7666991e532b6a00bb6772bb3e6797a576a0495f6bd15431e9578c2b509f
+DIST django-registration-1.0.tar.gz 276715 SHA256 f19112fa1c1f34eb46427afa280398d9f044a604d68d6d0d15047243e0a71d93 SHA512 53b191e4c75629d3ce93e4817a843bc1b056a14558be892aa95dc060b8b0542ddcae79f7cb0b37c4e758e8d9da093e59a57591294539acfed39b998b7087e0e6 WHIRLPOOL 8698a109a6eaf7926936b10f594be414793a36f27386b703d0abeee631da4fcff6f12231f24c3db0dd8468556fdc7e683b4f93286c759b3a0a89e5f1e7633ba2
diff --git a/dev-python/django-registration/django-registration-0.8-r1.ebuild b/dev-python/django-registration/django-registration-0.8-r1.ebuild
new file mode 100644
index 000000000000..0075687b7185
--- /dev/null
+++ b/dev-python/django-registration/django-registration-0.8-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An extensible user-registration application for Django"
+HOMEPAGE="http://www.bitbucket.org/ubernostrum/django-registration/wiki/ http://pypi.python.org/pypi/django-registration"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/django[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/django-registration/django-registration-1.0.ebuild b/dev-python/django-registration/django-registration-1.0.ebuild
new file mode 100644
index 000000000000..74da7dfaa784
--- /dev/null
+++ b/dev-python/django-registration/django-registration-1.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An extensible user-registration application for Django"
+HOMEPAGE="http://www.bitbucket.org/ubernostrum/django-registration/wiki/ http://pypi.python.org/pypi/django-registration"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="dev-python/django[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/django-registration/metadata.xml b/dev-python/django-registration/metadata.xml
new file mode 100644
index 000000000000..68d74dc9d82b
--- /dev/null
+++ b/dev-python/django-registration/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jmbsvicetto@gentoo.org</email>
+ <name>Jorge Manuel B. S. Vicetto</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-registration</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-select2/Manifest b/dev-python/django-select2/Manifest
new file mode 100644
index 000000000000..20dab40bf077
--- /dev/null
+++ b/dev-python/django-select2/Manifest
@@ -0,0 +1,4 @@
+DIST Django-Select2-3.2.1.tar.gz 67816 SHA256 d39832622840edfc66882d0e449fd09c676669ff1f244548e5c721e91ab52482 SHA512 c4935455b013430e3ea941546a22b5468fcf9535ad2f1728ceed653133814cc3d126f3a88911de391af25068d8824f102748f6b02fc7007b586445adbbe0ed33 WHIRLPOOL 27e01d59dfce9eba871beb1c686112f6d5507123168899205262b0b719b6002502a9f5be0cab2625e57ed04acfd1b1b1fedae8f927f182992427f17362eff972
+DIST Django-Select2-4.0.0.tar.gz 75566 SHA256 9a186b6737baf7b000f6ea0f9c0e76475a73643c89a879fa4068e774af2862d5 SHA512 459b7885d4567d8aef89a527ed2913dddcb3d8bf1ec5993b6dd70b66c57ffdf60f418bdd7b4391b9e81815af3ce997d7f364880d6e272cf19a348834c9b3a54d WHIRLPOOL 92796dcaae59b2b91f6cd9178938dedde21e58e1225289b45e5a09450a52895d0d860360ba88070b024f611081ab95c95759bea26d417cffc1f3fd4ab016d991
+DIST Django-Select2-4.2.2.tar.gz 91269 SHA256 e0924aed8e9a35f6d755b464c44ea63396653b1dc82cdf1591d1a151e032aa70 SHA512 5262201804ac9cd9a13c228ba93d3753906d60bceb17ba860b855fb5106891223006acc79da9cf9d34ad32f6bcdf434f10d36135fab0305a8772f532d77982db WHIRLPOOL 25f9b3527bf023c737c9296311c1c9237cbe1ceee510d7036a44b71c7dd95d17e3c121e85d950e1b81fcc130bbee794bc2af4a004ee2d8d6668a0bb3adca50a5
+DIST Django-Select2-4.3.1.tar.gz 97158 SHA256 7cdf88f15b350ccc3b9e1bcd037c70289c270304df5e1bf6fc918aebb4b709bf SHA512 5d80531a96239e311559a66f33ebb2926ba02f3561038f035e80931a7d667d16b5b2215520f1da1aac38d6d2d92f0114f71c06bb07fac12dab954a0a03076499 WHIRLPOOL bde077e5032921ecd3599b70604b3f30dace7e904cc8f2fe3d4fd4ab1533d3631c8661f72e083d6d8f34277c12f3799c2e78db77470a689c1304baaabee740c8
diff --git a/dev-python/django-select2/django-select2-3.2.1.ebuild b/dev-python/django-select2/django-select2-3.2.1.ebuild
new file mode 100644
index 000000000000..f99ff3db16e3
--- /dev/null
+++ b/dev-python/django-select2/django-select2-3.2.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Django-Select2"
+
+DESCRIPTION="A Django integration of Select2"
+HOMEPAGE="https://pypi.python.org/pypi/Django-Select2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-select2/django-select2-4.0.0.ebuild b/dev-python/django-select2/django-select2-4.0.0.ebuild
new file mode 100644
index 000000000000..f99ff3db16e3
--- /dev/null
+++ b/dev-python/django-select2/django-select2-4.0.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Django-Select2"
+
+DESCRIPTION="A Django integration of Select2"
+HOMEPAGE="https://pypi.python.org/pypi/Django-Select2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-select2/django-select2-4.2.2.ebuild b/dev-python/django-select2/django-select2-4.2.2.ebuild
new file mode 100644
index 000000000000..03ab81cb9c9f
--- /dev/null
+++ b/dev-python/django-select2/django-select2-4.2.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Django-Select2"
+
+DESCRIPTION="A Django integration of Select2"
+HOMEPAGE="https://pypi.python.org/pypi/Django-Select2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-select2/django-select2-4.3.1.ebuild b/dev-python/django-select2/django-select2-4.3.1.ebuild
new file mode 100644
index 000000000000..0b33ffb92fa8
--- /dev/null
+++ b/dev-python/django-select2/django-select2-4.3.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Django-Select2"
+
+DESCRIPTION="A Django integration of Select2"
+HOMEPAGE="https://pypi.python.org/pypi/Django-Select2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-select2/metadata.xml b/dev-python/django-select2/metadata.xml
new file mode 100644
index 000000000000..8cbb6c54a2bb
--- /dev/null
+++ b/dev-python/django-select2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a Django integration of Select2
+ The app includes Select2 driven Django Widgets and Form Fields.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">Django-Select2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-setuptest/Manifest b/dev-python/django-setuptest/Manifest
new file mode 100644
index 000000000000..2a4da5f55412
--- /dev/null
+++ b/dev-python/django-setuptest/Manifest
@@ -0,0 +1 @@
+DIST django-setuptest-0.1.6.tar.gz 6929 SHA256 bdce4cf9cfc485b6324b3847fb84af69bdc965370073bc1c983bbf0901902eed SHA512 c2f2c1329d3541ac2e8d5895ddde2e1d1d1c2a819b3cc7168d333894e15128ff49b973a1570917abf06152634c915dada6df9f27ec9463ef79f02411c022d80d WHIRLPOOL e1c45eb3658b75bc82d0b3a5397c4199f5339c19c95e76e2fba0dddd02928da3c3480dc51eb41cef39c283c534a73f90bfbf5edc3289d24f6a5e44aea71e81e5
diff --git a/dev-python/django-setuptest/django-setuptest-0.1.6.ebuild b/dev-python/django-setuptest/django-setuptest-0.1.6.ebuild
new file mode 100644
index 000000000000..aa69ad7be26c
--- /dev/null
+++ b/dev-python/django-setuptest/django-setuptest-0.1.6.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple test suite enabling Django app testing via setup.py"
+HOMEPAGE="https://github.com/praekelt/django-setuptest"
+SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/pep8[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/django-setuptest/metadata.xml b/dev-python/django-setuptest/metadata.xml
new file mode 100644
index 000000000000..30e4fd3b2b6a
--- /dev/null
+++ b/dev-python/django-setuptest/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">praekelt/django-setuptest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-social-auth/Manifest b/dev-python/django-social-auth/Manifest
new file mode 100644
index 000000000000..04664f61c972
--- /dev/null
+++ b/dev-python/django-social-auth/Manifest
@@ -0,0 +1 @@
+DIST django-social-auth-0.7.28.tar.gz 289666 SHA256 83bd23baa8011415af59bb76998697da758954204f47698073b8de51c95b20e9 SHA512 9215d8b50896553ad88029a0c89d2db6787468d657b8a34c6c120b3df8c909a42bc79fc54321c6b4dd386867e3479252976f8c0b36f211cc1270baf4b7cc4bf8 WHIRLPOOL 7a585fe7ed8e7d6addb2f4647a9314155131f68f27eefd95f067a580bbefcab21c92022a88b7e96dfefa5f5b346cfa60906557358f9d0a096b7db2f70c44c0ec
diff --git a/dev-python/django-social-auth/django-social-auth-0.7.28.ebuild b/dev-python/django-social-auth/django-social-auth-0.7.28.ebuild
new file mode 100644
index 000000000000..9309b716e63e
--- /dev/null
+++ b/dev-python/django-social-auth/django-social-auth-0.7.28.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An easy to setup social authentication/authorization mechanism for Django projects"
+HOMEPAGE="http://pypi.python.org/pypi/django-social-auth/"
+SRC_URI="https://github.com/omab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+LICENSE="BSD"
+SLOT="0"
+# Tests access and test logins to social media sites
+RESTRICT="test"
+
+RDEPEND=">=dev-python/django-1.2.5[${PYTHON_USEDEP}]
+ >=dev-python/oauth2-1.5.167[${PYTHON_USEDEP}]
+ >=dev-python/python-openid-2.2[${PYTHON_USEDEP}]
+ >=dev-python/selenium-2.29.0[${PYTHON_USEDEP}]
+ ~dev-python/mock-1.0.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading in doc build
+ sed -e 's:^intersphinx:_&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-social-auth/metadata.xml b/dev-python/django-social-auth/metadata.xml
new file mode 100644
index 000000000000..73807df74887
--- /dev/null
+++ b/dev-python/django-social-auth/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">omab/django-social-auth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-tables2/Manifest b/dev-python/django-tables2/Manifest
new file mode 100644
index 000000000000..9c45f7e2e6e7
--- /dev/null
+++ b/dev-python/django-tables2/Manifest
@@ -0,0 +1,2 @@
+DIST django-tables2-0.16.0.tar.gz 43672 SHA256 53a643166377c44a030d860f3c0f045c4b75e727432ddde4065a67c2df41bf33 SHA512 9d490bbcaab6049d74e81f25c0a2e1ebd3caa00930877661cc823dcfc429f020b3146ec778ccc840951e89f53047e8d6ad71cf7b689cfb76aa2eadf5db54280a WHIRLPOOL 907acbfb5599589ebf5dc49ebedd0f9e07003df7730a5bcc04667207140d9728fbed56afc08ed25167414bc4596a91e2106958223f5c48b5ccea2c6642b0365e
+DIST django-tables2-1.0.4.tar.gz 57679 SHA256 801b1df349f07f5b548cf4b3d5cddfc26e5969079c7d490f179fb649e76d24af SHA512 ae1381ab23b93759caef259b5063c2149a71c9a808bc4f0a621de454872b354d03e8d7002a95de693e4d3c456366341ac30f200edac069244a0b97d156295953 WHIRLPOOL 03cfd673a16692de118b4eafb7a3fec277daef4045d16508c9a97abcdf2321782703fb4e12b9f26e7fddf799e1d8040028f43a0584f4bdc59f481c504f21586f
diff --git a/dev-python/django-tables2/django-tables2-0.16.0-r1.ebuild b/dev-python/django-tables2/django-tables2-0.16.0-r1.ebuild
new file mode 100644
index 000000000000..d4992a761e16
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-0.16.0-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="https://pypi.python.org/pypi/django-tables2/ https://github.com/bradleyayers/django-tables2/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}"/${P}-django-1.9-deprecation.patch )
diff --git a/dev-python/django-tables2/django-tables2-0.16.0.ebuild b/dev-python/django-tables2/django-tables2-0.16.0.ebuild
new file mode 100644
index 000000000000..2f19150eb0db
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-0.16.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="https://pypi.python.org/pypi/django-tables2/ https://github.com/bradleyayers/django-tables2/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/django-tables2/django-tables2-1.0.4.ebuild b/dev-python/django-tables2/django-tables2-1.0.4.ebuild
new file mode 100644
index 000000000000..2f19150eb0db
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-1.0.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="https://pypi.python.org/pypi/django-tables2/ https://github.com/bradleyayers/django-tables2/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/django-tables2/files/django-tables2-0.16.0-django-1.9-deprecation.patch b/dev-python/django-tables2/files/django-tables2-0.16.0-django-1.9-deprecation.patch
new file mode 100644
index 000000000000..12460d4ffbdb
--- /dev/null
+++ b/dev-python/django-tables2/files/django-tables2-0.16.0-django-1.9-deprecation.patch
@@ -0,0 +1,118 @@
+From cb71f869bbc8aac3a14f3d4d1f67641e21892bba Mon Sep 17 00:00:00 2001
+From: Gert Steyn <gert@senseware.com>
+Date: Thu, 19 Mar 2015 12:20:42 +0200
+Subject: [PATCH] Changed from django.utils.datastructures.SortedDict
+ (deprecated) to collections.OrderedDict
+
+---
+ django_tables2/columns/base.py | 6 +++---
+ django_tables2/tables.py | 10 +++++-----
+ django_tables2/templatetags/django_tables2.py | 4 ++--
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/django_tables2/columns/base.py b/django_tables2/columns/base.py
+index 20b3477..3b377e6 100644
+--- a/django_tables2/columns/base.py
++++ b/django_tables2/columns/base.py
+@@ -1,9 +1,9 @@
+ # coding: utf-8
+ from __future__ import absolute_import, unicode_literals
+ from django.db.models.fields import FieldDoesNotExist
+-from django.utils.datastructures import SortedDict
+ from django_tables2.templatetags.django_tables2 import title
+ from django_tables2.utils import A, AttributeDict, OrderBy, OrderByTuple
++from collections import OrderedDict
+ from itertools import islice
+ import six
+ import warnings
+@@ -498,7 +498,7 @@ class BoundColumns(object):
+ A `BoundColumns` object is a container for holding `BoundColumn` objects.
+ It provides methods that make accessing columns easier than if they were
+ stored in a `list` or `dict`. `Columns` has a similar API to a `dict` (it
+- actually uses a `~django.utils.datastructures.SortedDict` interally).
++ actually uses a `~collections.OrderedDict` interally).
+
+ At the moment you'll only come across this class when you access a
+ `.Table.columns` property.
+@@ -508,7 +508,7 @@ class BoundColumns(object):
+ """
+ def __init__(self, table):
+ self.table = table
+- self.columns = SortedDict()
++ self.columns = OrderedDict()
+ for name, column in six.iteritems(table.base_columns):
+ self.columns[name] = bc = BoundColumn(table, column, name)
+ bc.render = getattr(table, 'render_' + name, column.render)
+diff --git a/django_tables2/tables.py b/django_tables2/tables.py
+index 01a0671..2f31069 100644
+--- a/django_tables2/tables.py
++++ b/django_tables2/tables.py
+@@ -9,9 +9,9 @@
+ import sys
+ from django.core.paginator import Paginator
+ from django.db.models.fields import FieldDoesNotExist
+-from django.utils.datastructures import SortedDict
+ from django.template import RequestContext
+ from django.template.loader import get_template
++from collections import OrderedDict
+ import six
+ import warnings
+
+@@ -172,10 +172,10 @@ def __new__(mcs, name, bases, attrs):
+ if hasattr(base, "base_columns"):
+ parent_columns = list(base.base_columns.items()) + parent_columns
+ # Start with the parent columns
+- attrs["base_columns"] = SortedDict(parent_columns)
++ attrs["base_columns"] = OrderedDict(parent_columns)
+ # Possibly add some generated columns based on a model
+ if opts.model:
+- extra = SortedDict()
++ extra = OrderedDict()
+ # honor Table.Meta.fields, fallback to model._meta.fields
+ if opts.fields:
+ # Each item in opts.fields is the name of a model field or a
+@@ -194,7 +194,7 @@ def __new__(mcs, name, bases, attrs):
+ attrs["base_columns"].update(extra)
+
+ # Explicit columns override both parent and generated columns
+- attrs["base_columns"].update(SortedDict(cols))
++ attrs["base_columns"].update(OrderedDict(cols))
+ # Apply any explicit exclude setting
+ for exclusion in opts.exclude:
+ if exclusion in attrs["base_columns"]:
+@@ -204,7 +204,7 @@ def __new__(mcs, name, bases, attrs):
+ opts.sequence.expand(attrs["base_columns"].keys())
+ # Table's sequence defaults to sequence declared in Meta
+ #attrs['_sequence'] = opts.sequence
+- attrs["base_columns"] = SortedDict(((x, attrs["base_columns"][x]) for x in opts.sequence))
++ attrs["base_columns"] = OrderedDict(((x, attrs["base_columns"][x]) for x in opts.sequence))
+
+ # set localize on columns
+ for col_name in attrs["base_columns"].keys():
+diff --git a/django_tables2/templatetags/django_tables2.py b/django_tables2/templatetags/django_tables2.py
+index 1e72d74..1ca91de 100644
+--- a/django_tables2/templatetags/django_tables2.py
++++ b/django_tables2/templatetags/django_tables2.py
+@@ -5,12 +5,12 @@
+ from django.template import TemplateSyntaxError, Variable, Node
+ from django.template.loader import get_template, select_template
+ from django.template.defaultfilters import stringfilter, title as old_title
+-from django.utils.datastructures import SortedDict
+ from django.utils.http import urlencode
+ from django.utils.html import escape
+ from django.utils.safestring import mark_safe
+ import django_tables2 as tables
+ from django_tables2.config import RequestConfig
++from collections import OrderedDict
+ import re
+ import six
+ import tokenize
+@@ -35,7 +35,7 @@ def token_kwargs(bits, parser):
+ """
+ if not bits:
+ return {}
+- kwargs = SortedDict()
++ kwargs = OrderedDict()
+ while bits:
+ match = kwarg_re.match(bits[0])
+ if not match or not match.group(1):
diff --git a/dev-python/django-tables2/metadata.xml b/dev-python/django-tables2/metadata.xml
new file mode 100644
index 000000000000..a09809c9ef44
--- /dev/null
+++ b/dev-python/django-tables2/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-tables2</remote-id>
+ <remote-id type="github">bradleyayers/django-tables2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-tagging/Manifest b/dev-python/django-tagging/Manifest
new file mode 100644
index 000000000000..fe17ffa645c1
--- /dev/null
+++ b/dev-python/django-tagging/Manifest
@@ -0,0 +1,3 @@
+DIST django-tagging-0.3.4.tar.gz 30792 SHA256 a3cee6e36c3cb7ccd9d13d71ca42cb8826914d66b20c3a5e987efa12b3a83a3d SHA512 f782aeedfa6133922e1223bea4a04b955ee44508e37acac57338b0b45df94f55cdf5e1c75142b92642df01019ff553a592f3c64ed7f3d758b3777feed15eb1bd WHIRLPOOL bc9c856ff253ada3ed1103ad5c6145a43309c87bbcc0eac232d9685a7e75fb4d8cd8cf4acb1a2be911ce66045cc8b62a1eb04cf4539d4282480f49bb14be8f8c
+DIST django-tagging-0.3.6.tar.gz 31914 SHA256 419a8e5c5fdc55f9ec88a15b5ca5343d4dc9461f5302c89180aef93c025ef40f SHA512 7124ab28de3e3cbf9c34ab0ba62d70c13bfe5f75ff8c36be8de0511d4dfa01d1b09904adcd5679ad885a100c4c563d6163aa2187b5e742b280543bf87a3b6c06 WHIRLPOOL 739e14ab4cfb2f150efbf07ab17e2632dd21b54ea74d02a926d114f8279b434387edea369d8b8a4a5dc808ddefa21e6f7423f4a412f9d418e8b084719743a8ac
+DIST django-tagging-0.4.tar.gz 44225 SHA256 033e3d1b352f0dacdf8588dc83521ac602a020f34f4c1c389912eaff2915e557 SHA512 96ee928a035cb195d0d6057f05028bf21e37bb3bb68a73f9d8915c04fa71837ea20e88f2dfe22bb1a8bdec8dd37d6b98543731fbf980cf4556f951366eae5526 WHIRLPOOL d2f05ca93a45f16943aeade92a2c8a9f1e42842430d7a93661b69340c8edc7c6e8c12f0ea24be5fbcfb90fc600348f4e1202b0ddab42166c07a50f6613a4a6a3
diff --git a/dev-python/django-tagging/django-tagging-0.3.4.ebuild b/dev-python/django-tagging/django-tagging-0.3.4.ebuild
new file mode 100644
index 000000000000..266579776b35
--- /dev/null
+++ b/dev-python/django-tagging/django-tagging-0.3.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generic tagging application for Django"
+HOMEPAGE="http://code.google.com/p/django-tagging/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/django-1.0[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ use doc && DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-tagging/django-tagging-0.3.6.ebuild b/dev-python/django-tagging/django-tagging-0.3.6.ebuild
new file mode 100644
index 000000000000..44dced0ae7da
--- /dev/null
+++ b/dev-python/django-tagging/django-tagging-0.3.6.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generic tagging application for Django"
+HOMEPAGE="http://code.google.com/p/django-tagging/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-python/django-1.0[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ use doc && dodoc docs/overview.txt
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-tagging/django-tagging-0.4.ebuild b/dev-python/django-tagging/django-tagging-0.4.ebuild
new file mode 100644
index 000000000000..44dced0ae7da
--- /dev/null
+++ b/dev-python/django-tagging/django-tagging-0.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generic tagging application for Django"
+HOMEPAGE="http://code.google.com/p/django-tagging/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-python/django-1.0[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ use doc && dodoc docs/overview.txt
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-tagging/metadata.xml b/dev-python/django-tagging/metadata.xml
new file mode 100644
index 000000000000..ac081f94dc08
--- /dev/null
+++ b/dev-python/django-tagging/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">django-tagging</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-tastypie/Manifest b/dev-python/django-tastypie/Manifest
new file mode 100644
index 000000000000..447face09b83
--- /dev/null
+++ b/dev-python/django-tastypie/Manifest
@@ -0,0 +1 @@
+DIST django-tastypie-0.9.15.tar.gz 206823 SHA256 1509d8a93d4f0e16434469c5af850d3c1c625da902b54216771cc7b25634216a SHA512 dcb26f7bb131e658ff6a2d11ca8eb74db064986cd48e536fb4987a1cfe4c4958e99f60cf173b1bbbbc051f3e55bc31ff28e645a52f526b3a98461daddd865a74 WHIRLPOOL 62503c0f05e429950b2aacdbaeacfa2cc71eee24fad9e365373fda473b7bf54e3a251ec0b3133f128436922abc4ed8182f7405eb4a62e1a40628b2b44b596243
diff --git a/dev-python/django-tastypie/django-tastypie-0.9.15.ebuild b/dev-python/django-tastypie/django-tastypie-0.9.15.ebuild
new file mode 100644
index 000000000000..7488d57b958e
--- /dev/null
+++ b/dev-python/django-tastypie/django-tastypie-0.9.15.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test"
+
+DESCRIPTION="A flexible and capable API layer for django utilising serialisers"
+HOMEPAGE="http://pypi.python.org/pypi/django-tastypie/ https://github.com/toastdriven/django-tastypie"
+SRC_URI="https://github.com/toastdriven/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="bip doc digest lxml test yaml"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND=">=dev-python/mimeparse-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ >=dev-python/django-1.3[${PYTHON_USEDEP}]
+ dev-python/pyxml[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ bip? ( dev-python/biplist[${PYTHON_USEDEP}] )
+ digest? ( dev-python/python-digest[${PYTHON_USEDEP}] )
+ lxml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/oauth2[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/python-digest[${PYTHON_USEDEP}]
+ dev-python/biplist[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/mimeparse-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/runtests.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ PYTHONPATH=.:tests ./tests/run_all_tests.sh || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/django-tastypie/files/runtests.patch b/dev-python/django-tastypie/files/runtests.patch
new file mode 100644
index 000000000000..473d3338101a
--- /dev/null
+++ b/dev-python/django-tastypie/files/runtests.patch
@@ -0,0 +1,46 @@
+The run tests bash script keeps going on a fail. Patch corrects this for gentoo
+diff -ur django-tastypie-0.9.15.oirg/tests/run_all_tests.sh django-tastypie-0.9.15/tests/run_all_tests.sh
+--- tests/run_all_tests.sh 2013-05-03 10:36:43.000000000 +0800
++++ tests/run_all_tests.sh 2013-06-03 13:55:18.633474126 +0800
+@@ -10,9 +10,9 @@
+
+ #Don't run customuser tests if django's version is less than 1.5.
+ if [ $major -lt '2' -a $minor -lt '5' ]; then
+- ALL="core basic alphanumeric slashless namespaced related validation gis content_gfk authorization"
++ ALL="core basic alphanumeric slashless namespaced related validation content_gfk authorization"
+ else
+- ALL="core customuser basic alphanumeric slashless namespaced related validation gis content_gfk authorization"
++ ALL="core customuser basic alphanumeric slashless namespaced related validation content_gfk authorization"
+ fi
+
+
+@@ -26,15 +26,23 @@
+ fi
+
+ for type in $TYPES; do
+- echo "** $type **"
++ echo "** running test $type **"
+
+ if [ $type == 'related' ]; then
+- django-admin.py test ${type}_resource --settings=settings_$type
+- continue
++ if django-admin.py test ${type}_resource --settings=settings_$type; then
++ continue
++ else
++ echo "Test ${type} failed"
++ exit 1
++ fi
+ elif [ $type == 'gis' ]; then
+- createdb -T template_postgis tastypie.db
++ createdb -T template_posttastypie.db
+ fi
+
+- django-admin.py test $type --settings=settings_$type
+- echo; echo
++ if ! django-admin.py test $type --settings=settings_$type; then
++ echo "Test ${type} failed"
++ exit 1
++ else
++ echo; echo
++ fi
+ done
diff --git a/dev-python/django-tastypie/metadata.xml b/dev-python/django-tastypie/metadata.xml
new file mode 100644
index 000000000000..1d47d2cae77c
--- /dev/null
+++ b/dev-python/django-tastypie/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <herd>python</herd>
+ <use>
+ <flag name="bip">An optional serialiser dev-python/biplist</flag>
+ <flag name="digest">Library to aid in implementing HTTP Digest Authentication</flag>
+ <flag name="lxml">An optional serialiser dev-python/lxml</flag>
+ <flag name="yaml">An optional serialiser dev-python/yaml</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">toastdriven/django-tastypie</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-tinymce/Manifest b/dev-python/django-tinymce/Manifest
new file mode 100644
index 000000000000..3eda6e5b60e7
--- /dev/null
+++ b/dev-python/django-tinymce/Manifest
@@ -0,0 +1 @@
+DIST django-tinymce-1.5.3.tar.gz 2456745 SHA256 2c453782de95d38bb280c2e6a8e34cc0fc4783052c521c4000d73ea853d5d2d4 SHA512 1fae0e40f0d0803a723753e25160950d4a8bd3b443e2d7ad9101558ad20ab3b43f792aafaaf7c064636166860c445b3bec068317bab6203f346cac7753331eea WHIRLPOOL b1779f7464534d8910cc876ab59a264f6c70a3c74e9a60f965aa786881a9d5a320a9bdd2a4ead4ba278ed826b90e923a0b31ee7981e44327961aaff2a400f85b
diff --git a/dev-python/django-tinymce/django-tinymce-1.5.3.ebuild b/dev-python/django-tinymce/django-tinymce-1.5.3.ebuild
new file mode 100644
index 000000000000..d698bd2ad717
--- /dev/null
+++ b/dev-python/django-tinymce/django-tinymce-1.5.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="TinyMCE integration for Django"
+HOMEPAGE="https://github.com/aljosa/django-tinymce"
+SRC_URI="https://github.com/aljosa/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${PN}-release-${PV}"
diff --git a/dev-python/django-tinymce/metadata.xml b/dev-python/django-tinymce/metadata.xml
new file mode 100644
index 000000000000..0432fe23ffbc
--- /dev/null
+++ b/dev-python/django-tinymce/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">aljosa/django-tinymce</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-two-factor-auth/Manifest b/dev-python/django-two-factor-auth/Manifest
new file mode 100644
index 000000000000..e81b2e0eb8b8
--- /dev/null
+++ b/dev-python/django-two-factor-auth/Manifest
@@ -0,0 +1,2 @@
+DIST django-two-factor-auth-1.1.1.tar.gz 101960 SHA256 19cf066f7a4c76147d3ad5e5e46cf078772064ecde83acf9ece93670ec92d9cf SHA512 f0ff3deeceb00b2b28d6237e1d4e4dbc2574c872b564abb491b77130b56aa7a705432ac93bf2a9ae9f03e780c58c409584d624f41bce690afd910edbc8bb5eae WHIRLPOOL 7f20d4060b549792a7e5e36857ded765e3d06df403163d38dfcb67a93ee0c62a10fd7bad5b1055c28693ae05e5c93bfe137b7095ad0ab2ec26b20c1627d4b8d6
+DIST django-two-factor-auth-1.2.0.tar.gz 102073 SHA256 45cd38798565886e47a9b42ab201f06a73583cf7dd2579684691e0ea510a96ec SHA512 f6b58d42dedc3e80428c4acc4b7f0d6323a4eb84869b35f5e128aef6e00c0a418f43146fb6aeaf5bd92d78842023e4e3e8667a95198feea804f2561c6f8e43d4 WHIRLPOOL fd243bbb65c286ef7b8bb8a132518f830c5b1879fa41ae3cbc730c09c5592755b9f9c1e2d60394678fd51bb2c3230d50307a13afb8bf651b50129813a9a3b1a0
diff --git a/dev-python/django-two-factor-auth/django-two-factor-auth-1.1.1.ebuild b/dev-python/django-two-factor-auth/django-two-factor-auth-1.1.1.ebuild
new file mode 100644
index 000000000000..c2d665df72c4
--- /dev/null
+++ b/dev-python/django-two-factor-auth/django-two-factor-auth-1.1.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils distutils-r1
+
+DESCRIPTION="User-friendly Two-Factor Authentication for Django"
+HOMEPAGE="https://github.com/Bouke/django-two-factor-auth"
+SRC_URI="https://github.com/Bouke/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test yubikey"
+
+CDEPEND=">=dev-python/django-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/django-otp-0.2.0[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/twilio[${PYTHON_USEDEP}]
+ yubikey? ( dev-python/django-otp-yubikey[${PYTHON_USEDEP}] )
+ "
+
+RDEPEND="${CDEPEND}"
+DEPEND="test? (
+ dev-python/flake8[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ )"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i "/'qrcode/s/^/#/" setup.py || die
+}
+
+python_test() {
+ emake test
+}
diff --git a/dev-python/django-two-factor-auth/django-two-factor-auth-1.2.0.ebuild b/dev-python/django-two-factor-auth/django-two-factor-auth-1.2.0.ebuild
new file mode 100644
index 000000000000..c2d665df72c4
--- /dev/null
+++ b/dev-python/django-two-factor-auth/django-two-factor-auth-1.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils distutils-r1
+
+DESCRIPTION="User-friendly Two-Factor Authentication for Django"
+HOMEPAGE="https://github.com/Bouke/django-two-factor-auth"
+SRC_URI="https://github.com/Bouke/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test yubikey"
+
+CDEPEND=">=dev-python/django-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/django-otp-0.2.0[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/twilio[${PYTHON_USEDEP}]
+ yubikey? ( dev-python/django-otp-yubikey[${PYTHON_USEDEP}] )
+ "
+
+RDEPEND="${CDEPEND}"
+DEPEND="test? (
+ dev-python/flake8[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ )"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i "/'qrcode/s/^/#/" setup.py || die
+}
+
+python_test() {
+ emake test
+}
diff --git a/dev-python/django-two-factor-auth/metadata.xml b/dev-python/django-two-factor-auth/metadata.xml
new file mode 100644
index 000000000000..34deff2ea345
--- /dev/null
+++ b/dev-python/django-two-factor-auth/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <use>
+ <flag name="yubikey">Adds support for Yubikeys via django-otp-yubikey</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Bouke/django-two-factor-auth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-xslt/Manifest b/dev-python/django-xslt/Manifest
new file mode 100644
index 000000000000..15d192b0f1fb
--- /dev/null
+++ b/dev-python/django-xslt/Manifest
@@ -0,0 +1,2 @@
+DIST django-xslt-0.4.5.tar.gz 15717 SHA256 db3bad334310e13a37391cbd52fc1b0432165d9a97494c9413008c0fc8023ccb SHA512 25f3268d5eae29326ee93b5c4189389577bbf282e9f9007798de2ce96c6420d240c07e6a2abbbc57ce0bb4abb3aef557b545948a02b36a118afaefb30ca5a2b4 WHIRLPOOL 9654a2a3d7baf8ed3de9061cc43872db9e0a72f9331cce5bd804d5395611a0421d2cbec7f7a94fd73f48d439a702b0fbb98424ce15274511183398e317289fab
+DIST django-xslt-demoapp-0.4.5_p20120427.tar.bz2 5506 SHA256 a448e2cb6db716199915a1bc3a49ab28388cdb41d4ad3e7c6a0127e82143766f SHA512 200832172eac9c2729816c800fc32376ae62be2d832a398538054dca875fbedc41a300618f37f4d2b1cc36f36be20a6cbd86cc7f66e5ada476309e734c3f578d WHIRLPOOL 1afabf88e61bdb1e545bd84a0890953cd59d6e2811760e1d4c3f93307fd2f01b915404867af42265e19daa58c10cdb7b0538e31c468b8852cd960107063f00c0
diff --git a/dev-python/django-xslt/django-xslt-0.4.5-r1.ebuild b/dev-python/django-xslt/django-xslt-0.4.5-r1.ebuild
new file mode 100644
index 000000000000..fab013c4e28f
--- /dev/null
+++ b/dev-python/django-xslt/django-xslt-0.4.5-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? ( http://dev.gentoo.org/~tampakrap/tarballs/${PN}-demoapp-0.4.5_p20120427.tar.bz2 )"
+
+DESCRIPTION="an XSLT template system for Django"
+HOMEPAGE="http://pypi.python.org/pypi/django-xslt/"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/lxml[${PYTHON_USEDEP}] )"
+
+python_test() {
+ export SECRET_KEY="green"
+ pushd "${WORKDIR}/demoapp" > /dev/null
+ if ! "${PYTHON}" -c "from django.conf import global_settings;global_settings.SECRET_KEY='$SECRET_KEY'" \
+ manage.py test; then
+ die "tests failed under ${EPYTHON}"
+ else
+ einfo "tests passed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/django-xslt/metadata.xml b/dev-python/django-xslt/metadata.xml
new file mode 100644
index 000000000000..7367468525ec
--- /dev/null
+++ b/dev-python/django-xslt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">django-xslt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
new file mode 100644
index 000000000000..ac13d0204364
--- /dev/null
+++ b/dev-python/django/Manifest
@@ -0,0 +1,5 @@
+DIST Django-1.4.21.tar.gz 7878015 SHA256 934f1975218680d51c4da9d63a39bc5fb1ddaac48476fd34b9ab7903fd98bcf4 SHA512 25fca8362fa30822a5993a2f1d00bc7629b97acfac97daa406fc7658019e35f52ecc539cc875a8ece3b1edb140fd5260e8dd3a355c9405b693d191746df516fa WHIRLPOOL 50fdcd0129cbd23e0400b15b3da069318a731643f5817a8bc98872f9c402b2f23171a13eb031732c0753855440c357b0a54c155fdc0b7bc71761d40f2848acab
+DIST Django-1.5.10.tar.gz 8074324 SHA256 7cb4217e740f7d5d6d74617dbb9d960f9c09e8269c6762fe68c6e762219f4018 SHA512 5357116870370f7fd06f77e5bfad98f89c6bb131eb2828ded524422d0690d8842c3106e4e92614c374ab2549d205e77c98e4071894f0625dfe69a382171b1834 WHIRLPOOL e603767d6912e9bffd65161750baa626c315362c8c438a2c6fb25a47ecdc867bace998752a9acb6b8db1833f30e8bd7b9aa8fc87f823b906b394d4ab455aa265
+DIST Django-1.6.11.tar.gz 6764000 SHA256 7e50e573e484435873b3515d7982d80093b2695aba17fd0ff024307454dc3a56 SHA512 de6024b49e0344bf153f73ec344180fb701e415e4f9c330118821744d0e579436cc265724f7ef7213c9551847022ba9570312633f317b9003db533d06deb9829 WHIRLPOOL 5de086952bda9449f85798e8fe3bac82f11e1b856c1d39e340399e71ca6bf183318eebf1f536714567036485637166a929082a1ba9d6c1816f07c53dcc12c72a
+DIST Django-1.7.9.tar.gz 7605194 SHA256 4f3f9fe4e5d20ff8ed6a90b5d2f2df2d8fc054e478cdcc3db81c6b29bd217860 SHA512 349f6950ec7cb37c8ae44a5fc9b924ef0d02e244c834a65bbdbe84d8a993474c6e94f82ac0df5bd08594c8cc6f72bf9413b7b30091319dbb5c018f211d3e9e67 WHIRLPOOL 977e011027f4783aab9cbf53cf6015dc705f63f6b442bc403ede76562822fb0c09027fd89fe776455f1e3d55e636db4f6b586130ad41a709aafbe9eac003870a
+DIST Django-1.8.3.tar.gz 7284327 SHA256 2bb654fcc05fd53017c88caf2bc38b5c5ea23c91f8ac7f0a28b290daf2305bba SHA512 17943c4769bb11125ee23cee6e05ce120a769ff46b9b380219bb28a42d4119082c2041fbc826d59707cb9f2cd1dc19c94beb61ac644e8c4fa5ba3bd528efa06e WHIRLPOOL 2f0cb1df6f2029be61a9a350dc2d5a955d91652038f9c94e3e8717bfc7824e98486c6cbe3c4494bbbe451b82eb75d4ce00828c7b8f6d207cc22af6c65d565317
diff --git a/dev-python/django/django-1.4.21.ebuild b/dev-python/django/django-1.4.21.ebuild
new file mode 100644
index 000000000000..0fb19dc8aeb1
--- /dev/null
+++ b/dev-python/django/django-1.4.21.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='sqlite?'
+
+inherit bash-completion-r1 distutils-r1 eutils versionator webapp
+
+MY_P="Django-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI="https://www.djangoproject.com/m/releases/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${PYTHON_DEPS//sqlite?/sqlite}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ <dev-python/numpy-1.9[$(python_gen_usedep 'python*')]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ )"
+
+# app-text/pytextile[${PYTHON_USEDEP}]
+# dev-python/markdown[${PYTHON_USEDEP}]
+# dev-python/selenium[${PYTHON_USEDEP}]
+# dev-python/py-bcrypt[${PYTHON_USEDEP}]
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.19-bashcomp.patch
+)
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/test_correct_url_value_passes/_&/" \
+ -e "s/test_correct_url_with_redirect/_&/" \
+ -i tests/modeltests/validation/tests.py || die
+ sed \
+ -e "s/test_urlfield_3/_&/" \
+ -e "s/test_urlfield_4/_&/" \
+ -e "s/test_urlfield_10/_&/" \
+ -i tests/regressiontests/forms/tests/fields.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
+ optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysql-connector-python
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature "Memcached support" dev-python/python-memcached
+ optfeature "ImageField Support" virtual/python-imaging
+ echo ""
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "A copy of the admin media is available to"
+ elog "webapp-config for installation in a webroot,"
+ elog "as well as the traditional location in python's"
+ elog "site-packages dir for easy development"
+ elog
+ ewarn "If you build Django ${PV} without USE=\"vhosts\""
+
+ # XXX: call webapp_pkg_postinst? the old ebuild didn't do that...
+ ewarn "webapp-config will automatically install the"
+ ewarn "admin media into the localhost webroot."
+}
diff --git a/dev-python/django/django-1.5.10.ebuild b/dev-python/django/django-1.5.10.ebuild
new file mode 100644
index 000000000000..8dcf5c5497dd
--- /dev/null
+++ b/dev-python/django/django-1.5.10.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+PYTHON_REQ_USE='sqlite?'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 versionator webapp
+
+MY_P="Django-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI="https://www.djangoproject.com/m/releases/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc mysql postgres sqlite test"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+PY23_USEDEP=$(python_gen_usedep python2_7 'python{3_3,3_4}')
+RDEPEND="virtual/python-imaging[${PYTHON_USEDEP}]
+ postgres? ( dev-python/psycopg:2[${PY23_USEDEP}] )
+ mysql? ( >=dev-python/mysql-python-1.2.3[${PY2_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+ test? ( ${PYTHON_DEPS//sqlite?/sqlite} )"
+
+REQUIRED_USE="mysql? ( $(python_gen_useflags python2_7) )
+ postgres? ( || ( $(python_gen_useflags 'python{2_7,3_2,3_3}') ) )"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.5.4-objects.patch \
+ "${FILESDIR}"/${PN}-1.5-py3tests.patch )
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html
+ fi
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ # https://code.djangoproject.com/ticket/20514
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v1 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ # Port conflict in django.test.testcases.LiveServerTestCase.
+ # Several other races with temp files.
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}
+
+ if use doc; then
+ rm -fr docs/_build/html/_sources
+ local HTML_DOCS=( docs/_build/html/. )
+ fi
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "A copy of the admin media is available to webapp-config for installation in a"
+ elog "webroot, as well as the traditional location in python's site-packages dir"
+ elog "for easy development."
+ webapp_pkg_postinst
+}
diff --git a/dev-python/django/django-1.6.11.ebuild b/dev-python/django/django-1.6.11.ebuild
new file mode 100644
index 000000000000..83f336a2caf7
--- /dev/null
+++ b/dev-python/django/django-1.6.11.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+PYTHON_REQ_USE='sqlite?'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils versionator webapp
+
+MY_P="Django-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI="https://www.djangoproject.com/m/releases/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+ test? (
+ ${PYTHON_DEPS//sqlite?/sqlite}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ <dev-python/numpy-1.9[$(python_gen_usedep 'python*')]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )"
+
+# dev-python/bcrypt[${PYTHON_USEDEP}]
+# dev-python/selenium[${PYTHON_USEDEP}]
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5-py3tests.patch
+ "${FILESDIR}"/${PN}-1.6-objects.patch
+ "${FILESDIR}"/${PN}-1.6.10-bashcomp.patch
+)
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ sed \
+ -e "s:test_sensitive_cookie_not_cached:_&:g" \
+ -i tests/cache/tests.py || die
+
+ distutils-r1_python_prepare_all
+}
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
+ optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysql-connector-python
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature "Memcached support" dev-python/python-memcached
+ optfeature "ImageField Support" virtual/python-imaging
+ echo ""
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ if use doc; then
+ rm -fr docs/_build/html/_sources || die
+ local HTML_DOCS=( docs/_build/html/. )
+ fi
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "A copy of the admin media is available to webapp-config for installation in a"
+ elog "webroot, as well as the traditional location in python's site-packages dir"
+ elog "for easy development."
+ webapp_pkg_postinst
+}
diff --git a/dev-python/django/django-1.7.9.ebuild b/dev-python/django/django-1.7.9.ebuild
new file mode 100644
index 000000000000..f6eb65814428
--- /dev/null
+++ b/dev-python/django/django-1.7.9.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='sqlite?'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils versionator webapp
+
+MY_P="Django-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI="https://www.djangoproject.com/m/releases/$(get_version_component_range 1-2)/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+ test? (
+ ${PYTHON_DEPS//sqlite?/sqlite}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/numpy[$(python_gen_usedep 'python*')]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+# dev-python/python-sqlparse[${PYTHON_USEDEP}]
+# dev-python/bcrypt[${PYTHON_USEDEP}]
+# dev-python/selenium[${PYTHON_USEDEP}]
+# sci-libs/gdal[geos,${PYTHON_USEDEP}]
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.6-bashcomp.patch
+)
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+python_prepare_all() {
+ # Prevent d'loading in the doc build
+ sed -e '/^ "sphinx.ext.intersphinx",/d' -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
+ optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature "GEO Django" sci-libs/gdal[geos]
+ optfeature "Memcached support" dev-python/python-memcached
+ optfeature "ImageField Support" virtual/python-imaging
+ echo ""
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ if use doc; then
+ rm -fr docs/_build/html/_sources || die
+ local HTML_DOCS=( docs/_build/html/. )
+ fi
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "A copy of the admin media is available to webapp-config for installation in a"
+ elog "webroot, as well as the traditional location in python's site-packages dir"
+ elog "for easy development."
+ webapp_pkg_postinst
+}
diff --git a/dev-python/django/django-1.8.3.ebuild b/dev-python/django/django-1.8.3.ebuild
new file mode 100644
index 000000000000..894542f566fa
--- /dev/null
+++ b/dev-python/django/django-1.8.3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='sqlite?'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils versionator webapp
+
+MY_PN="Django"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI="
+ https://www.djangoproject.com/m/releases/$(get_version_component_range 1-2)/${MY_P}.tar.gz
+ mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz
+ "
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+ test? (
+ ${PYTHON_DEPS//sqlite?/sqlite}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/numpy[$(python_gen_usedep 'python*')]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.6-bashcomp.patch
+)
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+python_prepare_all() {
+ # Prevent d'loading in the doc build
+ sed -e '/^ "sphinx.ext.intersphinx",/d' -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ if use doc; then
+ rm -fr docs/_build/html/_sources || die
+ local HTML_DOCS=( docs/_build/html/. )
+ fi
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+}
+
+pkg_postinst() {
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
+ optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ echo ""
+ elog "Other features can be enhanced by"
+ optfeature "GEO Django" sci-libs/gdal[geos]
+ optfeature "Memcached support" dev-python/python-memcached
+ optfeature "ImageField Support" virtual/python-imaging
+ optfeature "Password encryption" dev-python/bcrypt
+ optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+ echo ""
+ elog "A copy of the admin media is available to webapp-config for installation in a"
+ elog "webroot, as well as the traditional location in python's site-packages dir"
+ elog "for easy development."
+ webapp_pkg_postinst
+}
diff --git a/dev-python/django/django-9999.ebuild b/dev-python/django/django-9999.ebuild
new file mode 100644
index 000000000000..ef63c4d9d65b
--- /dev/null
+++ b/dev-python/django/django-9999.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='sqlite?'
+WEBAPP_NO_AUTO_INSTALL="yes"
+
+inherit bash-completion-r1 distutils-r1 eutils git-r3 versionator webapp
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="http://www.djangoproject.com/ http://pypi.python.org/pypi/Django"
+SRC_URI=""
+EGIT_REPO_URI="
+ https://github.com/django/django.git
+ "
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc sqlite test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.0.7[${PYTHON_USEDEP}] )
+ test? (
+ ${PYTHON_DEPS//sqlite?/sqlite}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/numpy[$(python_gen_usedep 'python*')]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+WEBAPP_MANUAL_SLOT="yes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.6-bashcomp.patch
+)
+
+pkg_setup() {
+ webapp_pkg_setup
+}
+
+python_prepare_all() {
+ # Prevent d'loading in the doc build
+ sed -e '/^ "sphinx.ext.intersphinx",/d' -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${PYTHON}" tests/runtests.py --settings=test_sqlite -v2 \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+ webapp_src_install
+
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support in python 2.7 only" dev-python/mysql-python
+ optfeature "MySQL backend support in python 2.7 - 3.4" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ echo
+ elog "Other features can be enhanced by"
+ optfeature "GEO Django" sci-libs/gdal[geos]
+ optfeature "Memcached support" dev-python/python-memcached
+ optfeature "ImageField Support" virtual/python-imaging
+ optfeature "Password encryption" dev-python/bcrypt
+ optfeature "Extended templating support" dev-python/jinja
+ echo ""
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ if use doc; then
+ rm -fr docs/_build/html/_sources || die
+ local HTML_DOCS=( docs/_build/html/. )
+ fi
+
+ insinto "${MY_HTDOCSDIR#${EPREFIX}}"
+ doins -r django/contrib/admin/static/admin/.
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "A copy of the admin media is available to webapp-config for installation in a"
+ elog "webroot, as well as the traditional location in python's site-packages dir"
+ elog "for easy development."
+ webapp_pkg_postinst
+}
diff --git a/dev-python/django/files/django-1.4.19-bashcomp.patch b/dev-python/django/files/django-1.4.19-bashcomp.patch
new file mode 100644
index 000000000000..26d5f7ee1405
--- /dev/null
+++ b/dev-python/django/files/django-1.4.19-bashcomp.patch
@@ -0,0 +1,37 @@
+ extras/django_bash_completion | 17 +----------------
+ 1 file changed, 1 insertion(+), 16 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+old mode 100755
+new mode 100644
+index 1c3887e..748227d
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,7 +37,7 @@ _django_completion()
+ COMP_CWORD=$COMP_CWORD \
+ DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
++complete -F _django_completion -o default django-admin.py django-admin
+
+ _python_django_completion()
+ {
+@@ -55,18 +55,3 @@ _python_django_completion()
+ fi
+ fi
+ }
+-
+-# Support for multiple interpreters.
+-unset pythons
+-if command -v whereis &>/dev/null; then
+- python_interpreters=$(whereis python | cut -d " " -f 2-)
+- for python in $python_interpreters; do
+- pythons="${pythons} $(basename -- $python)"
+- done
+- pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+- pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons
+-
diff --git a/dev-python/django/files/django-1.5-py3tests.patch b/dev-python/django/files/django-1.5-py3tests.patch
new file mode 100644
index 000000000000..16b2cc209c0c
--- /dev/null
+++ b/dev-python/django/files/django-1.5-py3tests.patch
@@ -0,0 +1,22 @@
+https://code.djangoproject.com/ticket/20514
+diff -ur Django-1.5.orig/django/contrib/gis/tests/test_measure.py Django-1.5/django/contrib/gis/tests/test_measure.py
+--- django/contrib/gis/tests/test_measure.py 2013-02-27 03:04:14.000000000 +0800
++++ django/contrib/gis/tests/test_measure.py 2013-05-28 04:40:18.983011224 +0800
+@@ -40,7 +40,7 @@
+ "Testing access in different units"
+ d = D(m=100)
+ self.assertEqual(d.km, 0.1)
+- self.assertAlmostEqual(d.ft, 328.084, 3)
++ self.assertAlmostEqual(d.ft, 328.084, places=3)
+
+ def testAccessInvalid(self):
+ "Testing access in invalid units"
+@@ -172,7 +172,7 @@
+ "Testing access in different units"
+ a = A(sq_m=100)
+ self.assertEqual(a.sq_km, 0.0001)
+- self.assertAlmostEqual(a.sq_ft, 1076.391, 3)
++ self.assertAlmostEqual(a.sq_ft, 1076.391, places=3)
+
+ def testAccessInvaliA(self):
+ "Testing access in invalid units"
diff --git a/dev-python/django/files/django-1.5.4-objects.patch b/dev-python/django/files/django-1.5.4-objects.patch
new file mode 100644
index 000000000000..48e649081d34
--- /dev/null
+++ b/dev-python/django/files/django-1.5.4-objects.patch
@@ -0,0 +1,31 @@
+Remove un-needed objects.inv files from d'loading during doc build
+diff -ur Django-1.5.1.orig/docs/conf.py Django-1.5.1/docs/conf.py
+--- docs/conf.py 2013-03-29 04:10:14.000000000 +0800
++++ docs/conf.py 2013-05-28 01:54:49.695008477 +0800
+@@ -91,12 +91,6 @@
+
+ # Links to Python's docs should reference the most recent version of the 2.x
+ # branch, which is located at this URL.
+-intersphinx_mapping = {
+- 'python': ('http://docs.python.org/2.7', None),
+- 'sphinx': ('http://sphinx.pocoo.org/', None),
+- 'six': ('http://pythonhosted.org/six/', None),
+- 'simplejson': ('http://simplejson.readthedocs.org/en/latest/', None),
+-}
+
+ # Python's docs don't change every week.
+ intersphinx_cache_limit = 90 # days
+# Fix creation of html docs on python 3
+# https://github.com/django/django/commit/a5733fcd7be7adb8b236825beff4ccda19900f9e
+diff -ur Django-1.5.1.orig/docs/_ext/djangodocs.py Django-1.5.1/docs/_ext/djangodocs.py
+--- docs/_ext/djangodocs.py 2013-03-29 04:07:21.000000000 +0800
++++ docs/_ext/djangodocs.py 2013-05-28 02:34:59.057009144 +0800
+@@ -204,7 +204,7 @@
+ if t == "templatefilter" and l == "ref/templates/builtins"],
+ }
+ outfilename = os.path.join(self.outdir, "templatebuiltins.js")
+- with open(outfilename, 'wb') as fp:
++ with open(outfilename, 'w') as fp:
+ fp.write('var django_template_builtins = ')
+ json.dump(templatebuiltins, fp)
+ fp.write(';\n')
diff --git a/dev-python/django/files/django-1.6-objects.patch b/dev-python/django/files/django-1.6-objects.patch
new file mode 100644
index 000000000000..597da6e6bb1c
--- /dev/null
+++ b/dev-python/django/files/django-1.6-objects.patch
@@ -0,0 +1,18 @@
+#Remove un-needed objects.inv files from d'loading during doc build
+diff -ur Django-1.6.1.orig/docs/conf.py Django-1.6.1/docs/conf.py
+--- docs/conf.py 2013-12-12 14:37:59.000000000 -0500
++++ docs/conf.py 2014-01-16 20:57:36.253670094 -0500
+@@ -109,12 +109,6 @@
+
+ # Links to Python's docs should reference the most recent version of the 2.x
+ # branch, which is located at this URL.
+-intersphinx_mapping = {
+- 'python': ('http://docs.python.org/2.7', None),
+- 'sphinx': ('http://sphinx.pocoo.org/', None),
+- 'six': ('http://pythonhosted.org/six/', None),
+- 'simplejson': ('http://simplejson.readthedocs.org/en/latest/', None),
+-}
+
+ # Python's docs don't change every week.
+ intersphinx_cache_limit = 90 # days
+
diff --git a/dev-python/django/files/django-1.6.10-bashcomp.patch b/dev-python/django/files/django-1.6.10-bashcomp.patch
new file mode 100644
index 000000000000..7c6ceff076a4
--- /dev/null
+++ b/dev-python/django/files/django-1.6.10-bashcomp.patch
@@ -0,0 +1,35 @@
+ extras/django_bash_completion | 17 +----------------
+ 1 file changed, 1 insertion(+), 16 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+index 8f85211..ab13755 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,7 +37,7 @@ _django_completion()
+ COMP_CWORD=$COMP_CWORD \
+ DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
++complete -F _django_completion -o default django-admin.py django-admin
+
+ _python_django_completion()
+ {
+@@ -55,18 +55,3 @@ _python_django_completion()
+ fi
+ fi
+ }
+-
+-# Support for multiple interpreters.
+-unset pythons
+-if command -v whereis &>/dev/null; then
+- python_interpreters=$(whereis python | cut -d " " -f 2-)
+- for python in $python_interpreters; do
+- pythons="${pythons} ${python##*/}"
+- done
+- pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+- pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons
+-
diff --git a/dev-python/django/files/django-1.7.6-bashcomp.patch b/dev-python/django/files/django-1.7.6-bashcomp.patch
new file mode 100644
index 000000000000..ef76f8a873c7
--- /dev/null
+++ b/dev-python/django/files/django-1.7.6-bashcomp.patch
@@ -0,0 +1,34 @@
+ extras/django_bash_completion | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/extras/django_bash_completion b/extras/django_bash_completion
+index 3e02d8e..5a33938 100755
+--- a/extras/django_bash_completion
++++ b/extras/django_bash_completion
+@@ -37,7 +37,7 @@ _django_completion()
+ COMP_CWORD=$COMP_CWORD \
+ DJANGO_AUTO_COMPLETE=1 $1 ) )
+ }
+-complete -F _django_completion -o default django-admin.py manage.py django-admin
++complete -F _django_completion -o default django-admin.py django-admin
+
+ _python_django_completion()
+ {
+@@ -55,17 +55,3 @@ _python_django_completion()
+ fi
+ fi
+ }
+-
+-# Support for multiple interpreters.
+-unset pythons
+-if command -v whereis &>/dev/null; then
+- python_interpreters=$(whereis python | cut -d " " -f 2-)
+- for python in $python_interpreters; do
+- pythons="${pythons} ${python##*/}"
+- done
+- pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ")
+-else
+- pythons=python
+-fi
+-
+-complete -F _python_django_completion -o default $pythons
diff --git a/dev-python/django/metadata.xml b/dev-python/django/metadata.xml
new file mode 100644
index 000000000000..04a135c41dd6
--- /dev/null
+++ b/dev-python/django/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Django</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dnspython/Manifest b/dev-python/dnspython/Manifest
new file mode 100644
index 000000000000..f5840dab04ff
--- /dev/null
+++ b/dev-python/dnspython/Manifest
@@ -0,0 +1,3 @@
+DIST dnspython-1.11.1.tar.gz 129573 SHA256 c0c6fcf3ff52939e7eadd931282d083271f65cf0a174555a703563a400289768 SHA512 03b2d35ae638a05d1af5458e88ab3450c1bf835a4e704b630474f32b8f93844b625ab2fc0000fdf2490bc90e3ec01f56175be130b5de996546c8bcebe57dfc05 WHIRLPOOL d2ad625278ed519c98d2c5612d1384ac06e65a9e9ab01c646e41a8377306a97cacd88c5e090f14a41f161c6fe3e52222314e8bed638316c07f80d5b035062d1e
+DIST dnspython-1.12.0.tar.gz 135164 SHA256 03fb82af866001c4afa58c48027bcc4b80bbf0a7f27e1d861cf06393eea4724f SHA512 583d069ed7ee9b20f16a964023fa0300f15032c27de6d084205f73394f19a2d5bb1641ef95b08a8ddf1f622eeb5fa8cbfa62b8a2ee478a49b0dff0995e4ae42e WHIRLPOOL abf515aad901b0c752a0f133c293654f60750522cee69985126547602f321f6577e135077cbfa330a30fbc838b125af30b75cbb4f8fdd60d1444b0bd2446bb39
+DIST dnspython3-1.12.0.zip 226945 SHA256 e9630946207864c7a780798809cd2ec9c6bbde6ac88b97a2fda66f018eec1c8d SHA512 02c61eb91c2e872f2c8fa0e09b88d593a067130b5ac3ea6eabd0abec413ecb6d3b7d5472ca502334f4c441af249511109006ae6a7b41d36ba1db3e777971b3ae WHIRLPOOL d3624f8545c607441931dcc71a1e43c83df6e1bd938222d52c8d798b342c4faf15f200bf1da7ea1fd59d2fe96e82644b22c8815764bf7d6304573deee6261f5a
diff --git a/dev-python/dnspython/dnspython-1.11.1.ebuild b/dev-python/dnspython/dnspython-1.11.1.ebuild
new file mode 100644
index 000000000000..dda6e400fe04
--- /dev/null
+++ b/dev-python/dnspython/dnspython-1.11.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="DNS toolkit for Python"
+HOMEPAGE="http://www.dnspython.org/ http://pypi.python.org/pypi/dnspython"
+SRC_URI="http://www.dnspython.org/kits/${PV}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="examples test"
+
+DEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( ChangeLog README )
+
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/../tests &> /dev/null
+ local test
+ for test in *.py; do
+ if ! "${PYTHON}" ${test}; then
+ die "test $test failed under ${EPYTHON}"
+ else
+ einfo "test $test"
+ fi
+ done
+ # make some order out of the output salad
+ einfo "Testsuite passed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dnspython/dnspython-1.12.0-r1.ebuild b/dev-python/dnspython/dnspython-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..6f519f185839
--- /dev/null
+++ b/dev-python/dnspython/dnspython-1.12.0-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 multilib
+
+PN3="${PN}3"
+P3="${PN3}-${PV}"
+
+DESCRIPTION="DNS toolkit for Python"
+HOMEPAGE="http://www.dnspython.org/ http://pypi.python.org/pypi/dnspython"
+SRC_URI="http://www.dnspython.org/kits/${PV}/${P}.tar.gz
+ http://www.dnspython.org/kits3/${PV}/${P3}.zip"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="examples test"
+
+DEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]
+ app-arch/unzip"
+RDEPEND="${DEPEND}"
+
+S2="${S}"
+S3="${WORKDIR}/${P3}"
+
+# For testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare() {
+ if python_is_python3; then
+ cp -r "${WORKDIR}/${P3}" "${BUILD_DIR}" || die
+ else
+ distutils-r1_python_prepare
+ fi
+}
+
+python_compile() {
+ if python_is_python3; then
+ run_in_build_dir distutils-r1_python_compile
+ else
+ distutils-r1_python_compile
+ fi
+}
+
+python_install(){
+ if python_is_python3; then
+ run_in_build_dir distutils-r1_python_install
+ else
+ distutils-r1_python_install
+ fi
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd "${S3}/tests" &> /dev/null
+ else
+ pushd "${S2}/tests" &> /dev/null
+ fi
+ "${PYTHON}" utest.py || die "tests failed under ${EPYTHON}"
+ einfo "Testsuite passed under ${EPYTHON}"
+ popd &> /dev/null
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dnspython/dnspython-1.12.0.ebuild b/dev-python/dnspython/dnspython-1.12.0.ebuild
new file mode 100644
index 000000000000..7eb611adf1eb
--- /dev/null
+++ b/dev-python/dnspython/dnspython-1.12.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="DNS toolkit for Python"
+HOMEPAGE="http://www.dnspython.org/ http://pypi.python.org/pypi/dnspython"
+SRC_URI="http://www.dnspython.org/kits/${PV}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="examples test"
+
+DEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# For tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ pushd "${BUILD_DIR}"/../tests &> /dev/null
+ "${PYTHON}" utest.py || die "tests failed under ${EPYTHON}"
+ einfo "Testsuite passed under ${EPYTHON}"
+ popd &> /dev/null
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dnspython/metadata.xml b/dev-python/dnspython/metadata.xml
new file mode 100644
index 000000000000..e593ae87a7c5
--- /dev/null
+++ b/dev-python/dnspython/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+dnspython is a DNS toolkit for Python. It supports almost all of the record
+types. It can be used for queries, zone transfers, and dynamic updates. It
+supports TSIG authenticated messages and EDNS0. dnspython provides both high
+and low level access to DNS. The high level classes perform queries for data
+of a given name, type, and class, and return an answer set. The low level
+classes allow direct manipulation of DNS zones, messages, names, and records.
+</longdescription>
+<longdescription lang="ja">
+DNSPythonã¯Python言語用ã®DNSツールキットã§ã™ã€‚ã»ã¨ã‚“ã©ã®ãƒ¬ã‚³ãƒ¼ãƒ‰ãƒ»ã‚¿ã‚¤ãƒ—をサãƒãƒ¼
+トã—ã¾ã™ã€‚クエリーã€ã‚¾ãƒ¼ãƒ³ãƒ»ãƒˆãƒ©ãƒ³ã‚¹ãƒ•ã‚¡ãƒ¼ã€ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ»ã‚¢ãƒƒãƒ—デートãŒã§ãã¾ã™
+。TSTGメッセージèªè¨¼ã¨EDNS0をサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚DNSPythonã¯é«˜æ°´æº–ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã¨ä½Žæ°´
+準ã§ã®ã‚¢ã‚¯ã‚»ã‚¹ã®ä¸¡æ–¹ã‚’æä¾›ã—ã¾ã™ã€‚高水準ã§ã¯ãƒãƒ¼ãƒ ã€ã‚¿ã‚¤ãƒ—ã€ã‚¯ãƒ©ã‚¹ã§ã‚¯ã‚¨ãƒªãƒ¼ã‚’è¡Œ
+ã„ã€ãã®æˆ»ã‚Šå€¤ã‚’使ã„ã¾ã™ã€‚低水準ã¯ã‚¾ãƒ¼ãƒ³ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€ãƒãƒ¼ãƒ ã€ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’直接æ“作
+ã—ã¾ã™ã€‚
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/docker-py/Manifest b/dev-python/docker-py/Manifest
new file mode 100644
index 000000000000..b3f18c8c0c1f
--- /dev/null
+++ b/dev-python/docker-py/Manifest
@@ -0,0 +1,5 @@
+DIST docker-py-1.1.0-r1.tar.gz 60926 SHA256 c3373d120a83a80468c5340e2e36b20e6350a255309e50c56a57de4b5cad9d97 SHA512 14a9eacbee5e31c0dc9677c9250f27aa098f59634d6c07851e7d5d14e8ce9329e9a1519c70b2b4cd3f8532a06a022cd6d2ce4c0f7767ce6303aa38c972e25783 WHIRLPOOL 12c74f2c171f272c633f68be42c1a5061ace8ddf0522a0e7f9640673f332e78348d21c3bfe67c695a062d28c7b1049bdbfd2ecf4897ac00e28ce972630fcbd42
+DIST docker-py-1.2.2.tar.gz 69685 SHA256 85284a5b1a965e01a5d0a91f9f639ad5069143a276c123198fdafc3659280b38 SHA512 bf00b19e0ab56e5c0e8459234d09722ca504ecd933bfba61cb4ab4805410f53f6ad6083f2e964ef5a6eded2ea05aa01a89c27621064386bae145c7258ed996ad WHIRLPOOL bd7ff4579f924e02d18581b1aca00790dcb84afda03e4cde70b349bfdb4ad43aa2e06da2bcbe780f6074d98f9af9b14fb9d2ab4da9265e56b73288902c9ede7a
+DIST docker-py-1.2.3.tar.gz 69198 SHA256 66cba7beff9fca916d4c3f20220fa27ee8dcc639fe968f59e91201a7d0db6b22 SHA512 524d355e70dbf3666f61f0c8c42466d8d1a2e573fc1f347ff234f3a18803fed8d1296ccc106a78b48899d0282743b8bca08f6d36caec350ca374e8ebc7a4e55a WHIRLPOOL e77b8ad37f5c82738903353b578db8ee9d050c647af866cac9e4155646531b47a9e3d85ef6c42d64da2b1162616e49d06a5c16f33e19d56926e45546934be9a2
+DIST docker-py-1.3.0.tar.gz 70751 SHA256 ca898e2d742788b634ef5e449a74aa291c52bd5cf6eec8f03d30c616e235eb67 SHA512 d278d91bab3ea056463c83fdf9c19ea7201e459c350e433c8ab14063354540ac483f97d42f27286d6b84ce0c91089c23ad2de6c96549acb388e08732487e8d4d WHIRLPOOL 35e3c67a6019c710c876b0ca9afe4c681ccc7fcde3412075c671c6366c3a49ed783ca40a1e6f06afa18444961a85d94b9f726323a8ba0829b20625cc1a207df8
+DIST docker-py-1.3.1.tar.gz 71456 SHA256 4a980c55f22b97573b68f720ebc0b6f2a01cd9ec454d305bd13d2b83109a0bfa SHA512 f027a44cd15aa0a9d47a748c6f593e940ee4b6db0d8a933591e148bc9b0e6801c9ece3f81fc3a21eba762eff838ef40bf04fda299f28ba508e029b67658ee228 WHIRLPOOL 57d7429d58610bbef4473d5aabfe7f1771b2e3d4f083d44d6aba8f144bf44afeff9a0bcf458754f2787b54e1a1e07fddb9e66a42c16a6b1f20a8e1f9be3aa558
diff --git a/dev-python/docker-py/docker-py-1.1.0-r2.ebuild b/dev-python/docker-py/docker-py-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..b88b834343ec
--- /dev/null
+++ b/dev-python/docker-py/docker-py-1.1.0-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}-r1.tar.gz"
+
+S="${S}-r1"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/mkdocs-0.9[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/websocket-client-0.11.0[${PYTHON_USEDEP}]' python2_7)
+"
+
+python_compile_all() {
+ if use doc; then
+ mkdocs build || die "docs failed to build"
+ fi
+}
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/docker-py/docker-py-1.2.2.ebuild b/dev-python/docker-py/docker-py-1.2.2.ebuild
new file mode 100644
index 000000000000..99111c89ed9a
--- /dev/null
+++ b/dev-python/docker-py/docker-py-1.2.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/mkdocs-0.9[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/websocket-client-0.11.0[${PYTHON_USEDEP}]' python2_7)
+"
+
+python_compile_all() {
+ if use doc; then
+ mkdocs build || die "docs failed to build"
+ fi
+}
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/docker-py/docker-py-1.2.3.ebuild b/dev-python/docker-py/docker-py-1.2.3.ebuild
new file mode 100644
index 000000000000..49e4d1c6952a
--- /dev/null
+++ b/dev-python/docker-py/docker-py-1.2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/mkdocs-0.9[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/websocket-client-0.11.0[${PYTHON_USEDEP}]' python2_7)
+"
+
+python_compile_all() {
+ if use doc; then
+ mkdocs build || die "docs failed to build"
+ fi
+}
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/docker-py/docker-py-1.3.0.ebuild b/dev-python/docker-py/docker-py-1.3.0.ebuild
new file mode 100644
index 000000000000..03c6f3876999
--- /dev/null
+++ b/dev-python/docker-py/docker-py-1.3.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/docker-py/docker-py-1.3.1.ebuild b/dev-python/docker-py/docker-py-1.3.1.ebuild
new file mode 100644
index 000000000000..704b20632fa6
--- /dev/null
+++ b/dev-python/docker-py/docker-py-1.3.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/mkdocs-0.14.0[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ if use doc; then
+ mkdocs build || die "docs failed to build"
+ fi
+}
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/docker-py/metadata.xml b/dev-python/docker-py/metadata.xml
new file mode 100644
index 000000000000..c86b904c6120
--- /dev/null
+++ b/dev-python/docker-py/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">docker/docker-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dockerpty/Manifest b/dev-python/dockerpty/Manifest
new file mode 100644
index 000000000000..a456e3f830cb
--- /dev/null
+++ b/dev-python/dockerpty/Manifest
@@ -0,0 +1,3 @@
+DIST dockerpty-0.3.2.tar.gz 16808 SHA256 c937518704d5ced544a556f97efef57327690f1cd64d413767d79dadd062d85f SHA512 fccb52cfabe5bc8fe81e18179737a4aa9bb35d064d08b081dddd17805c47d8cc3aec23e49b3d0cc6b165fda158166965e56555a6ce8e633d5ba057d35e4061e4 WHIRLPOOL 0c0a1c0ce5e748f5771a776abfd3bb1300dc3d088ecec0620fa4ff6946ca9206297c770b57801380d2d160f358df91977ff977d3d3bfc9488958d53365939594
+DIST dockerpty-0.3.3.tar.gz 18583 SHA256 4b59a42c9b13c878439ccb2f75d017f88f306ab33fae7b20d8ac1f7e3fa72af7 SHA512 c5e0686c19b3ee3762c79d8f66602e25f3decd14c3ae35f514464c5e4c627e7653ca86f9e602535cb65c0d15d00ca5c687576214efe87a7309abca11cd6b8ea5 WHIRLPOOL 69bbf8bee0f52689e22827789fc05b64e6c09014e98a4075a746865567f8c790a533ce21f5e41319892b567fdbded6f428e0969a5b9c27b8726254d56901f6fa
+DIST dockerpty-0.3.4.tar.gz 18611 SHA256 d041b268264905818ca7cfc52e14b738c1ff2c21ef59ccbed5d5ef81d4a7591e SHA512 dee0cf8ae926bae3f5e96643e912d3cc2dbd782594fa148addac996909e7fec84e1e1579a8d00ce46479041e85496b0615cb4a68b635288d04a4ef73ad27b10d WHIRLPOOL ddd768c2b650301ac4c27fc9394d47f65303734abbbc1da7ddfdbd31ca89578a952b189e709a51134d0946985608af7ecb16108a52c8c6205b7ab58c0b7e7b61
diff --git a/dev-python/dockerpty/dockerpty-0.3.2.ebuild b/dev-python/dockerpty/dockerpty-0.3.2.ebuild
new file mode 100644
index 000000000000..8399d9dffebc
--- /dev/null
+++ b/dev-python/dockerpty/dockerpty-0.3.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python library to use the pseudo-tty of a docker container"
+HOMEPAGE="https://github.com/d11wtq/dockerpty"
+SRC_URI="https://github.com/d11wtq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/behave-1.2.4[${PYTHON_USEDEP}]
+ >=dev-python/docker-py-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.5.2[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/docker-py-0.3.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ local RUN_FEATURES=0
+
+ ewarn "${PN} tests require portage to be in the docker group!"
+ getent group docker |& grep portage 1>/dev/null 2>&1
+ RUN_FEATURES+=$?
+
+ ewarn "${PN} tests require a running docker service!"
+ which docker 1>/dev/null 2>&1 && docker info 1>/dev/null 2>&1
+ RUN_FEATURES+=$?
+
+ if [[ ${RUN_FEATURES} -eq 0 ]]; then
+ behave || die "Feature tests failed under ${EPYTHON}"
+
+ fi
+
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/dockerpty/dockerpty-0.3.3.ebuild b/dev-python/dockerpty/dockerpty-0.3.3.ebuild
new file mode 100644
index 000000000000..1624bcb9cee0
--- /dev/null
+++ b/dev-python/dockerpty/dockerpty-0.3.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python library to use the pseudo-tty of a docker container"
+HOMEPAGE="https://github.com/d11wtq/dockerpty"
+SRC_URI="https://github.com/d11wtq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/behave-1.2.4[${PYTHON_USEDEP}]
+ >=dev-python/docker-py-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.5.2[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/six-1.3.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ local RUN_FEATURES=0
+
+ ewarn "${PN} tests require portage to be in the docker group!"
+ getent group docker |& grep portage 1>/dev/null 2>&1
+ RUN_FEATURES+=${?}
+
+ ewarn "${PN} tests require a running docker service!"
+ which docker 1>/dev/null 2>&1 && docker info 1>/dev/null 2>&1
+ RUN_FEATURES+=${?}
+
+ if [[ ${RUN_FEATURES} -eq 0 ]]; then
+ behave || die "Feature tests failed under ${EPYTHON}"
+
+ fi
+
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/dockerpty/dockerpty-0.3.4.ebuild b/dev-python/dockerpty/dockerpty-0.3.4.ebuild
new file mode 100644
index 000000000000..1624bcb9cee0
--- /dev/null
+++ b/dev-python/dockerpty/dockerpty-0.3.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python library to use the pseudo-tty of a docker container"
+HOMEPAGE="https://github.com/d11wtq/dockerpty"
+SRC_URI="https://github.com/d11wtq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/behave-1.2.4[${PYTHON_USEDEP}]
+ >=dev-python/docker-py-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.5.2[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/six-1.3.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ local RUN_FEATURES=0
+
+ ewarn "${PN} tests require portage to be in the docker group!"
+ getent group docker |& grep portage 1>/dev/null 2>&1
+ RUN_FEATURES+=${?}
+
+ ewarn "${PN} tests require a running docker service!"
+ which docker 1>/dev/null 2>&1 && docker info 1>/dev/null 2>&1
+ RUN_FEATURES+=${?}
+
+ if [[ ${RUN_FEATURES} -eq 0 ]]; then
+ behave || die "Feature tests failed under ${EPYTHON}"
+
+ fi
+
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/dockerpty/metadata.xml b/dev-python/dockerpty/metadata.xml
new file mode 100644
index 000000000000..5f64e0a5b6cb
--- /dev/null
+++ b/dev-python/dockerpty/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">d11wtq/dockerpty</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/docopt/Manifest b/dev-python/docopt/Manifest
new file mode 100644
index 000000000000..a51154418ff1
--- /dev/null
+++ b/dev-python/docopt/Manifest
@@ -0,0 +1 @@
+DIST docopt-0.6.2.tar.gz 25901 SHA256 49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 SHA512 af138feccf8c37b374ee44fcda4938a88107d434df13c173214021b1a3348b152a595095a86982b66ac03a11db8e0f1e9e6a3a65c98deea92330311daeb831a3 WHIRLPOOL d6d00dd8e6e1063ba6d12339b6e7744bd993270173260efe8ba808e71945d3ac26a22adb005563d626ffa1e253022b88bf0bd1f9dd729bf6634be73d20108541
diff --git a/dev-python/docopt/docopt-0.6.2.ebuild b/dev-python/docopt/docopt-0.6.2.ebuild
new file mode 100644
index 000000000000..8151b4ae73e8
--- /dev/null
+++ b/dev-python/docopt/docopt-0.6.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic argument parser, that will make you smile"
+HOMEPAGE="https://pypi.python.org/pypi/docopt https://github.com/docopt/docopt"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://github.com/docopt/docopt/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+# not implemented in this version, git already has it
+RESTRICT=test
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/docopt/metadata.xml b/dev-python/docopt/metadata.xml
new file mode 100644
index 000000000000..ee9eaf6327d1
--- /dev/null
+++ b/dev-python/docopt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">docopt</remote-id>
+ <remote-id type="github">docopt/docopt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/docutils-glep/Manifest b/dev-python/docutils-glep/Manifest
new file mode 100644
index 000000000000..af4bd94c627c
--- /dev/null
+++ b/dev-python/docutils-glep/Manifest
@@ -0,0 +1 @@
+DIST glep-0.4-r1.tbz2 4667 SHA256 d0b421869fb3437e96484687fd57f34d4f5cdd5a1fbdb2314f1474b1f9afa058 SHA512 098d9f5043a60af9dfac63f6472b576e66ffeda924902ca825ed63f573aeb8bad7c9f9a6853fd99e648683488ee6db2ee55c139df3dde06983b72cfb5dd8cdd3 WHIRLPOOL 277cdf4a7fe70990864a4f0fd592561bcf5edc1de8d4830da96c75093d47d8d64214b95ac5ae7960670a8520650a5e23355df248f61bddcd9cd5dc23cab0fe19
diff --git a/dev-python/docutils-glep/docutils-glep-0.4-r1.ebuild b/dev-python/docutils-glep/docutils-glep-0.4-r1.ebuild
new file mode 100644
index 000000000000..e90881b6cca8
--- /dev/null
+++ b/dev-python/docutils-glep/docutils-glep-0.4-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils python-r1
+
+MY_P=${PF/docutils-/}
+
+DESCRIPTION="Gentoo GLEP support for docutils"
+HOMEPAGE="http://www.gentoo.org/proj/en/glep/"
+SRC_URI="mirror://gentoo/${MY_P}.tbz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=dev-python/docutils-0.10[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # It's easier to move them around now.
+ # TODO: add python_newmodule?
+ mkdir {readers,transforms,writers} || die
+ mv {glepread,readers/glep}.py || die
+ mv {glepstrans,transforms/gleps}.py || die
+ mv glep_html writers/ || die
+}
+
+src_install() {
+ inst() {
+ python_doscript glep.py
+
+ python_moduleinto docutils
+ python_domodule readers transforms writers
+ }
+
+ python_foreach_impl inst
+}
diff --git a/dev-python/docutils-glep/metadata.xml b/dev-python/docutils-glep/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/docutils-glep/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
new file mode 100644
index 000000000000..915b23bb9ee8
--- /dev/null
+++ b/dev-python/docutils/Manifest
@@ -0,0 +1,5 @@
+DIST docutils-0.10.tar.gz 1602552 SHA256 370624e61b6773da2f2fb17cc2a4eaea4bb596c3585d13f75ff193c1c738603e SHA512 255474d4d9efc427ecb2123939af64475335c1f2af2f1b398a0c540693629f6ce6b105fb45f6ef962800948e2844b5140ecc6b81218e3c8619d14c9c7f2705c4 WHIRLPOOL 7e25c5b9206f019acc9131a0b5baf05fd21d042d121e2c472a8d908cc668346e26572d6db6546200dc9b85fb9b8a462e3ada59eb9c760f9915efaa510ffe74fa
+DIST docutils-0.11.tar.gz 1611755 SHA256 9af4166adf364447289c5c697bb83c52f1d6f57e77849abcccd6a4a18a5e7ec9 SHA512 8e87581b27ce4fb5e97dcef56047f4bf3a076b98e9e42f5dc66f4c370e5893d1571e46f00fee6f1c8b9f8c8a79e128e4599b9ee213ad1dee2bf16a0246e187df WHIRLPOOL 0231e34e8c84a29f52f244dfe8d3fdbb8f2db9f6e5f26d0a5953c109a2620b15f86874e3b7604aeccf805f789abef7e7af5cc076dde25f2e2947bad11d2ae58c
+DIST docutils-0.12.tar.gz 1618353 SHA256 c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa SHA512 0087433f8b76e1d0302d2fab77fdbda941132d16ac1fcecb26ca66119687eefd9e2f6901e05d705f857fa31e2526136c9827dfd57c44cd295bd10dcce3faebf9 WHIRLPOOL 9b9d9d7315351e4b803195a157836df13a10fc706c0aea2c6ac7c6d01bd034870106d0ceedfbd7e9fae17420f3d116df30cc222ad5b3c7205d5eca767d550564
+DIST docutils-0.9.1.tar.gz 1541437 SHA256 e89f187dbbc6674f839239c89fec44af9f18809b66a8a55a41b57b9ee2356994 SHA512 ac1158c562533796f26d4bc451cc9cd371f7fad60d190aa43c763d53a15c2b7656962e7ef72248439896a5fd759c53f6aee14b08bca2292542e944fa9bb044e9 WHIRLPOOL 6b197c1e96a218d9a3a2116ea6e68cae22130c77025fe6e6942f698a918b96579a9216daf23e01cb1c54c7d52ddcc4a3e8ec1b8279ae7be7e3044e044e14c039
+DIST glep-0.4-r1.tbz2 4667 SHA256 d0b421869fb3437e96484687fd57f34d4f5cdd5a1fbdb2314f1474b1f9afa058 SHA512 098d9f5043a60af9dfac63f6472b576e66ffeda924902ca825ed63f573aeb8bad7c9f9a6853fd99e648683488ee6db2ee55c139df3dde06983b72cfb5dd8cdd3 WHIRLPOOL 277cdf4a7fe70990864a4f0fd592561bcf5edc1de8d4830da96c75093d47d8d64214b95ac5ae7960670a8520650a5e23355df248f61bddcd9cd5dc23cab0fe19
diff --git a/dev-python/docutils/docutils-0.10.ebuild b/dev-python/docutils/docutils-0.10.ebuild
new file mode 100644
index 000000000000..46483c512f6a
--- /dev/null
+++ b/dev-python/docutils/docutils-0.10.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="glep"
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ glep? ( dev-python/docutils-glep[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ # fix buildhtml.py option parsing
+ "${FILESDIR}"/${P}-optparser.patch
+)
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ local tests=test
+ [[ ${EPYTHON} == python3* ]] && tests=test3
+
+ cp -r -l ${tests} "${BUILD_DIR}"/test || die
+ ln -s "${S}"/docs "${BUILD_DIR}"/ || die
+ "${PYTHON}" "${BUILD_DIR}"/test/alltests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.11.ebuild b/dev-python/docutils/docutils-0.11.ebuild
new file mode 100644
index 000000000000..354b591443a0
--- /dev/null
+++ b/dev-python/docutils/docutils-0.11.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+PATCHES=( "${FILESDIR}"/docutils-0.11-python3.3-odt-writer.patch )
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd test3 > /dev/null || die
+ else
+ pushd test > /dev/null || die
+ fi
+ "${PYTHON}" alltests.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.12.ebuild b/dev-python/docutils/docutils-0.12.ebuild
new file mode 100644
index 000000000000..334fa8ee3d6b
--- /dev/null
+++ b/dev-python/docutils/docutils-0.12.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd test3 > /dev/null || die
+ else
+ pushd test > /dev/null || die
+ fi
+ "${PYTHON}" alltests.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.9.1-r1.ebuild b/dev-python/docutils/docutils-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..5ddc12851125
--- /dev/null
+++ b/dev-python/docutils/docutils-0.9.1-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI+=" glep? ( mirror://gentoo/glep-0.4-r1.tbz2 )"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="glep"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+GLEP_SRC="${WORKDIR}/glep-0.4-r1"
+
+python_prepare_all() {
+ # It's easier to move them around now.
+ # TODO: add python_newmodule?
+ if use glep; then
+ mkdir "${GLEP_SRC}"/{read,trans} || die
+ mv "${GLEP_SRC}"/{glepread,read/glep}.py || die
+ mv "${GLEP_SRC}"/{glepstrans,trans/gleps}.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css --traceback ../docs || die
+}
+
+python_test() {
+ local tests=test
+ [[ ${EPYTHON} == python3* ]] && tests=test3
+
+ cp -r -l ${tests} "${BUILD_DIR}"/test || die
+ ln -s "${S}"/docs "${BUILD_DIR}"/ || die
+ "${PYTHON}" "${BUILD_DIR}"/test/alltests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+
+ # Install Gentoo GLEP tools.
+ if use glep; then
+ python_doscript "${GLEP_SRC}"/glep.py
+
+ python_moduleinto docutils/readers
+ python_domodule "${GLEP_SRC}"/read/glep.py
+ python_moduleinto docutils/transforms
+ python_domodule "${GLEP_SRC}"/trans/gleps.py
+ python_moduleinto docutils/writers
+ python_domodule "${GLEP_SRC}"/glep_html
+ fi
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/files/docutils-0.10-optparser.patch b/dev-python/docutils/files/docutils-0.10-optparser.patch
new file mode 100644
index 000000000000..a65fbde71ce0
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.10-optparser.patch
@@ -0,0 +1,34 @@
+Patch by Arfrever
+http://sourceforge.net/tracker/?func=detail&aid=3598893&group_id=38414&atid=422030
+
+Index: docutils/frontend.py
+===================================================================
+--- docutils/frontend.py (revision 7578)
++++ docutils/frontend.py (working copy)
+@@ -158,7 +158,7 @@
+
+ def validate_colon_separated_string_list(
+ setting, value, option_parser, config_parser=None, config_section=None):
+- if isinstance(value, unicode):
++ if isinstance(value, basestring):
+ value = value.split(':')
+ else:
+ last = value.pop()
+@@ -171,7 +171,7 @@
+ """
+ # `value` is already a list when given as command line option
+ # and "action" is "append"
+- if isinstance(value, unicode):
++ if isinstance(value, basestring):
+ value = [value]
+ # this function is called for every option added to `value`
+ # -> split the last item and apped the result:
+@@ -731,7 +731,7 @@
+ """Wrapper around sys.stderr catching en-/decoding errors"""
+
+ def read(self, filenames, option_parser):
+- if type(filenames) in (str, unicode):
++ if isinstance(filenames, basestring):
+ filenames = [filenames]
+ for filename in filenames:
+ try:
diff --git a/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
new file mode 100644
index 000000000000..e84256f3dc43
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
@@ -0,0 +1,30 @@
+--- a/docutils/writers/odf_odt/__init__.py
++++ b/docutils/writers/odf_odt/__init__.py
+@@ -88,16 +88,20 @@
+ # that support for the ability to get the parent of an element.
+ #
+ if WhichElementTree == 'elementtree':
+- class _ElementInterfaceWrapper(etree._ElementInterface):
++ import weakref
++ _parents = weakref.WeakKeyDictionary()
++ if isinstance(etree.Element, type):
++ _ElementInterface = etree.Element
++ else:
++ _ElementInterface = etree._ElementInterface
++ class _ElementInterfaceWrapper(_ElementInterface):
+ def __init__(self, tag, attrib=None):
+- etree._ElementInterface.__init__(self, tag, attrib)
+- if attrib is None:
+- attrib = {}
+- self.parent = None
++ _ElementInterface.__init__(self, tag, attrib)
++ _parents[self] = None
+ def setparent(self, parent):
+- self.parent = parent
++ _parents[self] = parent
+ def getparent(self):
+- return self.parent
++ return _parents[self]
+
+
+ #
diff --git a/dev-python/docutils/files/docutils-0.6-extra_modules.patch b/dev-python/docutils/files/docutils-0.6-extra_modules.patch
new file mode 100644
index 000000000000..ca5de4b7fc4e
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.6-extra_modules.patch
@@ -0,0 +1,24 @@
+--- setup.py
++++ setup.py
+@@ -182,19 +182,8 @@
+ List of (module name, minimum __version__ string, [attribute names])."""
+
+ def get_extras():
+- extras = []
+- for module_name, version, attributes in extra_modules:
+- try:
+- module = __import__(module_name)
+- if version and module.__version__ < version:
+- raise ValueError
+- for attribute in attributes or []:
+- getattr(module, attribute)
+- print ('"%s" module already present; ignoring extras/%s.py.'
+- % (module_name, module_name))
+- except (ImportError, AttributeError, ValueError):
+- extras.append(module_name)
+- return extras
++ # Old method does not work for upgrading/downgrading docutils.
++ return ["roman"]
+
+
+ if __name__ == '__main__' :
diff --git a/dev-python/docutils/files/docutils-0.7-encoding.patch b/dev-python/docutils/files/docutils-0.7-encoding.patch
new file mode 100644
index 000000000000..9a88f9fedaa6
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-encoding.patch
@@ -0,0 +1,83 @@
+--- docutils/nodes.py
++++ docutils/nodes.py
+@@ -27,6 +27,7 @@
+ import warnings
+ import types
+ import unicodedata
++import locale
+
+ # ==============================
+ # Functional Node Base Classes
+@@ -328,6 +329,9 @@
+ else:
+ def __new__(cls, data, rawsource=None):
+ """Prevent the rawsource argument from propagating to str."""
++ encoding = locale.getdefaultlocale()[1]
++ if isinstance(data, str) and encoding is not None:
++ data = data.decode(encoding)
+ return reprunicode.__new__(cls, data)
+
+ def __init__(self, data, rawsource=''):
+--- docutils/parsers/rst/directives/misc.py
++++ docutils/parsers/rst/directives/misc.py
+@@ -10,6 +10,7 @@
+ import os.path
+ import re
+ import time
++import locale
+ from docutils import io, nodes, statemachine, utils
+ from docutils.parsers.rst import Directive, convert_directive_function
+ from docutils.parsers.rst import directives, roles, states
+@@ -66,8 +67,16 @@
+ input_encoding_error_handler),
+ handle_io_errors=None)
+ except IOError, error:
+- raise self.severe('Problems with "%s" directive path:\n%s: %s.' %
+- (self.name, error.__class__.__name__, str(error)))
++ if sys.version_info < (3,):
++ error_string = str(error)
++ encoding = locale.getdefaultlocale()[1]
++ if encoding is not None:
++ error_string = error_string.decode(encoding)
++ raise self.severe(u'Problems with "%s" directive path:\n%s: %s.' %
++ (self.name, error.__class__.__name__, error_string))
++ else:
++ raise self.severe('Problems with "%s" directive path:\n%s: %s.' %
++ (self.name, error.__class__.__name__, str(error)))
+ # Hack: Since Python 2.6, the string interpolation returns a
+ # unicode object if one of the supplied %s replacements is a
+ # unicode object. IOError has no `__unicode__` method and the
+--- tools/buildhtml.py
++++ tools/buildhtml.py
+@@ -15,8 +15,8 @@
+ __docformat__ = 'reStructuredText'
+
+
++import locale
+ try:
+- import locale
+ locale.setlocale(locale.LC_ALL, '')
+ except:
+ pass
+@@ -236,8 +236,19 @@
+ writer_name=pub_struct.writer_name,
+ settings=settings)
+ except ApplicationError, error:
+- print >>sys.stderr, (' Error (%s): %s'
+- % (error.__class__.__name__, error))
++ if sys.version_info < (3,):
++ encoding = locale.getdefaultlocale()[1]
++ if isinstance(error.message, unicode) and encoding is not None:
++ error_message = (u' Error (%s): %s'
++ % (error.__class__.__name__, error))
++ error_message = error_message.encode(encoding)
++ else:
++ error_message = (' Error (%s): %s'
++ % (error.__class__.__name__, error))
++ print >>sys.stderr, error_message
++ else:
++ print >>sys.stderr, (' Error (%s): %s'
++ % (error.__class__.__name__, error))
+
+
+ if __name__ == "__main__":
diff --git a/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch b/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch
new file mode 100644
index 000000000000..3f67f244cfd1
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch
@@ -0,0 +1,49 @@
+http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3149845&group_id=38414
+
+--- docutils/frontend.py
++++ docutils/frontend.py
+@@ -671,7 +671,7 @@
+ raise KeyError('No option with dest == %r.' % dest)
+
+
+-class ConfigParser(CP.ConfigParser):
++class ConfigParser(CP.RawConfigParser):
+
+ old_settings = {
+ 'pep_stylesheet': ('pep_html writer', 'stylesheet'),
+@@ -693,7 +693,7 @@
+ """
+
+ def __init__(self, *args, **kwargs):
+- CP.ConfigParser.__init__(self, *args, **kwargs)
++ CP.RawConfigParser.__init__(self, *args, **kwargs)
+
+ self._files = []
+ """List of paths of configuration files read."""
+@@ -708,7 +708,7 @@
+ except IOError:
+ continue
+ try:
+- CP.ConfigParser.readfp(self, fp, filename)
++ CP.RawConfigParser.readfp(self, fp, filename)
+ except UnicodeDecodeError:
+ sys.stderr.write(self.not_utf8_error % (filename, filename))
+ fp.close()
+@@ -749,7 +749,7 @@
+ except KeyError:
+ continue
+ if option.validator:
+- value = self.get(section, setting, raw=1)
++ value = self.get(section, setting)
+ try:
+ new_value = option.validator(
+ setting, value, option_parser,
+@@ -778,7 +778,7 @@
+ section_dict = {}
+ if self.has_section(section):
+ for option in self.options(section):
+- section_dict[option] = self.get(section, option, raw=1)
++ section_dict[option] = self.get(section, option)
+ return section_dict
+
+
diff --git a/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch b/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch
new file mode 100644
index 000000000000..0e77f7e974a8
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch
@@ -0,0 +1,16 @@
+http://svn.berlios.de/viewvc/docutils?view=revision&revision=7013
+
+--- docutils/writers/odf_odt/__init__.py
++++ docutils/writers/odf_odt/__init__.py
+@@ -300,7 +300,10 @@
+
+ def ToString(et):
+ outstream = StringIO.StringIO()
+- et.write(outstream)
++ if sys.version_info >= (3, 2):
++ et.write(outstream, encoding="unicode")
++ else:
++ et.write(outstream)
+ s1 = outstream.getvalue()
+ outstream.close()
+ return s1
diff --git a/dev-python/docutils/metadata.xml b/dev-python/docutils/metadata.xml
new file mode 100644
index 000000000000..b75fdfa0d43f
--- /dev/null
+++ b/dev-python/docutils/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="glep">Install support for GLEPs</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">docutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dogpile-cache/Manifest b/dev-python/dogpile-cache/Manifest
new file mode 100644
index 000000000000..246402e2b3cd
--- /dev/null
+++ b/dev-python/dogpile-cache/Manifest
@@ -0,0 +1,3 @@
+DIST dogpile.cache-0.5.1.tar.gz 169450 SHA256 1f3165222bc23418cb9d3f1a2c9d554a091f412e5bc871ea0c48a19b576d06c0 SHA512 e9b9b8b7caf269cfecc8d333bd04714d908860e1e54720ce3329fae7be14995f8de6f1225e0cf6a782d5ef53ddd3482acc36a3440eb772e03f3d5029faeecc5c WHIRLPOOL ba14fc61604c78af038b6520079bbca1a46a889abebf69305f5722142cd47a45da966d8db64ec24cc7148363a22b109d89e4200087cc235a0721aea94f5c6a2c
+DIST dogpile.cache-0.5.2.tar.gz 173765 SHA256 acdcb69e7eb8421678172fe8709d6d92bf7249022a70e4d7c84316d4e2d1d1b5 SHA512 dcce0e06de4d053e16020ca32f210c79a7eab21b7d09a8041e655940f03e32c91919a26d75114fffa087bc8a33052d5b1b04aeaea92d663ba4237f2990de2f05 WHIRLPOOL 8cec6f397487dbd2d61e1ed0f9b96f08d0f560af2f13b92b819d5fb402616d59a8c1a50aab518c07413af40b9405214ff4b66448912e33839a7a8b9920541b76
+DIST dogpile.cache-0.5.4.tar.gz 185676 SHA256 9eab7a5dc05ad1b6573144c4a2717226b5c38811f9ec29b514e774535a91ea24 SHA512 ae73b8c82745cbde7b46f532e127c044a01e7b85d2e91b5f0a16da51fb9d70d48e2de55278db68f892a9b604e4f32e19a4a73c11393e04b599c8892280f9b5fe WHIRLPOOL 97b6dd6374940f081d60a7eba43844f17f39dbfa6df14ef18e9e8241b844f467126f4ffca3dd284408855d46c7f2299bb24bc9f2715271e2303e440a3b912f95
diff --git a/dev-python/dogpile-cache/dogpile-cache-0.5.1.ebuild b/dev-python/dogpile-cache/dogpile-cache-0.5.1.ebuild
new file mode 100644
index 000000000000..b45f52510615
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-0.5.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="API built on a lock allowing access to expiring values while a single thread generates a new value."
+HOMEPAGE="https://bitbucket.org/zzzeek/dogpile.cache"
+SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/dogpile.cache-${PV}.tar.gz"
+S="${WORKDIR}/dogpile.cache-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/dogpile-cache/dogpile-cache-0.5.2.ebuild b/dev-python/dogpile-cache/dogpile-cache-0.5.2.ebuild
new file mode 100644
index 000000000000..280e6fe8bb4f
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-0.5.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="API built on a lock allowing access to expiring values while a single thread generates a new value."
+HOMEPAGE="https://bitbucket.org/zzzeek/dogpile.cache"
+SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/dogpile.cache-${PV}.tar.gz"
+S="${WORKDIR}/dogpile.cache-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}] )"
+
+# for testsuite
+DISTUTILS_NO_PARALLEL_BUILD=1
+# This time half the doc files are missing; Do you want them? toss a coin
+
+python_test() {
+ # crikey. testsuite written for py3, 5 tests fail under py2.7
+ if [[ "${EPYTHON}" != "python2.7" ]]; then
+ nosetests || die "test failed under ${EPYTHON}"
+ else
+ einfo "testsuite restricted for python2.7"
+ fi
+}
diff --git a/dev-python/dogpile-cache/dogpile-cache-0.5.4.ebuild b/dev-python/dogpile-cache/dogpile-cache-0.5.4.ebuild
new file mode 100644
index 000000000000..ab2ca0440e34
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-0.5.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="API built on a lock allowing access to expiring values while a single thread generates a new value."
+HOMEPAGE="https://bitbucket.org/zzzeek/dogpile.cache"
+SRC_URI="mirror://pypi/${PN:0:1}/dogpile.cache/dogpile.cache-${PV}.tar.gz"
+S="${WORKDIR}/dogpile.cache-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-core-0.4.1[${PYTHON_USEDEP}] )"
+
+# for testsuite
+DISTUTILS_NO_PARALLEL_BUILD=1
+# This time half the doc files are missing; Do you want them? toss a coin
+
+python_test() {
+ # crikey. testsuite written for py3, 5 tests fail under py2.7
+ if [[ "${EPYTHON}" != "python2.7" ]]; then
+ nosetests || die "test failed under ${EPYTHON}"
+ else
+ einfo "testsuite restricted for python2.7"
+ fi
+}
diff --git a/dev-python/dogpile-cache/metadata.xml b/dev-python/dogpile-cache/metadata.xml
new file mode 100644
index 000000000000..108d29fd0ac5
--- /dev/null
+++ b/dev-python/dogpile-cache/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A caching API built around the concept of a "dogpile lock", which allows
+ continued access to an expiring data value while
+ a single thread generates a new value.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">dogpile.cache</remote-id>
+ <remote-id type="bitbucket">zzzeek/dogpile.cache</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dogpile-core/Manifest b/dev-python/dogpile-core/Manifest
new file mode 100644
index 000000000000..9507d33c43ad
--- /dev/null
+++ b/dev-python/dogpile-core/Manifest
@@ -0,0 +1 @@
+DIST dogpile.core-0.4.1.tar.gz 99534 SHA256 af2555702811d56846778d39451cf822b04b3f13347080c121a4977fefdfcbff SHA512 f4c37297788677afe6ab17ba5aa928f9770b0edbd1a675cd4ad512ef0c15cf1e2d765d9b7a9fe3638f0a646e0ad51d54c9b4ded33611022744226bfde1aa9896 WHIRLPOOL 09677b564eee99202e66bba97b9e8db36a75aa1c3e86616a043db8b6bff318031c2afe72f9c243e19cc106e546aa9cc422820aeee505a7f5627f64c808af1eec
diff --git a/dev-python/dogpile-core/dogpile-core-0.4.1.ebuild b/dev-python/dogpile-core/dogpile-core-0.4.1.ebuild
new file mode 100644
index 000000000000..44e7416b498f
--- /dev/null
+++ b/dev-python/dogpile-core/dogpile-core-0.4.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A lock which allows a thread to generate an expensive resource while other threads use the old value"
+HOMEPAGE="https://bitbucket.org/zzzeek/dogpile.core"
+SRC_URI="mirror://pypi/${PN:0:1}/dogpile.core/dogpile.core-${PV}.tar.gz"
+S="${WORKDIR}/dogpile.core-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/dogpile-core/metadata.xml b/dev-python/dogpile-core/metadata.xml
new file mode 100644
index 000000000000..79fa0556ac62
--- /dev/null
+++ b/dev-python/dogpile-core/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A "dogpile" lock, one which allows a single thread to generate an
+ expensive resource while other threads use the "old" value,
+ until the "new" value is ready.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">dogpile.core</remote-id>
+ <remote-id type="bitbucket">zzzeek/dogpile.core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/doit-py/Manifest b/dev-python/doit-py/Manifest
new file mode 100644
index 000000000000..b2c8982b240b
--- /dev/null
+++ b/dev-python/doit-py/Manifest
@@ -0,0 +1 @@
+DIST doit-py-0.3.0.tar.gz 16151 SHA256 af015e61b1aade838d299a508e72b35d714b67a9b903c65c2863427f5c3883fc SHA512 c6cbb326a7635b78d0c22ff7db8a722aedf8d66b85db4017e1a2566f1d8f1f96d4e00407cfec2180d20091addaf731a916da1a3970553cb4bebec87df90fc609 WHIRLPOOL becc06fd65d0afcf2b9034f7943f5cb01362ad06dabc154051dd5c5d0bf0b4cc35b94e5ee0a54b873ac1c32c82cd122b78e274fda597252ebdda1f5b78ef09dd
diff --git a/dev-python/doit-py/doit-py-0.3.0.ebuild b/dev-python/doit-py/doit-py-0.3.0.ebuild
new file mode 100644
index 000000000000..a687d8b50cf5
--- /dev/null
+++ b/dev-python/doit-py/doit-py-0.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="doit tasks for python stuff"
+HOMEPAGE="http://pythonhosted.org/doit-py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="
+ virtual/python-pathlib[${PYTHON_USEDEP}]
+ dev-python/doit[${PYTHON_USEDEP}]
+ dev-python/configclass[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/doit-py/metadata.xml b/dev-python/doit-py/metadata.xml
new file mode 100644
index 000000000000..d1a0e484be61
--- /dev/null
+++ b/dev-python/doit-py/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">doit-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/doit/Manifest b/dev-python/doit/Manifest
new file mode 100644
index 000000000000..65364978172c
--- /dev/null
+++ b/dev-python/doit/Manifest
@@ -0,0 +1,3 @@
+DIST doit-0.23.0.tar.gz 316588 SHA256 5d0421be6e5528e3be11bd0ede5c232e0c91f2b98b55688d7db1ce0638e1efbb SHA512 f2298d76d9ce3e7ed5f356bfdeeef8d5d99ebae74571666a3d2b3843fc63f5a8f76cd6cdedcfe8fc81bc653ecf04951c11f50abd16e9aa8fc7539e3c224b0e4c WHIRLPOOL cfb09484e25cfbc9618ef5b4a750010d16281a13772a37a8da59f2f6e1ebed77bbc40c06f263062c0464e6689415aeac695c0ef9e5cfe561349efea61f8be8e3
+DIST doit-0.27.0.tar.gz 193700 SHA256 06662c8677fb3e925c262559b7d3c5d8e08a10320be3386a7d348702e8e3ed8a SHA512 afca1029873c9fca0632ef43bc75762eed0738b7e4c1b8e9babf10543b15f78c526794462a83fa2fac1b35f2ff9152afbce8660b1dfbd86ce9dd73d47c70a9f7 WHIRLPOOL 60c022977b6dfe9e3e66d206315ac23a291c4df58bc07b4f8120622f257b636b80340dc267e5615de5876d40a500cf0fbaf3f531c6f41dce53d91ebdc6d65d7e
+DIST doit-0.28.0.tar.gz 213582 SHA256 12a2febde2566728344acbdb6ad92f82417228cd548f0f467187d1e67047513f SHA512 ff1eeb1819ad8a962b98c6d96aef8173bc9793a3afd6e2086f1f80fa60eba73c71e16c1467be89f2f78c9c9516f3c780bf57d7f461df96940f2feb51afd2ad3a WHIRLPOOL cf759118284c8e7b74299bf7fa92e99bdf5302e7f1dacd86c301a14d13eca5a5611d2cd57b0411a76439df64add439627040dcc6902b2d43ffd95a3c942441da
diff --git a/dev-python/doit/doit-0.23.0-r1.ebuild b/dev-python/doit/doit-0.23.0-r1.ebuild
new file mode 100644
index 000000000000..3b568b0c6eb2
--- /dev/null
+++ b/dev-python/doit/doit-0.23.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit eutils distutils-r1
+
+DESCRIPTION="Automation tool"
+HOMEPAGE="http://python-doit.sourceforge.net/ http://pypi.python.org/pypi/doit"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+
+RDEPEND="dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+DOCS=( AUTHORS CHANGES README TODO.txt dev_requirements.txt )
+
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ # Tests of this file fail due to setting of a tmp dir which can be fixed.
+ # This known spurious cause does not warrant halting a testsuite
+ rm -f tests/test_cmd_strace.py || die
+
+ # These 2 tests succeed on running the suite a second time, so they are NOT broken
+ # A gentoo test phase is run only once, so these unbroken tests can be safely skipped.
+ sed -e s':testInit:_&:' -e s':testLoop:_&:' \
+ -i tests/test_filewatch.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Testsuite is designed to be run by py.test, called by runtests.py
+ # https://bitbucket.org/schettino72/doit/issue/78/tests-that-fail-under-pypy
+ if [[ "${EPYTHON}" == pypy-c2.0 ]]; then
+ sed -e 's:test_corrupted_file:_&:' \
+ -e 's:test_corrupted_file_unrecognized_excep_pdep:_&:' \
+ -i tests/test_dependency.py || die
+ elif [[ "${EPYTHON}" == python2.6 ]]; then
+ rm -f tests/test___main__.py || die
+ sed -e 's:test_invalid_param_stdout:_&:' \
+ -i tests/test_action.py || die
+ sed -e 's:test_run_wait:_&:' \
+ -i tests/test_cmd_auto.py || die
+ fi
+ "${PYTHON}" runtests.py
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ dodoc -r doc
+ docompress -x /usr/share/doc/${PF}/doc
+}
diff --git a/dev-python/doit/doit-0.27.0.ebuild b/dev-python/doit/doit-0.27.0.ebuild
new file mode 100644
index 000000000000..28383a86b047
--- /dev/null
+++ b/dev-python/doit/doit-0.27.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit eutils distutils-r1
+
+DESCRIPTION="Automation tool"
+HOMEPAGE="http://python-doit.sourceforge.net/ http://pypi.python.org/pypi/doit"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+DOCS=( AUTHORS CHANGES README.rst TODO.txt dev_requirements.txt )
+
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ # Tests of this file fail due to setting of a tmp dir which can be fixed.
+ # This known spurious cause does not warrant halting a testsuite
+ rm -f tests/test_cmd_strace.py || die
+
+ # These 2 tests succeed on running the suite a second time, so they are NOT broken
+ # A gentoo test phase is run only once, so these unbroken tests can be safely skipped.
+ sed -e s':testInit:_&:' -e s':testLoop:_&:' \
+ -i tests/test_filewatch.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Testsuite is designed to be run by py.test, called by runtests.py
+ # https://bitbucket.org/schettino72/doit/issue/78/tests-that-fail-under-pypy
+ if [[ "${EPYTHON}" == pypy-c2.0 ]]; then
+ sed -e 's:test_corrupted_file:_&:' \
+ -e 's:test_corrupted_file_unrecognized_excep_pdep:_&:' \
+ -i tests/test_dependency.py || die
+ elif [[ "${EPYTHON}" == python2.6 ]]; then
+ rm -f tests/test___main__.py || die
+ sed -e 's:test_invalid_param_stdout:_&:' \
+ -i tests/test_action.py || die
+ sed -e 's:test_run_wait:_&:' \
+ -i tests/test_cmd_auto.py || die
+ fi
+ "${PYTHON}" runtests.py
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ dodoc -r doc
+ docompress -x /usr/share/doc/${PF}/doc
+}
diff --git a/dev-python/doit/doit-0.28.0.ebuild b/dev-python/doit/doit-0.28.0.ebuild
new file mode 100644
index 000000000000..7b064bfd5776
--- /dev/null
+++ b/dev-python/doit/doit-0.28.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit eutils distutils-r1
+
+DESCRIPTION="Automation tool"
+HOMEPAGE="http://python-doit.sourceforge.net/ http://pypi.python.org/pypi/doit"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/doit-py-0.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/configparser[${PYTHON_USEDEP}]' python2_7 pypy)
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="doc? ( ${PY27_REQUSE} )"
+
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Disable test failing due to impact on PATH run in a sandbox
+ sed -e s':test_target:_&:' -i tests/test_cmd_strace.py || die
+
+ # Test requires connection to an absent database
+ sed -e s':testIgnoreAll:_&:' -i tests/test_cmd_ignore.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ local -x TMPDIR="${T}"
+ # disable tests where pypy's treatment of some tests' use of a db is incompatible
+
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_remove_all:_&:' -i tests/test_dependency.py || die
+ sed -e 's:testForgetAll:_&:' -i tests/test_cmd_forget.py || die
+ sed -e 's:test_not_picklable:_&:' \
+ -e 's:test_task_not_picklabe_multiprocess:_&:' \
+ -i tests/test_runner.py || die
+ fi
+
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_src_install
+}
diff --git a/dev-python/doit/metadata.xml b/dev-python/doit/metadata.xml
new file mode 100644
index 000000000000..2613155c2f8e
--- /dev/null
+++ b/dev-python/doit/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ <name>Ben de Groot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">doit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/doublex-expects/Manifest b/dev-python/doublex-expects/Manifest
new file mode 100644
index 000000000000..06e4626443b2
--- /dev/null
+++ b/dev-python/doublex-expects/Manifest
@@ -0,0 +1 @@
+DIST doublex-expects-0.4.0.tar.gz 4633 SHA256 59693e28bf9c15b9c2cb85bb2d7af53c48ea9ce4cd094746be375672eef45f1e SHA512 be8eabaf73684a2368d527838a18b3e8c516c4fe63aad3d87765e347b7a84450cb9b76d86ba26c2b684440ecb5d5ff77c82cc7f432ffa7f0ab28a2e01599dd10 WHIRLPOOL 5f2e271e7f50c4b6d74fb359f774074b80ea6fb830d3e2c706d046c199e2fbc2c0125ea72e755d245494a9e3d1b6109c420bf6398314cbce09cf85784e672297
diff --git a/dev-python/doublex-expects/doublex-expects-0.4.0.ebuild b/dev-python/doublex-expects/doublex-expects-0.4.0.ebuild
new file mode 100644
index 000000000000..9264d8ba3b87
--- /dev/null
+++ b/dev-python/doublex-expects/doublex-expects-0.4.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Expects plugin for Doublex test doubles assertions"
+HOMEPAGE="https://github.com/jaimegildesagredo/doublex-expects"
+SRC_URI="https://github.com/jaimegildesagredo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/mamba-0.8[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ dev-python/doublex[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.4.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/doublex-expects/metadata.xml b/dev-python/doublex-expects/metadata.xml
new file mode 100644
index 000000000000..9166ffaba6b5
--- /dev/null
+++ b/dev-python/doublex-expects/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">jaimegildesagredo/doublex-expects</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/doublex/Manifest b/dev-python/doublex/Manifest
new file mode 100644
index 000000000000..9ee03028cb88
--- /dev/null
+++ b/dev-python/doublex/Manifest
@@ -0,0 +1,2 @@
+DIST doublex-1.7.tar.gz 28964 SHA256 b8488c08cae47039671a343d54346e28ba7532f55963b5fd78a03cdae6a60391 SHA512 053d195abc8bc725eb04dda312b3e69bdddbb965f2936f93b624118046ea98fcea4b3163c48593354ff6ccacbdea9826799147b7dee0e4ce14e0899604c3809e WHIRLPOOL 85e16c1647fd9ae338f797dadea88c9d75b51e5d658c9e381b5b3420fc74e61f52b5e1346968238091d0f8ea0c6540f1b070c3591b779e92b416a90b112cb6d3
+DIST doublex-1.8.1.tar.gz 69685 SHA256 80e01004c744615b308c745068bf8df3425551037cbea6d97a3d91477765d65a SHA512 30d2b572862370da8402cc2cfa5481d3278f0fefd2d5b2f5be126a793c8e165df0e2ae6089ba321e71d994f14024b882933c1523f7a0b9e341bf75644b49e073 WHIRLPOOL 81283c427df9347c65e58ac82c9b2b87555cd47b3047672b2af59b354944e7ace7e48030d71335fcea570e5e34834d4aed7c38984eb91141565e94c70d4de631
diff --git a/dev-python/doublex/doublex-1.7.ebuild b/dev-python/doublex/doublex-1.7.ebuild
new file mode 100644
index 000000000000..414cc621dbff
--- /dev/null
+++ b/dev-python/doublex/doublex-1.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Test doubles for Python"
+HOMEPAGE="https://bitbucket.org/DavidVilla/python-doublex"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/unittest2[${PYTHON_USEDEP}]' 'python2*')
+ )
+"
+RDEPEND=""
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ rm "${D}"/usr/README.rst || die "Couldn't remove spurious README.rst"
+}
diff --git a/dev-python/doublex/doublex-1.8.1.ebuild b/dev-python/doublex/doublex-1.8.1.ebuild
new file mode 100644
index 000000000000..84fe635528c5
--- /dev/null
+++ b/dev-python/doublex/doublex-1.8.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python test doubles"
+HOMEPAGE="https://bitbucket.org/DavidVilla/python-doublex"
+SRC_URI="https://bitbucket.org/DavidVilla/python-${PN}/get/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/pyhamcrest[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/unittest2[${PYTHON_USEDEP}]' 'python2*')
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs
+}
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+
+ rm "${D}"/usr/README.rst || die "Couldn't remove spurious README.rst"
+}
diff --git a/dev-python/doublex/metadata.xml b/dev-python/doublex/metadata.xml
new file mode 100644
index 000000000000..8ad3a1836d14
--- /dev/null
+++ b/dev-python/doublex/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">doublex</remote-id>
+ <remote-id type="bitbucket">DavidVilla/python-doublex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dpkt/Manifest b/dev-python/dpkt/Manifest
new file mode 100644
index 000000000000..9d1547fc93ef
--- /dev/null
+++ b/dev-python/dpkt/Manifest
@@ -0,0 +1 @@
+DIST dpkt-1.8.tar.gz 76311 SHA256 c56de2f9dc2f4654a356de0f0d458bb7b1c86c374988e8b4f358556f7dbe0507 SHA512 25af49a7b79d192382103e056e762e2933f37b6c72f490c9c6740883e18fdde6c983d640aa27514f15f77ac27e2f037b1943adcaa6046872f53d92e08de73cb3 WHIRLPOOL ede240f2a30f8fe9176784feb40b69e1f1f07ce8b88f75817b12c18193b1f6d227fab95f2f57e475c69aa137466863172dda07221cc203cc0d0e816f4a5c4962
diff --git a/dev-python/dpkt/dpkt-1.8-r1.ebuild b/dev-python/dpkt/dpkt-1.8-r1.ebuild
new file mode 100644
index 000000000000..17d304cddba8
--- /dev/null
+++ b/dev-python/dpkt/dpkt-1.8-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols"
+HOMEPAGE="http://code.google.com/p/dpkt/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=( AUTHORS CHANGES HACKING )
+
+python_test() {
+ "${PYTHON}" tests/test-perf2.py || die
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/dpkt/metadata.xml b/dev-python/dpkt/metadata.xml
new file mode 100644
index 000000000000..00e58c73a3d2
--- /dev/null
+++ b/dev-python/dpkt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">dpkt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dreampie/Manifest b/dev-python/dreampie/Manifest
new file mode 100644
index 000000000000..88f82925f638
--- /dev/null
+++ b/dev-python/dreampie/Manifest
@@ -0,0 +1 @@
+DIST dreampie-1.2.1.tar.gz 168980 SHA256 8e82093f2f02a5c552715259d43931ae3128873643aa39958ace232235eac6c2 SHA512 e29d4b767985515c36d72c70d75a80985b8caf1c81ecb3126960998bca5cfe99f34ff8c5b2ce6a273a08761889718ed64b566f93642016a60c4ae6ac839b3a07 WHIRLPOOL 13081f106de2633488e3dfc232d5435b0f4959482274487663a7c1a1674c63c4d41adf3294f4b8016ca13615f7b4e1e0054b9eef753af7decdee6e97df262b4b
diff --git a/dev-python/dreampie/dreampie-1.2.1.ebuild b/dev-python/dreampie/dreampie-1.2.1.ebuild
new file mode 100644
index 000000000000..aa431b74fe04
--- /dev/null
+++ b/dev-python/dreampie/dreampie-1.2.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="pygtk-based python shell"
+HOMEPAGE="http://dreampie.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygtk[${PYTHON_USEDEP}]
+ dev-python/pygtksourceview[${PYTHON_USEDEP}]"
+DEPEND=""
diff --git a/dev-python/dreampie/metadata.xml b/dev-python/dreampie/metadata.xml
new file mode 100644
index 000000000000..6328bc55808d
--- /dev/null
+++ b/dev-python/dreampie/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>
+ pygtk-based python shell with autocompletion
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">dreampie</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/drpython/Manifest b/dev-python/drpython/Manifest
new file mode 100644
index 000000000000..8b128f381605
--- /dev/null
+++ b/dev-python/drpython/Manifest
@@ -0,0 +1 @@
+DIST DrPython_3.11.4.zip 824982 SHA256 37a2e4873fb6accd1145f89518db101458c2f43fbc3ea7cf3e2de446bf353f42 SHA512 13943eb28d7155e99e0ffb57903ddde25c964c908ac848f14041c456bc6aa71bab7cad1101e489c09ba5efb5af35e33895a518021bb607f5047844927bcebf2b WHIRLPOOL 56fd68e4abda8f39bbd86060eb397d4bd9360547e26cbca875f8256cadc19efd5de4bedb6d61f116cf63b3cd5167bf0dec9e21bddbbd0d75fdb6c246350ba483
diff --git a/dev-python/drpython/drpython-3.11.4.ebuild b/dev-python/drpython/drpython-3.11.4.ebuild
new file mode 100644
index 000000000000..aeb0837694d2
--- /dev/null
+++ b/dev-python/drpython/drpython-3.11.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="DrPython"
+MY_P="${MY_PN}_${PV}"
+
+DESCRIPTION="A powerful cross-platform IDE for Python"
+HOMEPAGE="http://drpython.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc x86"
+IUSE=""
+
+RDEPEND=">=dev-python/wxpython-2.6"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${PN}"
+
+PAYTCHES=( "${FILESDIR}/${PN}-165-wxversion.patch" )
+
+python_prepare_all() {
+ sed \
+ -e "/'drpython.pyw', 'drpython.lin'/d" \
+ -e "/scripts=\['postinst.py'\],/d" \
+ -i setup.py || die "sed failed"
+ sed -e "s/arguments)c/arguments)/" -i examples/DrScript/SetTerminalArgs.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ make_wrapper drpython "${PYTHON}" $(python_get_sitedir)/${PN}/drpython.py
+ distutils-r1_python_install
+}
+
+pkg_postinst() {
+ elog "DrPython plugins are available on DrPython homepage:"
+ elog "http://sourceforge.net/projects/drpython/files/DrPython%20Plugins/"
+}
diff --git a/dev-python/drpython/files/drpython-165-wxversion.patch b/dev-python/drpython/files/drpython-165-wxversion.patch
new file mode 100644
index 000000000000..bab247c2110c
--- /dev/null
+++ b/dev-python/drpython/files/drpython-165-wxversion.patch
@@ -0,0 +1,12 @@
+diff -Naur drpython-orig/drpython_wx26.py drpython/drpython_wx26.py
+--- drpython_wx26.py 2007-03-23 19:20:02.000000000 -0600
++++ drpython_wx26.py 2007-12-03 18:36:01.000000000 -0600
+@@ -34,7 +34,7 @@
+
+ ## testfile for older version
+ import wxversion
+-wxversion.select("2.60-msw-ansi")
++wxversion.select("2.6")
+
+ if __name__ == '__main__':
+ import drpython
diff --git a/dev-python/drpython/metadata.xml b/dev-python/drpython/metadata.xml
new file mode 100644
index 000000000000..f0809cae54aa
--- /dev/null
+++ b/dev-python/drpython/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+DrPython is a highly customizable, simple, and clean
+editing environment for developing Python programs. It
+is intended primarily for use in schools, and is a tribute to
+DrScheme.
+</longdescription>
+ <longdescription lang="ja">
+DrPythonã¯Python言語プログラム用ã®ã€æŸ”軟ã§ã€ç°¡å˜ã§ã€å®‰å®šã—ãŸé–‹ç™ºç’°å¢ƒã§ã™ã€‚DrSchemeã«è§¦ç™ºã•ã‚Œã€å­¦æ ¡ã§ã®æ•™æã¨ãªã‚‹äº‹ãŒå¿µé ­ã«ã‚ã‚Šã¾ã™ã€‚
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">drpython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dugong/Manifest b/dev-python/dugong/Manifest
new file mode 100644
index 000000000000..fbbddcfbe205
--- /dev/null
+++ b/dev-python/dugong/Manifest
@@ -0,0 +1,2 @@
+DIST dugong-3.4.tar.bz2 190012 SHA256 148a65931b52e030f8eb5e1dd2740eb62754ad0c831d15c22f923f7f8274ad33 SHA512 67cf314629298249bfe0305ce2d79f66b71d6415090fab9721e62c38549863098b3048f2936532073dfe52438cf638fbc4ce46cbdbae14b7dd5158e8d9a1cdbb WHIRLPOOL b8be0bb5f7475f85ae219199a993362759646a9972934be14372b16455b18f1f2f33f4bdb553ef762e887673dc198ac6f07d863fe715a70721f2e4763752b9af
+DIST dugong-3.5.tar.bz2 192228 SHA256 44bc81cd25b2e8762458b59f2f2382a3e59869c457edbbcdfe03541e576f1978 SHA512 204d8fceb63e9036f026e5a23da028a41600a740ceaa42f54474a1986c19cb224ca335d81c24c257dd761ac0f58443091df1d95fb0e1776eb3227c18d5331e39 WHIRLPOOL 678525106190b82c0be3d2c0ab72d006a8bd1b4343071bfa8d9702a7d8619859406f39a59a6bd87160d9ca31bf026cb547a55bc75907f645eba2da24ab77c1e3
diff --git a/dev-python/dugong/dugong-3.4.ebuild b/dev-python/dugong/dugong-3.4.ebuild
new file mode 100644
index 000000000000..873b143d16de
--- /dev/null
+++ b/dev-python/dugong/dugong-3.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for communicating with HTTP 1.1 servers"
+HOMEPAGE="https://bitbucket.org/nikratio/python-dugong/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dugong/dugong-3.5.ebuild b/dev-python/dugong/dugong-3.5.ebuild
new file mode 100644
index 000000000000..bc5504152f10
--- /dev/null
+++ b/dev-python/dugong/dugong-3.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for communicating with HTTP 1.1 servers"
+HOMEPAGE="https://bitbucket.org/nikratio/python-dugong/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dugong/files/3.2-aborted_write.patch b/dev-python/dugong/files/3.2-aborted_write.patch
new file mode 100644
index 000000000000..bf25a3772e15
--- /dev/null
+++ b/dev-python/dugong/files/3.2-aborted_write.patch
@@ -0,0 +1,45 @@
+https://bitbucket.org/nikratio/python-dugong/issue/13/test_aborted_write-failures-in-latest
+diff --git a/test/test_dugong.py b/test/test_dugong.py
+--- a/test/test_dugong.py
++++ b/test/test_dugong.py
+@@ -540,7 +540,7 @@
+ conn.readall()
+
+ def test_aborted_write1(conn, monkeypatch):
+- BUFSIZE = 64*1024
++ BUFSIZE = 640*1024
+
+ # Monkeypatch request handler
+ def do_PUT(self):
+@@ -561,8 +561,9 @@
+
+ # Try to write data
+ with pytest.raises(ConnectionClosed):
+- for _ in range(50):
++ for _ in range(5000):
+ conn.write(b'f' * BUFSIZE)
++ time.sleep(0.1)
+
+ # Nevertheless, try to read response
+ resp = conn.read_response()
+@@ -570,7 +571,7 @@
+ assert resp.reason == 'Please stop!'
+
+ def test_aborted_write2(conn, monkeypatch):
+- BUFSIZE = 64*1024
++ BUFSIZE = 640*1024
+
+ # Monkeypatch request handler
+ def do_PUT(self):
+@@ -589,8 +590,9 @@
+
+ # Try to write data
+ with pytest.raises(ConnectionClosed):
+- for _ in range(50):
++ for _ in range(5000):
+ conn.write(b'f' * BUFSIZE)
++ time.sleep(0.1)
+
+ # Nevertheless, try to read response
+ assert_raises(ConnectionClosed, conn.read_response)
+
diff --git a/dev-python/dugong/files/3.2-extract_links.patch b/dev-python/dugong/files/3.2-extract_links.patch
new file mode 100644
index 000000000000..0e8d251bdd86
--- /dev/null
+++ b/dev-python/dugong/files/3.2-extract_links.patch
@@ -0,0 +1,26 @@
+# HG changeset patch
+# User Nikolaus Rath <Nikolaus@rath.org>
+# Date 1407732767 25200
+# Node ID 1cfd473db8736251291e106ce6cd488011626276
+# Parent cd7ad81f4eea24e530db152edd6d8831dc5bd7bc
+Make extract_links.py Python 3.3 compatible again.
+
+Fixes issue #15.
+
+diff --git a/examples/extract_links.py b/examples/extract_links.py
+--- a/examples/extract_links.py
++++ b/examples/extract_links.py
+@@ -30,7 +30,11 @@
+
+ class LinkExtractor(HTMLParser):
+ def __init__(self):
+- super().__init__(convert_charrefs=True)
++ if sys.version_info < (3,4):
++ # Python 3.3 doesn't know about convert_charrefs
++ super().__init__()
++ else:
++ super().__init__(convert_charrefs=True)
+ self.links = []
+
+ def handle_starttag(self, tag, attrs):
+
diff --git a/dev-python/dugong/files/3.2-timeout.patch b/dev-python/dugong/files/3.2-timeout.patch
new file mode 100644
index 000000000000..5ee43f7367c7
--- /dev/null
+++ b/dev-python/dugong/files/3.2-timeout.patch
@@ -0,0 +1,19 @@
+https://bitbucket.org/nikratio/python-dugong/issue/14/test_send_timeout-ssl-failure-in-latest
+diff --git a/test/test_dugong.py b/test/test_dugong.py
+--- a/test/test_dugong.py
++++ b/test/test_dugong.py
+@@ -726,11 +728,11 @@
+
+ # We don't know how much data can be buffered, so we
+ # claim to send a lot and do so in a loop.
+- len_ = 1024**3
++ len_ = 10 * 1024**3
+ conn.send_request('PUT', '/recv_something', body=BodyFollowing(len_))
+ with pytest.raises(dugong.ConnectionTimedOut):
+ while len_ > 0:
+- conn.write(b'x' * min(len_, 16*1024))
++ conn.write(b'x' * min(len_, 640*1024))
+
+
+ DUMMY_DATA = ','.join(str(x) for x in range(10000)).encode()
+
diff --git a/dev-python/dugong/files/3.3-test-timeout.patch b/dev-python/dugong/files/3.3-test-timeout.patch
new file mode 100644
index 000000000000..afd391207976
--- /dev/null
+++ b/dev-python/dugong/files/3.3-test-timeout.patch
@@ -0,0 +1,128 @@
+https://bitbucket.org/nikratio/python-dugong/commits/0e9d67700bc8
+diff --git a/test/test_dugong.py b/test/test_dugong.py
+--- a/test/test_dugong.py
++++ b/test/test_dugong.py
+@@ -99,6 +99,12 @@
+ request.addfinalizer(conn.disconnect)
+ return conn
+
++@pytest.fixture()
++def random_fh(request):
++ fh = open('/dev/urandom', 'rb')
++ request.addfinalizer(fh.close)
++ return fh
++
+ def check_http_connection():
+ '''Skip test if we can't connect to ssl test server'''
+
+@@ -170,12 +176,12 @@
+ conn.get_ssl_cipher()
+ conn.get_ssl_peercert()
+
+-def test_blocking_send(conn):
++def test_blocking_send(conn, random_fh):
+ # Send requests until we block because all TCP buffers are full
+
+- path = '/send_100_1200-byte_chunks'
++ path = '/send_102400_random_bytes'
+ for count in itertools.count():
+- crt = conn.co_send_request('GET', path, body=DUMMY_DATA[:8192])
++ crt = conn.co_send_request('GET', path, body=random_fh.read(8192))
+ flag = False
+ for io_req in crt:
+ if not io_req.poll(1):
+@@ -539,7 +545,7 @@
+ conn.read_response()
+ conn.readall()
+
+-def test_aborted_write1(conn, monkeypatch):
++def test_aborted_write1(conn, monkeypatch, random_fh):
+ BUFSIZE = 64*1024
+
+ # Monkeypatch request handler
+@@ -562,14 +568,14 @@
+ # Try to write data
+ with pytest.raises(ConnectionClosed):
+ for _ in range(50):
+- conn.write(b'f' * BUFSIZE)
++ conn.write(random_fh.read(BUFSIZE))
+
+ # Nevertheless, try to read response
+ resp = conn.read_response()
+ assert resp.status == 401
+ assert resp.reason == 'Please stop!'
+
+-def test_aborted_write2(conn, monkeypatch):
++def test_aborted_write2(conn, monkeypatch, random_fh):
+ BUFSIZE = 64*1024
+
+ # Monkeypatch request handler
+@@ -590,7 +596,7 @@
+ # Try to write data
+ with pytest.raises(ConnectionClosed):
+ for _ in range(50):
+- conn.write(b'f' * BUFSIZE)
++ conn.write(random_fh.read(BUFSIZE))
+
+ # Nevertheless, try to read response
+ assert_raises(ConnectionClosed, conn.read_response)
+@@ -716,12 +722,13 @@
+ assert conn.read(50) == b'x' * 25
+ assert_raises(dugong.ConnectionTimedOut, conn.read, 50)
+
+-def test_send_timeout(conn, monkeypatch):
++def test_send_timeout(conn, monkeypatch, random_fh):
+ conn.timeout = 1
+
+ def do_PUT(self):
+ # Read just a tiny bit
+ self.rfile.read(256)
++ time.sleep(2*conn.timeout)
+ monkeypatch.setattr(MockRequestHandler, 'do_PUT', do_PUT)
+
+ # We don't know how much data can be buffered, so we
+@@ -730,7 +737,7 @@
+ conn.send_request('PUT', '/recv_something', body=BodyFollowing(len_))
+ with pytest.raises(dugong.ConnectionTimedOut):
+ while len_ > 0:
+- conn.write(b'x' * min(len_, 16*1024))
++ conn.write(random_fh.read(min(len_, 16*1024)))
+
+
+ DUMMY_DATA = ','.join(str(x) for x in range(10000)).encode()
+@@ -743,6 +750,14 @@
+ def log_message(self, format, *args):
+ pass
+
++ def setup(self):
++ super().setup()
++ self.random_fh = open('/dev/urandom', 'rb')
++
++ def finish(self):
++ super().finish()
++ self.random_fh.close()
++
+ def handle_expect_100(self):
+ if self.handle_errors():
+ return
+@@ -782,14 +797,17 @@
+ self.wfile.close()
+ return
+
+- hit = re.match(r'^/send_([0-9]+)_bytes', self.path)
++ hit = re.match(r'^/send_([0-9]+)_(random_)?bytes', self.path)
+ if hit:
+ len_ = int(hit.group(1))
+ self.send_response(200)
+ self.send_header("Content-Type", 'application/octet-stream')
+ self.send_header("Content-Length", str(len_))
+ self.end_headers()
+- self.wfile.write(DUMMY_DATA[:len_])
++ if hit.group(2):
++ self.wfile.write(self.random_fh.read(len_))
++ else:
++ self.wfile.write(DUMMY_DATA[:len_])
+ return
+
+ hit = re.match(r'^/send_([0-9]+)_([0-9]+)-byte_chunks(?:_delay_([0-9]+)_ms)?',
+
diff --git a/dev-python/dugong/metadata.xml b/dev-python/dugong/metadata.xml
new file mode 100644
index 000000000000..31e4106d1133
--- /dev/null
+++ b/dev-python/dugong/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">dugong</remote-id>
+ <remote-id type="bitbucket">nikratio/python-dugong</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
new file mode 100644
index 000000000000..6609e2b5ee78
--- /dev/null
+++ b/dev-python/dulwich/Manifest
@@ -0,0 +1,3 @@
+DIST dulwich-0.10.0.tar.gz 272600 SHA256 518bb4aa3e5ad81982bfe571594af81ab9f78feb4e33bfade6c1553afff69237 SHA512 a5aa321e1265ee6c96c763a357d204eda7b9d4d6e90e0b18898342f34b9babf4d43857b9974d6bf442f9ba4da54fed4342c5724772cc9028138e8ec75d2e4896 WHIRLPOOL a032b962f106f0b8c9b9dd3238b135a04b6c6787c0344b8c3235c14e0bd3392ee5298776ff318a8bbafacbb60451dd685febd4a01160d017be3ea49541349af9
+DIST dulwich-0.10.1a.tar.gz 272688 SHA256 666600ab5eb0b6d531879ee0f65dfefd71bce2e21ab3910c28f7789e15b6330b SHA512 dfd2fc71d34c503380de385423fe2e0bc64307803616edafc598056888846f526492fa5d17026f1b4c9617b684a25860051999b2f5eb5b6f760a22fe9937ac3f WHIRLPOOL 5dd1439108e43fbcd616f4a05fff97ab5ae440ee6172dbd6f1472566d325957041a12204b2c647f203dccbf49afe0a3c0aff2012c04e71c097847eb22ab129d5
+DIST dulwich-0.9.9.tar.gz 270127 SHA256 084e762c8d4d0c0002823249db57b8e735c99c409dacc2849565dd3c0c288496 SHA512 5039e8e80c51b8ee0df2ba0805fa63d9b476a05c86b6bd9eaf9348ac03a83f0f1208e259ae6bcf40fb2c94ffb57c9b45bff852e367b8bee95c10e672d3dc19d5 WHIRLPOOL 2a79d25f1233d9a6a242d064af179486810555eb3c9803c336ae152095318a32eb8588779cb07f84b073a05bf7f083ba3b3d4c8d2b4f8929b2aa3d01c29a0a01
diff --git a/dev-python/dulwich/dulwich-0.10.0.ebuild b/dev-python/dulwich/dulwich-0.10.0.ebuild
new file mode 100644
index 000000000000..e6ec665da7de
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.10.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="https://github.com/jelmer/dulwich/ http://pypi.python.org/pypi/dulwich"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/gevent[$(python_gen_usedep python2_7)] )"
+RDEPEND=""
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/jelmer/dulwich/issues/196
+ if [[ "${EPYTHON}" == pypy ]]; then
+ "${PYTHON}" -m unittest dulwich.tests.test_suite || die "Tests failed under pypy"
+ else
+ emake check
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dulwich/dulwich-0.10.1a.ebuild b/dev-python/dulwich/dulwich-0.10.1a.ebuild
new file mode 100644
index 000000000000..e6ec665da7de
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.10.1a.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="https://github.com/jelmer/dulwich/ http://pypi.python.org/pypi/dulwich"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/gevent[$(python_gen_usedep python2_7)] )"
+RDEPEND=""
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/jelmer/dulwich/issues/196
+ if [[ "${EPYTHON}" == pypy ]]; then
+ "${PYTHON}" -m unittest dulwich.tests.test_suite || die "Tests failed under pypy"
+ else
+ emake check
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dulwich/dulwich-0.9.9.ebuild b/dev-python/dulwich/dulwich-0.9.9.ebuild
new file mode 100644
index 000000000000..b88c0a3fc589
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.9.9.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="https://github.com/jelmer/dulwich/ http://pypi.python.org/pypi/dulwich"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/gevent[$(python_gen_usedep python2_7)] )"
+RDEPEND=""
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/jelmer/dulwich/issues/196
+ if [[ "${EPYTHON}" == pypy ]]; then
+ "${PYTHON}" -m unittest dulwich.tests.test_suite || die "Tests failed under pypy"
+ else
+ emake check
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dulwich/metadata.xml b/dev-python/dulwich/metadata.xml
new file mode 100644
index 000000000000..ebfc99cf10b8
--- /dev/null
+++ b/dev-python/dulwich/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">dulwich</remote-id>
+ <remote-id type="github">jelmer/dulwich</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/dynd-python/Manifest b/dev-python/dynd-python/Manifest
new file mode 100644
index 000000000000..97437440fdff
--- /dev/null
+++ b/dev-python/dynd-python/Manifest
@@ -0,0 +1,2 @@
+DIST dynd-python-0.6.5.tar.gz 231313 SHA256 63552c19d7da7a6dd417d75de45af61aa70f336e09d48fea0f5f9f571b41785d SHA512 46af19bc26c8f410ac26d4e756a726a56f2d852bfa21dca03c4c47210ed9074a7e017bdd2ecb1de3d00af37815b4a20885cd7945af4c8536941e9106bcf49f12 WHIRLPOOL 7a8941b0b678f4cf83eea7906ef060afa60a3d3168ca1a375ba8349b26cdba2437624150b8494d8f26bbb80f4cf4a8ca30685fb38aa9088b62e7df927dcdc8e0
+DIST dynd-python-0.6.6.tar.gz 233618 SHA256 cfd71413832c8c44f8357268ffce99f013184c339bfda5a9186610e57f32644d SHA512 c6be9acf0a4dd2446d613cc0c251b56fcd529fac733ecd63d0450806d7f4af2191ef4e861d015177140ca997464b591562a9f478ea83638516fab8552ee88c06 WHIRLPOOL b60e3d774fab77df19788b6eb8f812a19126a109ca7158de7eed2ffbacb3da7866935c39da985323dba3e79817225732d4ebd27d584913709ab527dbf05781ad
diff --git a/dev-python/dynd-python/dynd-python-0.6.5.ebuild b/dev-python/dynd-python/dynd-python-0.6.5.ebuild
new file mode 100644
index 000000000000..222419ecfad9
--- /dev/null
+++ b/dev-python/dynd-python/dynd-python-0.6.5.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit cmake-utils python-r1
+
+# change each release, to avoid git in tree dependency
+DYND_GIT_SHA1=e5578b6b862c025dd757f77aaae69be48cde5613
+
+DESCRIPTION="Python exposure of multidimensionnal array library libdynd"
+HOMEPAGE="https://github.com/ContinuumIO/dynd-python"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc test"
+
+RDEPEND="
+ ~dev-libs/libdynd-${PV}
+ >=dev-python/numpy-1.5[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ >=dev-python/cython-0.19[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.2-out-of-git-versioning.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # each relase comes with a different set...
+ # remove forced strong flags
+ sed -i \
+ -e "s|@DYND_GIT_SHA1@|${DYND_GIT_SHA1}|" \
+ -e "s|@DYND_VERSION@|${PV}|" \
+ -e 's|-g -fomit-frame-pointer||' \
+ -e 's|-Werror||g' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SEPARATE_LIBDYND=ON
+ -DDYND_INSTALL_LIB=ON
+ $(cmake-utils_use test DYND_BUILD_TESTS)
+ )
+ python_foreach_impl cmake-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_make
+ use doc && emake -C doc html
+}
+
+src_test() {
+ testing() {
+ cmake-utils_src_make DESTDIR="${WORKDIR}-test-${EPYTHON}" install
+ cd "${WORKDIR}-test-${EPYTHON}"/$(python_get_sitedir) || die
+ ${PYTHON} -c 'import dynd; dynd.test()' || die
+ }
+ python_foreach_impl testing
+}
+
+src_install() {
+ python_foreach_impl cmake-utils_src_install
+ dodoc README.md
+ use doc && dohtml -r doc/build/html/*
+}
diff --git a/dev-python/dynd-python/dynd-python-0.6.6.ebuild b/dev-python/dynd-python/dynd-python-0.6.6.ebuild
new file mode 100644
index 000000000000..ac4f487841c9
--- /dev/null
+++ b/dev-python/dynd-python/dynd-python-0.6.6.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit cmake-utils python-r1
+
+# change each release, to avoid git in tree dependency
+DYND_GIT_SHA1=d7ec36c6f1beb0621d6037ab0953db7e4c1b9150
+
+DESCRIPTION="Python exposure of multidimensionnal array library libdynd"
+HOMEPAGE="https://github.com/ContinuumIO/dynd-python"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ ~dev-libs/libdynd-${PV}
+ >=dev-python/numpy-1.5[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ >=dev-python/cython-0.19[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.2-out-of-git-versioning.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # each relase comes with a different set...
+ # remove forced strong flags
+ sed -i \
+ -e "s|@DYND_GIT_SHA1@|${DYND_GIT_SHA1}|" \
+ -e "s|@DYND_VERSION@|${PV}|" \
+ -e 's|-g -fomit-frame-pointer||' \
+ -e 's|-Werror||g' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SEPARATE_LIBDYND=ON
+ -DDYND_INSTALL_LIB=ON
+ $(cmake-utils_use test DYND_BUILD_TESTS)
+ )
+ python_foreach_impl cmake-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_make
+ use doc && emake -C doc html
+}
+
+src_test() {
+ testing() {
+ cmake-utils_src_make DESTDIR="${WORKDIR}-test-${EPYTHON}" install
+ cd "${WORKDIR}-test-${EPYTHON}"/$(python_get_sitedir) || die
+ ${PYTHON} -c 'import dynd; dynd.test()' || die
+ }
+ python_foreach_impl testing
+}
+
+src_install() {
+ python_foreach_impl cmake-utils_src_install
+ dodoc README.md
+ use doc && dohtml -r doc/build/html/*
+}
diff --git a/dev-python/dynd-python/files/dynd-python-0.6.0-out-of-git-versioning.patch b/dev-python/dynd-python/files/dynd-python-0.6.0-out-of-git-versioning.patch
new file mode 100644
index 000000000000..003091da3e75
--- /dev/null
+++ b/dev-python/dynd-python/files/dynd-python-0.6.0-out-of-git-versioning.patch
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig 2014-02-10 18:35:07.332899916 -0800
++++ CMakeLists.txt 2014-02-10 18:38:03.220956236 -0800
+@@ -86,8 +86,8 @@
+ endif()
+
+ # Get the git revision
+-get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_PYTHON_GIT_SHA1)
+-git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_PYTHON_VERSION_STRING --dirty --match "v[0-9]*")
++set(DYND_PYTHON_GIT_SHA1 "2eaece194769aa55b505274692bfaafa4ef68ac6")
++set(DYND_PYTHON_VERSION_STRING "v0.6.0")
+ message(STATUS "DyND-Python version: ${DYND_PYTHON_VERSION_STRING}")
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/src/git_version.cpp.in"
diff --git a/dev-python/dynd-python/files/dynd-python-0.6.2-out-of-git-versioning.patch b/dev-python/dynd-python/files/dynd-python-0.6.2-out-of-git-versioning.patch
new file mode 100644
index 000000000000..29c3541b3274
--- /dev/null
+++ b/dev-python/dynd-python/files/dynd-python-0.6.2-out-of-git-versioning.patch
@@ -0,0 +1,14 @@
+--- CMakeLists.txt.orig 2014-05-12 14:00:52.000000000 +0400
++++ CMakeLists.txt 2014-05-12 14:03:39.000000000 +0400
+@@ -86,8 +86,9 @@
+ endif()
+
+ # Get the git revision
+-get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_PYTHON_GIT_SHA1)
+-git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_PYTHON_VERSION_STRING --dirty --always --match "v*")
++SET(DYND_PYTHON_GIT_SHA1 "@DYND_PYTHON_GIT_SHA1@")
++SET(DYND_PYTHON_VERSION_STRING "@DYND_PYTHON_VERSION@")
++
+ message(STATUS "DyND-Python version: ${DYND_PYTHON_VERSION_STRING}")
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/src/git_version.cpp.in"
diff --git a/dev-python/dynd-python/metadata.xml b/dev-python/dynd-python/metadata.xml
new file mode 100644
index 000000000000..3de4fa343928
--- /dev/null
+++ b/dev-python/dynd-python/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>python</herd>
+ <longdescription lang="en">
+ DyND-Python, a component of the Blaze project, is the Python
+ exposure of the DyND dynamic multi-dimensional array library.
+</longdescription>
+ <upstream>
+ <remote-id type="github">ContinuumIO/dynd-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ecdsa/Manifest b/dev-python/ecdsa/Manifest
new file mode 100644
index 000000000000..f6cbee22c93c
--- /dev/null
+++ b/dev-python/ecdsa/Manifest
@@ -0,0 +1,2 @@
+DIST ecdsa-0.11-r1.tar.gz 45689 SHA256 8e3b6c193f91dc94b2f3b0261e3eabbdc604f78ff99fdad324a56fdd0b5e958c SHA512 77fc2bc26456d90a630e2ef98d94a1448b30e1c3bcebf81c52f12f8ce0ea305eceacc87e14273d340a70c60ad83fad61361c9dea83dea04546ed3604875b78fb WHIRLPOOL 744a6cc26518bf2a24667aa945a94d6fa0d713df27fc3a46f4379b4cb975f98041a338a7995fe377e222f9d1e39707afbd4b4f97dfa65e54bdd4af1e5174f5b0
+DIST ecdsa-0.13.tar.gz 55579 SHA256 64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa SHA512 f21d4d196404455135a1a2255c889ffa26160ea1e9b9d16c914ea82614831816acb6d27c86aac68cdaafa8b1d5fefe065b5f49ce45acaae4a035cd7f08a97594 WHIRLPOOL fb1d368a5198fd1780c2dfdf8bbee8679fd91d1182037e7dfc755e979d4b31c03b97f374186059e3baf47417a78a33aef043f7826a2738619c17f59857d0da43
diff --git a/dev-python/ecdsa/ecdsa-0.11-r1.ebuild b/dev-python/ecdsa/ecdsa-0.11-r1.ebuild
new file mode 100644
index 000000000000..87bc8736befb
--- /dev/null
+++ b/dev-python/ecdsa/ecdsa-0.11-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# pypy has test failures with some BadSignatureErrors
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="ECDSA cryptographic signature library in pure Python"
+HOMEPAGE="http://github.com/warner/python-ecdsa"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz -> ${P}-r1.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint"
+IUSE=""
diff --git a/dev-python/ecdsa/ecdsa-0.13.ebuild b/dev-python/ecdsa/ecdsa-0.13.ebuild
new file mode 100644
index 000000000000..e074c7ce3952
--- /dev/null
+++ b/dev-python/ecdsa/ecdsa-0.13.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="ECDSA cryptographic signature library in pure Python"
+HOMEPAGE="http://github.com/warner/python-ecdsa"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/ecdsa/metadata.xml b/dev-python/ecdsa/metadata.xml
new file mode 100644
index 000000000000..1a173811bf0d
--- /dev/null
+++ b/dev-python/ecdsa/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <maintainer>
+ <email>maksverver@geocities.com</email>
+ <name>Maks Verver</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ecdsa</remote-id>
+ <remote-id type="github">warner/python-ecdsa</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/editobj/Manifest b/dev-python/editobj/Manifest
new file mode 100644
index 000000000000..ca9b744eb9bf
--- /dev/null
+++ b/dev-python/editobj/Manifest
@@ -0,0 +1 @@
+DIST EditObj-0.5.7.tar.gz 39802 SHA256 9c72f7d9a9e31e9d7500b29583909246f5d3d7baf4b190f6be1dea4eb1da18ff SHA512 0b7603b00a09942d1ebd2b50203b698598b54a2334d5b69b638d5f4b0ff7273afeab5f4e0dbccc3eecc3349fc08dead1a6e056b858f419faecc7837a5af2df03 WHIRLPOOL 1af08ec076b693201919c5c17c1750bf0dc234a4b41c8c732535d2060c39ab99dc50c53fc80004d755cfbb9fa3ebb49822e38c0b60ec92b28b89b13263f88627
diff --git a/dev-python/editobj/editobj-0.5.7-r1.ebuild b/dev-python/editobj/editobj-0.5.7-r1.ebuild
new file mode 100644
index 000000000000..050b48d98d47
--- /dev/null
+++ b/dev-python/editobj/editobj-0.5.7-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH="tk"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+inherit distutils
+
+MY_P="${P/editobj/EditObj}"
+
+DESCRIPTION="EditObj can create a dialog box to edit ANY Python object"
+SRC_URI="http://download.gna.org/songwrite/${MY_P}.tar.gz"
+HOMEPAGE="http://home.gna.org/oomadness/en/editobj/index.html"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 ia64 ppc x86"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ distutils_src_install
+
+ insinto /usr/share/doc/${PF}
+ doins -r demo
+}
diff --git a/dev-python/editobj/editobj-0.5.7-r2.ebuild b/dev-python/editobj/editobj-0.5.7-r2.ebuild
new file mode 100644
index 000000000000..4b1762e3b250
--- /dev/null
+++ b/dev-python/editobj/editobj-0.5.7-r2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="${P/editobj/EditObj}"
+
+DESCRIPTION="EditObj can create a dialog box to edit ANY Python object"
+SRC_URI="http://download.gna.org/songwrite/${MY_P}.tar.gz"
+HOMEPAGE="http://home.gna.org/oomadness/en/editobj/index.html"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+SLOT="0"
+IUSE="+examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/editobj/metadata.xml b/dev-python/editobj/metadata.xml
new file mode 100644
index 000000000000..a0703461b6b8
--- /dev/null
+++ b/dev-python/editobj/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+EditObj can create a dialog box to edit ANY Python object. It also
+includes a Tk tree widget, an event and a multiple undo-redo
+frameworks.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/edpwd/Manifest b/dev-python/edpwd/Manifest
new file mode 100644
index 000000000000..d71ba30a4a3b
--- /dev/null
+++ b/dev-python/edpwd/Manifest
@@ -0,0 +1 @@
+DIST edpwd-0.0.7.tar.gz 3801 SHA256 736d225c26ec5c06a2231b063f0da213de3d4652583c2eb022d7755f93216a2a SHA512 35f78057af96a197c3ad5887638a6b24dc1353cbc8d676d71ee2ca31e24582cdc3b68b8cd4d321d935019711d9cc249b13760422760b16b0e5359ccecef5e39d WHIRLPOOL 9b838ed6eb00b25b6ce8a0dc7c8071d7fecaf7a961394232aef3d326b056040e4744bb338822a1e08b32a9c8ff253049a7501a123fe5d337c7e0462d574d3bbb
diff --git a/dev-python/edpwd/edpwd-0.0.7.ebuild b/dev-python/edpwd/edpwd-0.0.7.ebuild
new file mode 100644
index 000000000000..f8e19c8f6968
--- /dev/null
+++ b/dev-python/edpwd/edpwd-0.0.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Encrypt/Decrypt Password Library that wraps up Blowfish"
+HOMEPAGE="http://pypi.python.org/pypi/edpwd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/setuptools-0.6.30[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]"
+
+python_test() {
+ set -- "${PYTHON}" setup.py test
+ echo "${@}"
+ "${@}" || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/edpwd/metadata.xml b/dev-python/edpwd/metadata.xml
new file mode 100644
index 000000000000..b445c930e02c
--- /dev/null
+++ b/dev-python/edpwd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tampakrap@gmail.com</email>
+ <name>Theo Chatzimichos</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">edpwd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/egenix-mx-base/Manifest b/dev-python/egenix-mx-base/Manifest
new file mode 100644
index 000000000000..a2e34ba76da5
--- /dev/null
+++ b/dev-python/egenix-mx-base/Manifest
@@ -0,0 +1,2 @@
+DIST egenix-mx-base-3.2.5.tar.gz 4575752 SHA256 bfd0d2aeef73532697c857db26ea11a3574280b1d439d42501c36b4c1d989dce SHA512 707d4cb96de04f967c1a37d156f41d9570b580088132f96533b7b4319c1fc0492a29b01ce1dba9527d7fc7cada99da8767a55c0994c285af81af82fd0f370a42 WHIRLPOOL 6f1a190c3d3dad516b58005815fb283c74cba6a3bb87a9f4dfe1f1bb18789ef8731af8e151e1e855feb0338734ea6232c984d259836607bafa3ddbeb0956887f
+DIST egenix-mx-base-3.2.8.tar.gz 4597088 SHA256 0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0 SHA512 26a8d53c2a8ccfe088ac201d0b50d9becc402220746dae2f4fe67b55a1c0cff29b6b7f635f689752c4d444bb05b5edc30972354301830ae24e13b845596dcff9 WHIRLPOOL caba8296c996dc847b0039d5b088f3ddf8e2fae36af1bdb563ca705bf39d6d00aed490c785e303bce9cb79c425f2ca32a244e6f8cfdfdf529548fe2ddd1e3d39
diff --git a/dev-python/egenix-mx-base/egenix-mx-base-3.2.5.ebuild b/dev-python/egenix-mx-base/egenix-mx-base-3.2.5.ebuild
new file mode 100644
index 000000000000..c8c0c60688d0
--- /dev/null
+++ b/dev-python/egenix-mx-base/egenix-mx-base-3.2.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="eGenix utils for Python"
+HOMEPAGE="http://www.egenix.com/products/python/mxBase http://pypi.python.org/pypi/egenix-mx-base"
+SRC_URI="http://downloads.egenix.com/python/${P}.tar.gz"
+
+LICENSE="eGenixPublic-1.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+
+# distutils.command.config writes to CWD, bug #450516
+# mxSetup.py is broken with --build-lib
+#DISTUTILS_IN_SOURCE_BUILD=1
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_prepare_all() {
+ # Don't install documentation in site-packages directories.
+ sed -e "/\.pdf/d" -i egenix_mx_base.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local t
+
+ while IFS= read -r -d '' t
+ do
+ "${PYTHON}" "${t}" || die "${t} failed with ${EPYTHON}"
+ done < <(find -name test.py -print0)
+}
+
+python_install() {
+ local f dest=${D}$(python_get_includedir)/mx
+
+ distutils-r1_python_install \
+ build --build-platlib "${BUILD_DIR}"/lib
+
+ mkdir -p "${dest}" || die
+ while IFS= read -r -d '' f
+ do
+ mv -f "${f}" "${dest}" || die
+ done < <(find "${D}$(python_get_sitedir)/mx" -type f -name "*.h" -print0)
+}
+
+python_install_all() {
+ local f
+
+ distutils-r1_python_install_all
+
+ dohtml -a html -r mx
+ while IFS= read -r -d '' f
+ do
+ dodoc "${f}"
+ done < <(find -name '*.pdf' -print0)
+}
diff --git a/dev-python/egenix-mx-base/egenix-mx-base-3.2.8.ebuild b/dev-python/egenix-mx-base/egenix-mx-base-3.2.8.ebuild
new file mode 100644
index 000000000000..b93dce70cd26
--- /dev/null
+++ b/dev-python/egenix-mx-base/egenix-mx-base-3.2.8.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="eGenix utils for Python"
+HOMEPAGE="http://www.egenix.com/products/python/mxBase http://pypi.python.org/pypi/egenix-mx-base"
+SRC_URI="http://downloads.egenix.com/python/${P}.tar.gz"
+
+LICENSE="eGenixPublic-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+# Correct broken tests
+PATCHES=( "${FILESDIR}"/${PN}-3.2.6-tests.patch )
+
+python_prepare_all() {
+ # Don't install documentation in site-packages directories.
+ sed -e "/\.pdf/d" -i egenix_mx_base.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local t
+
+ while IFS= read -r -d '' t
+ do
+ "${PYTHON}" "${t}" || die "${t} failed with ${EPYTHON}"
+ done < <(find -name test.py -print0)
+}
+
+python_install() {
+ local f dest=${D}$(python_get_includedir)/mx
+
+ distutils-r1_python_install \
+ build --build-platlib "${BUILD_DIR}"/lib
+
+ mkdir -p "${dest}" || die
+ while IFS= read -r -d '' f
+ do
+ mv -f "${f}" "${dest}" || die
+ done < <(find "${D}$(python_get_sitedir)/mx" -type f -name "*.h" -print0)
+}
+
+python_install_all() {
+ local f
+
+ distutils-r1_python_install_all
+
+ dohtml -a html -r mx
+ while IFS= read -r -d '' f
+ do
+ dodoc "${f}"
+ done < <(find -name '*.pdf' -print0)
+}
diff --git a/dev-python/egenix-mx-base/files/egenix-mx-base-3.2.6-tests.patch b/dev-python/egenix-mx-base/files/egenix-mx-base-3.2.6-tests.patch
new file mode 100644
index 000000000000..25a95b3b19fd
--- /dev/null
+++ b/dev-python/egenix-mx-base/files/egenix-mx-base-3.2.6-tests.patch
@@ -0,0 +1,34 @@
+reverse or annul them. Either or
+diff -ur egenix-mx-base-3.2.6.orig/mx/DateTime/mxDateTime/testslotops.py egenix-mx-base-3.2.6/mx/DateTime/mxDateTime/testslotops.py
+--- mx/DateTime/mxDateTime/testslotops.py 2011-07-26 17:12:50.000000000 +0800
++++ mx/DateTime/mxDateTime/testslotops.py 2014-03-28 20:18:05.841240713 +0800
+@@ -54,10 +54,10 @@
+ # DateTime op DateTimeDelta
+ assert t1 != td1
+ assert t2 != td1
+- assert t1 < td1
+- assert t2 < td1
+- assert not (t1 > td1)
+- assert not (t2 > td1)
++ assert t1 > td1
++ assert t2 > td1
++ assert not (t1 < td1)
++ assert not (t2 < td1)
+
+ # DateTime op floats
+ assert t1 == t1_ticks
+@@ -259,10 +259,10 @@
+ # DateTimeDelta op DateTime
+ assert td1 != t1
+ assert td2 != t1
+- assert td1 > t1
+- assert td2 > t1
+- assert not (td1 < t1)
+- assert not (td2 < t1)
++# assert td1 > t1
++# assert td2 > t1
++# assert not (td1 < t1)
++# assert not (td2 < t1)
+
+ # DateTimeDelta op floats
+ assert td1 == td1_seconds
diff --git a/dev-python/egenix-mx-base/metadata.xml b/dev-python/egenix-mx-base/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/egenix-mx-base/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/egg-python/Manifest b/dev-python/egg-python/Manifest
new file mode 100644
index 000000000000..2fc6771cd4cb
--- /dev/null
+++ b/dev-python/egg-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-extras-2.25.3.tar.bz2 370489 SHA256 ca346264e00e193f0866cabd8801d3b7ce70dae7b8b296e41e5b3a45c9b0275c SHA512 6994b8b5d6ccc009edc7ddfad373b9164d8162f1007972652f6086dca30cac6941ab68ef467d15c972ab05c4ae0e19ec72edc2643636d22a01a3f5a719251467 WHIRLPOOL b0adfcef8bbb978d063a932393e17de9c8c519194f40085ecd03824ec4fb4421c84e0a4853a5a2d9fc40c94d8c0c261828447ac5fd69cff4ece39c52fc833590
diff --git a/dev-python/egg-python/egg-python-2.25.3-r1.ebuild b/dev-python/egg-python/egg-python-2.25.3-r1.ebuild
new file mode 100644
index 000000000000..9d1b446e95b8
--- /dev/null
+++ b/dev-python/egg-python/egg-python-2.25.3-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+# We don't support the egg.recent bindings that are also provided - they are
+# deprecated, have deps we don't really want and there are no users in-tree.
+GNOME_ORG_MODULE="gnome-python-extras"
+G_PY_BINDINGS="eggtray"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils gnome-python-common-r1
+
+DESCRIPTION="EggTrayIcon bindings for Python"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=dev-python/libbonobo-python-2.22.1[${PYTHON_USEDEP}]
+ >=dev-python/libgnome-python-2.22.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gnome-base/gnome-common"
+# eautoreconf needs gnome-base/gnome-common
+
+EXAMPLES=( examples/egg/trayicon.py )
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python-libs.patch" #344231
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
+ eautoreconf
+ gnome-python-common-r1_src_prepare
+}
diff --git a/dev-python/egg-python/files/egg-python-2.25.3-python-libs.patch b/dev-python/egg-python/files/egg-python-2.25.3-python-libs.patch
new file mode 100644
index 000000000000..ab691272cbb6
--- /dev/null
+++ b/dev-python/egg-python/files/egg-python-2.25.3-python-libs.patch
@@ -0,0 +1,59 @@
+From 7824fd5291f570de3c2c64185035d1a6a0a3445a Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Mon, 13 Aug 2012 04:42:47 -0400
+Subject: [PATCH] Replace horrible slow python libs search
+
+---
+ acinclude.m4 | 36 ++----------------------------------
+ 1 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8694a65..f5373eb 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -59,40 +59,8 @@ $1],dnl
+ [AC_MSG_RESULT(not found)
+ $2])
+ CPPFLAGS="$save_CPPFLAGS"
+-
+- # This bit is copied from Planner. murrayc.
+- # Check for Python library path
+- AC_MSG_CHECKING([for Python library path])
+-
+- # Win32 has libpython25.a instead of libpython2.5.a, so we look
+- # for both. TODO: Only look for libpython25.a on Windows, and for
+- # libpython2.5.a on unix.
+- WIN32_PYTHON_VERSION=`echo $PYTHON_VERSION | sed "s,\.,,"`
+-
+- python_path=`dirname $PYTHON | sed "s,/bin.*$,,"`
+- for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
+- if test -e "$i"; then
+- python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$PYTHON_VERSION"
+- break
+- fi
+-
+- # Additionally test WIN32_PYTHON_VERSION
+- python_path=`find $i -type f -name libpython$WIN32_PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$WIN32_PYTHON_VERSION"
+- break
+- fi
+- fi
+- done
+-
+- python_path=`echo $python_path | sed "s,/libpython.*$,,"`
+- AC_MSG_RESULT([$python_path])
+- if test -z "$python_path" ; then
+- AC_MSG_ERROR([cannot find Python library path])
+- fi
+- AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -l$python_lib"])
++PYTHON_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; print('-L%s -lpython${PYTHON_VERSION}' % distutils.sysconfig.get_config_var('LIBDIR'))"`
++AC_SUBST([PYTHON_LDFLAGS],["$PYTHON_LDFLAGS"])
+ ])
+
+ dnl
+--
+1.7.8.6
+
diff --git a/dev-python/egg-python/metadata.xml b/dev-python/egg-python/metadata.xml
new file mode 100644
index 000000000000..d9234ae60f5f
--- /dev/null
+++ b/dev-python/egg-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/elasticsearch-curator/Manifest b/dev-python/elasticsearch-curator/Manifest
new file mode 100644
index 000000000000..70b47b7d97b1
--- /dev/null
+++ b/dev-python/elasticsearch-curator/Manifest
@@ -0,0 +1,6 @@
+DIST elasticsearch-1.4.2.tar.gz 27734207 SHA256 31dd6c049745f7dac201f94852b778b0841d6869d358fd80d4c897d0bf73b53c SHA512 b82e644b0b81489ce0d4fc72ca0efa3545c55c4d947faec2537035d440be83bac0f794f1a2863d87649e36f87d250c1f4e46ae57053b50948f47f9ff2a3bf6b6 WHIRLPOOL ac40778a999bc92230547b1405f259b7d348983767a87c71e18ed9ef45367ebf0b5b0517ef57bd423fa47ce4387e982aa7ee4a4ec9b2be75a4771e8d737f0cc5
+DIST elasticsearch-1.4.4.tar.gz 27900004 SHA256 a3158d474e68520664debaea304be22327fc7ee1f410e0bfd940747b413e8586 SHA512 afc24c5d778d346e24c656e040fb7d0036e16ae42b35ca4f97b2e4d31dc815467ae5462f922ea5222307acf0fa0579f6cd38c603bc996c1f4ba723aa6a2b01ed WHIRLPOOL 37a1a057539ae29525a78fa51f3d19f403e389129e54054edfa1bbd08d12bdbb88acb4e879b6795aa63d583fd70eedefcae5b13b6bf1a7c8314e3aafa49e2b33
+DIST elasticsearch-1.7.0.tar.gz 28501532 SHA256 6fabed2db09e1b88587df15269df328ecef33e155b3c675a2a6d2299bda09c95 SHA512 090186218d7bfcef2f1cf497b08edeae71f2bdae1ddbe97a04e3e288c9a41bdf069ee7ef51202596b17ac9a33840edc4d655a08313ecb732a1f37029b60740d4 WHIRLPOOL 0dfd8f5095dfbbbcda788da0661fc5ec9af7d2fa174dbb365ad021ff7e48d42035f63a45ba6cb9fc20fc8e86500fc81cfcb2f0c46f99015b6f84a2c2be762bd4
+DIST elasticsearch-curator-2.1.2.tar.gz 35706 SHA256 93185f57e4fcd84970b78936271c3ddcba69c54d9a799acafe7d16483134cce0 SHA512 4bc4f74ab7d710173f173d47ad5e8c8918267bbc888a2b1b301e799747f73375b159671940cf7d3cc62361adbb320bc3e772d149eb7ff227d4893788810946f1 WHIRLPOOL 156e92a0a5fa4797651d1c066b955304b082edcda815784c5ddb5a025c93f9b4f222f15e5d7ce74e4740bd1c3ab5e67fe21e651186e0062ff3f0e418b0390b09
+DIST elasticsearch-curator-3.0.0.tar.gz 55418 SHA256 72ec58f15344649dbfec54c80731e6b0b80bb3c0575061ca75580d49f9982fe0 SHA512 acf2a86af682118a0c5ece1d8b557e6b43ada667f8c172cd7d8f66280b07e5e79ec6da5a674b338348fc1e94a6d2bcffd8e1ff61f7bd9ef43cd6458eb371c50a WHIRLPOOL bab3479082209c1efea77b6385a49782617143fd28c6956c13cbc3c1d36256c3d45c316abb3b6982e5822b811ac69a18cfcaa5dc4ec4e3634b155a241d0cb0f4
+DIST elasticsearch-curator-3.2.3.tar.gz 82745 SHA256 f3e499719cd7e0d13a6e7e339c034ed91039f9295767484bd217574fd1a04a9e SHA512 55668d7c5d0cda386983f499e93bba5f2ff1520569ee6e3ac296b1dc86daf302ec6a5c5c8c0eb48e821ace2c40fa523990a06dcd1099b1359dd15ae5dbfe5ae4 WHIRLPOOL 06ac9e72a43731ba864fb883b2a89da82e0a12249ba3962f9ce9ebe2fb41dbea6bb378cf05d365e1379d3836183a0c75aae4e8c87b123a211f55cbf0258e7d53
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-2.1.2.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-2.1.2.ebuild
new file mode 100644
index 000000000000..81749c806cfb
--- /dev/null
+++ b/dev-python/elasticsearch-curator/elasticsearch-curator-2.1.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+MY_PN="curator"
+ES_VERSION="1.4.2"
+
+inherit distutils-r1
+
+DESCRIPTION="Tending time-series indices in Elasticsearch"
+HOMEPAGE="https://github.com/elasticsearch/curator"
+SRC_URI="https://github.com/elasticsearch/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/elasticsearch-py-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/elasticsearch-py-2.0.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ virtual/jre:1.7
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nosexcover[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ ES="${WORKDIR}/elasticsearch-${ES_VERSION}"
+ ES_PORT="25123"
+ ES_LOG="${ES}/logs/elasticsearch.log"
+ PID="${ES}/elasticsearch.pid"
+
+ # run Elasticsearch instance on custom port
+ sed -i "s/#http.port: 9200/http.port: ${ES_PORT}/g" ${ES}/config/elasticsearch.yml
+ ${ES}/bin/elasticsearch -d -p ${PID}
+
+ for i in `seq 10`; do
+ grep -q "started" ${ES_LOG} 2> /dev/null
+ if [ $? -eq 0 ]; then
+ einfo "Elasticsearch started"
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${ES_LOG}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch already running"
+ die "Cannot start Elasticsearch for tests"
+ else
+ einfo "Waiting for Elasticsearch"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ export TEST_ES_SERVER="localhost:${ES_PORT}"
+ esetup.py test || die "Tests failed on ${EPYTHON}"
+
+ pkill -F ${PID}
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-3.0.0.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-3.0.0.ebuild
new file mode 100644
index 000000000000..8fcfbd883479
--- /dev/null
+++ b/dev-python/elasticsearch-curator/elasticsearch-curator-3.0.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+MY_PN="curator"
+ES_VERSION="1.4.4"
+
+inherit distutils-r1
+
+DESCRIPTION="Tending time-series indices in Elasticsearch"
+HOMEPAGE="https://github.com/elasticsearch/curator"
+SRC_URI="https://github.com/elasticsearch/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/elasticsearch-py-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/elasticsearch-py-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/click-3.3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ virtual/jre:1.7
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nosexcover[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ ES="${WORKDIR}/elasticsearch-${ES_VERSION}"
+ ES_PORT="25123"
+ ES_LOG="${ES}/logs/elasticsearch.log"
+ PID="${ES}/elasticsearch.pid"
+
+ # run Elasticsearch instance on custom port
+ sed -i "s/#http.port: 9200/http.port: ${ES_PORT}/g; \
+ s/#cluster.name: elasticsearch/cluster.name: gentoo-es-curator-test/g" \
+ ${ES}/config/elasticsearch.yml
+
+ # start local instance of elasticsearch
+ ${ES}/bin/elasticsearch -d -p ${PID}
+
+ for i in `seq 10`; do
+ grep -q "started" ${ES_LOG} 2> /dev/null
+ if [ $? -eq 0 ]; then
+ einfo "Elasticsearch started"
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${ES_LOG}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch already running"
+ die "Cannot start Elasticsearch for tests"
+ else
+ einfo "Waiting for Elasticsearch"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ export TEST_ES_SERVER="localhost:${ES_PORT}"
+ esetup.py test || die "Tests failed on ${EPYTHON}"
+
+ pkill -F ${PID}
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ ewarn ""
+ ewarn "For Python 3 support information please read: http://click.pocoo.org/3/python3/"
+ ewarn ""
+ ewarn "Example usage on Python 3:"
+ ewarn "export LC_ALL=en_US.UTF-8"
+ ewarn "export LANG=en_US.UTF-8"
+ ewarn "curator ..."
+}
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-3.2.3.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-3.2.3.ebuild
new file mode 100644
index 000000000000..0300333aeb21
--- /dev/null
+++ b/dev-python/elasticsearch-curator/elasticsearch-curator-3.2.3.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+MY_PN="curator"
+ES_VERSION="1.7.0"
+
+inherit distutils-r1
+
+DESCRIPTION="Tending time-series indices in Elasticsearch"
+HOMEPAGE="https://github.com/elasticsearch/curator"
+SRC_URI="https://github.com/elasticsearch/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/elasticsearch-py-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/elasticsearch-py-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/click-3.3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ || ( virtual/jre:1.8 virtual/jre:1.7 )
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nosexcover[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ ES="${WORKDIR}/elasticsearch-${ES_VERSION}"
+ ES_PORT="25123"
+ ES_LOG="${ES}/logs/elasticsearch.log"
+ PID="${ES}/elasticsearch.pid"
+
+ # run Elasticsearch instance on custom port
+ sed -i "s/#http.port: 9200/http.port: ${ES_PORT}/g; \
+ s/#cluster.name: elasticsearch/cluster.name: gentoo-es-curator-test/g" \
+ ${ES}/config/elasticsearch.yml
+
+ # Elasticsearch 1.6+ needs to set path.repo
+ echo "path.repo: /" >> ${ES}/config/elasticsearch.yml
+
+ # start local instance of elasticsearch
+ ${ES}/bin/elasticsearch -d -p ${PID}
+
+ for i in `seq 10`; do
+ grep -q "started" ${ES_LOG} 2> /dev/null
+ if [ $? -eq 0 ]; then
+ einfo "Elasticsearch started"
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${ES_LOG}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch already running"
+ die "Cannot start Elasticsearch for tests"
+ else
+ einfo "Waiting for Elasticsearch"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ export TEST_ES_SERVER="localhost:${ES_PORT}"
+ esetup.py test || die "Tests failed on ${EPYTHON}"
+
+ pkill -F ${PID}
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ ewarn ""
+ ewarn "For Python 3 support information please read: http://click.pocoo.org/3/python3/"
+ ewarn ""
+ ewarn "Example usage on Python 3:"
+ ewarn "export LC_ALL=en_US.UTF-8"
+ ewarn "export LANG=en_US.UTF-8"
+ ewarn "curator ..."
+}
diff --git a/dev-python/elasticsearch-curator/metadata.xml b/dev-python/elasticsearch-curator/metadata.xml
new file mode 100644
index 000000000000..ffe20745f0fd
--- /dev/null
+++ b/dev-python/elasticsearch-curator/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">elasticsearch/curator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/elasticsearch-py/Manifest b/dev-python/elasticsearch-py/Manifest
new file mode 100644
index 000000000000..6999e9a4312c
--- /dev/null
+++ b/dev-python/elasticsearch-py/Manifest
@@ -0,0 +1,3 @@
+DIST elasticsearch-py-1.4.0.tar.gz 74498 SHA256 7959787b47c3523e9c9aeffec441091fcd2b293d26c4fd5f576cf84cfb85ef63 SHA512 dbe51362f68d40e95a0cfefde4feb8d9d9c61b4f4795cbf69fd70bf981f290812ebac19a20ae8594cc39ac46a3c35ddfe450ff436fca0fada060736128478cf7 WHIRLPOOL a6730bcccc1201048f82aed6e63b7e73f38150002dd9889c575c9edf52834bc6f9a8256977ac27b092f3865074e4699729cc766564a4b731766d77d6a6de6324
+DIST elasticsearch-py-1.5.0.tar.gz 77037 SHA256 275eaeb2f64c8eba8691d953ac0d8a16e4f759d9cad797323b7cbd0ef87a69ce SHA512 10d473a221be3deb086dca0c5463324647e38f8be4f4bbea934079b002f1414d30c98976c56fd2fc55c97d24ed2338137a9983194e8bf82c95cc70321ee5ee86 WHIRLPOOL 3aa83b9bfd5363ea39baf58cc7bdaaa9606085e471e7e683518cf707642fc9a514264c51cf3e296db071a2a5333f58b8e1335bc4473477df9d085bea63c584ba
+DIST elasticsearch-py-1.6.0.tar.gz 77205 SHA256 59dd03284ab7314e5eb50d13ba92df65efb93778ca318906baad5776b152aff7 SHA512 09cdec0b3f50707b9a5e11534fe28507db669e4da44bbda1952d07b6ac8e3aea0c0c05297db26d9425c2247724681fa4e5485e9525571ff64f070e700a9a9b07 WHIRLPOOL 04f43a848cc811d1bee22d2bf7931a4348fb4a455172e381bedad5179d72313320009cb8b2dfdadb252aacc13cc1a4ef15b311488401d6b2bc23e242272bb74b
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-1.4.0.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-1.4.0.ebuild
new file mode 100644
index 000000000000..f25a4e9b8ec1
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-1.4.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="official Python low-level client for Elasticsearch"
+HOMEPAGE="http://elasticsearch-py.rtfd.org/"
+SRC_URI="https://github.com/elasticsearch/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm ~mips x86"
+IUSE=""
+
+DEPEND="dev-python/urllib3[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-1.5.0.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-1.5.0.ebuild
new file mode 100644
index 000000000000..973f5ccd7706
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-1.5.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="official Python low-level client for Elasticsearch"
+HOMEPAGE="http://elasticsearch-py.rtfd.org/"
+SRC_URI="https://github.com/elasticsearch/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+IUSE="examples doc test"
+
+RDEPEND=">=dev-python/urllib3-1.8[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2.0[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Remove tests attempting to connect ot the network
+ rm -rf test_elasticsearch/test_server/ || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test_all() {
+ # For unknown reason the testsuite fails to iterate the set of impls of PYTHON_COMPAT
+ # but they all pass on testing when run individually
+ "${PYTHON}" test_elasticsearch/run_tests.py
+
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-1.6.0.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-1.6.0.ebuild
new file mode 100644
index 000000000000..ce8d2e9685cc
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-1.6.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="official Python low-level client for Elasticsearch"
+HOMEPAGE="http://elasticsearch-py.rtfd.org/"
+SRC_URI="https://github.com/elasticsearch/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+IUSE="examples doc test"
+
+RDEPEND=">=dev-python/urllib3-1.8[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2.0[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+# nosexcover is listed for tests but is not essential
+
+python_prepare_all() {
+ # Remove tests attempting to connect ot the network
+ rm -rf test_elasticsearch/test_server/ || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test_all() {
+ # For unknown reason the testsuite fails to iterate the set of impls of PYTHON_COMPAT
+ # but they all pass on testing when run individually
+ "${PYTHON}" test_elasticsearch/run_tests.py
+
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/elasticsearch-py/metadata.xml b/dev-python/elasticsearch-py/metadata.xml
new file mode 100644
index 000000000000..83ea614f4e72
--- /dev/null
+++ b/dev-python/elasticsearch-py/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">elasticsearch/elasticsearch-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/elementtree/Manifest b/dev-python/elementtree/Manifest
new file mode 100644
index 000000000000..4c9d78d37224
--- /dev/null
+++ b/dev-python/elementtree/Manifest
@@ -0,0 +1 @@
+DIST elementtree-1.2.6-20050316.tar.gz 41752 SHA256 b29d5f2417cb331562c8c5f8ebef2a895ba540261c4245f526143c6a31bccb04 SHA512 f213cf5bd9a79b59a2033c652d9d53087fd07dd3550db1771b8ba97168c3a5722d31ac5ff8699830df0f14a1d9f0caf8d237e8c6153568e16347d8b212771baf WHIRLPOOL d68e7e2cf02753c0d982406c4df01272c2fd1ec784bfb097d09a363fe36b4a73b7b8b9af07b0069b409e810ed5075e10419cc0ce86a21e5065621a7a12acb5d4
diff --git a/dev-python/elementtree/elementtree-1.2.6-r3.ebuild b/dev-python/elementtree/elementtree-1.2.6-r3.ebuild
new file mode 100644
index 000000000000..acdc6dce7c53
--- /dev/null
+++ b/dev-python/elementtree/elementtree-1.2.6-r3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="${P}-20050316"
+
+DESCRIPTION="A light-weight XML object model for Python"
+HOMEPAGE="http://effbot.org/zone/element-index.htm http://pypi.python.org/pypi/elementtree"
+SRC_URI="http://effbot.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="ElementTree"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s/distutils.core/setuptools/" -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" selftest.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/elementtree/metadata.xml b/dev-python/elementtree/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/elementtree/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/elib-intl/Manifest b/dev-python/elib-intl/Manifest
new file mode 100644
index 000000000000..a2b203c98c27
--- /dev/null
+++ b/dev-python/elib-intl/Manifest
@@ -0,0 +1 @@
+DIST elib-intl-0_pre20110711.tar.gz 29362 SHA256 55daacfd3fee466fb354ddbd6f92c61364841c3d6e6bf4d80247c7757e20c5f7 SHA512 f44388761bc1c371c0cba5ec8b3513b073eba1d620e1ebd696008999d748f8c2473d5100d625036436157c92283b29d700ad6672d7909ca284703e3146d02abf WHIRLPOOL 99b95e57c617f727fb1f02842f209d8684cd55aeb3d51c72c41ea88ce59ca756350ddce8c8906b71c57fbd65844924d9d4bb22fff1199b7c17047c1789f30e0a
diff --git a/dev-python/elib-intl/elib-intl-0_pre20110711.ebuild b/dev-python/elib-intl/elib-intl-0_pre20110711.ebuild
new file mode 100644
index 000000000000..62b4926c1cec
--- /dev/null
+++ b/dev-python/elib-intl/elib-intl-0_pre20110711.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Enhanced internationalization (I18N) services for your Python modules and applications"
+HOMEPAGE="https://github.com/dieterv/elib.intl/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools
+ ${RDEPEND}"
diff --git a/dev-python/elib-intl/metadata.xml b/dev-python/elib-intl/metadata.xml
new file mode 100644
index 000000000000..aac09801897c
--- /dev/null
+++ b/dev-python/elib-intl/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>nixphoeni@gentoo.org</email>
+ <name>Joe Sapp</name>
+ </maintainer>
+ <longdescription>
+ The elib.intl module provides enhanced internationalization
+ (I18N) services for your Python modules and applications.
+ </longdescription>
+ <upstream>
+ <maintainer>
+ <email>dieterv@optionexplicit.be</email>
+ <name>Dieter Verfaillie</name>
+ </maintainer>
+ <bugs-to>https://github.com/dieterv/elib.intl/issues</bugs-to>
+ <remote-id type="github">dieterv/elib.intl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/eliot/Manifest b/dev-python/eliot/Manifest
new file mode 100644
index 000000000000..6d02cbfdf0c6
--- /dev/null
+++ b/dev-python/eliot/Manifest
@@ -0,0 +1 @@
+DIST eliot-0.4.0.tar.gz 67581 SHA256 adc2d43434a3059dfef21841a30df7bce5f223b4486ce8c1f04ce9d5e0e027bd SHA512 f63b487905996bf06c2efccc66c5b9214e13d672f9c3ddcfa5f2a65dc909953b489111469251501efa2e46b3911b213ffe404c6fddfea92646e086e439fb6503 WHIRLPOOL 9c72e8826cccb78a1e81968ac46bf8ca3a273b44551326051b54c9f5ecb6e6f78683b2a09741573188def2be82d1f0b03576627e0d653d229519ccd6504c4f99
diff --git a/dev-python/eliot/eliot-0.4.0.ebuild b/dev-python/eliot/eliot-0.4.0.ebuild
new file mode 100644
index 000000000000..1a78c4b70d24
--- /dev/null
+++ b/dev-python/eliot/eliot-0.4.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Logging as Storytelling"
+HOMEPAGE="https://github.com/hybridcluster/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ "
+
+python_compile_all() {
+ emake -C "${S}/docs" man
+ use doc && emake -C "${S}/docs" html
+}
+
+python_install_all() {
+ doman "${S}/docs/build/man/"*
+ use doc && dohtml -r "${S}/docs/build/html/"*
+}
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/eliot/metadata.xml b/dev-python/eliot/metadata.xml
new file mode 100644
index 000000000000..78caa438e2d4
--- /dev/null
+++ b/dev-python/eliot/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ryao@gentoo.org</email>
+ <name>Richard Yao</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">eliot</remote-id>
+ <remote-id type="github">hybridcluster/eliot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/embedly/Manifest b/dev-python/embedly/Manifest
new file mode 100644
index 000000000000..bf0ca5497b47
--- /dev/null
+++ b/dev-python/embedly/Manifest
@@ -0,0 +1,2 @@
+DIST Embedly-0.4.3.tar.gz 6702 SHA256 e12e32bf600538e4dc8d0e4ea5c5f8e91b58ac21dc7c14168a16e16db0e7d812 SHA512 3e5d0d0389105c6beadf397da0d42238d56b831644e61f3c915307c57661210970c967c9babd84c0609a1e7ed3e2640ae60d46c4cf3f764596a4e1acc188c532 WHIRLPOOL 68d7eaed4ccd2f6b2de5f2a86f569c2c6d4af2656988cc289a178462becd20224d10ae8224e364d1707c6999b321c9050c831c341de2c07dd6143f7ebca451be
+DIST Embedly-0.5.0.tar.gz 7812 SHA256 e10bca4b5e25e8f30e93eb459921f787b08efc4004b6370a68f4c8984f6f16e1 SHA512 c85abacaa33b7897ccda79dc3746497f4eefe54bac3eef0aaa7c9120fec14ff6b7652a342303bea0667f60c2e31cb1591a22cddeff6827c87c6e2b1cc3274469 WHIRLPOOL b9a53ec896a4656404878473df9794163b4c792313636e077b90c991df18245dac32ebc109c08eb770c18ca3b9d0529bd03785ec7c6f12b70355e7f483cd8539
diff --git a/dev-python/embedly/embedly-0.4.3-r1.ebuild b/dev-python/embedly/embedly-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..784d2b6a820c
--- /dev/null
+++ b/dev-python/embedly/embedly-0.4.3-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Embedly"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Library for Embedly"
+HOMEPAGE="https://github.com/embedly/embedly-python/ http://pypi.python.org/pypi/Embedly"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/embedly/embedly-0.5.0.ebuild b/dev-python/embedly/embedly-0.5.0.ebuild
new file mode 100644
index 000000000000..82da33df0e53
--- /dev/null
+++ b/dev-python/embedly/embedly-0.5.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Embedly"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Library for Embedly"
+HOMEPAGE="https://github.com/embedly/embedly-python/ http://pypi.python.org/pypi/Embedly"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+# Testsuite relies upon connection to various sites on the net
diff --git a/dev-python/embedly/metadata.xml b/dev-python/embedly/metadata.xml
new file mode 100644
index 000000000000..c097ac690861
--- /dev/null
+++ b/dev-python/embedly/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Embedly</remote-id>
+ <remote-id type="github">embedly/embedly-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/empy/Manifest b/dev-python/empy/Manifest
new file mode 100644
index 000000000000..cea0a79f5724
--- /dev/null
+++ b/dev-python/empy/Manifest
@@ -0,0 +1,2 @@
+DIST empy-3.3.2.tar.gz 138168 SHA256 99f016af2770c48ab57a65df7aae251360dc69a1514c15851458a71d4ddfea9c SHA512 d9098823bbb26e4447aae9042e389e000f893615117512f9b786eedbc6875dee6b7f6be50021f68a4bd6e200b364852206b36bff5c48ae1754c8f0d49682d5f2 WHIRLPOOL 575c5f3db72e404ffc3f5ff74a6bab5636bcd33b54c09c15d2d5a8e8f9bef769356ec05da13d5bd23a1c64053c5978e5138f4266d7b4cedd977b56c109912944
+DIST empy-3.3.tar.gz 137144 SHA256 c625436d03cff8adbbade639d14a2df9bc4c4de99ec3a821ad4d6eeb66ade805 SHA512 36304577839f5e6b2fb9bb2c2d72880e1f16886b2afadbcb38fd31a85620bb0369e837b8a1d74eab09a074bfe1f7be199b38842673106e0d26f1d9abc53987a7 WHIRLPOOL 404db523f8ed8eaed297ab70b483eed8058c978ce025a35ceab70fa503fc1eefae15c8da9924cba6331a0f57a4c19f8c33cf93277614ae328ed8ad280fe62192
diff --git a/dev-python/empy/empy-3.3-r1.ebuild b/dev-python/empy/empy-3.3-r1.ebuild
new file mode 100644
index 000000000000..f5833ad4eafd
--- /dev/null
+++ b/dev-python/empy/empy-3.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A powerful and robust templating system for Python"
+HOMEPAGE="http://www.alcyone.com/software/empy/"
+SRC_URI="http://www.alcyone.com/software/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ia64 ppc x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ sed -e "s:/usr/local/bin/python:/usr/bin/python:g" -i em.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" em.py sample.em | diff sample.bench -
+ if [[ ${PIPESTATUS[0]} -ne 0 || ${PIPESTATUS[1]} -ne 0 ]]; then
+ die "Testing failed with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ dodir /usr/share/doc/"${PF}"/examples
+ insinto /usr/share/doc/"${PF}"/examples
+ doins sample.em sample.bench
+ #3.3 has the html in this funny place. Fix in later version:
+ dohtml doc/home/max/projects/empy/doc/em/*
+ dohtml doc/home/max/projects/empy/doc/em.html
+ dohtml doc/index.html
+ fi
+}
diff --git a/dev-python/empy/empy-3.3.2.ebuild b/dev-python/empy/empy-3.3.2.ebuild
new file mode 100644
index 000000000000..62e123ea3548
--- /dev/null
+++ b/dev-python/empy/empy-3.3.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A powerful and robust templating system for Python"
+HOMEPAGE="http://www.alcyone.com/software/empy/"
+SRC_URI="http://www.alcyone.com/software/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" em.py sample.em | diff sample.bench -
+ if [[ ${PIPESTATUS[0]} -ne 0 || ${PIPESTATUS[1]} -ne 0 ]]; then
+ die "Testing failed with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ dodir /usr/share/doc/"${PF}"/examples
+ insinto /usr/share/doc/"${PF}"/examples
+ doins sample.em sample.bench
+ #3.3 has the html in this funny place. Fix in later version:
+ dohtml doc/home/max/projects/empy/doc/em/*
+ dohtml doc/home/max/projects/empy/doc/em.html
+ dohtml doc/index.html
+ fi
+}
diff --git a/dev-python/empy/metadata.xml b/dev-python/empy/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/empy/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/enable/Manifest b/dev-python/enable/Manifest
new file mode 100644
index 000000000000..8be035dcb02f
--- /dev/null
+++ b/dev-python/enable/Manifest
@@ -0,0 +1 @@
+DIST enable-4.4.1.tar.gz 2507048 SHA256 6bdba2754410b89d6c0531482a20b930c2a3965d843f374eda7e1e1902a03bdb SHA512 72c879f19e26a4311b900cb4665969b9f806ce47b23c214a25e3ec308cc5300b6d71084a793215b05302fbeba09e13a4561e661c3bddb700d529bd31cfeb4dff WHIRLPOOL be172d97a979270b3a355436a323f72e00eb1fe1544cfd73091f6d56eded44b463198c48bbb8dbabc06e9a417cf24fdd898eecae316376cd1b9845cd4af03d02
diff --git a/dev-python/enable/enable-4.4.1.ebuild b/dev-python/enable/enable-4.4.1.ebuild
new file mode 100644
index 000000000000..7987e1a87db2
--- /dev/null
+++ b/dev-python/enable/enable-4.4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx flag-o-matic
+
+DESCRIPTION="Enthought Tool Suite: Drawing and interaction packages"
+HOMEPAGE="http://code.enthought.com/projects/enable/ http://pypi.python.org/pypi/enable"
+SRC_URI="https://github.com/enthought/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/reportlab[${PYTHON_USEDEP}]
+ >=dev-python/traitsui-4[${PYTHON_USEDEP}]
+ >=media-libs/freetype-2
+ virtual/opengl
+ virtual/glu
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/swig:0
+ dev-python/cython[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+python_prepare_all() {
+ append-cflags -fno-strict-aliasing
+
+ sed -e 's:html_favicon = "et.ico":html_favicon = "_static/et.ico":' \
+ -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ # https://github.com/enthought/enable/issues/158
+ PYTHONPATH=.:kiva \
+ VIRTUALX_COMMAND="nosetests" virtualmake
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/enable/files/enable-3.3.0-nofreetype.patch b/dev-python/enable/files/enable-3.3.0-nofreetype.patch
new file mode 100644
index 000000000000..56000986dff5
--- /dev/null
+++ b/dev-python/enable/files/enable-3.3.0-nofreetype.patch
@@ -0,0 +1,127 @@
+--- Enable-3.3.0.orig/enthought/kiva/agg/setup.py 2010-02-25 13:15:07.000000000 -0500
++++ Enable-3.3.0/enthought/kiva/agg/setup.py 2010-03-21 14:55:37.000000000 -0500
+@@ -4,59 +4,6 @@
+ import re
+ import platform
+
+-freetype2_sources =['autofit/autofit.c',
+- 'base/ftbase.c','base/ftsystem.c','base/ftinit.c',
+- 'base/ftglyph.c','base/ftmm.c','base/ftbdf.c',
+- 'base/ftbbox.c','base/ftdebug.c','base/ftxf86.c',
+- 'base/fttype1.c',
+- 'bdf/bdf.c',
+- 'cff/cff.c',
+- 'cid/type1cid.c',
+- 'lzw/ftlzw.c',
+- 'pcf/pcf.c','pfr/pfr.c',
+- 'psaux/psaux.c',
+- 'pshinter/pshinter.c',
+- 'psnames/psnames.c',
+- 'raster/raster.c',
+- 'sfnt/sfnt.c',
+- 'smooth/smooth.c',
+- 'truetype/truetype.c',
+- 'type1/type1.c',
+- 'type42/type42.c',
+- 'winfonts/winfnt.c',
+- 'gzip/ftgzip.c',
+- 'base/ftmac.c',
+- ]
+-
+-freetype2_dirs = [
+- 'autofit',
+- 'base',
+- 'bdf',
+- 'cache',
+- 'cff',
+- 'cid',
+- 'gxvalid',
+- 'gzip',
+- 'lzw',
+- 'otvalid',
+- 'pcf',
+- 'pfr',
+- 'psaux',
+- 'pshinter',
+- 'psnames',
+- 'raster',
+- 'sfnt',
+- 'smooth',
+- 'tools',
+- 'truetype',
+- 'type1',
+- 'type42',
+- 'winfonts',
+- 'gzip'
+- ]
+-
+-
+-
+ def configuration(parent_package='',top_path=None):
+ from numpy.distutils.misc_util import Configuration
+ from numpy.distutils.system_info import dict_append, get_info
+@@ -85,45 +32,11 @@
+ plat = 'x11' # use with gtk2, it's slow but reliable
+ #plat = 'gdkpixbuf2'
+
+-
+- #-------------------------------------------------------------------------
+- # Add the freetype library (agg 2.4 links against this)
+- #-------------------------------------------------------------------------
+-
+- prefix = config.paths('freetype2/src')[0]
+- freetype_lib = 'freetype2_src'
+-
+- def get_ft2_sources((lib_name, build_info), build_dir):
+- sources = [prefix + "/" + s for s in freetype2_sources]
+- if sys.platform=='darwin':
+- return sources[:]
+- return sources[:-1]
+-
+- ft2_incl_dirs = ['freetype2/src/' + s for s in freetype2_dirs] \
+- + ['freetype2/include', 'freetype2/src']
+- ft2_incl_dirs = config.paths(*ft2_incl_dirs)
+- if sys.platform == 'darwin':
+- ft2_incl_dirs.append("/Developer/Headers/FlatCarbon")
+-
+- config.add_library(freetype_lib,
+- sources = [get_ft2_sources],
+- include_dirs = ft2_incl_dirs,
+-
+- # This macro was introduced in Freetype 2.2; if it is
+- # not defined, then the ftheader.h file (one of the
+- # primary headers) won't pull in any additional internal
+- # Freetype headers, and the library will mysteriously
+- # fail to build.
+- macros = [("FT2_BUILD_LIBRARY", None)],
+-
+- depends = ['freetype2'],
+- )
+-
+ #-------------------------------------------------------------------------
+ # Add the Agg sources
+ #-------------------------------------------------------------------------
+
+- agg_include_dirs = [agg_dir+'/include',agg_dir+'/font_freetype'] + ft2_incl_dirs
++ agg_include_dirs = [agg_dir+'/include',agg_dir+'/font_freetype'] + ["/usr/include/freetype2/"]
+ agg_sources = [agg_dir+'/src/*.cpp',
+ agg_dir+'/font_freetype/*.cpp']
+ config.add_library(agg_lib,
+@@ -137,7 +50,7 @@
+ if sys.platform == 'darwin':
+ define_macros = [('__DARWIN__', None)]
+ macros = [('__DARWIN__', None)]
+- extra_link_args = ['-framework', 'Carbon']
++ extra_link_args = ['-framework', 'Carbon', '-Wl,-search_paths_first']
+ else:
+ define_macros = []
+ macros = []
+@@ -191,7 +104,7 @@
+
+ build_info = {}
+ kiva_lib = 'kiva_src'
+- build_libraries = [kiva_lib, agg_lib, freetype_lib]
++ build_libraries = [kiva_lib, agg_lib, "freetype"]
+ if sys.platform == "win32":
+ build_libraries += ["opengl32", "glu32"]
+ elif sys.platform == "darwin":
diff --git a/dev-python/enable/files/enable-4-rogue-tests.patch b/dev-python/enable/files/enable-4-rogue-tests.patch
new file mode 100644
index 000000000000..f08f7b00ce36
--- /dev/null
+++ b/dev-python/enable/files/enable-4-rogue-tests.patch
@@ -0,0 +1,47 @@
+diff -ur enable-4.3.0.orig/enable/savage/svg/tests/test_document.py enable-4.3.0/enable/savage/svg/tests/test_document.py
+--- enable/savage/svg/tests/test_document.py 2013-03-28 21:58:28.000000000 +0800
++++ enable/savage/svg/tests/test_document.py 2013-05-14 21:23:18.641569707 +0800
+@@ -63,6 +63,7 @@
+ 0
+ )
+
++ @unittest.skip("This tests accesses the internet")
+ def testURLFallback(self):
+ self.document.state["fill"] = "url(http://google.com) red"
+ self.assertEqual(
+diff -ur enable-4.3.0.orig/enable/tests/kiva_graphics_context_test_case.py enable-4.3.0/enable/tests/kiva_graphics_context_test_case.py
+--- enable/tests/kiva_graphics_context_test_case.py 2013-03-28 21:58:28.000000000 +0800
++++ enable/tests/kiva_graphics_context_test_case.py 2013-05-14 21:24:53.897573114 +0800
+@@ -1,4 +1,3 @@
+-
+ import numpy as np
+ import unittest
+
+@@ -8,6 +7,7 @@
+ class TestGCErrors(unittest.TestCase):
+ """Test some cases where a ValueError should be raised."""
+
++ @unittest.expectedFailure
+ def test_bad_image_size(self):
+ arr = np.array([[1, 2], [3, 4]], dtype=np.uint8)
+ gc = GraphicsContext((50, 50))
+diff -ur enable-4.3.0.orig/kiva/quartz/__init__.py enable-4.3.0/kiva/quartz/__init__.py
+--- kiva/quartz/__init__.py 2013-03-28 21:58:28.000000000 +0800
++++ kiva/quartz/__init__.py 2013-05-14 21:32:10.473588730 +0800
+@@ -2,16 +2,3 @@
+ # :Copyright: 2004, Enthought, Inc.
+ # :License: BSD Style
+
+-from mac_context import get_mac_context
+-
+-
+-def get_macport(dc):
+- """
+- Returns the Port or the CGContext of a wxDC (or child class) instance.
+- """
+- if 'GetCGContext' in dir(dc):
+- ptr = dc.GetCGContext()
+- return int(ptr)
+- else:
+- from macport import get_macport as _get_macport
+- return _get_macport(str(dc.this))
diff --git a/dev-python/enable/metadata.xml b/dev-python/enable/metadata.xml
new file mode 100644
index 000000000000..85360f54f069
--- /dev/null
+++ b/dev-python/enable/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The Enable project from the Enthought Tool Suite provides two
+ related multi-platform packages for drawing GUI objects:
+ * Enable: An object drawing library that supports containment and
+ event notification.
+ * Kiva: A multi-platform DisplayPDF vector drawing engine.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">enthought/enable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/enaml/Manifest b/dev-python/enaml/Manifest
new file mode 100644
index 000000000000..480e0f8de1db
--- /dev/null
+++ b/dev-python/enaml/Manifest
@@ -0,0 +1,2 @@
+DIST enaml-0.6.8.tar.gz 4550240 SHA256 e0f3f5775bfd471b9ca748a547cde1b9b129e0e43f1b6adbcde6fcdcbbb18a9f SHA512 8942ae1f44aee97acc1813e684534ce982fcc48090a9295e95c56a8bbc2063a94c2561ff0752cb5ff9f1f08b7ebaa44bb3b16ea78cbb0821efdcb56f3cf72446 WHIRLPOOL d1d912cb62f3b33c848d89ed9e8f2bb4e03d5f9732903f7bd8180ed58cbf80993600b629e7753909c4d599db74d1d369a59b5dc568e2cb46773e579914e213bc
+DIST enaml-0.9.8.tar.gz 1455642 SHA256 c646f12dc7928555f2f24a10706c0d668b11a5e63e4b878dcb267247bf22a1d5 SHA512 e9b88d1fbb9e82564d3a865f74685b1b1f8b8918e29dd4d7ce7d6b4b2e6d386c6388e99f9bf0adb02fb9277a57519f8502a33bd6e0548fd1a4d52d0a4b33cf02 WHIRLPOOL f9c6874f7fec569acdbf74c5cdd24c6189506980ca65028c3ea53ed076338a5edea6b19d018d19b8662385b058d9c96c7e36239a1f86d8c1cdcada559f49bfd8
diff --git a/dev-python/enaml/enaml-0.6.8-r1.ebuild b/dev-python/enaml/enaml-0.6.8-r1.ebuild
new file mode 100644
index 000000000000..da0b0835d020
--- /dev/null
+++ b/dev-python/enaml/enaml-0.6.8-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: framework for writing declarative interfaces"
+HOMEPAGE="http://code.enthought.com/projects/enaml/ http://pypi.python.org/pypi/enaml"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/casuarius[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/traits[${PYTHON_USEDEP}]
+ || (
+ dev-python/wxpython:*[${PYTHON_USEDEP}] \
+ dev-python/PyQt4[${PYTHON_USEDEP}] \
+ dev-python/pyside[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/wxpython[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # crash doc and gone upstream (> 0.2.0)
+ sed -i -e '/enthought.debug.api/d' enamldoc/sphinx_ext.py || die
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ export ETS_TOOLKIT=qt4
+ export QT_API=pyside
+ VIRTUALX_COMMAND="nosetests -v" virtualmake
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/enaml/enaml-0.9.8.ebuild b/dev-python/enaml/enaml-0.9.8.ebuild
new file mode 100644
index 000000000000..8caf0e45412c
--- /dev/null
+++ b/dev-python/enaml/enaml-0.9.8.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx flag-o-matic
+
+DESCRIPTION="Enthought Tool Suite: framework for writing declarative interfaces"
+HOMEPAGE="http://code.enthought.com/projects/enaml/ http://pypi.python.org/pypi/enaml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/atom-0.3.8[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ply-3.4[${PYTHON_USEDEP}]
+ || (
+ dev-python/wxpython:*[${PYTHON_USEDEP}] \
+ dev-python/PyQt4[${PYTHON_USEDEP}] \
+ dev-python/pyside[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/wxpython[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+# The testsuite antagonises gentoo conventions far beyond what can currently be dealt with
+# It also passes all once run
+RESTRICT="test"
+
+# Doc build now fails, missing required folder, use doc removed for now
+# https://github.com/nucleic/enaml/issues/170
+#python_compile_all() {
+# use doc && emake -C docs html
+#}
+
+python_prepare_all() {
+ append-flags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ export ETS_TOOLKIT=qt4
+ export QT_API=pyside
+ VIRTUALX_COMMAND="nosetests -v" virtualmake
+}
+
+python_install_all() {
+# use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/enaml/metadata.xml b/dev-python/enaml/metadata.xml
new file mode 100644
index 000000000000..f19f96398f51
--- /dev/null
+++ b/dev-python/enaml/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Enaml is a framework for writing declarative user interfaces in
+ Python. It provides a Yaml-ish/Pythonic syntax language for
+ declaring a ui that binds and reacts to changes in the user's
+ models. Code can freely call back and forth between Python and Enaml.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">enaml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/encore/Manifest b/dev-python/encore/Manifest
new file mode 100644
index 000000000000..fb78dc54656e
--- /dev/null
+++ b/dev-python/encore/Manifest
@@ -0,0 +1,3 @@
+DIST encore-0.3.tar.gz 104057 SHA256 994a564140327a2caf9147407d42c249e1b10ccce76b506bbe3016fd76c14261 SHA512 d5ba216cc7cb3181b20d7cf4362def8a52f7d940380791c863b7e6b9f8c35f8c6eee1d2d3c9dd81fa593db92ccb22e6980e4e3582ce0be029a4511b11b9fe16b WHIRLPOOL 3a0e20b09dd4e47eb2ec015cc89c9123804a8c6ed9d8a31a4c60c913099741047c92663d34698835dc40d3d75055fababf789231e348139be35c1923e2403ea3
+DIST encore-0.4.0.tar.gz 51877 SHA256 22afbd51fc72dc0139c46bf02752e3213573fc54bdf764656dc6cea7d8846c2c SHA512 5a2bed4d47225e2fdd0f4c914e18c1fc4b8b4782c4be5d62b91c7ca7ae8b5a19598ebeeddc5d6a2531217b011021b3dd14b846f23f338447ce922de628529e4c WHIRLPOOL 1b124fad326a58ff65b85fcb54280ddc51dc14805f78ed5b6f9a4f10b21848ffac3a3e62d4ee0bdd53ee52aae4a7637cdf2d79b6b55905e807aada81bcc16169
+DIST encore-0.5.1.tar.gz 71248 SHA256 0e90fd798e3b274b7f41e2989f27a22b41ec331976753a804f27f5781012c3b2 SHA512 410d37bd326ac5b8433dd5896c3e167387e83380cc55efa7405b4c3f918108cee60e6d3c78c3ff41aa2b1f46939cb3c4e2e495b9f77a9c2483a77e1973bd2d17 WHIRLPOOL 3ed37349e3ad5db6979472b2808a11b7f43cc7e1074265dfb2ed2480b2890dca64af86e66bad9578184915f4e24577ab1715defeaba8e6610e33292fdab6fd16
diff --git a/dev-python/encore/encore-0.3.ebuild b/dev-python/encore/encore-0.3.ebuild
new file mode 100644
index 000000000000..acc2303ff36f
--- /dev/null
+++ b/dev-python/encore/encore-0.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Enthought Tool Suite: collection of core-level utility modules"
+HOMEPAGE="https://github.com/enthought/encore"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( dataflow.txt )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if [[ ${EPYTHON} == python2.6 ]]; then
+ ewarn "Tests disabled for ${EPYTHON}"
+ return 0
+ fi
+ nosetests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ use doc && dohtml -r docs/build/html/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/encore/encore-0.4.0.ebuild b/dev-python/encore/encore-0.4.0.ebuild
new file mode 100644
index 000000000000..906ff33c11ac
--- /dev/null
+++ b/dev-python/encore/encore-0.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Enthought Tool Suite: collection of core-level utility modules"
+HOMEPAGE="https://github.com/enthought/encore"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if [[ ${EPYTHON} == python2.6 ]]; then
+ ewarn "Tests disabled for ${EPYTHON}"
+ return 0
+ fi
+ nosetests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ use doc && dohtml -r docs/build/html/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/encore/encore-0.5.1.ebuild b/dev-python/encore/encore-0.5.1.ebuild
new file mode 100644
index 000000000000..bc0fe5be2920
--- /dev/null
+++ b/dev-python/encore/encore-0.5.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Enthought Tool Suite: collection of core-level utility modules"
+HOMEPAGE="https://github.com/enthought/encore"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="virtual/python-futures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-pypy-tests.patch )
+
+python_test() {
+ "${PYTHON}" -m unittest discover ./${PN}/events || die
+ # PYTHONPATH goes astray & '-m unittest discover' loses its way. nose works
+ # https://github.com/enthought/encore/issues/84
+ # tests for storage simply aren't written to cater to pypy
+ if [[ "${EPYTHON}" == python2.7 ]]; then
+ nosetests ./${PN}/storage || die
+ fi
+}
diff --git a/dev-python/encore/files/encore-0.5.1-pypy-tests.patch b/dev-python/encore/files/encore-0.5.1-pypy-tests.patch
new file mode 100644
index 000000000000..c7673efa7c4c
--- /dev/null
+++ b/dev-python/encore/files/encore-0.5.1-pypy-tests.patch
@@ -0,0 +1,36 @@
+diff -ur encore-0.5.1.orig/encore/events/tests/test_event_manager.py encore-0.5.1/encore/events/tests/test_event_manager.py
+--- encore/events/tests/test_event_manager.py 2014-01-06 22:40:24.000000000 +0800
++++ encore/events/tests/test_event_manager.py 2014-05-05 17:56:16.606026933 +0800
+@@ -10,7 +10,7 @@
+ import mock
+ import weakref
+ import threading
+-
++import sys
+ # Local imports.
+ from encore.events.event_manager import EventManager, BaseEvent
+ from encore.events.api import (get_event_manager, set_event_manager,
+@@ -429,6 +429,7 @@
+ self.evt_mgr.emit(BaseEvent())
+ self.assertEqual(data, [1])
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "test written for py2 garbage collection methods")
+ def test_method_weakref(self):
+ """ Test if methods do not prevent garbage collection of objects.
+ """
+@@ -464,6 +465,7 @@
+ self.evt_mgr.emit(obj)
+ self.assertEqual(data, [1, 2])
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "test written for py2 garbage collection methods")
+ def test_method_collect(self):
+ """ Test if object garbage collection disconnects listener method.
+ """
+@@ -481,6 +483,7 @@
+ self.assertEqual(data, [])
+ self.assertEqual(len(list(self.evt_mgr.get_listeners(BaseEvent))), 0)
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "test written for py2 garbage collection methods")
+ def test_method_disconnect(self):
+ """ Test if method disconnect works.
+ """
diff --git a/dev-python/encore/metadata.xml b/dev-python/encore/metadata.xml
new file mode 100644
index 000000000000..c1fb9cafc0f3
--- /dev/null
+++ b/dev-python/encore/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ This package consists of a collection of core utility packages
+ useful for building Python applications. This package is intended to
+ be at the bottom of the software stack and have zero required
+ external dependencies aside from the Python Standard Library.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">encore</remote-id>
+ <remote-id type="github">enthought/encore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/enum34/Manifest b/dev-python/enum34/Manifest
new file mode 100644
index 000000000000..af0a5a334887
--- /dev/null
+++ b/dev-python/enum34/Manifest
@@ -0,0 +1,2 @@
+DIST enum34-1.0.4.tar.gz 32944 SHA256 d3c19f26a6a34629c18c775f59dfc5dd595764c722b57a2da56ebfb69b94e447 SHA512 21b91f1d0e15cc909e733473f603077eff7222c90da84b0a5f2db921ba41ac996b9237cc8adf1d07913b7eaf8f8e70ac6955abbb191f2e7cc54966710a1c96a9 WHIRLPOOL 178d1d5a9ec4e5a7a467e31c9b28e1f799e593e36a0c9a888f64ec86051277cb1c50ae01ed81c95cd3f7ae1e7f287dda9b4049c7e1977fcd427711fcf3990792
+DIST enum34-1.0.tar.gz 32331 SHA256 384b593703b057e0b19d90ff62844b1c8796da2e6bd9957d6ce9119bdeade635 SHA512 8eefcb42449927e419c87016d534b1fb335a85daa49c7ae3cc4549bc92dbb6d1a02158542a8cba1fbff4bbad2c4830c6f465b13e8d5ec6d2aae5752efecdf1d3 WHIRLPOOL 28b02767afe416404ba9d0c4db972c869383a72cfc6cb1a75f93b01e2636bac139743f5acb2dbe06083c655a1854cfb8a3c7f1ce1eba340a38d457e3e71e63b3
diff --git a/dev-python/enum34/enum34-1.0.4.ebuild b/dev-python/enum34/enum34-1.0.4.ebuild
new file mode 100644
index 000000000000..34ff1fa02260
--- /dev/null
+++ b/dev-python/enum34/enum34-1.0.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy pypy3 ) # Do NOT add python3_4—see DESCRIPTION
+
+inherit distutils-r1
+
+DESCRIPTION="Python 3.4 Enum backported"
+HOMEPAGE="https://pypi.python.org/pypi/enum34"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" enum/test_enum.py || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local DOCS=( enum/doc/. enum/README enum/LICENSE )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/enum34/enum34-1.0.ebuild b/dev-python/enum34/enum34-1.0.ebuild
new file mode 100644
index 000000000000..f020af2b7bb4
--- /dev/null
+++ b/dev-python/enum34/enum34-1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 3.4 Enum backported"
+HOMEPAGE="https://pypi.python.org/pypi/enum34"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ia64 m68k ~mips s390 sh x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" enum/test_enum.py || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local DOCS=( enum/doc/. enum/README enum/LICENSE )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/enum34/metadata.xml b/dev-python/enum34/metadata.xml
new file mode 100644
index 000000000000..ffc7ca79d5dd
--- /dev/null
+++ b/dev-python/enum34/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">enum34</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/envisage/Manifest b/dev-python/envisage/Manifest
new file mode 100644
index 000000000000..7ce4072866ae
--- /dev/null
+++ b/dev-python/envisage/Manifest
@@ -0,0 +1 @@
+DIST envisage-4.4.0.tar.gz 192529 SHA256 ce9274a1afef8e4b660344eda2b32c4aa23fa35aa61dadc33d5a85eb284270f6 SHA512 7cc8fa82ea9bfd53f1a6cc90551d97972dd4b7abe9476515ea617ab6a32d7f2f65b2815ed934633f96b0f1445b763b9350e5d0e37ed99768c9a2ca32e588f91f WHIRLPOOL a108b28877821fe7acc0841726f7357c75eeb6b2734fcec12fd7c700b5fff41b9c0bb84b47be95f0776529fb70b58481b6a2b1ec1ad70763799e58ac152286db
diff --git a/dev-python/envisage/envisage-4.4.0.ebuild b/dev-python/envisage/envisage-4.4.0.ebuild
new file mode 100644
index 000000000000..4bed58bfcd06
--- /dev/null
+++ b/dev-python/envisage/envisage-4.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py2.6 fails testsuite horribly
+PYTHON_COMPAT=python2_7
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Extensible application framework"
+HOMEPAGE="http://code.enthought.com/projects/envisage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=">=dev-python/traits-4[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/traits-4[${PYTHON_USEDEP}]
+ dev-python/apptools[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+# tests are buggy version after version
+RESTRICT=test
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests" virtualmake
+}
diff --git a/dev-python/envisage/metadata.xml b/dev-python/envisage/metadata.xml
new file mode 100644
index 000000000000..9344c917f996
--- /dev/null
+++ b/dev-python/envisage/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ Envisage is a Python-based framework for building extensible
+ applications, that is, applications whose functionality can be
+ extended by adding "plug-ins". Envisage provides a standard
+ mechanism for features to be added to an application, whether by the
+ original developer or by someone else. In fact, when you build an
+ application using Envisage, the entire application consists
+ primarily of plug-ins. In this respect, it is similar to the Eclipse
+ and Netbeans frameworks for Java applications.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">envisage</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/envoy/Manifest b/dev-python/envoy/Manifest
new file mode 100644
index 000000000000..867df2629364
--- /dev/null
+++ b/dev-python/envoy/Manifest
@@ -0,0 +1 @@
+DIST envoy-0.0.3.tar.gz 4190 SHA256 22b02009cfda2cf2cdb94a75a15ac3fd910aea8685c53e8e03715c7e9d8e8bde SHA512 3af97b95d61f12ef0d8dc71234023a69123667ef26feec9342bda4c3307629728be589be3ac7d118f6cf17aeb6b5ee91c23f37f84c411f117f5e76a5b024a967 WHIRLPOOL fca1eb6de99d90c8c94598bf5524f8ff5e41ab96f5b351e8bcd20cfc729fc8a4f360d744d25f5af4d80dd6b5ad3624a5fb041041268c4ebcf7d5154ccf62db56
diff --git a/dev-python/envoy/envoy-0.0.3.ebuild b/dev-python/envoy/envoy-0.0.3.ebuild
new file mode 100644
index 000000000000..0347ba0f991b
--- /dev/null
+++ b/dev-python/envoy/envoy-0.0.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple API for running external processes"
+HOMEPAGE="https://github.com/kennethreitz/envoy http://pypi.python.org/pypi/envoy"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ # and it fails almost all;https://github.com/kennethreitz/envoy/issues/58
+ "${PYTHON}" test_envoy.py
+}
diff --git a/dev-python/envoy/files/test_envoy.py b/dev-python/envoy/files/test_envoy.py
new file mode 100644
index 000000000000..8c83a0816a27
--- /dev/null
+++ b/dev-python/envoy/files/test_envoy.py
@@ -0,0 +1,52 @@
+import unittest
+import envoy
+import time
+
+class SimpleTest(unittest.TestCase):
+
+ def test_input(self):
+ r = envoy.run("sed s/i/I/g", "Hi")
+ self.assertEqual(r.std_out.rstrip(), "HI")
+ self.assertEqual(r.status_code, 0)
+
+ def test_pipe(self):
+ r = envoy.run("echo -n 'hi'| tr [:lower:] [:upper:]")
+ self.assertEqual(r.std_out, "HI")
+ self.assertEqual(r.status_code, 0)
+
+ def test_timeout(self):
+ r = envoy.run('yes | head', timeout=1)
+ self.assertEqual(r.std_out, 'y\ny\ny\ny\ny\ny\ny\ny\ny\ny\n')
+ self.assertEqual(r.status_code, 0)
+
+ # THIS TEST FAILS BECAUSE expand_args DOESN'T HANDLE QUOTES PROPERLY
+ def test_quoted_args(self):
+ sentinel = 'quoted_args' * 3
+ r = envoy.run("python -c 'print \"%s\"'" % sentinel)
+ self.assertEqual(r.std_out.rstrip(), sentinel)
+ self.assertEqual(r.status_code, 0)
+
+class ConnectedCommandTests(unittest.TestCase):
+
+ def test_status_code_none(self):
+ c = envoy.connect("sleep 5")
+ self.assertEqual(c.status_code, None)
+
+ def test_status_code_success(self):
+ c = envoy.connect("sleep 1")
+ time.sleep(2)
+ self.assertEqual(c.status_code, 0)
+
+ def test_status_code_failure(self):
+ c = envoy.connect("sleeep 1")
+ self.assertEqual(c.status_code, 127)
+
+ def test_input(self):
+ test_string = 'asdfQWER'
+ r = envoy.connect("cat | tr [:lower:] [:upper:]")
+ r.send(test_string)
+ self.assertEqual(r.std_out, test_string.upper())
+ self.assertEqual(r.status_code, 0)
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/dev-python/envoy/metadata.xml b/dev-python/envoy/metadata.xml
new file mode 100644
index 000000000000..5b4829404b83
--- /dev/null
+++ b/dev-python/envoy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">envoy</remote-id>
+ <remote-id type="github">kennethreitz/envoy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/enzyme/Manifest b/dev-python/enzyme/Manifest
new file mode 100644
index 000000000000..a5f026ad479a
--- /dev/null
+++ b/dev-python/enzyme/Manifest
@@ -0,0 +1,2 @@
+DIST enzyme-0.4.1.tar.gz 47953 SHA256 f2167fa97c24d1103a94d4bf4eb20f00ca76c38a37499821049253b2059c62bb SHA512 62a85c076a7eb320249a507dcc9dd26572e3a9b9643e0a960ed114a80c75213e6e5028a726fbcdd0c2c46c53af980a69828a54a66af9a17af3210273376395b3 WHIRLPOOL 5055306ce3747b1aa2f6a9bf5ac85c705426e1eaa1e946780f626cbda2cf26d508baf9f6781faeb62d09266df00e6b2c7942493d9139e82eda502cc175cb711c
+DIST matroska_test_w1_1.zip 184550509 SHA256 d86f96e165e695e6cf5324ebca184f2df723872f02965b565820d265b53004eb SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f WHIRLPOOL 3d0a16871fc7df0a3ef3f34f7c496eff188400a9796a2ad66667112ef0de7deecf025196898bd24ea395f8c44e75156a8b8c09d40a92e98d833d995473eefa9e
diff --git a/dev-python/enzyme/enzyme-0.4.1.ebuild b/dev-python/enzyme/enzyme-0.4.1.ebuild
new file mode 100644
index 000000000000..0e9b9962fbe9
--- /dev/null
+++ b/dev-python/enzyme/enzyme-0.4.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python video metadata parser"
+HOMEPAGE="https://github.com/Diaoul/enzyme https://pypi.python.org/pypi/enzyme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? ( http://downloads.sourceforge.net/project/matroska/test_files/matroska_test_w1_1.zip )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ if use test; then
+ mkdir enzyme/tests/test_{parsers,mkv} || die
+ ln -s "${WORKDIR}"/test* enzyme/tests/test_parsers/ || die
+ ln -s "${WORKDIR}"/test* enzyme/tests/test_mkv/ || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/enzyme/enzyme-9999.ebuild b/dev-python/enzyme/enzyme-9999.ebuild
new file mode 100644
index 000000000000..51ac2e149435
--- /dev/null
+++ b/dev-python/enzyme/enzyme-9999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+EGIT_REPO_URI="https://github.com/Diaoul/enzyme.git"
+
+inherit distutils-r1 git-2
+
+DESCRIPTION="Python video metadata parser"
+HOMEPAGE="https://github.com/Diaoul/enzyme https://pypi.python.org/pypi/enzyme"
+SRC_URI="test? ( http://downloads.sourceforge.net/project/matroska/test_files/matroska_test_w1_1.zip )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ if use test; then
+ mkdir enzyme/tests/test_{parsers,mkv} || die
+ ln -s "${WORKDIR}"/test* enzyme/tests/test_parsers/ || die
+ ln -s "${WORKDIR}"/test* enzyme/tests/test_mkv/ || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/enzyme/metadata.xml b/dev-python/enzyme/metadata.xml
new file mode 100644
index 000000000000..83efd6259c51
--- /dev/null
+++ b/dev-python/enzyme/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>nikoli@gmx.us</email>
+ <name>Nikoli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">enzyme</remote-id>
+ <remote-id type="github">Diaoul/enzyme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/epsilon/Manifest b/dev-python/epsilon/Manifest
new file mode 100644
index 000000000000..f78f3c15e9b4
--- /dev/null
+++ b/dev-python/epsilon/Manifest
@@ -0,0 +1,2 @@
+DIST Epsilon-0.6.0.tar.gz 96243 SHA256 2be3a6ef877c4e17ca9dadd6b484fe31bdf16c20b949ec6a8b15677e08c512fa SHA512 0ce7ba2eb86811dc50a0e86b9f3d85be1a4f930f86659c2381a1d80455e1e86362b8719c92ae2ad951a34264e5d0649ec5de96f1179734c7fab6c3abc6fb037b WHIRLPOOL 6aa363b44a42f29ec836cf46b2fdfe3bb57541a9fe282b57ea888f4906b9c438c9eb99d5a0876cb11108b7337a0691c45810a3e44579023f0b660e8752952120
+DIST Epsilon-0.7.0.tar.gz 81218 SHA256 81419d50b17a20efd75440d43e4b07fe3c2a5e6d619f39318dab9031a0680032 SHA512 d1927ca431df3233a94296ca9e1f5dd70d6d61091d23f77df2222c6472d9a5f7b55c5c8dd2a75d0fead41af862c9e3a6a0ea9a31e21447459d5182f0d677d9b2 WHIRLPOOL 8cbab28e5e05b44b521c5f66494de1e2f4bee7713487cfb9d87bfcc108dc05b6534919934fd53cb1b0dc7aee633187351973b78cfdabf0584d6b294104a05a57
diff --git a/dev-python/epsilon/epsilon-0.6.0-r2.ebuild b/dev-python/epsilon/epsilon-0.6.0-r2.ebuild
new file mode 100644
index 000000000000..14d90c1870f1
--- /dev/null
+++ b/dev-python/epsilon/epsilon-0.6.0-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1 eutils
+
+DESCRIPTION="Epsilon is a Python utilities package, most famous for its Time class"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodEpsilon http://pypi.python.org/pypi/Epsilon"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="dev-python/twisted-core[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/epsilon_plugincache_portagesandbox.patch" )
+
+# epsilon doesn't install any plugins, so override the default
+TWISTED_PLUGINS=()
+
+python_prepare_all() {
+ # Rename to avoid file-collisions
+ mv bin/benchmark bin/epsilon-benchmark
+ sed -i \
+ -e "s#bin/benchmark#bin/epsilon-benchmark#" \
+ setup.py || die "sed failed"
+
+ #These test are removed upstream
+ rm -f epsilon/test/test_sslverify.py epsilon/sslverify.py || die
+ #See bug 357157 comment 5 for Ian Delaney's explanation of this fix
+ sed -e 's:month) 2004 9:month) 2004 14:' \
+ -i epsilon/test/test_extime.py || die
+ # Release tests need DivmodCombinator.
+ rm -f epsilon/test/test_release.py* epsilon/release.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ dodoc NAME.txt NEWS.txt
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/epsilon/epsilon-0.7.0.ebuild b/dev-python/epsilon/epsilon-0.7.0.ebuild
new file mode 100644
index 000000000000..7a530fb2f276
--- /dev/null
+++ b/dev-python/epsilon/epsilon-0.7.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1 eutils
+
+DESCRIPTION="Epsilon is a Python utilities package, most famous for its Time class"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodEpsilon http://pypi.python.org/pypi/Epsilon"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/twisted-core-13.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ ${DEPEND}"
+
+PATCHES=( "${FILESDIR}/epsilon_plugincache_portagesandbox.patch" )
+
+# epsilon doesn't install any plugins, so override the default
+TWISTED_PLUGINS=()
+
+python_prepare_all() {
+ # Rename to avoid file-collisions
+ mv bin/benchmark bin/epsilon-benchmark
+ sed -i \
+ -e "s#bin/benchmark#bin/epsilon-benchmark#" \
+ setup.py || die "sed failed"
+
+ #These test are removed upstream
+ rm -f epsilon/test/test_sslverify.py epsilon/sslverify.py || die
+ #See bug 357157 comment 5 for Ian Delaney's explanation of this fix
+ sed -e 's:month) 2004 9:month) 2004 14:' \
+ -i epsilon/test/test_extime.py || die
+ # Release tests need DivmodCombinator.
+ rm -f epsilon/test/test_release.py* epsilon/release.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ dodoc NAME.txt NEWS.txt
+
+ distutils-r1_python_install_all
+}
+
+#Lets run some tests, having prepped them
+python_test() {
+ # No testrunner seems stipulated within the source; pytest and nosetests both work
+ nosetests ${PN}/test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/epsilon/files/epsilon_plugincache_portagesandbox.patch b/dev-python/epsilon/files/epsilon_plugincache_portagesandbox.patch
new file mode 100644
index 000000000000..06bd55732011
--- /dev/null
+++ b/dev-python/epsilon/files/epsilon_plugincache_portagesandbox.patch
@@ -0,0 +1,12 @@
+--- epsilon/setuphelper.py.orig 2009-02-11 08:15:39.000000000 +0100
++++ epsilon/setuphelper.py 2009-02-11 08:18:56.000000000 +0100
+@@ -21,6 +21,9 @@
+ def _regeneratePluginCache(pluginPackages):
+ print 'Regenerating cache with path: ',
+ pprint.pprint(sys.path)
++ if os.getenv("PORTAGE_PLUGINCACHE_NOOP") != None:
++ print 'Not regenerating plugin cache for portage sandbox usage.'
++ return
+ from twisted import plugin
+ for pluginModule in pluginModules([
+ p + ".plugins" for p in pluginPackages]):
diff --git a/dev-python/epsilon/metadata.xml b/dev-python/epsilon/metadata.xml
new file mode 100644
index 000000000000..326df3b55935
--- /dev/null
+++ b/dev-python/epsilon/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">A small utility package that depends on tools too recent for Twisted
+ (like datetime in python2.4) but performs generic enough functions
+ that it can be used in projects that don't want to share Divmod's
+ other projects' large footprint.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Epsilon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/epydoc/Manifest b/dev-python/epydoc/Manifest
new file mode 100644
index 000000000000..cd98b569eb24
--- /dev/null
+++ b/dev-python/epydoc/Manifest
@@ -0,0 +1 @@
+DIST epydoc-3.0.1.tar.gz 1785792 SHA256 d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1 SHA512 5c4011f0018ab956c0e1fe5fe0c1608fa2416439a60b5836a9d2d95e359428086ba403bcb5ed53e64d9d4979441ca6d537d9e5b8d6224d2202e7df3332d9ea83 WHIRLPOOL d72247342d02a71765410c8da5cfa31a17049fcb916400ec202bff81fec2246cbd93d145ba3a7f333de25de6b72a34097080d9419272656a8ec4a72eea2291cd
diff --git a/dev-python/epydoc/epydoc-3.0.1-r2.ebuild b/dev-python/epydoc/epydoc-3.0.1-r2.ebuild
new file mode 100644
index 000000000000..8c52adcb71d6
--- /dev/null
+++ b/dev-python/epydoc/epydoc-3.0.1-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1
+
+DESCRIPTION="Tool for generating API documentation for Python modules from docstrings"
+HOMEPAGE="http://epydoc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc latex tk"
+
+DEPEND=""
+RDEPEND="dev-python/docutils[${PYTHON_USEDEP}]
+ latex? ( virtual/latex-base
+ dev-texlive/texlive-latexextra
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-docutils-0.6.patch
+ "${FILESDIR}"/${PN}-python-2.6.patch
+)
+
+python_install() {
+ distutils-r1_python_install
+
+ use tk || rm "${D}$(python_get_sitedir)"/epydoc/gui.py*
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+
+ doman man/epydoc.1
+ if use tk; then
+ doman man/epydocgui.1
+ else
+ rm -f "${ED}"usr/bin/epydocgui*
+ fi
+}
diff --git a/dev-python/epydoc/files/epydoc-docutils-0.6.patch b/dev-python/epydoc/files/epydoc-docutils-0.6.patch
new file mode 100644
index 000000000000..35f44108a1ed
--- /dev/null
+++ b/dev-python/epydoc/files/epydoc-docutils-0.6.patch
@@ -0,0 +1,27 @@
+Make epydoc work with docutils-0.6.
+
+Patch created by Engelbert Gruber (grubert) and adjusted by Martin von Gagern.
+
+References:
+http://sourceforge.net/tracker/?func=detail&aid=2895197&group_id=32455&atid=405618
+http://thread.gmane.org/gmane.text.docutils.devel/4888/focus=4924
+http://bugs.gentoo.org/287546
+
+Index: epydoc-3.0.1/epydoc/markup/restructuredtext.py
+===================================================================
+--- epydoc-3.0.1.orig/epydoc/markup/restructuredtext.py
++++ epydoc-3.0.1/epydoc/markup/restructuredtext.py
+@@ -304,10 +304,11 @@ class _SummaryExtractor(NodeVisitor):
+ # Extract the first sentence.
+ for child in node:
+ if isinstance(child, docutils.nodes.Text):
+- m = self._SUMMARY_RE.match(child.data)
++ data = child.astext()
++ m = self._SUMMARY_RE.match(data)
+ if m:
+ summary_pieces.append(docutils.nodes.Text(m.group(1)))
+- other = child.data[m.end():]
++ other = data[m.end():]
+ if other and not other.isspace():
+ self.other_docs = True
+ break
diff --git a/dev-python/epydoc/files/epydoc-python-2.6.patch b/dev-python/epydoc/files/epydoc-python-2.6.patch
new file mode 100644
index 000000000000..84bb22d879c5
--- /dev/null
+++ b/dev-python/epydoc/files/epydoc-python-2.6.patch
@@ -0,0 +1,60 @@
+diff -Nur epydoc-3.0.1/epydoc/docparser.py epydoc-3.0.1/epydoc/docparser.py
+--- epydoc-3.0.1/epydoc/docparser.py
++++ epydoc-3.0.1/epydoc/docparser.py
+@@ -72,6 +72,26 @@
+ from epydoc.compat import *
+
+ ######################################################################
++## Tokenizer change in 2.6
++######################################################################
++
++def comment_includes_nl():
++ """ Determine whether comments are parsed as one or two tokens... """
++ readline = iter(u'\n#\n\n'.splitlines(True)).next
++ tokens = [
++ token.tok_name[tup[0]] for tup in tokenize.generate_tokens(readline)
++ ]
++ if tokens == ['NL', 'COMMENT', 'NL', 'ENDMARKER']:
++ return True
++ elif tokens == ['NL', 'COMMENT', 'NL', 'NL', 'ENDMARKER']:
++ return False
++ raise AssertionError(
++ "Tokenizer returns unexexpected tokens: %r" % tokens
++ )
++
++comment_includes_nl = comment_includes_nl()
++
++######################################################################
+ ## Doc Parser
+ ######################################################################
+
+@@ -520,6 +540,10 @@
+ # inside that block, not outside it.
+ start_group = None
+
++ # If the comment tokens do not include the NL, every comment token
++ # sets this to True in order to swallow the next NL token unprocessed.
++ comment_nl_waiting = False
++
+ # Check if the source file declares an encoding.
+ encoding = get_module_encoding(module_doc.filename)
+
+@@ -570,7 +594,9 @@
+ # then discard them: blank lines are not allowed between a
+ # comment block and the thing it describes.
+ elif toktype == tokenize.NL:
+- if comments and not line_toks:
++ if comment_nl_waiting:
++ comment_nl_waiting = False
++ elif comments and not line_toks:
+ log.warning('Ignoring docstring comment block followed by '
+ 'a blank line in %r on line %r' %
+ (module_doc.filename, srow-1))
+@@ -578,6 +604,7 @@
+
+ # Comment token: add to comments if appropriate.
+ elif toktype == tokenize.COMMENT:
++ comment_nl_waiting = not comment_includes_nl
+ if toktext.startswith(COMMENT_DOCSTRING_MARKER):
+ comment_line = toktext[len(COMMENT_DOCSTRING_MARKER):].rstrip()
+ if comment_line.startswith(" "):
diff --git a/dev-python/epydoc/metadata.xml b/dev-python/epydoc/metadata.xml
new file mode 100644
index 000000000000..eec5b980b54c
--- /dev/null
+++ b/dev-python/epydoc/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ Epydoc is a python documentation system without output similar to javadoc.
+ Epydoc uses python doc-strings, importing modules, and introsepction in
+ order to do its thing -- if your modules are not safe to import, you
+ should look for another tool. Documentation mark-up is done with restructed
+ text (reST).
+ </longdescription>
+ <longdescription lang="ja">
+ Epydocã¯ã€Javadocã«ä¼¼ãŸå‡ºåŠ›ã‚’ã™ã‚‹ä»¥å¤–ã¯Python言語ã®ãŸã‚ã®
+ ドキュメンテーションシステムã§ã™ã€‚Epydocã¯doc-stringsを使ã„ã€
+ モジュールをインãƒãƒ¼ãƒˆã—ã€ãれらãŒè‡ªå·±&gt;分æžã—ãŸã‚‚ã®ã‚’使ã„ã¾ã™ã€‚
+ -- ã‚‚ã—ã‚ãªãŸãŒæŒ‡å®šã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ã«ã¯å®‰
+ å…¨ã§ãªã„ã®ã ã¨ã—ãŸã‚‰ã€ä»–ã®ãƒ„ールを使ã†ã¹ãã§ã™ã€‚ドキュメンテーション
+ ã®æ›¸å¼ã¯å†æ§‹é€ çš„文章(reST)ã§ã™ã€‚
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">epydoc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/errorhandler/Manifest b/dev-python/errorhandler/Manifest
new file mode 100644
index 000000000000..38b3f945bbb8
--- /dev/null
+++ b/dev-python/errorhandler/Manifest
@@ -0,0 +1 @@
+DIST errorhandler-1.1.1.tar.gz 8321 SHA256 2baa97a8a256fe72960d196bbdee4404162186f539c4d73b3f1c072db18463e9 SHA512 a2f875537103086be956becfdac25a43a646a89b404b6a7a2a243c6d2ddbc29d55948b781529d0a0fa82b163187747f3396b62ed0be98d39834de038cc4a1fd2 WHIRLPOOL dd296200b2a451ae36225122d69e215e463a777ca162ed4b98067e146080e5fa91fd4ee8a219fc0999a05461aa69c712866e57c3b31c9a19366d82ea8efdad8a
diff --git a/dev-python/errorhandler/errorhandler-1.1.1-r2.ebuild b/dev-python/errorhandler/errorhandler-1.1.1-r2.ebuild
new file mode 100644
index 000000000000..5c40874590c1
--- /dev/null
+++ b/dev-python/errorhandler/errorhandler-1.1.1-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Logging framework handler that tracks when messages above a certain level have been logged"
+HOMEPAGE="http://pypi.python.org/pypi/errorhandler"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="
+ dev-python/pkginfo[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/docs.patch
+)
+
+python_prepare_all() {
+ sed -e 's:../bin/sphinx-build:/usr/bin/sphinx-build:' -i docs/Makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" -c "import errorhandler.tests as et, unittest; \
+ unittest.TextTestRunner().run(et.test_suite())" \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/errorhandler/files/docs.patch b/dev-python/errorhandler/files/docs.patch
new file mode 100644
index 000000000000..10c704d6fec3
--- /dev/null
+++ b/dev-python/errorhandler/files/docs.patch
@@ -0,0 +1,12 @@
+diff -ur errorhandler-1.1.1.orig/docs/conf.py errorhandler-1.1.1/docs/conf.py
+--- docs/conf.py 2009-11-07 20:08:10.000000000 +0800
++++ docs/conf.py 2013-06-07 14:05:17.321475285 +0800
+@@ -8,8 +8,6 @@
+ 'sphinx.ext.intersphinx'
+ ]
+
+-intersphinx_mapping = {'http://docs.python.org/dev': None}
+-
+ # General
+ source_suffix = '.txt'
+ master_doc = 'index'
diff --git a/dev-python/errorhandler/files/errorhandler-1.1.1-test.patch b/dev-python/errorhandler/files/errorhandler-1.1.1-test.patch
new file mode 100644
index 000000000000..126b508b9923
--- /dev/null
+++ b/dev-python/errorhandler/files/errorhandler-1.1.1-test.patch
@@ -0,0 +1,9 @@
+diff -ur errorhandler-1.1.1.orig/errorhandler/tests.py errorhandler-1.1.1/errorhandler/tests.py
+--- errorhandler/tests.py 2010-03-01 16:41:46.000000000 +0800
++++ errorhandler/tests.py 2012-04-26 02:28:11.991954681 +0800
+@@ -134,3 +134,5 @@
+ tearDown=tearDown,
+ optionflags=options),
+ ))
++if __name__ == "__main__":
++ unittest.main()
diff --git a/dev-python/errorhandler/metadata.xml b/dev-python/errorhandler/metadata.xml
new file mode 100644
index 000000000000..917f28e01575
--- /dev/null
+++ b/dev-python/errorhandler/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">errorhandler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ets/Manifest b/dev-python/ets/Manifest
new file mode 100644
index 000000000000..5a73bd67d29c
--- /dev/null
+++ b/dev-python/ets/Manifest
@@ -0,0 +1 @@
+DIST ets-4.4.1.tar.gz 5074 SHA256 af3614663dda07a03380960d30f36752f07e4c00debfd991cfe11b4726fd2c85 SHA512 50e8b0a4777e2ba433366ea6a34ef7c31ed9f41b2d662360839aa2ebaf40b0a9c613b3c472518be0931c5f523a7b383a382e9bd401e7b713f29337d4fd3a2c35 WHIRLPOOL 6ff5a49976767c068f65a04d9b7953d21e7eb58fbb0959b67f2237d839ed3bbaed729f1cb741d07262297d4b1d8e1be01b9fcd89daaea3c9e5b835863c848c8d
diff --git a/dev-python/ets/ets-4.4.1.ebuild b/dev-python/ets/ets-4.4.1.ebuild
new file mode 100644
index 000000000000..907d9d856338
--- /dev/null
+++ b/dev-python/ets/ets-4.4.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Meta package for the Enthought Tool Suite"
+HOMEPAGE="http://code.enthought.com/projects/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+# see the setup_data.py file for version numbers
+RDEPEND="
+ >=dev-python/apptools-4.2.0[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/blockcanvas-4.0.3[doc?,${PYTHON_USEDEP}]
+ >=dev-python/casuarius-1.1[${PYTHON_USEDEP}]
+ >=dev-python/chaco-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/codetools-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/enable-4.3.0[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/enaml-0.6.8[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/encore-0.4.0[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/envisage-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/etsdevtools-4.0.2[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/etsproxy-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/graphcanvas-4.0.2[examples?,${PYTHON_USEDEP}]
+ >=sci-visualization/mayavi-4.3.0[doc?,examples?,${PYTHON_USEDEP}]
+ >=dev-python/pyface-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/scimath-4.1.2[doc?,${PYTHON_USEDEP}]
+ >=dev-python/traits-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/traitsui-4.4.0[${PYTHON_USEDEP}]"
+
+DEPEND=""
diff --git a/dev-python/ets/metadata.xml b/dev-python/ets/metadata.xml
new file mode 100644
index 000000000000..842e52c76104
--- /dev/null
+++ b/dev-python/ets/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ The Enthought Tool Suite (ETS) is a collection of Python components
+ developed by Enthought and its partners to construct custom scientific
+ applications. It includes a wide variety of components including:
+ * An extensible application framework
+ * Application building blocks
+ * 2-D and 3-D graphics libraries
+ * Scientific and math libraries
+ * Developer tools
+ This metapackage contains the dependencies for installing all of the
+ components comprised by the suite.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">ets</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/etsdevtools/Manifest b/dev-python/etsdevtools/Manifest
new file mode 100644
index 000000000000..8c05a21dd375
--- /dev/null
+++ b/dev-python/etsdevtools/Manifest
@@ -0,0 +1 @@
+DIST etsdevtools-4.0.2.tar.gz 4222266 SHA256 6b0e8906deab4cbb449e2be559526f0a958c062678b70b04a6978a7c00fb6310 SHA512 41e88997d74397f8780c47c87080629661790aefaabeb9463503f7a7331aefbb7ba42a9754382f43adf6143c28db999af70b287a221b8cdbd44b2b7443b2b23d WHIRLPOOL 9dedd133088d6b40d1f923c984371aecc2fc0ebd4a930bec5f4948e3e5c304b2a41b6e6c2749a49dc77b24f74872aa93311321a8c4daa83da2f0098848ab7662
diff --git a/dev-python/etsdevtools/etsdevtools-4.0.2-r1.ebuild b/dev-python/etsdevtools/etsdevtools-4.0.2-r1.ebuild
new file mode 100644
index 000000000000..36a5262147c2
--- /dev/null
+++ b/dev-python/etsdevtools/etsdevtools-4.0.2-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=python2_7
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Tools to support Python development"
+HOMEPAGE="http://code.enthought.com/projects/dev_tools.php http://pypi.python.org/pypi/etsdevtools"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/traits[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ >=dev-python/traitsui-4[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-apps/xhost
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests -v" virtualmake
+}
+
+python_install_all() {
+ find -name "*LICENSE*.txt" -delete
+ use doc && dohtml -r docs/build/html/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/etsdevtools/metadata.xml b/dev-python/etsdevtools/metadata.xml
new file mode 100644
index 000000000000..c89897249522
--- /dev/null
+++ b/dev-python/etsdevtools/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The ETSDevTools project from the Enthought Tool Suite includes a
+ set of packages that can be used during the development of a
+ software project, for understanding, debugging, testing, and
+ inspecting code:
+ * Enthought Developer Tool Suite (enthought.developer): A
+ collection of utilities, designed to ease the development and
+ debugging of Traits-based programs. They can be used as plug-ins
+ to your Envisage application while you are developing it, and then
+ removed when you are ready to release it.
+ * Endo: A Traits-aware tool for processing API documentation of
+ Python code. It extracts not only docstrings, but also plain
+ comments that immediately precede variable assignments (both
+ module-scope variables and class attributes).
+ * enthought.guitest: A collection of utilities for unit testing
+ user interfaces (translation of the Perl X11::GUITest and
+ Win32::GuiTest modules).
+ * enthought.testing: Scripts related to running unit tests, based
+ on testoob, and also allowing running test suites in separate
+ processes and aggregating the results.
+ * enthought.debug: A collection of debugging tools, not to be
+ included in production code. NOTE: These tools are functional, but
+ are not being developed or supported. They have been mainly
+ superceded by the tools in the Enthought Developer Tool Suite.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/etsproxy/Manifest b/dev-python/etsproxy/Manifest
new file mode 100644
index 000000000000..0a233155bb61
--- /dev/null
+++ b/dev-python/etsproxy/Manifest
@@ -0,0 +1 @@
+DIST etsproxy-0.1.2.tar.gz 119646 SHA256 be852bc033396a89ea8d567174d07009f6e25e74ccb8d096a365475a37e93eae SHA512 f97a55127f6c1200a5a0bf581f24fc2718b8619c9cd137158c9c28511f2ad9c7a0a03998931bab25c193ed540d96d2325f390052591c8239ea7ea06cf5fd98ae WHIRLPOOL 08256398503fa674221087faefd882f7ed27d8e93eea48773c802106fe979034d6dae90660db8b689a44afa2359fe420ff2b851afd54e69c2a694ee9b80a6881
diff --git a/dev-python/etsproxy/etsproxy-0.1.2-r1.ebuild b/dev-python/etsproxy/etsproxy-0.1.2-r1.ebuild
new file mode 100644
index 000000000000..30df6d955579
--- /dev/null
+++ b/dev-python/etsproxy/etsproxy-0.1.2-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Enthought Tool Suite: Proxy modules for backwards compatibility"
+HOMEPAGE="http://pypi.python.org/pypi/etsproxy"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="!<dev-python/apptools-4
+ !<dev-python/blockcanvas-4
+ !<dev-python/chaco-4
+ !<dev-python/codetools-4
+ !<dev-python/enable-4
+ !<dev-python/enthoughtbase-4
+ !<dev-python/envisagecore-4
+ !<dev-python/envisageplugins-4
+ !<dev-python/etsdevtools-4
+ !<dev-python/etsprojecttools-4
+ !<dev-python/graphcanvas-4
+ !<sci-visualization/mayavi-4
+ !<dev-python/scimath-4
+ !<dev-python/traits-4
+ !<dev-python/traitsbackendwx-4
+ !<dev-python/traitsbackendqt-4
+ !<dev-python/traitsgui-4"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/etsproxy/metadata.xml b/dev-python/etsproxy/metadata.xml
new file mode 100644
index 000000000000..aead56b67231
--- /dev/null
+++ b/dev-python/etsproxy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ This is the ETS proxy package, it contains the proxy modules for all
+ ETS projects which map the old enthought namespace imports to the
+ namespace-refactored ETS packages. It should be only needed to
+ switch from ETS-3 to ETS-4 packages.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/eunuchs/Manifest b/dev-python/eunuchs/Manifest
new file mode 100644
index 000000000000..ccae4e0926ba
--- /dev/null
+++ b/dev-python/eunuchs/Manifest
@@ -0,0 +1 @@
+DIST eunuchs_20050320.1.tar.gz 8448 SHA256 2ca782d49b4065b37226f2a3f839e73d5d4c78d661ec9d2cf6219887135f9408 SHA512 b3272de7ac2a41c2c632aa17424dcc74ef3b6d536be5684bd54e4f22ce2d7c6546ac7b1b7cef2611f00b467780b11a30eca9c8804c0f8839a13adff6894ce88d WHIRLPOOL 7b39613719bbb0c228a7702fdfe56a96d8e90057dabb9c4a1abe56f8c590524275dc321d92f10eb78990480b12f87115d2f93c016b35c4320ea4bed2727321da
diff --git a/dev-python/eunuchs/eunuchs-20050320.1-r1.ebuild b/dev-python/eunuchs/eunuchs-20050320.1-r1.ebuild
new file mode 100644
index 000000000000..ee99e2d78355
--- /dev/null
+++ b/dev-python/eunuchs/eunuchs-20050320.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Missing manly parts of UNIX API for Python"
+HOMEPAGE="http://www.inoi.fi/open/trac/eunuchs http://pypi.python.org/pypi/python-eunuchs"
+SRC_URI="mirror://debian/pool/main/e/${PN}/${PN}_${PV}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ia64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}/${P}-python-2.5.patch" )
+DOCS=( examples/ )
+
+python_test() {
+ ${PYTHON} examples/test-socketpair.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/eunuchs/files/eunuchs-20050320.1-python-2.5.patch b/dev-python/eunuchs/files/eunuchs-20050320.1-python-2.5.patch
new file mode 100644
index 000000000000..dfad7a8dce79
--- /dev/null
+++ b/dev-python/eunuchs/files/eunuchs-20050320.1-python-2.5.patch
@@ -0,0 +1,11 @@
+--- lib/eunuchs/sendmsg.c
++++ lib/eunuchs/sendmsg.c
+@@ -101,7 +101,7 @@
+ real_controllen += CMSG_SPACE(sizeof *info);
+ } else {
+ char *data;
+- int len;
++ Py_ssize_t len;
+
+ if (PyString_AsStringAndSize(rest, &data, &len))
+ return NULL; // TODO leaks
diff --git a/dev-python/eunuchs/metadata.xml b/dev-python/eunuchs/metadata.xml
new file mode 100644
index 000000000000..1bf73a685396
--- /dev/null
+++ b/dev-python/eunuchs/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Eunuchs is a library of Python extensions that complement the
+ standard libraries in parts where full support for the UNIX API (or
+ the Linux API) is missing.
+
+ Most of the functions wrapped by Eunuchs are low-level, dirty, but
+ absolutely necessary functions for real systems programming. The aim
+ is to have the functions added to mainstream Python libraries.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/eventlet/Manifest b/dev-python/eventlet/Manifest
new file mode 100644
index 000000000000..a28398c4ad57
--- /dev/null
+++ b/dev-python/eventlet/Manifest
@@ -0,0 +1,4 @@
+DIST eventlet-0.13.0.tar.gz 276599 SHA256 d98118f01c064a6d256a264d4b939b2c6ad0814875c3b37859306c6ed1b4982c SHA512 eed2e4b648922c8a012938f5a3a06db6a7fc8ffb98f710e47c757a1410aa984865ca8fe4e4012e00ad2e16e9208222ed44d7e495c967090bab38d51170090d53 WHIRLPOOL 55b5926135b83d967b7bf0e691d9977f3455f30e096e4d1fda1e27cad51125afd47cc750155b3d70e5d7f0f8fd65e73091eb6add646186e268c53e62eabc23af
+DIST eventlet-0.15.2.tar.gz 301581 SHA256 eaec368ce7b819f8615dcb51f63dcb5c910538cdedc99e4bba4c90ed0bf70fdc SHA512 1166d480ecca9ba01b3c660b79168895c938ace33f1b8244f184c306de6e99302a1b131cc0ad6c363d65b04ccd7fb58107a39a669b9817ec43c5c167e12c3ec5 WHIRLPOOL 1754607a5702404a71b8698fefe9f399b9761ed3b22b9ff5ed85b358c6354f4e280b2861e3537d927daa279eaa09b3b760da0de85a1a1bcbe9d1633427e4f2ae
+DIST eventlet-0.17.1.tar.gz 277110 SHA256 de9c23eb94e55150b25150822a28f91656028987353fef3f687cc285d018dd5a SHA512 c39158c9b60d2bc615abfaf93fc76e32017e57c389f148080ec30ac0fdb090a53fbb6bf24a361845772e02d330fc5b9e6682d77228b811f499b9a8c86452c2eb WHIRLPOOL c6fe8d5abb83fd304887281614b87d59125be7bfd478ab76bd882dd1e9fca16a64acab60b7012bb6283d99d88937a313b84bf818728839d320e8f537421bc83f
+DIST eventlet-0.17.4.tar.gz 284480 SHA256 8721e9714eaff8d20f2407e0d3a80069db6b57c9226c26ee9db25c541d06556d SHA512 fee3ef0ebe7aaf8cb87283af71ca8902c4480b47cf2109be96e6fcbcf25a743e411715fa73b31e820b152ef4403ccbd5a45117e69565e8e49fd1795a5cc19e3d WHIRLPOOL e78344ac9e7f7f1c4bd6fc65f0a35dec317c10b12821a73dc875d79a94e36f16ddda5551e3326c600ea553ef05382b4cd2f7a88b6600899ae74a8b4556eb155e
diff --git a/dev-python/eventlet/eventlet-0.13.0.ebuild b/dev-python/eventlet/eventlet-0.13.0.ebuild
new file mode 100644
index 000000000000..3bb3d9b5656a
--- /dev/null
+++ b/dev-python/eventlet/eventlet-0.13.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Highly concurrent networking library"
+HOMEPAGE="http://pypi.python.org/pypi/eventlet"
+SRC_URI="mirror://pypi/e/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/greenlet-0.3[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # Tests bind to static addresses, bug #456920
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/eventlet/eventlet-0.15.2.ebuild b/dev-python/eventlet/eventlet-0.15.2.ebuild
new file mode 100644
index 000000000000..c9a554c15a5a
--- /dev/null
+++ b/dev-python/eventlet/eventlet-0.15.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Highly concurrent networking library"
+HOMEPAGE="http://pypi.python.org/pypi/eventlet https://github.com/eventlet/eventlet/"
+SRC_URI="mirror://pypi/e/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/greenlet-0.3[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )
+ test? ( ${RDEPEND}
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ # Prevent file collisions from teestsuite
+ sed -e "s:'tests', :'tests', 'tests.*', :" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://github.com/eventlet/eventlet/issues/152
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # Tests bind to static addresses, bug #456920
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ # Several errors 1 failure
+ # https://github.com/eventlet/eventlet/issues/151
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/eventlet/eventlet-0.17.1.ebuild b/dev-python/eventlet/eventlet-0.17.1.ebuild
new file mode 100644
index 000000000000..b78e9421892e
--- /dev/null
+++ b/dev-python/eventlet/eventlet-0.17.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Highly concurrent networking library"
+HOMEPAGE="http://pypi.python.org/pypi/eventlet https://github.com/eventlet/eventlet/"
+SRC_URI="mirror://pypi/e/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/greenlet-0.3[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )
+ test? ( ${RDEPEND}
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ if use test; then
+# sed -i '/This is a Python 3 module/d' eventlet/green/http/__init__.py || die
+# sed -i 's/^import/from OpenSSL import/g' eventlet/green/OpenSSL/__init__.py || die
+# sed -i 's/^from version/from OpenSSL.version/' eventlet/green/OpenSSL/__init__.py || die
+ sed -i 's/TEST_TIMEOUT = 1/TEST_TIMEOUT = 10/' tests/__init__.py || die
+ fi
+
+ # Prevent file collisions from teestsuite
+ sed -e "s:'tests', :'tests', 'tests.*', :" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://github.com/eventlet/eventlet/issues/152
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # Several errors 1 failure
+ # https://github.com/eventlet/eventlet/issues/151
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/eventlet/eventlet-0.17.4.ebuild b/dev-python/eventlet/eventlet-0.17.4.ebuild
new file mode 100644
index 000000000000..3c13f1657ebe
--- /dev/null
+++ b/dev-python/eventlet/eventlet-0.17.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Highly concurrent networking library"
+HOMEPAGE="http://pypi.python.org/pypi/eventlet https://github.com/eventlet/eventlet/"
+SRC_URI="mirror://pypi/e/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/greenlet-0.3[${PYTHON_USEDEP}]"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )
+ test? ( ${RDEPEND}
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ if use test; then
+# sed -i '/This is a Python 3 module/d' eventlet/green/http/__init__.py || die
+# sed -i 's/^import/from OpenSSL import/g' eventlet/green/OpenSSL/__init__.py || die
+# sed -i 's/^from version/from OpenSSL.version/' eventlet/green/OpenSSL/__init__.py || die
+ sed -i 's/TEST_TIMEOUT = 1/TEST_TIMEOUT = 10/' tests/__init__.py || die
+ fi
+
+ # Prevent file collisions from teestsuite
+ sed -e "s:'tests', :'tests', 'tests.*', :" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://github.com/eventlet/eventlet/issues/152
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # Several errors 1 failure
+ # https://github.com/eventlet/eventlet/issues/151
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/eventlet/metadata.xml b/dev-python/eventlet/metadata.xml
new file mode 100644
index 000000000000..fba4a2799889
--- /dev/null
+++ b/dev-python/eventlet/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">eventlet</remote-id>
+ <remote-id type="github">eventlet/eventlet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/execnet/Manifest b/dev-python/execnet/Manifest
new file mode 100644
index 000000000000..82658ac0e0f6
--- /dev/null
+++ b/dev-python/execnet/Manifest
@@ -0,0 +1,2 @@
+DIST execnet-1.2.0.tar.gz 163876 SHA256 951714caa0ae80237f4ffc1f08450e9e2e5f8f902beaf1ad294020875d6f8c2c SHA512 bf4eb1c07832628863f3d315510628343bc4504050311a277a86100a825df8ed5f6b65f58db28ea6733f3886b6007eae7fd33586721374f9ffb3687e9b95d5c4 WHIRLPOOL 898d9427d55e316f2cdfe06d8dadd0f40d8d2374802b419c9b7aac279eed36919f8dc0084c9c253b3b3d75e9dd50ec2748ef2227e803bf900d7d8b0d5395c45e
+DIST execnet-1.3.0.tar.gz 170489 SHA256 ecdfd5613cc78fe99aaf3e351bc870d1428202d78744ea48c893bf34a1fcbdbe SHA512 b047639ede7f5eeb600358bf983d1db617438a8ed9dcaa6e0ba470fe15703f2ce8d3f413a6b6dc575c0090744fde82ba3ba0e684bdeda86a6261941125c71a10 WHIRLPOOL 54d6cebfabcabfd5c3baebadd66fe8837c79cead4900ec1b9d55478d2eb2cbd77be9dfbb108b4049836b5cd316316bd4304b11377d372e5d5b8ef23f684e5838
diff --git a/dev-python/execnet/execnet-1.2.0-r2.ebuild b/dev-python/execnet/execnet-1.2.0-r2.ebuild
new file mode 100644
index 000000000000..ffc44038b52d
--- /dev/null
+++ b/dev-python/execnet/execnet-1.2.0-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="http://codespeak.net/execnet/ http://pypi.python.org/pypi/execnet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/1.2.0-tests.patch )
+
+python_prepare_all() {
+ # Remove doctest that access an i'net site
+ rm doc/example/test_info.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # https://bitbucket.org/hpk42/execnet/issue/10
+ unset PYTHONDONTWRITEBYTECODE
+ py.test testing || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/execnet/execnet-1.3.0.ebuild b/dev-python/execnet/execnet-1.3.0.ebuild
new file mode 100644
index 000000000000..79473245bf26
--- /dev/null
+++ b/dev-python/execnet/execnet-1.3.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="http://codespeak.net/execnet/ http://pypi.python.org/pypi/execnet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+#PATCHES=( "${FILESDIR}"/1.2.0-tests.patch )
+
+python_prepare_all() {
+ # Remove doctest that access an i'net site
+ rm doc/example/test_info.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # https://bitbucket.org/hpk42/execnet/issue/10
+ unset PYTHONDONTWRITEBYTECODE
+ py.test testing || die "Tests fail with ${EPYTHON}"
+
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/execnet/files/1.2.0-tests.patch b/dev-python/execnet/files/1.2.0-tests.patch
new file mode 100644
index 000000000000..13bed5d59605
--- /dev/null
+++ b/dev-python/execnet/files/1.2.0-tests.patch
@@ -0,0 +1,115 @@
+# HG changeset patch
+# User holger krekel <holger@merlinux.eu>
+# Date 1412585605 -7200
+# Node ID c9303c302995a4fb844553d4977c55abc72e2020
+# Parent 47ff3652b0aed191f7bafc741c211d1415f65224
+fix issue35: adapt some doctests, fix some channel tests for py3.
+Also modernize tox.ini a bit.
+--rebased
+diff -ur execnet-1.2.0.orig/doc/example/test_group.txt execnet-1.2.0/doc/example/test_group.txt
+--- doc/example/test_group.txt 2014-01-29 19:50:22.000000000 +0800
++++ doc/example/test_group.txt 2014-10-10 19:51:00.108828123 +0800
+@@ -14,7 +14,7 @@
+ >>> group
+ <Group ['gw0', 'gw1']>
+ >>> list(group)
+- [<PopenGateway id='gw0' receive-live, 0 active channels>, <PopenGateway id='gw1' receive-live, 0 active channels>]
++ [<Gateway id='gw0' receive-live, thread model, 0 active channels>, <Gateway id='gw1' receive-live, thread model, 0 active channels>]
+ >>> 'gw0' in group and 'gw1' in group
+ True
+ >>> group['gw0'] == group[0]
+@@ -37,7 +37,7 @@
+ >>> gw = group.makegateway("popen//id=sub1")
+ >>> assert gw.id == "sub1"
+ >>> group['sub1']
+- <PopenGateway id='sub1' receive-live, 0 active channels>
++ <Gateway id='sub1' receive-live, thread model, 0 active channels>
+
+ Getting (auto) IDs before instantiation
+ ------------------------------------------------------
+diff -ur execnet-1.2.0.orig/doc/example/test_proxy.txt execnet-1.2.0/doc/example/test_proxy.txt
+--- doc/example/test_proxy.txt 2014-01-29 19:50:22.000000000 +0800
++++ doc/example/test_proxy.txt 2014-10-10 19:16:50.380156509 +0800
+@@ -18,10 +18,10 @@
+ >>> group.defaultspec = 'popen//via=master'
+ >>> master = group.makegateway('popen//id=master')
+ >>> master
+- <Gateway id='master' receive-live, 0 active channels>
++ <Gateway id='master' receive-live, thread model, 0 active channels>
+ >>> slave = group.makegateway()
+ >>> slave
+- <Gateway id='gw0' receive-live, 0 active channels>
++ <Gateway id='gw0' receive-live, thread model, 0 active channels>
+ >>> group
+ <Group ['master', 'gw0']>
+
+diff -ur execnet-1.2.0.orig/testing/test_channel.py execnet-1.2.0/testing/test_channel.py
+--- testing/test_channel.py 2014-01-29 19:50:22.000000000 +0800
++++ testing/test_channel.py 2014-10-10 19:21:00.943955387 +0800
+@@ -68,25 +68,19 @@
+
+ def test_channel_error_reporting(self, gw):
+ channel = gw.remote_exec('def foo():\n return foobar()\nfoo()\n')
+- try:
+- channel.receive()
+- except channel.RemoteError:
+- e = sys.exc_info()[1]
+- assert str(e).startswith('Traceback (most recent call last):')
+- assert str(e).find('NameError: global name \'foobar\' '
+- 'is not defined') > -1
+- else:
+- pytest.fail('No exception raised')
++ excinfo = pytest.raises(channel.RemoteError, channel.receive)
++ msg = str(excinfo.value)
++ assert msg.startswith('Traceback (most recent call last):')
++ assert "NameError" in msg
++ assert "foobar" in msg
+
+ def test_channel_syntax_error(self, gw):
+ # missing colon
+ channel = gw.remote_exec('def foo()\n return 1\nfoo()\n')
+- try:
+- channel.receive()
+- except channel.RemoteError:
+- e = sys.exc_info()[1]
+- assert str(e).startswith('Traceback (most recent call last):')
+- assert str(e).find('SyntaxError') > -1
++ excinfo = pytest.raises(channel.RemoteError, channel.receive)
++ msg = str(excinfo.value)
++ assert msg.startswith('Traceback (most recent call last):')
++ assert "SyntaxError" in msg
+
+ def test_channel_iter(self, gw):
+ channel = gw.remote_exec("""
+diff -ur execnet-1.2.0.orig/tox.ini execnet-1.2.0/tox.ini
+--- tox.ini 2014-01-29 19:50:22.000000000 +0800
++++ tox.ini 2014-10-10 20:14:22.806301771 +0800
+@@ -1,16 +1,11 @@
+ [tox]
+-envlist=py26,py27,py32,py33,pypy,flakes
+-distshare={homedir}/.tox/distshare
+-
+-[tox:hudson]
+-distshare={toxworkdir}/distshare
+-sdistsrc={distshare}/execnet-*
++envlist=py26,py27,py33,py34,pypy,flakes
+
+ [testenv]
+ changedir=testing
+ deps=pytest
+ pytest-timeout
+-commands=py.test -rsfxX --junitxml={envlogdir}/junit-{envname}.xml []
++commands=py.test -rsfxX {posargs}
+
+ [testenv:flakes]
+ changedir=
+@@ -26,8 +21,7 @@
+ deps=sphinx
+ pytest
+ commands=
+- py.test \
+- -rsfxX -v --junitxml={envlogdir}/junit-{envname}.xml check_sphinx.py
++ py.test -rsfxX -v check_sphinx.py
+
+ [pytest]
+ timeout = 20
diff --git a/dev-python/execnet/metadata.xml b/dev-python/execnet/metadata.xml
new file mode 100644
index 000000000000..e0ad54d79cae
--- /dev/null
+++ b/dev-python/execnet/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Interact with Python interpreters
+ across version, platform and network barriers.</longdescription>
+ <upstream>
+ <remote-id type="pypi">execnet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/expects/Manifest b/dev-python/expects/Manifest
new file mode 100644
index 000000000000..97781582990d
--- /dev/null
+++ b/dev-python/expects/Manifest
@@ -0,0 +1,5 @@
+DIST expects-0.2.1.tar.gz 22474 SHA256 0c70230281f68c4c93a4a1ba98da37ccc2529c849a28c555ab93050f2a084321 SHA512 c7a51f35e4c1468df19838b9dd74a9fe214c906b7bbf203f61841d2f0cfe60cffd1388b841a39ce14a59394594e148cbaf1777b08b90879136421186ab757585 WHIRLPOOL 0e62e27c4d96156463c1b8001459c6795a4398b7ec8a23283c3bccba7cbe4feb0a763e6086c2ffda7762d82e2a481812049f6920ccbade9e27e6046cf58601b0
+DIST expects-0.4.2.tar.gz 23813 SHA256 b1e0b27141f784fe81a143153f23d3c8220fe8ec1003eb580b3eeb38eb778007 SHA512 6701a1a3099073c70d8f729b7ca72e4b9b3eb6d6f9e7d6d2d654a3b684c5ab101c343b4c3556f45d763ab1479dbc3eb3db209c4d9f5d2254cc4111e74a4a3c1a WHIRLPOOL 44ef85ca96225c22f91468e8b8b6368a26138f0fb9ee22dc89c282fb91adf4425d177ba62891239515affc639053165c6080f972c9435619c50a47fd81a27894
+DIST expects-0.7.1.tar.gz 398062 SHA256 8c6c26b41877f8133b8bdbef1dda2eeb49367f63909e93aee6402c93db37d08f SHA512 969fe68d9978e1d22a0ef3cfcd2072ca5aaefcfaa52e9aa3b20791fc9e82a4cd7962096320b1898a9bdb64803174c15908351966fc5bcdbbe54954fbe85962cc WHIRLPOOL 9a7c6d48943f3ca14657ffa603c1d353d440c39b5ca51c29dccc15936dd3897a72a7951cef95305f07a01ed5659a53df1920b14208e66b141a1c5348cc83cd30
+DIST expects-0.7.2.tar.gz 398201 SHA256 ed72a184c2453b4f244cf887ee4545ac40dc0d88a1a224eabf150980a88877a9 SHA512 55db29e2bbba881933bf5d28e38f2c1e1087b4e43f15359a2af40e91066658973244fac4dcaf7eca79d6006d78d232232acbd1a2fc03ec1df62223e1226fb94a WHIRLPOOL 9eae839eb607f29f57be70e39fc6adb02fa8b9038d070016c090f75dec5ce05528fd3d18ca72e1d2aaa4205df31f20521fc23ad741b1b73b54262ac273e9e14e
+DIST expects-0.8.0_rc1.tar.gz 27424 SHA256 3822d470c3bebe749928e360e7bfdecf0ac6541717040de31cb265f1372dfb43 SHA512 5130b545164fdb8d8306b5d4fc3d83dcfaf9bb56428b9140def434bb1339b479568ba7aab88f5eedf646cadca12ee331163af5be0937633049baf695b309653b WHIRLPOOL 951ab90c1b3c143b3109676207c5f2a5480238555d10662f45c1a1336618c0e38307801aa0e61fc8bc978d333f3f44cd64da811742ebc65008815e635d0536d9
diff --git a/dev-python/expects/expects-0.2.1.ebuild b/dev-python/expects/expects-0.2.1.ebuild
new file mode 100644
index 000000000000..51fcf020d5c5
--- /dev/null
+++ b/dev-python/expects/expects-0.2.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="https://github.com/jaimegildesagredo/expects"
+SRC_URI="https://github.com/jaimegildesagredo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ~dev-python/mamba-0.6[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ mamba || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/expects/expects-0.4.2.ebuild b/dev-python/expects/expects-0.4.2.ebuild
new file mode 100644
index 000000000000..9de15d2664c1
--- /dev/null
+++ b/dev-python/expects/expects-0.4.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="https://github.com/jaimegildesagredo/expects"
+SRC_URI="https://github.com/jaimegildesagredo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/mamba-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/mamba-0.9[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ mamba || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/expects/expects-0.7.1.ebuild b/dev-python/expects/expects-0.7.1.ebuild
new file mode 100644
index 000000000000..5021b32a0c24
--- /dev/null
+++ b/dev-python/expects/expects-0.7.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="https://github.com/jaimegildesagredo/expects"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mamba[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ mamba || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/expects/expects-0.7.2.ebuild b/dev-python/expects/expects-0.7.2.ebuild
new file mode 100644
index 000000000000..5021b32a0c24
--- /dev/null
+++ b/dev-python/expects/expects-0.7.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="https://github.com/jaimegildesagredo/expects"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mamba[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ mamba || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/expects/expects-0.8.0_rc1.ebuild b/dev-python/expects/expects-0.8.0_rc1.ebuild
new file mode 100644
index 000000000000..f96e4611ab67
--- /dev/null
+++ b/dev-python/expects/expects-0.8.0_rc1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+MY_PV=${PV/_/}
+
+DESCRIPTION="Expressive and extensible TDD/BDD assertion library for Python"
+HOMEPAGE="https://github.com/jaimegildesagredo/expects"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${PN}-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mamba[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ mamba || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/expects/metadata.xml b/dev-python/expects/metadata.xml
new file mode 100644
index 000000000000..eaa12ec40d98
--- /dev/null
+++ b/dev-python/expects/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">expects</remote-id>
+ <remote-id type="github">jaimegildesagredo/expects</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/extras/Manifest b/dev-python/extras/Manifest
new file mode 100644
index 000000000000..5f95b344395e
--- /dev/null
+++ b/dev-python/extras/Manifest
@@ -0,0 +1 @@
+DIST extras-0.0.3.tar.gz 6231 SHA256 7a60d84cb661b477c41a5ea35e931ae93860af8cd259ecc0a38a32ef1ae9ffc0 SHA512 7b08d094717a27fbb522d49c0c538e98baccef6540216479d176b55b94f3f0b97c4b70ed48f3802a1bf08a58fe9a319a113d4ca04d9dadcb85e3a99bf7490a3c WHIRLPOOL a80db53c4b536d1a98c03237cc56607ca477619d1789a4a4c4795c843212eb1bdc64f0fe2a0ae1d4a4bab351ec68e07acb9ae494e537630ba841826116121d2c
diff --git a/dev-python/extras/extras-0.0.3.ebuild b/dev-python/extras/extras-0.0.3.ebuild
new file mode 100644
index 000000000000..d066a64c0dd5
--- /dev/null
+++ b/dev-python/extras/extras-0.0.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Useful extra bits for Python that should be in the standard library"
+HOMEPAGE="https://github.com/testing-cabal/extras/ http://pypi.python.org/pypi/extras/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/testtools[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" ${PN}/tests/test_extras.py || die
+ einfo "test_extras passed under ${EPYTHON}"
+}
diff --git a/dev-python/extras/metadata.xml b/dev-python/extras/metadata.xml
new file mode 100644
index 000000000000..2a25cb3f7f8f
--- /dev/null
+++ b/dev-python/extras/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">extras</remote-id>
+ <remote-id type="github">testing-cabal/extras</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/extremes/Manifest b/dev-python/extremes/Manifest
new file mode 100644
index 000000000000..6b26d634b3f2
--- /dev/null
+++ b/dev-python/extremes/Manifest
@@ -0,0 +1 @@
+DIST extremes-1.1.1.zip 10360 SHA256 e92564d2535929a18c51b75c8904e13ab5e78a6d75fee8c70d04e09812fc8545 SHA512 a0b951306e9d5ef84c6498268a3476e7ed889f0be950a529774e2d8c4f155d4c10cbacd20864ed37aea5512ba65a267e414eb2b4f7cc6d67b21a020d82da8ec2 WHIRLPOOL 67a3a7aa5b4f32497f262097d34ac750f34a89471290f7eb7b9a3a3491f36bc08e6db0341f852ca3f575767dc21a9b8d4f97a9f0d7ce68559eb2cb6564d51a55
diff --git a/dev-python/extremes/extremes-1.1.1.ebuild b/dev-python/extremes/extremes-1.1.1.ebuild
new file mode 100644
index 000000000000..444ed101a605
--- /dev/null
+++ b/dev-python/extremes/extremes-1.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="Extremes"
+DESCRIPTION="Production-quality 'Min' and 'Max' objects"
+HOMEPAGE="http://pypi.python.org/pypi/Extremes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip -> ${P}.zip"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="ZPL"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_test() {
+ "${PYTHON}" peak/util/extremes.py && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/extremes/metadata.xml b/dev-python/extremes/metadata.xml
new file mode 100644
index 000000000000..dbb8c8452512
--- /dev/null
+++ b/dev-python/extremes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Extremes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/eyeD3/Manifest b/dev-python/eyeD3/Manifest
new file mode 100644
index 000000000000..e8228841049f
--- /dev/null
+++ b/dev-python/eyeD3/Manifest
@@ -0,0 +1 @@
+DIST eyeD3-0.7.5.tgz 221685 SHA256 6a60f6dff7c8b74fee11eb378447b3bbbd2433ca5f7a00846840b0b2ddec9222 SHA512 9f57e05e4db78618e73ec15ca6ac7b983e13c24ae926bfb9194ee4fc1d735f80308dfc5bdac6016f5491bdb06d46b645d7ac54247d581467a8a22129fae85ba5 WHIRLPOOL 08c8e3771d263548e8f3213653f6846ee0d55ebd56816cddf03d80dd6d6b7d7906ef85045d13f599137e74ce0d59a76a4862a2ff5ae5d3e1637df7794a6cccbf
diff --git a/dev-python/eyeD3/eyeD3-0.7.5.ebuild b/dev-python/eyeD3/eyeD3-0.7.5.ebuild
new file mode 100644
index 000000000000..d7f3535b4ea2
--- /dev/null
+++ b/dev-python/eyeD3/eyeD3-0.7.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# still appears ill prepared for python3; see bugs 501338, 501340
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for manipulating ID3 (v1 + v2) tags in Python"
+HOMEPAGE="http://eyed3.nicfit.net/"
+SRC_URI="http://eyed3.nicfit.net/releases/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0.7"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/paver[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # prevent the build system from installing unwrapped bash script
+ # and prevent it from pulling optional python-magic
+ sed -i -e '/scripts/d' \
+ -e '/install_requires/d' pavement.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ sed -e "s:python:${EPYTHON}:" bin/eyeD3 > "${TMPDIR}"/eyeD3 || die
+ python_doexe "${TMPDIR}"/eyeD3
+}
diff --git a/dev-python/eyeD3/metadata.xml b/dev-python/eyeD3/metadata.xml
new file mode 100644
index 000000000000..414a5eeccf59
--- /dev/null
+++ b/dev-python/eyeD3/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/fabric/Manifest b/dev-python/fabric/Manifest
new file mode 100644
index 000000000000..89b337410dbd
--- /dev/null
+++ b/dev-python/fabric/Manifest
@@ -0,0 +1,3 @@
+DIST Fabric-1.10.0.tar.gz 208969 SHA256 edb2702b4655600f0a49a97e654c79f5b21490ce30f77d1313dd851f0b60335a SHA512 991341dfb3f71e938c2a2e30f5bc158be84cb1600ab64c4f7c5c49decd0a38bc57615f9e07edfbed70d9ca796592d7c1a4f7f3e25a40c4d31049015df928b2e3 WHIRLPOOL c07ba33bd6e7832fd5527ec14e206d74a6a2b983dbb49a43d972f31e15e22f9642df4809adff72f43f92fca5c1d758a4ac540ed87e22f46adc25094b2aa4ccb3
+DIST Fabric-1.10.1.tar.gz 209750 SHA256 ab9c54e9496c89ae96ed4aa669e01c792376d75a7389ec90d4292282cc26f008 SHA512 a00f46ac28c61d20575af9f34e4e2bc54a79e836c29b395bbdf58538b6c75523a7ec6f3f40caf0f270d2ec8b0500806b14e80c4ed4d2077e39f4dbdd773d8637 WHIRLPOOL 88b5865ec80ff923292b0ba4a868a06fa5cc0f68b3a8ab2fbfb68f17422b9b60a365ea3b14b5f04929425bbcf9350acbc72dc1733200c18a80d954c3c1762ce9
+DIST Fabric-1.10.2.tar.gz 212942 SHA256 666a3da92273532d3a49dd1ac53e3d721c5ec2f2512cd7dddb7ce19e29e9f038 SHA512 3102616a8fbc6237df74eb9b506e95628487d2bb112a56826d388a943b6e8af926f4f174a8d8810b27b63e58d2018667d927795c6a5e53833a1d3fc87324b0af WHIRLPOOL f08af6300432655786692a99385f4cd4d8605ac3bd952dd198706bd975c737431df7aaa6dc2d737719ca029305cb3e3359876ac32702f3ad539b65a5ad5501fb
diff --git a/dev-python/fabric/fabric-1.10.0-r1.ebuild b/dev-python/fabric/fabric-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..c9e68f064073
--- /dev/null
+++ b/dev-python/fabric/fabric-1.10.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Fabric"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A simple pythonic tool for remote execution and deployment"
+HOMEPAGE="http://fabfile.org http://pypi.python.org/pypi/Fabric"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/paramiko-1.10[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7
+ dev-python/alabaster[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ <dev-python/fudge-1.0[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Re-set intersphinx_mapping for doc build
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/2.6', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "s| 'www'| #'www'|" \
+ -i sites/docs/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c sites/docs/ sites/docs/ sites/docs/html || die
+ fi
+}
+
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ nosetests tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( sites/docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fabric/fabric-1.10.1.ebuild b/dev-python/fabric/fabric-1.10.1.ebuild
new file mode 100644
index 000000000000..0fae319ba275
--- /dev/null
+++ b/dev-python/fabric/fabric-1.10.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Fabric"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A simple pythonic tool for remote execution and deployment"
+HOMEPAGE="http://fabfile.org http://pypi.python.org/pypi/Fabric"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/paramiko-1.10[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7
+ dev-python/alabaster[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ <dev-python/fudge-1.0[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Re-set intersphinx_mapping for doc build
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/2.6', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "s| 'www'| #'www'|" \
+ -i sites/docs/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c sites/docs/ sites/docs/ sites/docs/html || die
+ fi
+}
+
+python_test() {
+ nosetests tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( sites/docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fabric/fabric-1.10.2.ebuild b/dev-python/fabric/fabric-1.10.2.ebuild
new file mode 100644
index 000000000000..00b36432bd91
--- /dev/null
+++ b/dev-python/fabric/fabric-1.10.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Fabric"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A simple pythonic tool for remote execution and deployment"
+HOMEPAGE="http://fabfile.org http://pypi.python.org/pypi/Fabric"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/paramiko-1.10[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7
+ dev-python/alabaster[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ <dev-python/fudge-1.0[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Re-set intersphinx_mapping for doc build
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/2.6', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "s| 'www'| #'www'|" \
+ -i sites/docs/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c sites/docs/ sites/docs/ sites/docs/html || die
+ fi
+}
+
+python_test() {
+ # 1 failure, reported https://github.com/fabric/fabric/issues/1360
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( sites/docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fabric/files/doc-extensions.patch b/dev-python/fabric/files/doc-extensions.patch
new file mode 100644
index 000000000000..e426d6197b36
--- /dev/null
+++ b/dev-python/fabric/files/doc-extensions.patch
@@ -0,0 +1,13 @@
+releases module cannot be found and would cause un-needed d'loading
+diff -ur Fabric-1.8.3.orig/docs/conf.py Fabric-1.8.3/docs/conf.py
+--- docs/conf.py 2014-02-15 01:28:56.000000000 +0800
++++ docs/conf.py 2014-04-09 22:55:42.851674861 +0800
+@@ -26,7 +26,7 @@
+
+ # Add any Sphinx extension module names here, as strings. They can be extensions
+ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+-extensions = ['sphinx.ext.autodoc', 'releases']
++extensions = ['sphinx.ext.autodoc']
+
+ # 'releases' (changelog) settings
+ releases_issue_uri = "https://github.com/fabric/fabric/issues/%s"
diff --git a/dev-python/fabric/files/fabric-1.4.2-git_tags_docs.patch b/dev-python/fabric/files/fabric-1.4.2-git_tags_docs.patch
new file mode 100644
index 000000000000..46e9044a45c6
--- /dev/null
+++ b/dev-python/fabric/files/fabric-1.4.2-git_tags_docs.patch
@@ -0,0 +1,21 @@
+--- docs/conf.py.org 2012-05-08 02:08:14.000000000 -0400
++++ docs/conf.py 2012-05-10 10:06:28.000000000 -0400
+@@ -170,12 +170,13 @@
+ html_theme = 'default'
+ html_style = 'rtd.css'
+
+-from fabric.api import local, hide
+-with hide('everything'):
+- get_tags = 'git tag | sort -r | egrep "(1\.[^0]+)\.."'
+- fabric_tags = local(get_tags, True).split()
+-html_context = {'fabric_tags': fabric_tags}
++#from fabric.api import local, hide
++#with hide('everything'):
++# get_tags = 'git tag | sort -r | egrep "(1\.[^0]+)\.."'
++# fabric_tags = local(get_tags, True).split()
++#html_context = {'fabric_tags': fabric_tags}
+
++html_context={'fabric_tags': ['1.4.2', '1.4.1', '1.4.0', '1.3.7', '1.3.6', '1.3.5', '1.3.4', '1.3.3', '1.3.2', '1.3.1', '1.3.0', '1.2.6', '1.2.5', '1.2.4', '1.2.3', '1.2.2', '1.2.1', '1.2.0', '1.1.8', '1.1.7', '1.1.6', '1.1.5', '1.1.4', '1.1.3', '1.1.2', '1.1.1', '1.1.0']}
+
+ # Theme options are theme-specific and customize the look and feel of a theme
+ # further. For a list of options available for each theme, see the
diff --git a/dev-python/fabric/metadata.xml b/dev-python/fabric/metadata.xml
new file mode 100644
index 000000000000..d64f1992692e
--- /dev/null
+++ b/dev-python/fabric/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Fabric</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/falcon/Manifest b/dev-python/falcon/Manifest
new file mode 100644
index 000000000000..edffeee60fe2
--- /dev/null
+++ b/dev-python/falcon/Manifest
@@ -0,0 +1,4 @@
+DIST falcon-0.1.6.tar.gz 186870 SHA256 325503ae704420b91ffcb4c188d5ab15ae467b6168d7ccfacf905db1667022e3 SHA512 033b06d643dc910d62830d42a559a1fa1933b93c8f93b136c0ba89429cf3eadd912b5512f2add2ae904c3ff192046718a8d40a53d3a05506dfc2722cf5437668 WHIRLPOOL 1d93d1ffae86a167ab278fff3d6d653ea6b4df41723ea21f5149fa7316145ca9d8d6b8cde7ec1d018699cdbd86ebec87f682fd7a0f887f9e3f2926b18b6282ab
+DIST falcon-0.1.7.tar.gz 193151 SHA256 15c22f481b6152cb625d44ee852ec02cf775cb49f1fc9fa71cbc8d4fcccfbe7c SHA512 665a0bdd02c8e9a0806c863164fde33a6a10a1ac8c2ec9c3194da0ca41e411c19ec5b2a84cce521abb510588c23b4bb5fab25af58d5c17fbbf8e7c3304839b9a WHIRLPOOL 598f43cc59fd0d160e8a0fdb50385306c88a6becb5982110b4d9bd981e61768f1d33b46a51e44dfd0ec93114d156a56c9046e62daa044077246befa90009563d
+DIST falcon-0.1.8.tar.gz 202170 SHA256 e16c0e3062c4d6977e3ce892807d7e822c622f2743d9d97bd8be9babee29b63b SHA512 e0ec028c1d1dc3fba722bd91f9bb315523367313bef40238579a96ca49de37f4c63e53746bf6ab40add053320925378860e3571e32401151c00d4afcbad9b7ca WHIRLPOOL 1fa22d3167a12f992c5974864020ddcc89d6c9001d324e972b3e9fd8040ab8577cf955488c869fde662e0dfa98ed8c24e26f36b9b81ac9c282838aea6684e809
+DIST falcon-0.1.9.tar.gz 202209 SHA256 c8190ddf37dd8cf90f325a27185916e336e229292595f892043f55a502c04f94 SHA512 442a04c925f4af69bb0f1906c4123e68ef423e4040fbde82cecc200a44410665c0f97ad28e7f59e4139aae1209ba1df1dd445c5a44e6b975bed9416a97e681e8 WHIRLPOOL de1ff7b57a553efe9647b19c844107dc2a18dae0366c866ddf6d6035e40c1c532ad1bb81d03bc48af506996b4978c76392c98b4de5e8ba374dc3e6b4f334a27c
diff --git a/dev-python/falcon/falcon-0.1.6.ebuild b/dev-python/falcon/falcon-0.1.6.ebuild
new file mode 100644
index 000000000000..42c26a4b8d8b
--- /dev/null
+++ b/dev-python/falcon/falcon-0.1.6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Python 2.6 is supported, but depends on ordereddict, which has been in
+# improvise for months and is a minimal package. If needed
+# please let me know. PyPy also works
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A supersonic micro-framework for building cloud APIs"
+HOMEPAGE="http://falconframework.org/ https://pypi.python.org/pypi/falcon"
+SRC_URI="https://github.com/racker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+cython test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ cython? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})] )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+src_prepare() {
+ if ! use cython; then
+ sed -i -e 's/if with_cython:/if False:/' setup.py \
+ || die 'sed failed.'
+ fi
+}
diff --git a/dev-python/falcon/falcon-0.1.7.ebuild b/dev-python/falcon/falcon-0.1.7.ebuild
new file mode 100644
index 000000000000..e3b2b3a64f16
--- /dev/null
+++ b/dev-python/falcon/falcon-0.1.7.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Python 2.6 is supported, but depends on ordereddict, which has been in
+# improvise for months and is a minimal package. If needed
+# please let me know. PyPy also works
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A supersonic micro-framework for building cloud APIs"
+HOMEPAGE="http://falconframework.org/ https://pypi.python.org/pypi/falcon"
+SRC_URI="https://github.com/racker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+cython test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ cython? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})] )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+src_prepare() {
+ if ! use cython; then
+ sed -i -e 's/if with_cython:/if False:/' setup.py \
+ || die 'sed failed.'
+ fi
+}
diff --git a/dev-python/falcon/falcon-0.1.8.ebuild b/dev-python/falcon/falcon-0.1.8.ebuild
new file mode 100644
index 000000000000..4cf1192409f3
--- /dev/null
+++ b/dev-python/falcon/falcon-0.1.8.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Python 2.6 is supported, but depends on ordereddict, which has been in
+# improvise for months and is a minimal package. If needed
+# please let me know. PyPy also works
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A supersonic micro-framework for building cloud APIs"
+HOMEPAGE="http://falconframework.org/ https://pypi.python.org/pypi/falcon"
+SRC_URI="https://github.com/racker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+cython test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ cython? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})] )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+src_prepare() {
+ if ! use cython; then
+ sed -i -e 's/if with_cython:/if False:/' setup.py \
+ || die 'sed failed.'
+ fi
+
+ # fix tests installation : potential file collision
+ sed -e 's@^where = tests@where = falcon/tests@g' -i setup.cfg || die
+ mv tests falcon/
+}
diff --git a/dev-python/falcon/falcon-0.1.9.ebuild b/dev-python/falcon/falcon-0.1.9.ebuild
new file mode 100644
index 000000000000..4cf1192409f3
--- /dev/null
+++ b/dev-python/falcon/falcon-0.1.9.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Python 2.6 is supported, but depends on ordereddict, which has been in
+# improvise for months and is a minimal package. If needed
+# please let me know. PyPy also works
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A supersonic micro-framework for building cloud APIs"
+HOMEPAGE="http://falconframework.org/ https://pypi.python.org/pypi/falcon"
+SRC_URI="https://github.com/racker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+cython test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ cython? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})] )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cython[$(python_gen_usedep python{2_7,3_3})]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+src_prepare() {
+ if ! use cython; then
+ sed -i -e 's/if with_cython:/if False:/' setup.py \
+ || die 'sed failed.'
+ fi
+
+ # fix tests installation : potential file collision
+ sed -e 's@^where = tests@where = falcon/tests@g' -i setup.cfg || die
+ mv tests falcon/
+}
diff --git a/dev-python/falcon/metadata.xml b/dev-python/falcon/metadata.xml
new file mode 100644
index 000000000000..6e6c7a6301a4
--- /dev/null
+++ b/dev-python/falcon/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <use>
+ <flag name="cython">Build cython-based python modules</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">racker/falcon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/feedgenerator/Manifest b/dev-python/feedgenerator/Manifest
new file mode 100644
index 000000000000..0ac1127adb9e
--- /dev/null
+++ b/dev-python/feedgenerator/Manifest
@@ -0,0 +1,2 @@
+DIST feedgenerator-1.6.tar.gz 21517 SHA256 ec66b671a946381e02ee97b5f4746959c4bda960be4994ce39be5a7f5eb445fe SHA512 6b96094209ae206be75909f2ad9a9420a06e1fa47b8a5e28db4da16c5b157014f9f8d1677edc8a7347384fe0f0a91aa4f664257adfa994a46b6dc49d9349472b WHIRLPOOL f334860efbce23b2ab9c3217f035d5f1263cc59ac7434b6be68f62b683d3b765f88f0c1566a1ef34634e167b3746720b6718577e54c47afcadd0676e115e74d5
+DIST feedgenerator-1.7.tar.gz 22155 SHA256 5d6b0b10134ac392be0c0c3a39c0e1d7e9c17cc7894590f75981e3f497a4a60f SHA512 359e584af7766b1a67c752df88ad67f06f9b2a6677d2e858484286b079e33b47192a5cf141fc86eb5590d86175e24d3fa1e87506773c28f6a35b2dc545520044 WHIRLPOOL 0d9d2b22ac0c6b31ae3b53d48e07d9707d83d895ce6b16f59ecf6d03269435d7bd88b9309673de688b09b68a120bd316b6ad51efc7d9cdc3b73882217f2fecb2
diff --git a/dev-python/feedgenerator/feedgenerator-1.6.ebuild b/dev-python/feedgenerator/feedgenerator-1.6.ebuild
new file mode 100644
index 000000000000..da6bc740e304
--- /dev/null
+++ b/dev-python/feedgenerator/feedgenerator-1.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Standalone version of django.utils.feedgenerator"
+HOMEPAGE="http://pypi.python.org/pypi/feedgenerator"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/six[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # Allow pypy to read MANIFEST.in
+ ln -s tests_feedgenerator tests || die
+}
+
+python_test() {
+ "${PYTHON}" setup.py test
+}
diff --git a/dev-python/feedgenerator/feedgenerator-1.7.ebuild b/dev-python/feedgenerator/feedgenerator-1.7.ebuild
new file mode 100644
index 000000000000..4b1cf7c8210d
--- /dev/null
+++ b/dev-python/feedgenerator/feedgenerator-1.7.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Standalone version of django.utils.feedgenerator"
+HOMEPAGE="http://pypi.python.org/pypi/feedgenerator"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/six[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # Allow pypy to read MANIFEST.in
+ ln -s tests_feedgenerator tests || die
+}
+
+python_test() {
+ "${PYTHON}" setup.py test
+}
diff --git a/dev-python/feedgenerator/metadata.xml b/dev-python/feedgenerator/metadata.xml
new file mode 100644
index 000000000000..802d27dc6b5f
--- /dev/null
+++ b/dev-python/feedgenerator/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">feedgenerator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest
new file mode 100644
index 000000000000..666cbb2fbb27
--- /dev/null
+++ b/dev-python/feedparser/Manifest
@@ -0,0 +1 @@
+DIST feedparser-5.1.3.tar.bz2 202373 SHA256 7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3 SHA512 6a0374e001295566316ad86a581c875cd367fc6200e30296bf917cdff7fa2a83c05565b747c37079f38755ce94565d56890a995be7ee020d0f9466ee1b7c079b WHIRLPOOL bacb6cf0563ee7feb476ea4b767586cb6fbd649d036f72f18b60330e4b4120ccb1e65a923e121108eecf64ea2343fd7a40dd56d7bf71384ff3f52ad20a59a54b
diff --git a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
new file mode 100644
index 000000000000..7ae303fee956
--- /dev/null
+++ b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Parse RSS and Atom feeds in Python"
+HOMEPAGE="http://code.google.com/p/feedparser/ http://pypi.python.org/pypi/feedparser"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.bz2"
+
+# sgmllib is licensed under PSF-2.
+LICENSE="BSD-2 PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# Tests have issues with chardet installed, and are just kind of buggy.
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-backport_fix_for_chardet-py3.patch
+)
+
+python_prepare_all() {
+ mv feedparser/sgmllib3.py feedparser/_feedparser_sgmllib.py || die
+ epatch "${FILESDIR}/${PN}-5.1-sgmllib.patch"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp feedparser/feedparsertest.py "${BUILD_DIR}" || die
+ ln -s "${S}/feedparser/tests" "${BUILD_DIR}/tests" || die
+ cd "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 --no-diffs -w -n feedparsertest.py || die
+ fi
+ "${PYTHON}" feedparsertest.py || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch
new file mode 100644
index 000000000000..426290370d49
--- /dev/null
+++ b/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch
@@ -0,0 +1,26 @@
+--- feedparser/feedparser.py
++++ feedparser/feedparser.py
+@@ -135,7 +135,11 @@
+ #ACCEPTABLE_URI_SCHEMES = ()
+
+ # ---------- required modules (should come with any Python distribution) ----------
+-import sgmllib, re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime
++import re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime
++try:
++ import sgmllib
++except ImportError:
++ import _feedparser_sgmllib as sgmllib
+ try:
+ from io import BytesIO as _StringIO
+ except ImportError:
+--- setup.py
++++ setup.py
+@@ -17,7 +17,7 @@
+ download_url = 'http://code.google.com/p/feedparser/',
+ platforms = ['POSIX', 'Windows'],
+ package_dir = {'': 'feedparser'},
+- py_modules = ['feedparser'],
++ py_modules = ['feedparser', '_feedparser_sgmllib'],
+ keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
+ classifiers = [
+ 'Development Status :: 5 - Production/Stable',
diff --git a/dev-python/feedparser/files/feedparser-5.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.1-sgmllib.patch
new file mode 100644
index 000000000000..63c12ba0c362
--- /dev/null
+++ b/dev-python/feedparser/files/feedparser-5.1-sgmllib.patch
@@ -0,0 +1,78 @@
+From 812793c07d3202d3f5bc39091aec2e7071d000c8 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sun, 1 Jan 2012 19:30:57 +0100
+Subject: [PATCH] Use shipped sgmllib for Python 3.x
+
+---
+ feedparser/feedparser.py | 19 +++----------------
+ setup.py | 2 +-
+ 2 files changed, 4 insertions(+), 17 deletions(-)
+
+diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py
+index 8275c29..9a8a053 100644
+--- a/feedparser/feedparser.py
++++ b/feedparser/feedparser.py
+@@ -204,17 +204,9 @@ else:
+ try:
+ import sgmllib
+ except ImportError:
+- # This is probably Python 3, which doesn't include sgmllib anymore
+- _SGML_AVAILABLE = 0
++ import _feedparser_sgmllib as sgmllib
+
+- # Mock sgmllib enough to allow subclassing later on
+- class sgmllib(object):
+- class SGMLParser(object):
+- def goahead(self, i):
+- pass
+- def parse_starttag(self, i):
+- pass
+-else:
++if True:
+ _SGML_AVAILABLE = 1
+
+ # sgmllib defines a number of module-level regular expressions that are
+@@ -2520,9 +2512,6 @@ class _RelativeURIResolver(_BaseHTMLProcessor):
+ _BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
+
+ def _resolveRelativeURIs(htmlSource, baseURI, encoding, _type):
+- if not _SGML_AVAILABLE:
+- return htmlSource
+-
+ p = _RelativeURIResolver(baseURI, encoding, _type)
+ p.feed(htmlSource)
+ return p.output()
+@@ -2803,8 +2792,6 @@ class _HTMLSanitizer(_BaseHTMLProcessor):
+
+
+ def _sanitizeHTML(htmlSource, encoding, _type):
+- if not _SGML_AVAILABLE:
+- return htmlSource
+ p = _HTMLSanitizer(encoding, _type)
+ htmlSource = htmlSource.replace('<![CDATA[', '&lt;![CDATA[')
+ p.feed(htmlSource)
+@@ -3890,7 +3877,7 @@ def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, refer
+ result['bozo'] = 1
+ result['bozo_exception'] = feedparser.exc or e
+ use_strict_parser = 0
+- if not use_strict_parser and _SGML_AVAILABLE:
++ if not use_strict_parser:
+ feedparser = _LooseFeedParser(baseuri, baselang, 'utf-8', entities)
+ feedparser.feed(data.decode('utf-8', 'replace'))
+ result['feed'] = feedparser.feeddata
+diff --git a/setup.py b/setup.py
+index a4a60fe..8c15451 100644
+--- a/setup.py
++++ b/setup.py
+@@ -16,7 +16,7 @@ setup(
+ download_url = 'http://code.google.com/p/feedparser/',
+ platforms = ['POSIX', 'Windows'],
+ package_dir = {'': 'feedparser'},
+- py_modules = ['feedparser'],
++ py_modules = ['feedparser', '_feedparser_sgmllib'],
+ keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
+ classifiers = [
+ 'Development Status :: 5 - Production/Stable',
+--
+1.7.8.1
+
diff --git a/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch b/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch
new file mode 100644
index 000000000000..6b03ddea8cbb
--- /dev/null
+++ b/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch
@@ -0,0 +1,32 @@
+From 20a32910f4a521788ba93a8c809cf0db702bed5b Mon Sep 17 00:00:00 2001
+From: Kurt McKee <contactme@kurtmckee.org>
+Date: Mon, 17 Dec 2012 10:41:13 -0600
+Subject: [PATCH] Fix chardet support in Python 3
+
+Fixes issue 384.
+Thanks to Google user Arfrever.TFA for reporting this!
+---
+ NEWS | 1 +
+ feedparser/feedparser.py | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py
+index c78e6a3..e977ae8 100644
+--- a/feedparser/feedparser.py
++++ b/feedparser/feedparser.py
+@@ -3766,7 +3766,11 @@ def convert_to_utf8(http_headers, data):
+ chardet_encoding = None
+ tried_encodings = []
+ if chardet:
+- chardet_encoding = unicode(chardet.detect(data)['encoding'] or '', 'ascii', 'ignore')
++ chardet_encoding = chardet.detect(data)['encoding']
++ if not chardet_encoding:
++ chardet_encoding = ''
++ if not isinstance(chardet_encoding, unicode):
++ chardet_encoding = unicode(chardet_encoding, 'ascii', 'ignore')
+ # try: HTTP encoding, declared XML encoding, encoding sniffed from BOM
+ for proposed_encoding in (rfc3023_encoding, xml_encoding, bom_encoding,
+ chardet_encoding, u'utf-8', u'windows-1252', u'iso-8859-2'):
+--
+1.8.5.5
+
diff --git a/dev-python/feedparser/metadata.xml b/dev-python/feedparser/metadata.xml
new file mode 100644
index 000000000000..ec031c36b1f8
--- /dev/null
+++ b/dev-python/feedparser/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>Parse RSS and Atom feeds in Python. 2000 unit tests. Open source.</longdescription>
+ <upstream>
+ <remote-id type="google-code">feedparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fexpect/Manifest b/dev-python/fexpect/Manifest
new file mode 100644
index 000000000000..1c7698ca081b
--- /dev/null
+++ b/dev-python/fexpect/Manifest
@@ -0,0 +1 @@
+DIST fexpect-0.2.tar.gz 6260 SHA256 d037d1282a43ed38b3edc6b33dabaa543b8b274e92753cbb565d21aa10f52a0c SHA512 45b14bfc50f5e2a5dca45594b024a213c270196a89b1ee51c6a8107d6f8b46ab1ca1362331372492307a2e42adef60be444465d33248788ae2ba2728e42cf580 WHIRLPOOL 2dfd4092ab30870c36ad2dedcaaeff65e58bd1530f3a71831c2ad41d4f4dbdb484c8f79a6baffc585dc48e855ddd9e8c08a3f1c8993628c689907dc3c79bf174
diff --git a/dev-python/fexpect/fexpect-0.2.ebuild b/dev-python/fexpect/fexpect-0.2.ebuild
new file mode 100644
index 000000000000..de6a48b575a2
--- /dev/null
+++ b/dev-python/fexpect/fexpect-0.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension for fabric to handle prompts through pexpect"
+HOMEPAGE="https://github.com/ilogue/fexpect"
+SRC_URI="https://github.com/ilogue/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/fabric[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/shortuuid[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/fexpect/metadata.xml b/dev-python/fexpect/metadata.xml
new file mode 100644
index 000000000000..2ab56b42c053
--- /dev/null
+++ b/dev-python/fexpect/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ilogue/fexpect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/figleaf/Manifest b/dev-python/figleaf/Manifest
new file mode 100644
index 000000000000..ed0b37d27198
--- /dev/null
+++ b/dev-python/figleaf/Manifest
@@ -0,0 +1 @@
+DIST figleaf-0.6.1.tar.gz 59051 SHA256 04d22485db08f9f60c7de92407753423fa0f574c00211e409e8b0f9482f2f062 SHA512 c759ff9c0946e05a913f85c628acfa1a5636fa422ca93aa10ed8999baafebef395dabf69cc0b6d740bfa11608dc6f2ad6e8001ca314f476d2f582f5d217b8937 WHIRLPOOL 79ed1b9ea789b7317592a73b1dcf258e1ee5b3e11bdf711786010818c24b4517a2268372491f906b884988adfe6ea98328bd0df7519867ed5823d90311f262c0
diff --git a/dev-python/figleaf/figleaf-0.6.1-r1.ebuild b/dev-python/figleaf/figleaf-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..163f350175d3
--- /dev/null
+++ b/dev-python/figleaf/figleaf-0.6.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Code coverage tool"
+HOMEPAGE="http://darcs.idyll.org/~t/projects/figleaf/doc/ http://pypi.python.org/pypi/figleaf"
+SRC_URI="http://darcs.idyll.org/~t/projects/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+DOCS="doc/*.txt doc/ChangeLog"
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/figleaf/metadata.xml b/dev-python/figleaf/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/figleaf/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/fixtures/Manifest b/dev-python/fixtures/Manifest
new file mode 100644
index 000000000000..e77ecb0acf1b
--- /dev/null
+++ b/dev-python/fixtures/Manifest
@@ -0,0 +1,4 @@
+DIST fixtures-0.3.14.tar.gz 34586 SHA256 4cc3313e52519d2671bd22aacd4b3fde9d96b31eb49db04a7cd5ccc61fec5139 SHA512 096466bfd2d2c2bb73461145e060d351fb4cba4ab52885ee7dc376ce68aced190d4f8d9969e7a94fcf90dcafd9bd6579a3ce2bcccfee33218571cb84c87ac795 WHIRLPOOL ee32650518e8a0fa86f7064d7a4952caed8a4f51a69de959014f82c58ac60765b13e02486261dca118194c683d056d5f3fb2ff0cdccd9abec7316e095862b7a5
+DIST fixtures-1.2.0.tar.gz 45318 SHA256 bb3b677a069d9fc3eb0fbc452965ac8a6c95edc778f3bd05b789ed46d1527b01 SHA512 c2730a2bb1cd5d7fbdf0499fa3cf3b62063d4632207a15e40fa0f6a4ccc0fa0afa786a115ac02cf01eaaac931ea1927bf979ffd446ec41d324862b3f69a8e9c7 WHIRLPOOL 322af23609b331023d03a27305c22e9b078f9d7f08924e217b525a5a64b6c28eec7262c9500cb3fe830095a7a693d0bdc84f952525d94bb1e7e56e627590eb8d
+DIST fixtures-1.3.0.tar.gz 48941 SHA256 81c43b99ee63b2849a7a07c2ddcf147dea0c36260cd71352b649397d427d8f30 SHA512 48bcfd125af25cb594a01b5509730acf1ab8dcc3b19d67c572bad8fb4cd837bd02caa3086bd937fcf5e0ff72cf404988333899471103f37ecff54445e928e433 WHIRLPOOL e871e2092eecadf8a1b1fcd568d3704962e5b03b8374ec3bfee74dedbc1dee5efc3d24b1054e3424ed64830e2f94b1828948810052ef3dccfe5f9051df64c920
+DIST fixtures-1.3.1.tar.gz 49741 SHA256 b63cf3bb37f83ff815456e2d0e118535ae9a4bf43e76d9a1cf3286041bf717ce SHA512 ce6ec1e1edeca34cdca86ca802cf1a468dde141f1ce2345ae9d9fd797e5ae4f9d69f9adbbbc90c6f8f070c6e75932f6d34f08a2f3d2d3109c7c7334cc4e3fe68 WHIRLPOOL 9b94c3a727ad46bee4cb99c2b907c0f38c7a2cf07846abfa90f8996849313dbf27d26742565853eaa580ddd9d42a3176ce691dd25fee5cdd8a1046866bb46695
diff --git a/dev-python/fixtures/fixtures-0.3.14-r2.ebuild b/dev-python/fixtures/fixtures-0.3.14-r2.ebuild
new file mode 100644
index 000000000000..93a2d52e772e
--- /dev/null
+++ b/dev-python/fixtures/fixtures-0.3.14-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="https://launchpad.net/python-fixtures https://pypi.python.org/pypi/fixtures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# nose not listed but provides coverage output of tests
+# run of test files by python lacks any output except on fail
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.22[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/testtools-0.9.22"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ pushd "${BUILD_DIR}"/ > /dev/null
+ ln -sf ../README .
+ nosetests lib/${PN}/tests/test_*.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/fixtures/fixtures-1.2.0.ebuild b/dev-python/fixtures/fixtures-1.2.0.ebuild
new file mode 100644
index 000000000000..30711fa855fb
--- /dev/null
+++ b/dev-python/fixtures/fixtures-1.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="https://launchpad.net/python-fixtures https://pypi.python.org/pypi/fixtures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# nose not listed but provides coverage output of tests
+# run of test files by python lacks any output except on fail
+DEPEND="test? ( >=dev-python/testtools-0.9.22[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/testtools-0.9.22"
+#DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/fixtures/fixtures-1.3.0.ebuild b/dev-python/fixtures/fixtures-1.3.0.ebuild
new file mode 100644
index 000000000000..4368613f0bf6
--- /dev/null
+++ b/dev-python/fixtures/fixtures-1.3.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="https://launchpad.net/python-fixtures https://pypi.python.org/pypi/fixtures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# nose not listed but provides coverage output of tests
+# run of test files by python lacks any output except on fail
+RDEPEND="dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.22[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+#DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/fixtures/fixtures-1.3.1-r1.ebuild b/dev-python/fixtures/fixtures-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..56e3e7490ed5
--- /dev/null
+++ b/dev-python/fixtures/fixtures-1.3.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="https://launchpad.net/python-fixtures https://pypi.python.org/pypi/fixtures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# nose not listed but provides coverage output of tests
+# run of test files by python lacks any output except on fail
+RDEPEND="
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.22[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[$(python_gen_usedep python2_7 pypy)] )"
+#DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/fixtures/metadata.xml b/dev-python/fixtures/metadata.xml
new file mode 100644
index 000000000000..af43239d85e1
--- /dev/null
+++ b/dev-python/fixtures/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Fixtures defines a Python contract for reusable state / support logic,
+ primarily for unit testing. Helper and adaption logic is included to make
+ it easy to write your own fixtures using the fixtures contract. Glue code
+ is provided that makes using fixtures that meet the Fixtures contract in
+ unittest compatible test cases easy and straight forward.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">fixtures</remote-id>
+ <remote-id type="launchpad">python-fixtures</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest
new file mode 100644
index 000000000000..1f57485ac490
--- /dev/null
+++ b/dev-python/flake8/Manifest
@@ -0,0 +1,5 @@
+DIST flake8-2.0.tar.gz 10511 SHA256 8dce4f7e64cc202cc6da93eab84b2ce660110ff684b6738bba64a0a431b3bc69 SHA512 6e3d8030562c4489dce8d4b17464ea8c0239b7c28fcefb7c67bff645e18628bc3074ff0ff197ab54228544d0ff85c2ff9509502c8f98371d8dc5df6f1e3ec047 WHIRLPOOL 46dabf0120b97cf20b58d76745dd0c23aec69f4eeb25b8605944c7ca4f8a05580c6c9df3ce7ec4e507f2402ddb53da2a6730cf6b246eec8472562ec33fcbb9e2
+DIST flake8-2.1.0.tar.gz 25010 SHA256 098ab7991067c08cfaa4716de20066d90f66dbc71502114ea8cad9a9fd5c9512 SHA512 bf961d76ed08dafe7c2a9b767594577a57a2276166e515f1d84654223aa50879c5ee1e20919b3a4c7576c7d549037c8cfe67c11ab1f6648a0205200f5060950b WHIRLPOOL 48982d33cd32f557796ef103da441f46d3a6ddbf1d1cace66f3ceac8b31bf78389c72df4a717881fe3735f6301b8ce0831908d32010f94ce72fc5414404261d4
+DIST flake8-2.2.5.tar.gz 28333 SHA256 285e8bd730c0b6fdfbe23c32d2936bffba401f23cab132e8722c68be80d6f182 SHA512 fe5e06d3a7699e3f348181108f1ab3ee9eb1f2b0422de582a172d3a4aed42a5cf839ef8a5b5b113da1e0c3c2b53ed7b43af1ca24314ea842d0d3d3735eba1dee WHIRLPOOL 6c1e737a760876d410fd116bf2b8104f932b6751b5970096ddadcead5937fba21772fb28c1addf8026eda5ec573eb07cd920e46fb711d79f46de559d229c8705
+DIST flake8-2.4.0.tar.gz 67257 SHA256 d26a9d0252da9f831b8277b824961bb10b1f9d79f4752d32e4814b7bcd1e089b SHA512 fda9b8478550cc1b3cb05a0de0c8a008a41e8842c8d27268baa3114abb7358445267bb114942a155b089582314fe952f0714e34d738c054ab8bf46869a2c1b98 WHIRLPOOL f8a516f0d6cabe67484afd0393f0ca13b9cb9e89f28304ea1ea01aaab4b7ccf5d332cdefcf209eb7847e0616c72fe3d152f6f280029d45dbacd7f4d067d92b0f
+DIST flake8-2.4.1.tar.gz 50324 SHA256 2e7ebbe59d8c85e626e36d99f0db2f578394313d3f7ce9dc9f1da57ef6cd7537 SHA512 8ddd07d6be53b06efcf7dd9aa2daa070ab209f7177e46f32a3bcae545acbb5e020aa27aeab54426798ae6c3722b38928b06dc3e53115cc624a16fa0fa97f4840 WHIRLPOOL 9a653900523eded448c5cbeca0b111ba220be39ad307e46ded35a1454904cb59f5e0765425d90e99ae0c853b2931fbe910c4412e73771098bb0a3543adb8cabb
diff --git a/dev-python/flake8/flake8-2.0-r1.ebuild b/dev-python/flake8/flake8-2.0-r1.ebuild
new file mode 100644
index 000000000000..100faea2f578
--- /dev/null
+++ b/dev-python/flake8/flake8-2.0-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="the modular source code checker: pep8, pyflakes and co"
+HOMEPAGE="http://bitbucket.org/tarek/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+ >=dev-python/pyflakes-0.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.4.3[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.2[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test || die "Tests failed for ${EPYTHON}"
+}
diff --git a/dev-python/flake8/flake8-2.1.0.ebuild b/dev-python/flake8/flake8-2.1.0.ebuild
new file mode 100644
index 000000000000..9eb9bd333d80
--- /dev/null
+++ b/dev-python/flake8/flake8-2.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="http://bitbucket.org/tarek/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+# requires.txt inc. mccabe however that creates a circular dep
+RDEPEND=">=dev-python/pyflakes-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.4.6[${PYTHON_USEDEP}]"
+PDEPEND=">=dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${PDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # This tests requires / assumes this version is already installed.
+ sed -e 's:test_register_extensions:_&:' -i flake8/tests/test_engine.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flake8/flake8-2.2.5.ebuild b/dev-python/flake8/flake8-2.2.5.ebuild
new file mode 100644
index 000000000000..a7a0617003b7
--- /dev/null
+++ b/dev-python/flake8/flake8-2.2.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="http://bitbucket.org/tarek/flake8 https://pypi.python.org/pypi/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="alpha amd64 arm hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+# requires.txt inc. mccabe however that creates a circular dep
+RDEPEND=">=dev-python/pyflakes-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]"
+PDEPEND=">=dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${PDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # This tests requires / assumes this version is already installed.
+ sed -e 's:test_register_extensions:_&:' -i flake8/tests/test_engine.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flake8/flake8-2.4.0-r1.ebuild b/dev-python/flake8/flake8-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..6268e476de3e
--- /dev/null
+++ b/dev-python/flake8/flake8-2.4.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="http://bitbucket.org/tarek/flake8 https://pypi.python.org/pypi/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+# requires.txt inc. mccabe however that creates a circular dep
+RDEPEND=">=dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ <dev-python/pyflakes-0.9[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ <dev-python/pep8-1.6.0[${PYTHON_USEDEP}]
+ "
+PDEPEND=">=dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${PDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # This tests requires / assumes this version is already installed.
+ sed -e 's:test_register_extensions:_&:' -i flake8/tests/test_engine.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flake8/flake8-2.4.0.ebuild b/dev-python/flake8/flake8-2.4.0.ebuild
new file mode 100644
index 000000000000..b29ce1ec4477
--- /dev/null
+++ b/dev-python/flake8/flake8-2.4.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="http://bitbucket.org/tarek/flake8 https://pypi.python.org/pypi/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+# requires.txt inc. mccabe however that creates a circular dep
+RDEPEND=">=dev-python/pyflakes-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]"
+PDEPEND=">=dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${PDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # This tests requires / assumes this version is already installed.
+ sed -e 's:test_register_extensions:_&:' -i flake8/tests/test_engine.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flake8/flake8-2.4.1.ebuild b/dev-python/flake8/flake8-2.4.1.ebuild
new file mode 100644
index 000000000000..aee5c60a9fd4
--- /dev/null
+++ b/dev-python/flake8/flake8-2.4.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="http://bitbucket.org/tarek/flake8 https://pypi.python.org/pypi/flake8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+# requires.txt inc. mccabe however that creates a circular dep
+RDEPEND=">=dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ <dev-python/pyflakes-0.9[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ <dev-python/pep8-1.6.0[${PYTHON_USEDEP}]
+ "
+PDEPEND=">=dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${PDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # This tests requires / assumes this version is already installed.
+ sed -e 's:test_register_extensions:_&:' -i flake8/tests/test_engine.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flake8/metadata.xml b/dev-python/flake8/metadata.xml
new file mode 100644
index 000000000000..6a0b5bd93656
--- /dev/null
+++ b/dev-python/flake8/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">flake8</remote-id>
+ <remote-id type="bitbucket">tarek/flake8</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-admin/Manifest b/dev-python/flask-admin/Manifest
new file mode 100644
index 000000000000..d0d803e02bb1
--- /dev/null
+++ b/dev-python/flask-admin/Manifest
@@ -0,0 +1,3 @@
+DIST Flask-Admin-1.0.6.tar.gz 235842 SHA256 c16d1bb1b6c2b6ac8db8486b9a5e1919d1a073252e3fb0c0c226406470113a54 SHA512 a30e2678a063d45d55ccf41cfec07fd16973cc8c770b1e7f16d11b9aba693049b1d9d4cff81d8ae8f2548d019f977f0906728e98d23d229d76bf135a079abc8f WHIRLPOOL 9851b8f7e59c5b7bf99e2e58a0ad72076578f12564146a282b9e3e0e79bd31bec7a1fd394dc807b8152165fce617c6a7b025cfaa987680a649412a3d1c3f8e8c
+DIST Flask-Admin-1.1.0.tar.gz 735408 SHA256 28380393143a9b209e22c256494ba3ab1b6aea86f183962451896e26e75a8609 SHA512 35e21cda38ba8658940356240df7b3feec7619a5ab7c31c70c8a962b385d391d78d6440716c7dfce00fb48bf1243799de2a3d53b3cd0b7eee45137e2ebd3273d WHIRLPOOL d2790169dd3711864ee190c328bc5502622706af6a3c306b7d8c00459a0859af4b527b0dec449a824459361f4602fd1c1f7a96212e2585c3d46df3beb48197ec
+DIST Flask-Admin-1.2.0.tar.gz 790881 SHA256 beb4b3edc25319e8848889ff2460f489cf85a457a46d1f1cbc09f332452d0260 SHA512 77be8cabfde74ccaef4818e914d792583b54dcdeedb15f89bcc89e074e18333a9a40d9ea03bef6c3409c24a18cd9ede06fbf9f3a7529c63ef28affd705a2d42a WHIRLPOOL abf61615f724586a3074b3ca546be96d9d332c8ffb1cf15111b9c837c7c2b9495a6664eb7cdc6ba9b4cbda6694ea2219547e302b621aa170a1d6c6355191d6aa
diff --git a/dev-python/flask-admin/flask-admin-1.0.6.ebuild b/dev-python/flask-admin/flask-admin-1.0.6.ebuild
new file mode 100644
index 000000000000..307cf37bf514
--- /dev/null
+++ b/dev-python/flask-admin/flask-admin-1.0.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+#RESTRICT="test" # we're still missing some of the dependencies
+
+MY_PN="Flask-Admin"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple and extensible admin interface framework for Flask"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-wtf[${PYTHON_USEDEP}]
+ dev-python/flask-pymongo[${PYTHON_USEDEP}]
+ dev-python/flask-peewee[${PYTHON_USEDEP}]
+ dev-python/flask-mongoengine[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed \
+ -e 's:find_packages():find_packages(exclude=["*.examples", "*.examples.*", "examples.*", "examples"]):g' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-admin/flask-admin-1.1.0.ebuild b/dev-python/flask-admin/flask-admin-1.1.0.ebuild
new file mode 100644
index 000000000000..5716fdce2fef
--- /dev/null
+++ b/dev-python/flask-admin/flask-admin-1.1.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+#RESTRICT="test" # we're still missing some of the dependencies
+
+MY_PN="Flask-Admin"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple and extensible admin interface framework for Flask"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND="
+ >=dev-python/flask-0.7[${PYTHON_USEDEP}]
+ dev-python/wtforms[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-wtf[${PYTHON_USEDEP}]
+ dev-python/flask-pymongo[${PYTHON_USEDEP}]
+ dev-python/flask-peewee[${PYTHON_USEDEP}]
+ dev-python/flask-mongoengine[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed \
+ -e 's:find_packages():find_packages(exclude=["*.examples", "*.examples.*", "examples.*", "examples"]):g' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-admin/flask-admin-1.2.0.ebuild b/dev-python/flask-admin/flask-admin-1.2.0.ebuild
new file mode 100644
index 000000000000..f98ad9148dab
--- /dev/null
+++ b/dev-python/flask-admin/flask-admin-1.2.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+#RESTRICT="test" # we're still missing some of the dependencies
+
+MY_PN="Flask-Admin"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple and extensible admin interface framework for Flask"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND="
+ >=dev-python/flask-0.7[${PYTHON_USEDEP}]
+ dev-python/wtforms[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-wtf[${PYTHON_USEDEP}]
+ dev-python/flask-pymongo[${PYTHON_USEDEP}]
+ dev-python/flask-peewee[${PYTHON_USEDEP}]
+ dev-python/flask-mongoengine[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed \
+ -e 's:find_packages():find_packages(exclude=["*.examples", "*.examples.*", "examples.*", "examples"]):g' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-admin/metadata.xml b/dev-python/flask-admin/metadata.xml
new file mode 100644
index 000000000000..1c2961df65f9
--- /dev/null
+++ b/dev-python/flask-admin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Admin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-babel/Manifest b/dev-python/flask-babel/Manifest
new file mode 100644
index 000000000000..5f0e2693202b
--- /dev/null
+++ b/dev-python/flask-babel/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-Babel-0.8.tar.gz 44520 SHA256 a255d77910ddfbebc6318c618d9a23cda5d018c86c7e0dea64dc860a16cb3daa SHA512 76e34df0748ec0ee2c0964ab07e85dd708c38601e55626fcc40b5a6064e5f2065c1969c4f888827225daf0ce2bf0a41670ba020f7d52b93915f4120cc478798d WHIRLPOOL 35f914bc4e765e03ccf699bbba696980b1ea48e07491d9e401c9ac76ce701575e8d0d69a63c144ad45fd2df76c7d3948b15cadfdbbc7ffd528ee5eca73e0bd31
+DIST Flask-Babel-0.9.tar.gz 38881 SHA256 4afd150f360434b00684ba7848358f7961072fd0658a6e81aaa578522699fb4c SHA512 c667c8a532332bb3dd0d694932d17f7f9b2b51f68151767624116853b2e71f2a6b4c47164d17a6f368b67a5cabce97495b18147655fb36aee5034c058d3b9a89 WHIRLPOOL 28309a4a27bfd0fbe30be52613ee9eef5110e3cc38e863c6de200cced579476870e01b92edaeb08fd29e0deabcaa13d14742d188960742d61cf8ba5384476cd1
diff --git a/dev-python/flask-babel/flask-babel-0.8-r1.ebuild b/dev-python/flask-babel/flask-babel-0.8-r1.ebuild
new file mode 100644
index 000000000000..38812392d29d
--- /dev/null
+++ b/dev-python/flask-babel/flask-babel-0.8-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Babel"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
+HOMEPAGE="http://packages.python.org/Flask-Babel/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/Babel[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/speaklater-1.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-babel/flask-babel-0.9.ebuild b/dev-python/flask-babel/flask-babel-0.9.ebuild
new file mode 100644
index 000000000000..f1c3a5091ccb
--- /dev/null
+++ b/dev-python/flask-babel/flask-babel-0.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Babel"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="i18n and l10n support for Flask based on Babel and pytz"
+HOMEPAGE="http://packages.python.org/Flask-Babel/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/Babel[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/speaklater-1.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/flask-babel/metadata.xml b/dev-python/flask-babel/metadata.xml
new file mode 100644
index 000000000000..4b2d2a83f5bc
--- /dev/null
+++ b/dev-python/flask-babel/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Babel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-cors/Manifest b/dev-python/flask-cors/Manifest
new file mode 100644
index 000000000000..f291c524a16e
--- /dev/null
+++ b/dev-python/flask-cors/Manifest
@@ -0,0 +1,2 @@
+DIST flask-cors-1.8.0.tar.gz 17368 SHA256 da01f3ecf6d3d5c9c45ccdd95e6f93bc04a31f403ff5e4ad2e6c0fca99eb2cf1 SHA512 185a4e5785223d547373ff40d18dee2112a8da2dec2ecb39cb7b7c394e9220551e46302590870393c35902dd12e58d3d7cd4fb8fa052828b21d4107457a080fa WHIRLPOOL 1631d5c8e4521a31adcf061a6fbb21b9019835d3718ff02d16d2fe48af57d23d6cef01d740887d6b592ee420ba0c74ccb27a3a402547257823bc7a894793373a
+DIST flask-cors-1.9.0.tar.gz 22846 SHA256 d1237b21c3f98ea8bed387efdf1db1d1078df9c480f8fe06db21ff130420200b SHA512 0ed2d4fdd80b43bbbcab4257c3917ea12b39a9da89989e3cad5575d1ebca1523f9cefaca6c36b4dae81629f65936b2cdf3af04c789b28cc03d5660062c2a0e56 WHIRLPOOL 8356937c86d67da4084405d2a1565165da07a467f979c324d72dc4630f3abb7b1f2f906d700592a730a94a19fa12346014788863fa2f7041b5a015300349e16d
diff --git a/dev-python/flask-cors/flask-cors-1.8.0.ebuild b/dev-python/flask-cors/flask-cors-1.8.0.ebuild
new file mode 100644
index 000000000000..899087975fcc
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-1.8.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Cors"
+MY_P="${MY_PN}-${PV}"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/wcdolphin/${PN}.git"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="https://github.com/wcdolphin/flask-cors https://pypi.python.org/pypi/Flask-Cors"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/flask-cors/flask-cors-1.9.0.ebuild b/dev-python/flask-cors/flask-cors-1.9.0.ebuild
new file mode 100644
index 000000000000..23f893bcd9af
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-1.9.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Cors"
+MY_P="${MY_PN}-${PV}"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://github.com/wcdolphin/${PN}.git"
+ SRC_URI=""
+else
+ SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="https://github.com/wcdolphin/flask-cors https://pypi.python.org/pypi/Flask-Cors"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ ${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-cors/metadata.xml b/dev-python/flask-cors/metadata.xml
new file mode 100644
index 000000000000..57ead9527074
--- /dev/null
+++ b/dev-python/flask-cors/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>wking@tremily.us</email>
+ <name>W. Trevor King</name>
+ <description>proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Flask-Cors</remote-id>
+ <remote-id type="github">wcdolphin/flask-cors</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-dashed/Manifest b/dev-python/flask-dashed/Manifest
new file mode 100644
index 000000000000..fb4a197c9627
--- /dev/null
+++ b/dev-python/flask-dashed/Manifest
@@ -0,0 +1 @@
+DIST Flask-Dashed-0.1b2.tar.gz 325834 SHA256 fe49940e39a9eaeafa9d26eb81db0fee1eba54d87ef3a5d7489072cd221c28b0 SHA512 daccb1e4ac83a598c25c7ef202f50f08c19473aa27d8c936a9918b3e45bc9da06de7499a3976e6fff001fd81cec787093594a13c814bf26e2315793a0c8efded WHIRLPOOL e6e520ae230028bf23c1950faf075ccc36cb5bd6b4dfa47f04f39e863943bd75963d51c5f5864dbd50b73bb76505126ff2820a1349beb5af63ff0893e8f0e0bd
diff --git a/dev-python/flask-dashed/flask-dashed-0.1b_p2.ebuild b/dev-python/flask-dashed/flask-dashed-0.1b_p2.ebuild
new file mode 100644
index 000000000000..164c6db17948
--- /dev/null
+++ b/dev-python/flask-dashed/flask-dashed-0.1b_p2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Dashed"
+MY_PV="${PV/_p/}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Admin app framework for flask"
+HOMEPAGE="http://pythonhosted.org/${MY_PN}/ https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-wtf[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ rm -rf "${S}/tests"
+}
diff --git a/dev-python/flask-dashed/metadata.xml b/dev-python/flask-dashed/metadata.xml
new file mode 100644
index 000000000000..bdd76fd9f02e
--- /dev/null
+++ b/dev-python/flask-dashed/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Dashed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-evolution/Manifest b/dev-python/flask-evolution/Manifest
new file mode 100644
index 000000000000..724832d83d11
--- /dev/null
+++ b/dev-python/flask-evolution/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-Evolution-0.5.tar.gz 3582 SHA256 f1a177eebd7908bc2390956754cf9b7c6d29f915d760db867d4b094843020dbb SHA512 94c7861a218563e6e72b831728bd199d2eb4850a14fab5e144cde9d44fe2545ea739019250073a27bed588b2bbfc88da7067ce3495dab355398bc0aba5a5960d WHIRLPOOL b7874931624b0a88954bb8bcd980b614cd672a52d88c6870f254268f79a1a071279d8a7262f79d79bf3f60ca87d85cd34e468856e3a86b6262e389230429079c
+DIST Flask-Evolution-0.6.tar.gz 3480 SHA256 54be57ccc4cac5a5fe54fa4635e792e69bd1959a6d60318fe8c0a414f3963591 SHA512 04fd348b7ed0dc93d864bf012dd9708a8c4c0fac81cd31ddffe91159a7631f42095bb9d6bcacc08cc5498d836e3497b4ea9896f1df039a12eb78d5e2c236c7ba WHIRLPOOL 4a17cc623bc68caa3c50368bcddfc556722047110fcd435fdd62af9769e81717192943863bd0c34d76f4b1c41c270571983e0cfbf5c5b6215738e290a2f2b6de
diff --git a/dev-python/flask-evolution/flask-evolution-0.5-r1.ebuild b/dev-python/flask-evolution/flask-evolution-0.5-r1.ebuild
new file mode 100644
index 000000000000..784459466fac
--- /dev/null
+++ b/dev-python/flask-evolution/flask-evolution-0.5-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Evolution"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple migrations for Flask/SQLAlchemy projects"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-Evolution"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/flask-evolution/flask-evolution-0.6.ebuild b/dev-python/flask-evolution/flask-evolution-0.6.ebuild
new file mode 100644
index 000000000000..51beca1d5c79
--- /dev/null
+++ b/dev-python/flask-evolution/flask-evolution-0.6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Evolution"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple migrations for Flask/SQLAlchemy projects"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-Evolution"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/flask-evolution/metadata.xml b/dev-python/flask-evolution/metadata.xml
new file mode 100644
index 000000000000..5042ee1f20e4
--- /dev/null
+++ b/dev-python/flask-evolution/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Evolution</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-login/Manifest b/dev-python/flask-login/Manifest
new file mode 100644
index 000000000000..0df5d760ed0c
--- /dev/null
+++ b/dev-python/flask-login/Manifest
@@ -0,0 +1 @@
+DIST Flask-Login-0.2.11.tar.gz 11099 SHA256 83d5f10e5c4f214feed6cc41c212db63a58a15ac32e56df81591bfa0a5cee3e5 SHA512 7a9f8a782d182255f5e96a53c5d3a13479b5bac5f8d4af75b7407e3d5f4854cc7b54aa0ff46b29701c050d99de159cea04fff22dea762391447ffefdb7059905 WHIRLPOOL 7f2147d2966ec8a53b4b30a01778336e7e7934fe48bc17009efedfdd05a76b90926622b1917e2ea23599907984eb6683e5f701e7101ce42dce8743e1a65c2038
diff --git a/dev-python/flask-login/flask-login-0.2.11.ebuild b/dev-python/flask-login/flask-login-0.2.11.ebuild
new file mode 100644
index 000000000000..11f179ef7571
--- /dev/null
+++ b/dev-python/flask-login/flask-login-0.2.11.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Login"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Login session support for Flask"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-Login"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-python/flask-0.10[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/flask-login/metadata.xml b/dev-python/flask-login/metadata.xml
new file mode 100644
index 000000000000..f5a779b38f13
--- /dev/null
+++ b/dev-python/flask-login/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Login</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-mail/Manifest b/dev-python/flask-mail/Manifest
new file mode 100644
index 000000000000..93a7df7886d3
--- /dev/null
+++ b/dev-python/flask-mail/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-Mail-0.9.0.tar.gz 43457 SHA256 db9669d1eac783e73f06406f36bb5f71eae99b6c24e5849d76934641e3f6263e SHA512 273f21f36b46c8c86c34d5377764a684cfb53501201d5ec4d17f6ce59de1ce0654904790d3ca03a0947106d1384de65faf73d917892c386d00cebbe7aae4bc66 WHIRLPOOL 4e8103ac69c9e280ec2370b7e5dd43bc439d4cd6aa5afad1d9f1861141469120523d636d297826dae5fa60b4adfc84a3d12fd08338a9afb9ad235eef072b3399
+DIST Flask-Mail-0.9.1.tar.gz 45654 SHA256 22e5eb9a940bf407bcf30410ecc3708f3c56cc44b29c34e1726fe85006935f41 SHA512 1d19f0bade77c66e73624d8af0919165f8b6f208a00c1e4025049b50ad56912557b8446cb80f8567adf697e92b126954a5f130bd9fa7a2345d4e98e35b29ac47 WHIRLPOOL ecaecab331b47b8901448c50e0dc480a657df773f8c851f85cb4cb6814b820e9fdf0d23b7c51c74e69ad7be1e4e9da32304e23795c28502cf5bb9bd1ee57bfda
diff --git a/dev-python/flask-mail/flask-mail-0.9.0.ebuild b/dev-python/flask-mail/flask-mail-0.9.0.ebuild
new file mode 100644
index 000000000000..336523715ae7
--- /dev/null
+++ b/dev-python/flask-mail/flask-mail-0.9.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Mail"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flask extension for sending email"
+HOMEPAGE="http://pythonhosted.org/Flask-Mail/ https://pypi.python.org/pypi/Flask-Mail"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-mail/flask-mail-0.9.1.ebuild b/dev-python/flask-mail/flask-mail-0.9.1.ebuild
new file mode 100644
index 000000000000..63de88d16305
--- /dev/null
+++ b/dev-python/flask-mail/flask-mail-0.9.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Mail"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flask extension for sending email"
+HOMEPAGE="http://pythonhosted.org/Flask-Mail/ https://pypi.python.org/pypi/Flask-Mail"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/speaklater[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy) )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-mail/metadata.xml b/dev-python/flask-mail/metadata.xml
new file mode 100644
index 000000000000..62864dbf7095
--- /dev/null
+++ b/dev-python/flask-mail/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Mail</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
new file mode 100644
index 000000000000..0b7da32f79bc
--- /dev/null
+++ b/dev-python/flask-migrate/Manifest
@@ -0,0 +1,4 @@
+DIST Flask-Migrate-1.2.0.tar.gz 7288 SHA256 37e548cd0c497194243c8c2e2c6296e72ac7d65ba4ad1fd3d8cd5848af5fed2a SHA512 56e9223be0c30179dd0f117b60650e484528650da24acf852c52c1c7f0554d83d6f2ba35191c02cc0cb72091dee48b0888183b560f439d42fa09e0f86524f6b9 WHIRLPOOL 869f37262fde54e69a245d725be80e773d635397bd8afc112f264ef76939f34a81bdee8bf4ef510399b604552d9ad2fc79bcffcb975cf7070157cbebce639a20
+DIST Flask-Migrate-1.3.0.tar.gz 8400 SHA256 8d142bcae64d45eda6efab821283841380749653e49030aea59f0059071d134a SHA512 dbec7fee9027f9446c57a3d24b171a59dcde1e7023e20efc7eb578f41b7c5228a6704edf2cf7afec5e2fc5f8c37a76abeae5a1b9cf0d95c132e7e834f31f7b14 WHIRLPOOL f8c43f3427cbd6cc72e39cfb4f4329f9e826b2b71ca3310d6831121c5a6c9f7915d3a5308f885cb27ad2d3d77197d411bda026d9636c25bbc122069c41a011f6
+DIST Flask-Migrate-1.3.1.tar.gz 8608 SHA256 d16342313936b383f30e7bc1863bd38686ac9f187a50df4161014f0207bf290b SHA512 3ed504811560e7af509187fc6850204244dc295a6d7d43505e98363af2ea282fabd2cfc2b54d5f8f5d847a8569c3a4e3fe28a7996bbb28ed829975c4014da324 WHIRLPOOL 09fcc61de8654a257257959af90917afb83b5fc9ffaee1f131eeaf557797e048c8ea740875b8c0cd7de8f10c48b5c5f2bcd33047f6f73b730d001432c1f32da3
+DIST Flask-Migrate-1.4.0.zip 12820 SHA256 e63b1aafc7bec62a63ccb8e0f5856a271ab986a044aa81a022e0c68243439258 SHA512 ca9a94fd18d302f1448c0cc188749a4585cb108efdd02ef5a51d295207a48d54540818734dcc831a068d968a1cf166d45f1815b4f0e44f4fe7455b982293a3da WHIRLPOOL f1dd52a9af10ac6cb4598f544a151e15eba51ceb5b3c742f66299f0e4870a96ce571ca59dc52e01836721add741bf32d2959377804b0f09a14ab4ef76361aaaa
diff --git a/dev-python/flask-migrate/flask-migrate-1.2.0.ebuild b/dev-python/flask-migrate/flask-migrate-1.2.0.ebuild
new file mode 100644
index 000000000000..bd0e3ff5108b
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-1.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Migrate"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/alembic[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]
+ "
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-migrate/flask-migrate-1.3.0.ebuild b/dev-python/flask-migrate/flask-migrate-1.3.0.ebuild
new file mode 100644
index 000000000000..f68e15a7856b
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-1.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Migrate"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/alembic[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]
+ "
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-migrate/flask-migrate-1.3.1.ebuild b/dev-python/flask-migrate/flask-migrate-1.3.1.ebuild
new file mode 100644
index 000000000000..2c3a39985dca
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-1.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Migrate"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/alembic[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]
+ "
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-migrate/flask-migrate-1.4.0.ebuild b/dev-python/flask-migrate/flask-migrate-1.4.0.ebuild
new file mode 100644
index 000000000000..bcd69cbe75da
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-1.4.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Migrate"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/alembic[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-script[${PYTHON_USEDEP}]
+ "
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-migrate/metadata.xml b/dev-python/flask-migrate/metadata.xml
new file mode 100644
index 000000000000..d996c47be0a9
--- /dev/null
+++ b/dev-python/flask-migrate/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Migrate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-mongoengine/Manifest b/dev-python/flask-mongoengine/Manifest
new file mode 100644
index 000000000000..6cf7d424d288
--- /dev/null
+++ b/dev-python/flask-mongoengine/Manifest
@@ -0,0 +1,2 @@
+DIST flask-mongoengine-0.7.0.tar.gz 103676 SHA256 e5031d1f812181699b10fec76d7c9c6633f19f8b686dcee48371e9216884f2b4 SHA512 3a9ce923b5d391e4fbdacc87d32e6cd8e0ada592c9fce585cf6dc38b8c116966cd70c83c2f2b77f580348722351c129ef38d7788f9ae2bd27d043de0d5487493 WHIRLPOOL 20583285ec18871b750c045a1dc911d6c836b152a27816b81805f12808dd68450236139245fd6ea07c9239544a7a62dafd358feaf13304910b6c6301f5f32567
+DIST flask-mongoengine-0.7.1.tar.gz 103947 SHA256 8ab895611a92b1e16f8467ddda0d4e8addee0ccf478f61d161ff58417caa06f2 SHA512 5da5c0a9794a108c2ff3adc3a6a415216841f060db54483b96421769879e7961c1137b787ad2ebd0ceb80a2187e4c7eaaecca4cb57c517e43aaf4845ac618c99 WHIRLPOOL afb4cf0a02678d1f4cfaa9c6d35d6086cf2e1f49a4b739348463173175f5928c7bacb2eecd3257bb0782021a5276761c187377ca3f2ec80560cdd086a86aa5c9
diff --git a/dev-python/flask-mongoengine/flask-mongoengine-0.7.0.ebuild b/dev-python/flask-mongoengine/flask-mongoengine-0.7.0.ebuild
new file mode 100644
index 000000000000..4d55ca66db93
--- /dev/null
+++ b/dev-python/flask-mongoengine/flask-mongoengine-0.7.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test" # broken
+
+DESCRIPTION="Flask support for MongoDB and with WTF model forms"
+HOMEPAGE="https://pypi.python.org/pypi/flask-mongoengine/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/mongoengine[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+ "
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-mongoengine/flask-mongoengine-0.7.1.ebuild b/dev-python/flask-mongoengine/flask-mongoengine-0.7.1.ebuild
new file mode 100644
index 000000000000..c4c0b97eb079
--- /dev/null
+++ b/dev-python/flask-mongoengine/flask-mongoengine-0.7.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test" # broken
+
+DESCRIPTION="Flask support for MongoDB and with WTF model forms"
+HOMEPAGE="https://pypi.python.org/pypi/flask-mongoengine/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/mongoengine-0.7.10[${PYTHON_USEDEP}]
+ dev-python/flask-wtf[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-mongoengine/metadata.xml b/dev-python/flask-mongoengine/metadata.xml
new file mode 100644
index 000000000000..866f98192a34
--- /dev/null
+++ b/dev-python/flask-mongoengine/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">flask-mongoengine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-openid/Manifest b/dev-python/flask-openid/Manifest
new file mode 100644
index 000000000000..d60228524cd1
--- /dev/null
+++ b/dev-python/flask-openid/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-OpenID-1.2.3.tar.gz 40847 SHA256 5674538d05212b3d9a541d6dbe5d121fe2ecbcdd02e336fe772c9b2226f44a8d SHA512 86003beb3b922f3c1151088ae3880966fa52e5fd087be196f6d5e0e57ef3b3310a3b48ada11931a55c08a67583f1e72eab3d52fc2c1581ffb2c521aa07517291 WHIRLPOOL fe8c885e061b98934a7eca4ec075a15c997f81ce831c150eade313bc5e46e64c71a5a33119d53d7ab73d3587a6b578128421d9c95e2ac7f2d732b506cd698f02
+DIST Flask-OpenID-1.2.4.tar.gz 42570 SHA256 7ac41a5816e32a69333f6798046b7bf73d8d9a6c0051ff8c687c336fe1fefcb2 SHA512 3a9cf29c425747fd2f00b0200c99eece4c66b29e3ef56c78c945f9da1029fceb59053798a26209289625c2e2a2e9118531ac2fced82758c76bc8002ec1d58ae7 WHIRLPOOL b072e34245f3e2d504b424769dcbe29c975fbb4133031bf8e4881592ceec99f9ac897b562b37c9cf33a9ef25074513a1d4db2c8b52950147d3e9d6e10c761dae
diff --git a/dev-python/flask-openid/flask-openid-1.2.3.ebuild b/dev-python/flask-openid/flask-openid-1.2.3.ebuild
new file mode 100644
index 000000000000..6ba345f951aa
--- /dev/null
+++ b/dev-python/flask-openid/flask-openid-1.2.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-OpenID"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="OpenID support for Flask"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-OpenID"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/flask-0.3[${PYTHON_USEDEP}]
+ >=dev-python/python-openid-2.0[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-openid/flask-openid-1.2.4.ebuild b/dev-python/flask-openid/flask-openid-1.2.4.ebuild
new file mode 100644
index 000000000000..387208c8082d
--- /dev/null
+++ b/dev-python/flask-openid/flask-openid-1.2.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-OpenID"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="OpenID support for Flask"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-OpenID"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/flask-0.3[${PYTHON_USEDEP}]
+ >=dev-python/python-openid-2.0[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-openid/metadata.xml b/dev-python/flask-openid/metadata.xml
new file mode 100644
index 000000000000..1aeddf3772f4
--- /dev/null
+++ b/dev-python/flask-openid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-OpenID</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-peewee/Manifest b/dev-python/flask-peewee/Manifest
new file mode 100644
index 000000000000..1300a8063ea0
--- /dev/null
+++ b/dev-python/flask-peewee/Manifest
@@ -0,0 +1,2 @@
+DIST flask-peewee-0.6.5.tar.gz 702466 SHA256 7b39fac44b86e057a44fc059193e444cefbf3aa7807ba3022fa090ac50ce89c2 SHA512 4e1f01d78d1c778cd95a784920d8cfbddc712b8224d93cd0dfe566ee007b781dc4b353bb27c4240475234660363b2b77093d504bf5ef90f358e116f8373020d5 WHIRLPOOL 14e89a5cdf83dbebe377eead7fefcbc56463c889f753fb56198808f0c739c67a68e39c8ff3ad0a304d0843f99147a9771bf0769a731ad28e2d07d28ae084824f
+DIST flask-peewee-0.6.6.tar.gz 707197 SHA256 eab798e102d0e5d7ddba995ac7a82e34e7da815839fa16ee62aa6e4f4a2ee161 SHA512 046a7f89920986cf6847a6cceeb2ed7994317b5957530f6bee3d371445a7db9cb2500943b29da9a6ccfe5c3372e06a392e140480989eb65811b3b92d6bed9c52 WHIRLPOOL dd28bb5c21eb57b6167a5a24594aa7dd74620c28a01321a59f6f15f9773b5c69cf6bc4a2b49ba0e8e72af6b238546419404c13df8aed146f4ee8695cda5f7636
diff --git a/dev-python/flask-peewee/flask-peewee-0.6.5.ebuild b/dev-python/flask-peewee/flask-peewee-0.6.5.ebuild
new file mode 100644
index 000000000000..cc1ebb87bd8e
--- /dev/null
+++ b/dev-python/flask-peewee/flask-peewee-0.6.5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test" # broken
+
+DESCRIPTION="Flask integration layer for the Peewee ORM"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/peewee[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+ "
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-peewee/flask-peewee-0.6.6.ebuild b/dev-python/flask-peewee/flask-peewee-0.6.6.ebuild
new file mode 100644
index 000000000000..09b0fc765fe4
--- /dev/null
+++ b/dev-python/flask-peewee/flask-peewee-0.6.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test" # broken
+
+DESCRIPTION="Flask integration layer for the Peewee ORM"
+HOMEPAGE="https://pypi.python.org/pypi/Flask-Admin"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/peewee[${PYTHON_USEDEP}]
+ dev-python/wtforms[${PYTHON_USEDEP}]
+ dev-python/wtf-peewee[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( example/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-peewee/metadata.xml b/dev-python/flask-peewee/metadata.xml
new file mode 100644
index 000000000000..5703928ba3ac
--- /dev/null
+++ b/dev-python/flask-peewee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">flask-peewee</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-principal/Manifest b/dev-python/flask-principal/Manifest
new file mode 100644
index 000000000000..8df2b5e67a4b
--- /dev/null
+++ b/dev-python/flask-principal/Manifest
@@ -0,0 +1 @@
+DIST Flask-Principal-0.4.0.tar.gz 5452 SHA256 f5d6134b5caebfdbb86f32d56d18ee44b080876a27269560a96ea35f75c99453 SHA512 18f8f7766af62f99ccd52e34919e3f161ffb727c227c2714d651fad9bf6df3958289389e9b9cfe22d01a150985d1a631db3222626be1c4b12daea22434e4c85e WHIRLPOOL 8bd3dd1d0e5b876fd6cb4cf95b2ed6ce7e077404dd4c2781460dbc333c38c4f0eb55855737ebe0c3042c83c5aa5b7bf4d2c7ca5a9d4b8f8ec9901009b8713c0d
diff --git a/dev-python/flask-principal/flask-principal-0.4.0.ebuild b/dev-python/flask-principal/flask-principal-0.4.0.ebuild
new file mode 100644
index 000000000000..c76e13f84587
--- /dev/null
+++ b/dev-python/flask-principal/flask-principal-0.4.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Principal"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Identity management for flask"
+HOMEPAGE="http://pythonhosted.org/${MY_PN}/ https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-principal/metadata.xml b/dev-python/flask-principal/metadata.xml
new file mode 100644
index 000000000000..ed62904727cf
--- /dev/null
+++ b/dev-python/flask-principal/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Principal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-pymongo/Manifest b/dev-python/flask-pymongo/Manifest
new file mode 100644
index 000000000000..b4f8dbd61700
--- /dev/null
+++ b/dev-python/flask-pymongo/Manifest
@@ -0,0 +1,2 @@
+DIST flask-pymongo-0.3.0.tar.gz 21019 SHA256 b1ab5c38f43a8f7ae3e981fb8e0a5d58fb47b066ba0c1b647738e68690f62473 SHA512 669e2c2df4c3378aec0a9f401120ceee2bfb0452a093beca6e7adaffd764bfe0a90a5e5b82d0945933693c3c179f3a0bf56cd4a2e03ab0522065eb650550ff44 WHIRLPOOL 4563628d4d77dbcc9253520636875774655865ba9510b955afe5509da3e9e872b97355649b61ad59e4693c018216f82b7757129d32c112cb95212bfa0c703c23
+DIST flask-pymongo-0.3.1.tar.gz 21712 SHA256 21f807bd6c46d16203a9bb056a01516d6bd437a8a34b28ae38f345c3d16e9dc9 SHA512 cae90061b25187ebdd321af584fc7d6a8497c373dcde63641c60e6c77c985740f613043fd9efffe011486178cd3b7ff8b770ab9ccd5a37cadbfd9fd2ddbae4b5 WHIRLPOOL 8303233be2fff47fcccf363bdbebd29522fac2e00dc17dd90af275a7be77edb325772cb21c3e2cb4d7fca7eb64176c9b231c09b7c8af5a7dadc41279a5398d36
diff --git a/dev-python/flask-pymongo/files/docbuild.patch b/dev-python/flask-pymongo/files/docbuild.patch
new file mode 100644
index 000000000000..232a5b8fc6c8
--- /dev/null
+++ b/dev-python/flask-pymongo/files/docbuild.patch
@@ -0,0 +1,16 @@
+Avoid un-needed d'loading
+diff -ur Flask-PyMongo-0.2.1.orig/docs/conf.py Flask-PyMongo-0.2.1/docs/conf.py
+--- docs/conf.py 2012-12-23 00:52:16.000000000 +0800
++++ docs/conf.py 2013-06-10 01:26:28.430485499 +0800
+@@ -247,11 +247,3 @@
+
+ # How to display URL addresses: 'footnote', 'no', or 'inline'.
+ #texinfo_show_urls = 'footnote'
+-
+-
+-# Example configuration for intersphinx: refer to the Python standard library.
+-intersphinx_mapping = {
+- 'python': ('http://docs.python.org/', None),
+- 'flask': ('http://flask.pocoo.org/docs/', None),
+- 'pymongo': ('http://api.mongodb.org/python/current/', None),
+-}
diff --git a/dev-python/flask-pymongo/flask-pymongo-0.3.0.ebuild b/dev-python/flask-pymongo/flask-pymongo-0.3.0.ebuild
new file mode 100644
index 000000000000..4f80d54e592a
--- /dev/null
+++ b/dev-python/flask-pymongo/flask-pymongo-0.3.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-PyMongo"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PyMongo support for Flask"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-PyMongo"
+SRC_URI="https://github.com/dcrosta/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+RESTRICT="test"
+
+RDEPEND=">=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/docbuild.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # fix me
+ nosetests tests/{test_url_converter.py,test_wrappers.py} || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-pymongo/flask-pymongo-0.3.1.ebuild b/dev-python/flask-pymongo/flask-pymongo-0.3.1.ebuild
new file mode 100644
index 000000000000..93a03fe86327
--- /dev/null
+++ b/dev-python/flask-pymongo/flask-pymongo-0.3.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Flask-PyMongo"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PyMongo support for Flask"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-PyMongo"
+SRC_URI="https://github.com/dcrosta/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+RESTRICT="test"
+
+RDEPEND=">=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.4[${PYTHON_USEDEP}]
+ <dev-python/pymongo-3.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/docbuild.patch )
+
+python_prepare_all() {
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+# Testsuite appears to require a running local instance of a pymongo server
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-pymongo/metadata.xml b/dev-python/flask-pymongo/metadata.xml
new file mode 100644
index 000000000000..024aa03937da
--- /dev/null
+++ b/dev-python/flask-pymongo/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Flask-PyMongo</remote-id>
+ <remote-id type="github">dcrosta/flask-pymongo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-restful/Manifest b/dev-python/flask-restful/Manifest
new file mode 100644
index 000000000000..7fe496ab6c7e
--- /dev/null
+++ b/dev-python/flask-restful/Manifest
@@ -0,0 +1,6 @@
+DIST flask-restful-0.2.12.tar.gz 96159 SHA256 fb44cff325a7f9581007c1f01c6d6f78a8d97ea95a7455b894e0004847213c04 SHA512 4a270431b07c0f3d11fc1a618ba58675b8c869af448894a8067ca297454584decdfe97a0a686f9398599d4888f4f57545d4514d90ee655169ab2b35c8acb1de4 WHIRLPOOL e9d6d9f6d43e912b45a8b4f0f93b3e329922b449d98fd4a2afe09bd14ea78547fbb62f6a9268bce41640b9da1d409bf9500ecfc971a4409401493f6b2e1d0f19
+DIST flask-restful-0.3.0.tar.gz 103123 SHA256 17cb9ef93f6a8329e3bbbf6956fa67e3415efcd142d7da34d5b154409a884078 SHA512 6cb768e591e9a5257eb22406c6857fd24f2cfcccf739c008cc92bda7b03b253726b42fc95fc0e121c4635c7d0a25a816186ba4497fb3b53277d8f0e6aa13f862 WHIRLPOOL 34511a91241a7e421878631ae9d91ffacb8863592e17b7e8c893c084a41f22b7ce96ecc81816a1195e94e34d16723216bc9a222a38fe49473f2254ffb6ddf121
+DIST flask-restful-0.3.1.tar.gz 103801 SHA256 b2171bb730511e2fc54d071a5b8d9f5e852273dcc72a092b0fd937b98956da74 SHA512 264497864297e2621d9a47a08f02bd8632b4030e3d09cb9ac9d04b431fee8cc1e3801220c7fb05fae0e2230e33461e1c7bcefc6b69432f10ac748b9845f1356b WHIRLPOOL 0776e4c2bcd9be0db9cc6664fb21c7433cbb0a8d6c4738890ad041830c9e8e98583a5d9f73ed1c69d5a4cb9457991cf59fc6e177e2541bb157f452f81c8d6359
+DIST flask-restful-0.3.2.tar.gz 106082 SHA256 0b91c5ac2fdfa3cebb25c2110ab24636833e5209eb186a8bd109f563a355ae1f SHA512 e35901f297ed9ec76f4be94c9511a12b7370f00ed959a22fab6804e739a13bf885023f00baf3fad29a59cc873c9d5d0b2e85b7e4657d3203983dc6775d71c89a WHIRLPOOL 7403fafbc37e8080731c7ad71076e986f2a06d30a216257bb10c08c5d230a88a4bde043af13e590be976e8c1953a829fe76827bb5a10db638dddf8b28282f9da
+DIST flask-restful-0.3.3.tar.gz 109947 SHA256 0aeb8f00c96335f90df304a57f36caecd12befccd333a39708f8929f0a528042 SHA512 f8e48048a25b38a09321efc98649970d959d41bf5cc15f5111e1326396ff305b2dbca757a3198a4ed8cf59a6d0144a981178926c1fecc462132888198b4dd8e6 WHIRLPOOL d4db2f013fb92a593731ea19eba6f0daf0f498ebc9fca17f1da8d23b75e243323004e8fe7425813740dc6bcd9c80780a1836a1f37d403a35a94667ecf8fa8a93
+DIST flask-restful-0.3.4.tar.gz 110669 SHA256 c991d85187e1e0e3e58713d62fc8543fe51d7479ee04151061cf9e452e1e2161 SHA512 3f4debac812ddb511f77802e184e24d1ebf023fd282ba37375484260118cafbad479033deed4e5cf9d2681880059fecf9ac34aafad230186f3e3e1cca2f2033b WHIRLPOOL 96e2a0d007fd8042d2e0d344c7042abf24cc3649b11a36330965a1ffaeeb8a21a04651cbdd486757e704b39773a5b8f8146e6d4ddb4477ad462b1ae7edc74567
diff --git a/dev-python/flask-restful/files/flask-restful-0.2.12-tests.patch b/dev-python/flask-restful/files/flask-restful-0.2.12-tests.patch
new file mode 100644
index 000000000000..9ddd44a1f6a9
--- /dev/null
+++ b/dev-python/flask-restful/files/flask-restful-0.2.12-tests.patch
@@ -0,0 +1,21 @@
+--- flask-restful-0.2.12/tests/test_fields.py
++++ flask-restful-0.2.12/tests/test_fields.py
+@@ -2,13 +2,17 @@
+ import unittest
+ from mock import Mock
+ from flask.ext.restful.fields import MarshallingException
+-from flask.ext.restful.utils.ordereddict import OrderedDict
+ from flask_restful import fields
+ from datetime import datetime
+ from flask import Flask
+ #noinspection PyUnresolvedReferences
+ from nose.tools import assert_equals # you need it for tests in form of continuations
+
++try:
++ from collections import OrderedDict
++except ImportError:
++ from flask.ext.restful.utils.ordereddict import OrderedDict
++
+
+ class Foo(object):
+ def __init__(self):
diff --git a/dev-python/flask-restful/flask-restful-0.2.12.ebuild b/dev-python/flask-restful/flask-restful-0.2.12.ebuild
new file mode 100644
index 000000000000..5f07f38e4876
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.2.12.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/flask-restful-0.3.0.ebuild b/dev-python/flask-restful/flask-restful-0.3.0.ebuild
new file mode 100644
index 000000000000..bb9114d486b9
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/flask-restful-0.3.1.ebuild b/dev-python/flask-restful/flask-restful-0.3.1.ebuild
new file mode 100644
index 000000000000..bb9114d486b9
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/flask-restful-0.3.2.ebuild b/dev-python/flask-restful/flask-restful-0.3.2.ebuild
new file mode 100644
index 000000000000..161e096c9dee
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.3.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/flask-restful-0.3.3.ebuild b/dev-python/flask-restful/flask-restful-0.3.3.ebuild
new file mode 100644
index 000000000000..161e096c9dee
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.3.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/flask-restful-0.3.4.ebuild b/dev-python/flask-restful/flask-restful-0.3.4.ebuild
new file mode 100644
index 000000000000..161e096c9dee
--- /dev/null
+++ b/dev-python/flask-restful/flask-restful-0.3.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple framework for creating REST APIs"
+HOMEPAGE="http://flask-restful.readthedocs.org/ https://github.com/twilio/flask-restful/"
+SRC_URI="https://github.com/twilio/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples paging test"
+
+RDEPEND="
+ >=dev-python/aniso8601-0.82[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ paging? ( >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_compile_all() {
+ cd docs || die
+ emake man $(usex doc html "")
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ local DOCS=( AUTHORS.md CHANGES.md CONTRIBUTING.md README.md )
+
+ doman docs/_build/man/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restful/metadata.xml b/dev-python/flask-restful/metadata.xml
new file mode 100644
index 000000000000..48555571de7b
--- /dev/null
+++ b/dev-python/flask-restful/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">twilio/flask-restful</remote-id>
+ </upstream>
+ <use>
+ <flag name="paging">Enable resource paging support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/flask-restless/Manifest b/dev-python/flask-restless/Manifest
new file mode 100644
index 000000000000..1fa827e4ead3
--- /dev/null
+++ b/dev-python/flask-restless/Manifest
@@ -0,0 +1,3 @@
+DIST flask-restless-0.15.0.tar.gz 515022 SHA256 78c07508018f6c417c3f383553d249ae08acf66864b786c1cbb5464cda2b5502 SHA512 156223295a2b1fcb270ed132a9023caa77632559155342381277f427fa069457977f8122bb21425281f1039aaef48c411a5f2677be403a0965abad4af199d775 WHIRLPOOL baaba2a60c424eb75faca35a0840d15b5215489c8ae6c39e513183253d66657f03e6e9544ff57edb0e1b7591f436bb46d7909a8f53179ad866c0fb63daa73111
+DIST flask-restless-0.16.0.tar.gz 520939 SHA256 df1c8e0e10923dbb7d6515dd6ecdcc9f0a88136f8378bbd23028371ceff40b9c SHA512 fd2910163c3210e7951924bfc57d62e249489a3dec978b935b22b6fa15a277bbdb82928e1baa42605a9c3b018cbd9ac70767acec98cfd0d33778aafbd04c9aee WHIRLPOOL af3725e69970818e259ac3dcd1d76bce273c1922a8e7a0a964dda72ee131a1fcd38103795907f116a776d917febb541e9def82d221aad0b30155c2ce12d0ce80
+DIST flask-restless-0.17.0.tar.gz 527502 SHA256 8c82c4c5c7977b88fd2fc8e6586252afb64b4f802ef4197dfe5630b3fc9a69eb SHA512 96183a8bb285a916e6ad680089c70b4c00fcc72ea26a6862537314f6b588b597ff78f2f1c3de0ae24f7dfc7af53a3412c8179801afa9eaeaeb3505695d44076e WHIRLPOOL 21eec21cd4afb51860ce253b1745cf7b9ee63337e3a4f3fb0b2309f76fc4446189c59741f786575ba7f5d993eee8f7839a0baa35ad191abc2551fc7b5403544e
diff --git a/dev-python/flask-restless/files/docbuild.patch b/dev-python/flask-restless/files/docbuild.patch
new file mode 100644
index 000000000000..7e4c6550f962
--- /dev/null
+++ b/dev-python/flask-restless/files/docbuild.patch
@@ -0,0 +1,57 @@
+A number of these settings are simply unworkable in gentoo
+diff -ur flask-restless-0.11.0.orig/docs/conf.py flask-restless-0.11.0/docs/conf.py
+--- docs/conf.py 2013-05-19 01:50:21.000000000 +0800
++++ docs/conf.py 2013-06-10 23:39:05.741199580 +0800
+@@ -99,7 +99,6 @@
+
+ # The name of the Pygments (syntax highlighting) style to use.
+ #pygments_style = 'sphinx'
+-pygments_style = 'flask_theme_support.FlaskyStyle'
+
+ # A list of ignored prefixes for module index sorting.
+ #modindex_common_prefix = []
+@@ -110,14 +110,11 @@
+ # The theme to use for HTML and HTML Help pages. See the documentation for
+ # a list of builtin themes.
+ #html_theme = 'default'
+-html_theme = 'flask'
++#html_theme = 'flask'
+
+ # Theme options are theme-specific and customize the look and feel of a theme
+ # further. For a list of options available for each theme, see the
+ # documentation.
+-html_theme_options = {
+- 'index_logo': 'flask-restless.png'
+-}
+
+ # Add any paths that contain custom themes here, relative to this directory.
+ html_theme_path = ['_themes']
+@@ -253,25 +250,12 @@
+ [u'Jeffrey Finkelstein'], 1)
+ ]
+
+-
+-# Example configuration for intersphinx: refer to the Python standard library.
+-intersphinx_mapping = {'python': ('http://docs.python.org/', None),
+- 'flask': ('http://flask.pocoo.org/docs', None),
+- 'sqlalchemy': ('http://sqlalchemy.org/docs', None),
+- 'flasksqlalchemy':
+- ('http://packages.python.org/Flask-SQLAlchemy',
+- None)}
+-
+ # fall back if theme is not there
+ try:
+- __import__('flask_theme_support')
++ from flaskext import themes
++ themes.html_theme = 'flask'
+ except ImportError, e:
+- print '-' * 74
+- print 'Warning: Flask themes unavailable. Building with default theme'
+- print 'If you want the Flask themes, run this command and build again:'
+- print
+- print ' git submodule update --init'
+- print '-' * 74
++ print 'flask theme unavailable'
+
+ pygments_style = 'tango'
+ html_theme = 'default'
diff --git a/dev-python/flask-restless/files/mapping.patch b/dev-python/flask-restless/files/mapping.patch
new file mode 100644
index 000000000000..725a20d828f6
--- /dev/null
+++ b/dev-python/flask-restless/files/mapping.patch
@@ -0,0 +1,13 @@
+A number of these settings are simply unworkable in gentoo
+diff -ur flask-restless-0.11.0.orig/docs/conf.py flask-restless-0.11.0/docs/conf.py
+--- docs/conf.py 2013-05-19 01:50:21.000000000 +0800
++++ docs/conf.py 2013-06-10 23:39:05.741199580 +0800
+@@ -26,7 +26,7 @@
+
+ # Add any Sphinx extension module names here, as strings. They can be extensions
+ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
++extensions = ['sphinx.ext.autodoc']
+ extensions += ['sphinxcontrib.httpdomain']
+ extensions += ['sphinxcontrib.issuetracker']
+
diff --git a/dev-python/flask-restless/flask-restless-0.15.0.ebuild b/dev-python/flask-restless/flask-restless-0.15.0.ebuild
new file mode 100644
index 000000000000..46a17697155e
--- /dev/null
+++ b/dev-python/flask-restless/flask-restless-0.15.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="Flask extension for easy ReSTful API generation"
+HOMEPAGE="http://packages.python.org/Flask-Restless/"
+SRC_URI="https://github.com/jfinkels/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( AGPL-3 BSD )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/flask-0.7[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/mimerender[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-httpdomain-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.11[${PYTHON_USEDEP}]
+ dev-python/flask-themes[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ if use doc; then
+ if ! "${PYTHON}" -c "import flask_restless"; then
+ eerror "flask-restless is not installed. Building of the docs"
+ eerror "requires flask-restless to be installed."
+ eerror "emerge with USE=-doc followed bu USE=doc"
+ die
+ fi
+ # Changes connect to read issues @ github
+ rm -f docs/changelog.rst
+ einfo "Generating html docs for ${PN}"
+ PYTHONPATH=${PYTHONPATH}"${S}"/docs emake -C docs html \
+ || die "Generating html docs for ${PN} failed"
+ fi
+}
+
+python_test() {
+ nosetests -w tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restless/flask-restless-0.16.0.ebuild b/dev-python/flask-restless/flask-restless-0.16.0.ebuild
new file mode 100644
index 000000000000..e724b7f249cf
--- /dev/null
+++ b/dev-python/flask-restless/flask-restless-0.16.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="Flask extension for easy ReSTful API generation"
+HOMEPAGE="http://packages.python.org/Flask-Restless/"
+SRC_URI="https://github.com/jfinkels/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( AGPL-3 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/flask-0.7[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/mimerender[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-httpdomain-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.11[${PYTHON_USEDEP}]
+ dev-python/flask-themes[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ if use doc; then
+ if ! "${PYTHON}" -c "import flask_restless"; then
+ eerror "flask-restless is not installed. Building of the docs"
+ eerror "requires flask-restless to be installed."
+ eerror "emerge with USE=-doc followed bu USE=doc"
+ die
+ fi
+ # Changes connect to read issues @ github
+ rm -f docs/changelog.rst
+ einfo "Generating html docs for ${PN}"
+ PYTHONPATH=${PYTHONPATH}"${S}"/docs emake -C docs html \
+ || die "Generating html docs for ${PN} failed"
+ fi
+}
+
+python_test() {
+ nosetests -w tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restless/flask-restless-0.17.0.ebuild b/dev-python/flask-restless/flask-restless-0.17.0.ebuild
new file mode 100644
index 000000000000..e724b7f249cf
--- /dev/null
+++ b/dev-python/flask-restless/flask-restless-0.17.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+PYTHON_REQ_USE="sqlite"
+inherit distutils-r1
+
+DESCRIPTION="Flask extension for easy ReSTful API generation"
+HOMEPAGE="http://packages.python.org/Flask-Restless/"
+SRC_URI="https://github.com/jfinkels/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( AGPL-3 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND=">=dev-python/flask-0.7[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/mimerender[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-httpdomain-1.1.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.11[${PYTHON_USEDEP}]
+ dev-python/flask-themes[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ if use doc; then
+ if ! "${PYTHON}" -c "import flask_restless"; then
+ eerror "flask-restless is not installed. Building of the docs"
+ eerror "requires flask-restless to be installed."
+ eerror "emerge with USE=-doc followed bu USE=doc"
+ die
+ fi
+ # Changes connect to read issues @ github
+ rm -f docs/changelog.rst
+ einfo "Generating html docs for ${PN}"
+ PYTHONPATH=${PYTHONPATH}"${S}"/docs emake -C docs html \
+ || die "Generating html docs for ${PN} failed"
+ fi
+}
+
+python_test() {
+ nosetests -w tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-restless/metadata.xml b/dev-python/flask-restless/metadata.xml
new file mode 100644
index 000000000000..ec77a3779bc4
--- /dev/null
+++ b/dev-python/flask-restless/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">jfinkels/flask-restless</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-script/Manifest b/dev-python/flask-script/Manifest
new file mode 100644
index 000000000000..eb6c84e14184
--- /dev/null
+++ b/dev-python/flask-script/Manifest
@@ -0,0 +1 @@
+DIST Flask-Script-2.0.5.tar.gz 42580 SHA256 cef76eac751396355429a14c38967bb14d4973c53e07dec94af5cc8fb017107f SHA512 257b724c05dde79c99b028c7fa1980b700f273010de82fa9f1bb090b23519297d8bad87e436fa88a63feabfcd8908041d4a5ad9a673e08f4ed15e97310f16fbb WHIRLPOOL 2f05e8524a6f0ff0beca342f77f9c4b4f7f73cca65b2aa1fc21b4184ccc3a2e253f3d07a88c07c56c9ed1e5f3f9e12c4b6999bfdc85a35569def4107d0fbfb8e
diff --git a/dev-python/flask-script/flask-script-2.0.5.ebuild b/dev-python/flask-script/flask-script-2.0.5.ebuild
new file mode 100644
index 000000000000..135719a0af9a
--- /dev/null
+++ b/dev-python/flask-script/flask-script-2.0.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Script"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flask support for writing external scripts"
+HOMEPAGE="http://packages.python.org/Flask-Script/ http://pypi.python.org/pypi/Flask-Script"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/flask-0.10.1-r1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation by" ${PYTHON}
+ PYTHONPATH=".." emake -C docs html || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ py.test tests.py || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-script/metadata.xml b/dev-python/flask-script/metadata.xml
new file mode 100644
index 000000000000..b84dae7ac329
--- /dev/null
+++ b/dev-python/flask-script/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Script</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-security/Manifest b/dev-python/flask-security/Manifest
new file mode 100644
index 000000000000..0ee2118fc8e3
--- /dev/null
+++ b/dev-python/flask-security/Manifest
@@ -0,0 +1 @@
+DIST Flask-Security-1.7.4.tar.gz 41467 SHA256 f0b8ee98ab983d96b808c97d4bc0d6ede9fd7adf88f436dde7f38fb66aa1e2ed SHA512 9d0f7db3250f6cab5af4e60cdffd2fffe28ef2dc30e38a479eb91f04c559308b5c530784fc4d9bbf410fd3f6060830f150b8cdb56a3a2d650c4873a14e09b622 WHIRLPOOL b747c9e9e73eb82c4c4ebd6d61289e09e383f5055ec2dcee12af74117119431ef341f01917ab108e19fa02b7e84a10fd03c33c8407c00f1668b86ef3236267c2
diff --git a/dev-python/flask-security/flask-security-1.7.4.ebuild b/dev-python/flask-security/flask-security-1.7.4.ebuild
new file mode 100644
index 000000000000..0ce0ba47b319
--- /dev/null
+++ b/dev-python/flask-security/flask-security-1.7.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-Security"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple security for Flask apps"
+HOMEPAGE="http://pythonhosted.org/${MY_PN}/ https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+# packages of this type require local running instances of databases
+# which then require connect to localhost
+RESTRICT="test"
+
+RDEPEND=">=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.17[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/flask-login-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/flask-mail-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/flask-wtf-0.8[${PYTHON_USEDEP}]
+ >=dev-python/flask-principal-0.3.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/flask-mongoengine[${PYTHON_USEDEP}]
+ dev-python/flask-peewee[${PYTHON_USEDEP}]
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-security/metadata.xml b/dev-python/flask-security/metadata.xml
new file mode 100644
index 000000000000..ca747f04c2e4
--- /dev/null
+++ b/dev-python/flask-security/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Security</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-socketio/Manifest b/dev-python/flask-socketio/Manifest
new file mode 100644
index 000000000000..3a30c7af99dc
--- /dev/null
+++ b/dev-python/flask-socketio/Manifest
@@ -0,0 +1 @@
+DIST flask-socketio-0.6.0.tar.gz 6804 SHA256 5b004bc9a74421ec3983f5167a7cab70853b132a9c9c09d808c07f96bbf6ecd9 SHA512 3093fb659e8fe86a866bf9183401995a6615b3dfc8687549fa5845747935b6cd6bfc7bb56c969489f47fdb1a5420d744817b6a7dce636ab653ef62a08d353b1e WHIRLPOOL 1ff182a51ac24a61e02a6bf46612932bfdb4121737e27c34e324c859e9fe43a6db408fa162d0ff3b3952e8cb9bfa1e9d0f7b9e57149bce8af461fe5f4e829356
diff --git a/dev-python/flask-socketio/flask-socketio-0.6.0.ebuild b/dev-python/flask-socketio/flask-socketio-0.6.0.ebuild
new file mode 100644
index 000000000000..4348a53db7ba
--- /dev/null
+++ b/dev-python/flask-socketio/flask-socketio-0.6.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-SocketIO"
+DESCRIPTION="Socket.IO integration for Flask applications."
+HOMEPAGE="https://flask-socketio.readthedocs.org/ https://github.com/miguelgrinberg/${MY_PN}/ https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/gevent-socketio-0.3.6[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# pypi tarball does not contain tests
+RESTRICT="test"
+
+python_test() {
+ PYTHONPATH="${PWD}" python ./test_socketio.py || die
+}
diff --git a/dev-python/flask-socketio/metadata.xml b/dev-python/flask-socketio/metadata.xml
new file mode 100644
index 000000000000..809844fdb92c
--- /dev/null
+++ b/dev-python/flask-socketio/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-SocketIO</remote-id>
+ <remote-id type="github">miguelgrinberg/Flask-SocketIO</remote-id>
+ </upstream>
+ <maintainer>
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/flask-sqlalchemy/Manifest b/dev-python/flask-sqlalchemy/Manifest
new file mode 100644
index 000000000000..a3b927ff0396
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -0,0 +1,3 @@
+DIST Flask-SQLAlchemy-0.16.tar.gz 97968 SHA256 eaffc4252657229bb8da7447726e9e74b83087b96a3b8990121361b322985b6f SHA512 a6a8f5043aba14fb7fc2c59631d76ec0277d1a01f8b6bd4890271a59f9480ed40665747630194a43a5c19f694e932f86e56b1dfe4a3060176941c82c310ea5fa WHIRLPOOL c3f5fc30c956d39518229289cf7017b589392e18b448d2ec9d5650ed21d5d26309e1f2a60e4bc0e4e5f5cc8fc943f51f0cdc9e8f99d801ab6bfcb6c9600499c6
+DIST Flask-SQLAlchemy-1.0.tar.gz 92063 SHA256 7f0e218fa9066b34b73fdc470386a37ee117b8a862db98c1bca8236d8cffe7a1 SHA512 0ab84f4f5a0709c25d6177431787898f13543bd5a97fc67da9a376be66bfb27d1d7437d28a73e5052b5d20cab237b22a16add91159efaabdd133ca2f546fa5b4 WHIRLPOOL b0b394354975943d216d9fd690012cfd32c3b263ade0d85d92ebee856905fddbb523b3db5e6ec74574ddff0de57ec3162884db6e1563f9a5b71b1223279a7b0e
+DIST Flask-SQLAlchemy-2.0.tar.gz 93413 SHA256 990387d2cff83df7feb40e9d6b286f2679144258480249cbd47b88dc0939e886 SHA512 7a1962764a5481d0f7ce0ec0beb260dfbd930e76cc426e3f645cdd436f920ebb01ef8bb369c29d2e0bf4a4db29f4a660de8f44ea9110c95e440c0506922c8690 WHIRLPOOL f2c4966262d27f56e48a0a35f9b38595c95327eb7fa5cf6296d4d913ec2d933fc6092d6e08a705643e62210b5b03bda2857c6b9a939f9212f142bcb8b0c40243
diff --git a/dev-python/flask-sqlalchemy/files/mapping.patch b/dev-python/flask-sqlalchemy/files/mapping.patch
new file mode 100644
index 000000000000..32bee9c4f148
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/files/mapping.patch
@@ -0,0 +1,16 @@
+diff -ur Flask-SQLAlchemy-1.0.orig/docs/conf.py Flask-SQLAlchemy-1.0/docs/conf.py
+--- docs/conf.py 2013-01-27 08:57:36.000000000 +0800
++++ docs/conf.py 2014-04-03 18:08:34.772268079 +0800
+@@ -224,9 +224,9 @@
+
+
+ # Example configuration for intersphinx: refer to the Python standard library.
+-intersphinx_mapping = {'http://docs.python.org/': None,
+- 'http://flask.pocoo.org/docs/': None,
+- 'http://www.sqlalchemy.org/docs/': None}
++#intersphinx_mapping = {'http://docs.python.org/': None,
++# 'http://flask.pocoo.org/docs/': None,
++# 'http://www.sqlalchemy.org/docs/': None}
+ pygments_style = 'flask_theme_support.FlaskyStyle'
+
+ # fall back if theme is not there
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-0.16-r1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-0.16-r1.ebuild
new file mode 100644
index 000000000000..17742a656530
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-0.16-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-SQLAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -ie "s/flaskext/flask.ext/" test.py || die
+}
+
+python_test() {
+ #https://github.com/mitsuhiko/flask-sqlalchemy/issues/128
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0-r1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0-r1.ebuild
new file mode 100644
index 000000000000..3838e5f37229
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-SQLAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-python/flask-0.10[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Patch out un-needed d'loading of obj.inv files in doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+# Req'd for tests in py3
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ #https://github.com/mitsuhiko/flask-sqlalchemy/issues/128
+ if python_is_python3; then
+ sed -e s':test_model_signals:_&:' -i test_sqlalchemy.py || die
+ fi
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0.ebuild
new file mode 100644
index 000000000000..e3e5fd57ed11
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-SQLAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ #https://github.com/mitsuhiko/flask-sqlalchemy/issues/128
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.0.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.0.ebuild
new file mode 100644
index 000000000000..2b0b5f45012f
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-SQLAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="http://pypi.python.org/pypi/Flask-SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Patch out un-needed d'loading of obj.inv files in doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+# Req'd for tests in py3
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-sqlalchemy/metadata.xml b/dev-python/flask-sqlalchemy/metadata.xml
new file mode 100644
index 000000000000..10b93c9a3329
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Flask-SQLAlchemy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-testing/Manifest b/dev-python/flask-testing/Manifest
new file mode 100644
index 000000000000..338d697104f0
--- /dev/null
+++ b/dev-python/flask-testing/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-Testing-0.4.1.tar.gz 39879 SHA256 d8c4d97d79de517a5d6e348bcc6aaccc45832827afa25ca15cdf8a5a16e543a2 SHA512 b7b71a40545aebed2616b5867951078930bc5d2ab6bf4bc259fab4f8d127ace3830f71bdb4a654c96bf5379bce49930c84e77486c8111b0645bfc515428592b0 WHIRLPOOL e3310b41b53da9847ad3143db30359af8a3eb515da42cc4ffc3068d681abb78a8d11302fb26d085197627aae7d7408175819a108dcf25fd2c0270e02ceaef9b7
+DIST Flask-Testing-0.4.2.tar.gz 40994 SHA256 921c7c653e0d511ed87fbf70d984e27afea8dfa7e10b358689863d7a63e05321 SHA512 57f1a58f352637b6c1d4dc5aa8b3cac215eae334f355d40b6c777f9c5a769c745ce11f2a98818669ec2c29fc170fd86fe4670bb66bd4e4607174b21c5c2067e3 WHIRLPOOL a1fc0723660c25cb18ea5eb4c283c79eb379f2d8cee1bf8fda6ed8b10391cdf0080fa3e2e1ce6cdc50845548a5d9be3f4b20ef267c1350a14049adfbdcfa8e20
diff --git a/dev-python/flask-testing/files/0.4.2-test-fix.patch b/dev-python/flask-testing/files/0.4.2-test-fix.patch
new file mode 100644
index 000000000000..a0933e475afc
--- /dev/null
+++ b/dev-python/flask-testing/files/0.4.2-test-fix.patch
@@ -0,0 +1,17 @@
+https://github.com/jarus/flask-testing/commit/c969b41b31f60a5a8bacd44b3eb63d1642f2d8bf
+diff --git a/flask_testing/utils.py b/flask_testing/utils.py
+index add12ef..9b479df 100644
+--- a/flask_testing/utils.py
++++ b/flask_testing/utils.py
+@@ -143,8 +143,8 @@ def _post_teardown(self):
+
+ if _is_signals:
+ template_rendered.disconnect(self._add_template)
+- if hasattr(self, '_true_render'):
+- templating._render = self._true_render
++ if hasattr(self, '_original_template_render'):
++ templating._render = self._original_template_render
+
+ if self.run_gc_after_test:
+ gc.collect()
+
diff --git a/dev-python/flask-testing/flask-testing-0.4.1.ebuild b/dev-python/flask-testing/flask-testing-0.4.1.ebuild
new file mode 100644
index 000000000000..981b65aaca58
--- /dev/null
+++ b/dev-python/flask-testing/flask-testing-0.4.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Unit testing for Flask"
+HOMEPAGE="http://pythonhosted.org/Flask-Testing/
+ https://pypi.python.org/pypi/Flask-Testing/"
+MY_PN="Flask-Testing"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/twill[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-testing/flask-testing-0.4.2.ebuild b/dev-python/flask-testing/flask-testing-0.4.2.ebuild
new file mode 100644
index 000000000000..c9c8d5279031
--- /dev/null
+++ b/dev-python/flask-testing/flask-testing-0.4.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Testing"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Unit testing for Flask"
+HOMEPAGE="http://pythonhosted.org/Flask-Testing/ https://pypi.python.org/pypi/Flask-Testing/"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/twill[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PV}-test-fix.patch )
+
+python_test() {
+ # test phase appears to run only py2.7 but if it passes for py2.7 is passes for pypy
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-testing/metadata.xml b/dev-python/flask-testing/metadata.xml
new file mode 100644
index 000000000000..9efb699b494e
--- /dev/null
+++ b/dev-python/flask-testing/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Testing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-themes/Manifest b/dev-python/flask-themes/Manifest
new file mode 100644
index 000000000000..eba20ac0e214
--- /dev/null
+++ b/dev-python/flask-themes/Manifest
@@ -0,0 +1 @@
+DIST Flask-Themes-0.1.3.tar.gz 9723 SHA256 0586fdd29a4ccfaa37effc92652a3fe50c6a37d929493d5ab7b4b747be08d9fc SHA512 baf609b8b08446dda5b5d6d39bc0a2e7406f9270d70924c795243384be8967c82f82adcebe5e060352a0c33b763d600eeb5600d3116c10bdbbb3ceddfadf764a WHIRLPOOL 7c77e4ce39d3c9e1ac9f4fb5d3fe9b3bea71a71a2619e11a0bcbd413bd9215606f1beb76ca27dcbebd2dfefcfe835c84eb2a0bfc337a17ee9aa021edad75aeab
diff --git a/dev-python/flask-themes/files/fixtests.patch b/dev-python/flask-themes/files/fixtests.patch
new file mode 100644
index 000000000000..014508e4ddd2
--- /dev/null
+++ b/dev-python/flask-themes/files/fixtests.patch
@@ -0,0 +1,23 @@
+diff -ur Flask-Themes-0.1.3.orig/tests/test-themes.py Flask-Themes-0.1.3/tests/test-themes.py
+--- tests/test-themes.py 2011-07-14 06:36:33.000000000 +0800
++++ tests/test-themes.py 2013-06-10 18:20:25.901480529 +0800
+@@ -129,8 +129,8 @@
+
+ with app.test_request_context('/'):
+ assert template_exists('hello.html')
+- assert template_exists('_themes/cool/hello.html')
+- assert not template_exists('_themes/plain/hello.html')
++ assert template_exists('cool/hello.html')
++ assert not template_exists('themes/plain/hello.html')
+
+ def test_loader(self):
+ app = Flask(__name__)
+@@ -140,7 +140,7 @@
+ with app.test_request_context('/'):
+ if USING_BLUEPRINTS:
+ src = themes_blueprint.jinja_loader.get_source(
+- app.jinja_env, '_themes/cool/hello.html'
++ app.jinja_env, 'cool/hello.html'
+ )
+ else:
+ src = themes_mod.jinja_loader.get_source(
diff --git a/dev-python/flask-themes/flask-themes-0.1.3-r1.ebuild b/dev-python/flask-themes/flask-themes-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..1f26f4f1cd6c
--- /dev/null
+++ b/dev-python/flask-themes/flask-themes-0.1.3-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Flask-Themes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Infrastructure for theming support in Flask applications"
+HOMEPAGE="http://packages.python.org/Flask-Themes/ http://pypi.python.org/pypi/Flask-Themes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-python/flask-0.6[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/fixtests.patch )
+
+python_test() {
+ # suite fails miserably under py3. Cannot even find upstream repo to file. pypi.org does NOT help
+ if ! python_is_python3; then
+ PYTHONPATH=.:tests nosetests || die "Tests failed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/flask-themes/metadata.xml b/dev-python/flask-themes/metadata.xml
new file mode 100644
index 000000000000..3823ab5220d7
--- /dev/null
+++ b/dev-python/flask-themes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Themes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-uploads/Manifest b/dev-python/flask-uploads/Manifest
new file mode 100644
index 000000000000..2062a55cf232
--- /dev/null
+++ b/dev-python/flask-uploads/Manifest
@@ -0,0 +1 @@
+DIST Flask-Uploads-0.1.3.tar.gz 9312 SHA256 2ed695257bb9e3ab93aacf88022f78e1167c748ba8ec19c180ede4af36a4d4de SHA512 eb52c8b22ecc909a37149a9b6df91f47bff0f48ef768325a6e8cc1031b1c1977894a1aaaf70726484316de1782daa26ea96d24114d10490b0d271b2a87efd8ae WHIRLPOOL 9a240e9b797d535622cbb7fbc324a7763ec53e3a9a3d0267176fbc202013c4bb2a3671515320f3157b6086de8b8cd653154080bffa69fe082710109be6789c6c
diff --git a/dev-python/flask-uploads/flask-uploads-0.1.3.ebuild b/dev-python/flask-uploads/flask-uploads-0.1.3.ebuild
new file mode 100644
index 000000000000..41504bd8b6af
--- /dev/null
+++ b/dev-python/flask-uploads/flask-uploads-0.1.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Flexible and efficient upload handling for Flask"
+HOMEPAGE="http://pythonhosted.org/Flask-Testing/
+ https://pypi.python.org/pypi/Flask-Testing/"
+MY_PN="Flask-Uploads"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/flask-0.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-uploads/metadata.xml b/dev-python/flask-uploads/metadata.xml
new file mode 100644
index 000000000000..bae55d55e1df
--- /dev/null
+++ b/dev-python/flask-uploads/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-Uploads</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-whooshalchemy/Manifest b/dev-python/flask-whooshalchemy/Manifest
new file mode 100644
index 000000000000..4de6da7a4350
--- /dev/null
+++ b/dev-python/flask-whooshalchemy/Manifest
@@ -0,0 +1,2 @@
+DIST Flask-WhooshAlchemy-0.55a.tar.gz 7355 SHA256 50c9539ad72d401ce2e95cfe16b41c7d4a325b1142e3fd9bc8e49bf4a134cc85 SHA512 795961106683a7e8b9a51b1b20d09aac9ffb680bf99a1b4feefafb75924f175bb51ca7fa8c0b02f92c1287300b25cefb719fff6bd1e60f94ab11f6f942162e68 WHIRLPOOL cf398001c633c83761ee1c0bf55d15387cbca19e1214191049ff7d3e5c5f0c10fadfc8a3535a43f3869404f8c49361f4e51c07e9e4bb43ffbec53ecc55d72d65
+DIST Flask-WhooshAlchemy-0.56.tar.gz 8528 SHA256 8320ba75040bd37c2810d5ab9a4bd9f3ccadebbef93c805fe0578403f8785baa SHA512 acf7607ad909382bbf3016467cd8e402c98b4618a5822ba6097671becba43f1cac48f6415ce967c4f85c71b71fdafd30c36e5b65e9fc99500c0aad83ea1c650c WHIRLPOOL c08ae0add692379cb1571ff957b4b45447d350c770ad64dde3a5592cbf1b704ee1466f740bc8d6b82750a962695424588717af197e0859a96a28669a935b5e40
diff --git a/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.55a.ebuild b/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.55a.ebuild
new file mode 100644
index 000000000000..bc23b9252adc
--- /dev/null
+++ b/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.55a.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_PN="Flask-WhooshAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Whoosh extension to Flask/SQLAlchemy"
+HOMEPAGE="https://github.com/gyllstromk/Flask-WhooshAlchemy https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/whoosh[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/flask-testing[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.56.ebuild b/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.56.ebuild
new file mode 100644
index 000000000000..2f92b7be3248
--- /dev/null
+++ b/dev-python/flask-whooshalchemy/flask-whooshalchemy-0.56.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+RESTRICT="test" # appears pretty borken
+
+inherit distutils-r1
+
+MY_PN="Flask-WhooshAlchemy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Whoosh extension to Flask/SQLAlchemy"
+HOMEPAGE="https://github.com/gyllstromk/Flask-WhooshAlchemy https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/whoosh[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# test? (
+# dev-python/flask-testing[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/flask-whooshalchemy/metadata.xml b/dev-python/flask-whooshalchemy/metadata.xml
new file mode 100644
index 000000000000..193b0a1a6498
--- /dev/null
+++ b/dev-python/flask-whooshalchemy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-WhooshAlchemy</remote-id>
+ <remote-id type="github">gyllstromk/Flask-WhooshAlchemy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-wtf/Manifest b/dev-python/flask-wtf/Manifest
new file mode 100644
index 000000000000..b0cdc1f4f008
--- /dev/null
+++ b/dev-python/flask-wtf/Manifest
@@ -0,0 +1,4 @@
+DIST Flask-WTF-0.10.2.tar.gz 246659 SHA256 2926a265e6aa163a2102a8f058ad89acb9304665c476cea9687243bcc8f99b45 SHA512 f4736f38a3443903ac6c9f55d448b1f079641721f471d24c1492c54ec1e96b2390c6669325156e8233ecb5c38744f3186ccf47d5df79b6f0c881bd9032836df2 WHIRLPOOL 0890f0004483be6cb5b2fdcbfeb93f83c5c431d40c5fa39c69b31d97941e465149bb4fbbae4be0a0c2ab553b4d398d66179993fc518391ac9205e58dff85a234
+DIST Flask-WTF-0.10.3.tar.gz 247240 SHA256 40da66462df074c2a0fd209e6047972bc226125f6c484c8e367ea10e71ddd718 SHA512 c8cbc817afca7efbc2c0302c4fa3625874159c10e4664b502693acfa3ffcca34aee0a6f17528b45340f1e7f103f87ac72178f2ca4d589307bde12fe47ac5cf50 WHIRLPOOL 08b1b66813a558918ed3e9da8ae2d0db9947f11bf6fccb2ec6f8de1e359422d4431754e982a81a959129230aa39c70470bbad944451238f6c1136976286f303b
+DIST Flask-WTF-0.11.tar.gz 247005 SHA256 2f53a4b314ec26824d0b70f0766b7dd74c6df77bcf8b64de88e1354bc900874b SHA512 213188fd9fb199e4c52cf3e74f5e66846217b817ecf2ffe08ddb5c7cda2ab10a88e3c655364b64393137be1fd105c7d973f82cbd0eca0bfb28bfa3118f5bee15 WHIRLPOOL 559353d70a15e99b18aeb2a54b3c4e27bf5ef0afd870f71085a2dd7384f5b72cfaee9376f45c6280ce19099b3a59152621c8630c9330f5527a03299ae77ec6ce
+DIST Flask-WTF-0.12.tar.gz 247397 SHA256 bd99316c97ed1d1cb90b8f0c242c86420a891a6a2058f20717e424bf5b0bb80e SHA512 d9861a4fa6ace46fb2a632ff51777bc30af9b63c4f2a35cbe4a68a2777468eb7b6e1813ce331472458c05ce7069f73d998b4e9d3fd9d6ef56fc3abf0bb219a9e WHIRLPOOL 4b044ab1ff2409468f1d1e21a79605432a817322784103cdbfb1708a745cab0f7b8d406607fa5fc594b311daadbcf7e23876fbc2021f2ce9e7d05f8c0852a77b
diff --git a/dev-python/flask-wtf/flask-wtf-0.10.2.ebuild b/dev-python/flask-wtf/flask-wtf-0.10.2.ebuild
new file mode 100644
index 000000000000..8d8e300b0f4b
--- /dev/null
+++ b/dev-python/flask-wtf/flask-wtf-0.10.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+# silly captcha test trying to access things over the network
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_PN="Flask-WTF"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration"
+HOMEPAGE="http://pythonhosted.org/Flask-WTF/ https://pypi.python.org/pypi/Flask-WTF"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/wtforms-1.0.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-testing[${PYTHON_USEDEP}]
+ dev-python/flask-uploads[${PYTHON_USEDEP}]
+ dev-python/speaklater[${PYTHON_USEDEP}]
+ dev-python/flask-babel[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/werkzeug[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-wtf/flask-wtf-0.10.3.ebuild b/dev-python/flask-wtf/flask-wtf-0.10.3.ebuild
new file mode 100644
index 000000000000..a2d55e01bfa6
--- /dev/null
+++ b/dev-python/flask-wtf/flask-wtf-0.10.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+# silly captcha test trying to access things over the network
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_PN="Flask-WTF"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration"
+HOMEPAGE="http://pythonhosted.org/Flask-WTF/ https://pypi.python.org/pypi/Flask-WTF"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/wtforms-1.0.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-testing[${PYTHON_USEDEP}]
+ dev-python/flask-uploads[${PYTHON_USEDEP}]
+ dev-python/speaklater[${PYTHON_USEDEP}]
+ dev-python/flask-babel[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/werkzeug[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-wtf/flask-wtf-0.11.ebuild b/dev-python/flask-wtf/flask-wtf-0.11.ebuild
new file mode 100644
index 000000000000..94a4bb8cbf49
--- /dev/null
+++ b/dev-python/flask-wtf/flask-wtf-0.11.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+# silly captcha test trying to access things over the network
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_PN="Flask-WTF"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration"
+HOMEPAGE="http://pythonhosted.org/Flask-WTF/ https://pypi.python.org/pypi/Flask-WTF"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/wtforms-1.0.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-testing[${PYTHON_USEDEP}]
+ dev-python/flask-uploads[${PYTHON_USEDEP}]
+ dev-python/speaklater[${PYTHON_USEDEP}]
+ dev-python/flask-babel[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/werkzeug[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-wtf/flask-wtf-0.12.ebuild b/dev-python/flask-wtf/flask-wtf-0.12.ebuild
new file mode 100644
index 000000000000..94a4bb8cbf49
--- /dev/null
+++ b/dev-python/flask-wtf/flask-wtf-0.12.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+# silly captcha test trying to access things over the network
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_PN="Flask-WTF"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple integration of Flask and WTForms, including CSRF, file upload and Recaptcha integration"
+HOMEPAGE="http://pythonhosted.org/Flask-WTF/ https://pypi.python.org/pypi/Flask-WTF"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/wtforms-1.0.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/flask-testing[${PYTHON_USEDEP}]
+ dev-python/flask-uploads[${PYTHON_USEDEP}]
+ dev-python/speaklater[${PYTHON_USEDEP}]
+ dev-python/flask-babel[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/werkzeug[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-wtf/metadata.xml b/dev-python/flask-wtf/metadata.xml
new file mode 100644
index 000000000000..8ff11cb91124
--- /dev/null
+++ b/dev-python/flask-wtf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-WTF</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask-xml-rpc/Manifest b/dev-python/flask-xml-rpc/Manifest
new file mode 100644
index 000000000000..41b462626ac0
--- /dev/null
+++ b/dev-python/flask-xml-rpc/Manifest
@@ -0,0 +1 @@
+DIST Flask-XML-RPC-0.1.2.tar.gz 5756 SHA256 4adc7482240a916e8c2205cba38b4bd6e648692d189419686a3116768fa48ab7 SHA512 0e083b70576b0d09a316f8be9a779eeb24723caede172fe51168b2b125553b7916e65012813976d46b03787d1f5c24ad6524267d432a246aaf8b222023481e85 WHIRLPOOL e50373eb0cdc7453d94204fc2f3d6c6eba03233e0c313138cd62d1a6c312463aa6f170228ca7f00697bcb1df0e50e4dd7fc2b1d03c2a227c49687d247e14b71a
diff --git a/dev-python/flask-xml-rpc/flask-xml-rpc-0.1.2-r1.ebuild b/dev-python/flask-xml-rpc/flask-xml-rpc-0.1.2-r1.ebuild
new file mode 100644
index 000000000000..22db8a3be294
--- /dev/null
+++ b/dev-python/flask-xml-rpc/flask-xml-rpc-0.1.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Flask-XML-RPC"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="XML-RPC support for Flask applications"
+HOMEPAGE="http://packages.python.org/Flask-XML-RPC/ http://pypi.python.org/pypi/Flask-XML-RPC"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/flask[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/flask-xml-rpc/metadata.xml b/dev-python/flask-xml-rpc/metadata.xml
new file mode 100644
index 000000000000..e0e8cc3a894d
--- /dev/null
+++ b/dev-python/flask-xml-rpc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask-XML-RPC</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flask/Manifest b/dev-python/flask/Manifest
new file mode 100644
index 000000000000..f28be9727e43
--- /dev/null
+++ b/dev-python/flask/Manifest
@@ -0,0 +1 @@
+DIST Flask-0.10.1.tar.gz 544247 SHA256 4c83829ff83d408b5e1d4995472265411d2c414112298f2eb4b359d9e4563373 SHA512 0008d62d03a46b071c7d0510513d011a9bfd2b77df7f677371a446ca9805d16b1ee5e17dd8dd7cde6443a629370234e44735e20381de20a7da385969797f053f WHIRLPOOL f30a306ed00fe6d4c8e47b781c556c576b99b3545f833ae06f6b778d91c3127dc0adcc34d48221a0f1db1bb1633f2329d6085b7a4550afc672530525fdff474f
diff --git a/dev-python/flask/files/flask-0.10.1-is_package.patch b/dev-python/flask/files/flask-0.10.1-is_package.patch
new file mode 100644
index 000000000000..611d931d502f
--- /dev/null
+++ b/dev-python/flask/files/flask-0.10.1-is_package.patch
@@ -0,0 +1,13 @@
+https://github.com/mitsuhiko/flask/issues/487
+diff -ur Flask-0.10.1.orig/flask/helpers.py Flask-0.10.1/flask/helpers.py
+--- flask/helpers.py 2013-06-14 06:35:43.000000000 +0800
++++ flask/helpers.py 2013-08-16 16:18:36.194006290 +0800
+@@ -679,7 +679,7 @@
+ filename = sys.modules[import_name].__file__
+ package_path = os.path.abspath(os.path.dirname(filename))
+ # package_path ends with __init__.py for a package
+- if loader.is_package(root_mod_name):
++ if package_path.endswith('__init__.py'):
+ package_path = os.path.dirname(package_path)
+
+ site_parent, site_folder = os.path.split(package_path)
diff --git a/dev-python/flask/files/flask-0.10.1-sort_json.patch b/dev-python/flask/files/flask-0.10.1-sort_json.patch
new file mode 100644
index 000000000000..e78cd0dee825
--- /dev/null
+++ b/dev-python/flask/files/flask-0.10.1-sort_json.patch
@@ -0,0 +1,54 @@
+https://github.com/mitsuhiko/flask/commit/a2bc61b5ab19e899735f8945f68123b4cea570d5
+diff --git a/flask/testsuite/helpers.py b/flask/testsuite/helpers.py
+index 636f67f..7de70c0 100644
+--- a/flask/testsuite/helpers.py
++++ b/flask/testsuite/helpers.py
+@@ -173,7 +173,33 @@ def index():
+ c = app.test_client()
+ rv = c.get('/')
+ lines = [x.strip() for x in rv.data.strip().decode('utf-8').splitlines()]
+- self.assert_equal(lines, [
++ sorted_by_str = [
++ '{',
++ '"values": {',
++ '"0": "foo",',
++ '"1": "foo",',
++ '"10": "foo",',
++ '"11": "foo",',
++ '"12": "foo",',
++ '"13": "foo",',
++ '"14": "foo",',
++ '"15": "foo",',
++ '"16": "foo",',
++ '"17": "foo",',
++ '"18": "foo",',
++ '"19": "foo",',
++ '"2": "foo",',
++ '"3": "foo",',
++ '"4": "foo",',
++ '"5": "foo",',
++ '"6": "foo",',
++ '"7": "foo",',
++ '"8": "foo",',
++ '"9": "foo"',
++ '}',
++ '}'
++ ]
++ sorted_by_int = [
+ '{',
+ '"values": {',
+ '"0": "foo",',
+@@ -198,8 +224,12 @@ def index():
+ '"19": "foo"',
+ '}',
+ '}'
+- ])
++ ]
+
++ try:
++ self.assert_equal(lines, sorted_by_int)
++ except AssertionError:
++ self.assert_equal(lines, sorted_by_str)
+
+ class SendfileTestCase(FlaskTestCase):
+
diff --git a/dev-python/flask/files/flask-0.10.1-test_appcontext.patch b/dev-python/flask/files/flask-0.10.1-test_appcontext.patch
new file mode 100644
index 000000000000..11dee7a9f6bf
--- /dev/null
+++ b/dev-python/flask/files/flask-0.10.1-test_appcontext.patch
@@ -0,0 +1,14 @@
+https://github.com/mitsuhiko/flask/commit/f88cc2d2f9d14d97e33ddd2bbaa4b1885db06e1c.
+diff --git a/flask/testsuite/signals.py b/flask/testsuite/signals.py
+index e061932..45ca45d 100644
+--- a/flask/testsuite/signals.py
++++ b/flask/testsuite/signals.py
+@@ -102,7 +102,7 @@ def test_appcontext_signals(self):
+ def record_push(sender, **kwargs):
+ recorded.append('push')
+ def record_pop(sender, **kwargs):
+- recorded.append('push')
++ recorded.append('pop')
+
+ @app.route('/')
+ def index():
diff --git a/dev-python/flask/flask-0.10.1-r1.ebuild b/dev-python/flask/flask-0.10.1-r1.ebuild
new file mode 100644
index 000000000000..a879f6dfc547
--- /dev/null
+++ b/dev-python/flask/flask-0.10.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
+MY_PN="Flask"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/mitsuhiko/flask/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.21[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+# Usual; test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${P}-is_package.patch
+ "${FILESDIR}"/${P}-sort_json.patch
+ "${FILESDIR}"/${P}-test_appcontext.patch )
+
+python_test() {
+ "${PYTHON}" run-tests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask/flask-0.10.1-r2.ebuild b/dev-python/flask/flask-0.10.1-r2.ebuild
new file mode 100644
index 000000000000..e997dee4b8b1
--- /dev/null
+++ b/dev-python/flask/flask-0.10.1-r2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
+MY_PN="Flask"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/mitsuhiko/flask/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.21[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}"
+# Usual; test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${P}-is_package.patch
+ "${FILESDIR}"/${P}-sort_json.patch
+ "${FILESDIR}"/${P}-test_appcontext.patch )
+
+python_prepare_all() {
+ # Prevent un-needed d'loading
+ sed -e "s/ 'sphinx.ext.intersphinx',//" -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask/flask-9999.ebuild b/dev-python/flask/flask-9999.ebuild
new file mode 100644
index 000000000000..e94ede263203
--- /dev/null
+++ b/dev-python/flask/flask-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 git-2
+
+EGIT_REPO_URI="git://github.com/mitsuhiko/flask.git
+ https://github.com/mitsuhiko/flask.git"
+
+DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
+MY_PN="Flask"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/Flask"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="examples test"
+
+RDEPEND="dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-0.21[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-0.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+#if LIVE
+SRC_URI=
+KEYWORDS=
+#endif
+
+python_test() {
+ py.test tests || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask/metadata.xml b/dev-python/flask/metadata.xml
new file mode 100644
index 000000000000..5525ec93ab49
--- /dev/null
+++ b/dev-python/flask/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Flask</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/flup/Manifest b/dev-python/flup/Manifest
new file mode 100644
index 000000000000..23708fc3d373
--- /dev/null
+++ b/dev-python/flup/Manifest
@@ -0,0 +1 @@
+DIST flup-1.0.2.tar.gz 49051 SHA256 4bad317a5fc1ce3d4fe5e9b6d846ec38a8023e16876785d4f88102f2c8097dd9 SHA512 65c610f9ddc3df6ed6deb6753b2b15ce4f4579efd9dfd25166d3b6803e5d7058fee6617388c9c67c39f7db54da5c918181dcbddfbb7be4a78cf8b65501af4c4a WHIRLPOOL 03c60b9f51699f2b3171e35a1e4fef3fbd47ef07c7150f61cd5bbd2ae1b9094580745b0bcf951aa79d1ea1157ef7c76945470177aba9f2f93733508fc306e8db
diff --git a/dev-python/flup/flup-1.0.2-r1.ebuild b/dev-python/flup/flup-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..6e429230f643
--- /dev/null
+++ b/dev-python/flup/flup-1.0.2-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Random assortment of WSGI servers"
+HOMEPAGE="http://www.saddi.com/software/flup/"
+SRC_URI="http://www.saddi.com/software/${PN}/dist/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/flup/metadata.xml b/dev-python/flup/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/flup/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
new file mode 100644
index 000000000000..605b70fc8f97
--- /dev/null
+++ b/dev-python/fonttools/Manifest
@@ -0,0 +1,2 @@
+DIST fonttools-2.4.tar.gz 348885 SHA256 95e5d8a67e2dae3ea237f9bebc449e0af42f12f03683db34f617e5b15d9d4fb0 SHA512 d63f4d715b2af2716145e6798cfbcde5a96da0d778f1a394bf8850afb0d4643ee87399a031c1f97f67d46ec545eb548ef137e794b1b02964ad04d54e468ac570 WHIRLPOOL dfc654fb40ec8cb7f7c3767e33bcdf6a0048ff42b53f97e9df893402f8470f95ba85dda436263b3f4a5281d19f48d8b21b2be551973421a17b6ed25ff211eef0
+DIST fonttools-2.5.tar.gz 229374 SHA256 c89603f9f3346f48f4a24f786422e935423554e0a9172dcd3ec8ffbd556d2159 SHA512 03e5943dbf821563d1997de50ee3a5d46c56d22d8ec48d03211fe4c51913154da36655bce5f5b003551fbcc7daa39919f1d1d21f2dd8d61c1f6186cee74f694f WHIRLPOOL 48b75a2b7b525c46f6de9b3b258873ef2965d9b9ba10679e4958e0dcde3d031c2ded9f8d7beb0dc41233ca028bc83ea3b4f75df6b4457f6f3a8ccf6b547af45f
diff --git a/dev-python/fonttools/fonttools-2.4.ebuild b/dev-python/fonttools/fonttools-2.4.ebuild
new file mode 100644
index 000000000000..eeb2dc356498
--- /dev/null
+++ b/dev-python/fonttools/fonttools-2.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="http://fonttools.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ia64 ppc x86"
+IUSE=""
+
+DEPEND=">=dev-python/numpy-1.0.2[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ DOCS=( README.txt Doc/{changes.txt,install.txt} )
+ HTML_DOCS=( Doc/documentation.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fonttools/fonttools-2.5.ebuild b/dev-python/fonttools/fonttools-2.5.ebuild
new file mode 100644
index 000000000000..2c5409582d66
--- /dev/null
+++ b/dev-python/fonttools/fonttools-2.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="https://github.com/behdad/fonttools/"
+SRC_URI="https://github.com/behdad/fonttools/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/numpy-1.0.2[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ DOCS=( README.md Doc/{changes.txt,install.txt} )
+ HTML_DOCS=( Doc/documentation.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fonttools/metadata.xml b/dev-python/fonttools/metadata.xml
new file mode 100644
index 000000000000..36fc172f9f88
--- /dev/null
+++ b/dev-python/fonttools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>fonts</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">fonttools</remote-id>
+ <remote-id type="github">behdad/fonttools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/foolscap/Manifest b/dev-python/foolscap/Manifest
new file mode 100644
index 000000000000..6f89300b4f37
--- /dev/null
+++ b/dev-python/foolscap/Manifest
@@ -0,0 +1,3 @@
+DIST foolscap-0.6.4.tar.gz 479664 SHA256 74b283dd68a3c9d68ebf4e9b4ebf5cfb37480915b6a808ac930fe858a66f8d99 SHA512 014ec256b6192b509bebaef4d716f0d57c78062ae92621567d6be29b9f4cfad431cf691bb13b361f5eb1e383f62c5c164821154b35d2a06081369a175835012e WHIRLPOOL f1254636e9f668a669e14098490147143a723360a291320e6bc7ce8914b2049c024760dede4f5eec01bd4d4be0c709d7a4fd56d1e61f376a40f63942cbb27356
+DIST foolscap-0.7.0.tar.gz 478999 SHA256 fba0e016079442c9e69e2752727a1307f4110a1c62319a059650b2ab044b29d8 SHA512 b2eb5415376d4e8e4ee3fd9ecef80a02d195d6b44059e5292c2daa7dcfdea9deafd8678ff89391128244a8d41fb6a69a92f9e4f07cc599f7358783dc8cb70f15 WHIRLPOOL 58bc4b34d36e1edfa3bbcadb6a16704820af8b6448bf09d6d5e95c23edf60f41481d6792fcae808c0bd8bb3f71b18ed794c0be00e77cc67f160cb3b026567384
+DIST foolscap-0.8.0.tar.gz 475062 SHA256 6ab49e8c52ee49597148802a877593ddb6ca9a63cb32eaae8bff2900667be1c9 SHA512 4f491ac1e35e76b7fcee5994312e34696921eb7a9b0913e919142fe2807e32aad5ddbbffec3bfe5e1f4333ec38e0ee607ea9cfe5007b385ab6a15ea913c80f45 WHIRLPOOL 5b8c26eb081cf211683d6a8ed3177267793fe2aa3258b2e6b381aaa4d367ae4c0fb61b0902a186874efad9d2150303378d4468c573992047ac0994998ba2f534
diff --git a/dev-python/foolscap/foolscap-0.6.4-r1.ebuild b/dev-python/foolscap/foolscap-0.6.4-r1.ebuild
new file mode 100644
index 000000000000..acb53bf367ae
--- /dev/null
+++ b/dev-python/foolscap/foolscap-0.6.4-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="RPC protocol for Twisted"
+HOMEPAGE="http://foolscap.lothar.com/trac http://pypi.python.org/pypi/foolscap"
+SRC_URI="http://${PN}.lothar.com/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc ssl"
+
+RDEPEND=">=dev-python/twisted-core-2.4.0[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local -x LC_ALL=C
+ trial ${PN} || die "Tests fail for ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dodoc doc/*.txt
+ dohtml -A py,tpl,xhtml -r doc/*
+ fi
+}
diff --git a/dev-python/foolscap/foolscap-0.7.0.ebuild b/dev-python/foolscap/foolscap-0.7.0.ebuild
new file mode 100644
index 000000000000..f400ed6bed4b
--- /dev/null
+++ b/dev-python/foolscap/foolscap-0.7.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="RPC protocol for Twisted"
+HOMEPAGE="http://foolscap.lothar.com/trac http://pypi.python.org/pypi/foolscap"
+SRC_URI="http://${PN}.lothar.com/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc +ssl test"
+
+RDEPEND=">=dev-python/twisted-core-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-2.5.0[${PYTHON_USEDEP}]
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_test() {
+ trial ${PN} || die "Tests fail for ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dodoc doc/*.txt
+ dohtml -A py,tpl,xhtml -r doc/*
+ fi
+}
diff --git a/dev-python/foolscap/foolscap-0.8.0.ebuild b/dev-python/foolscap/foolscap-0.8.0.ebuild
new file mode 100644
index 000000000000..0b182db8daa7
--- /dev/null
+++ b/dev-python/foolscap/foolscap-0.8.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="RPC protocol for Twisted"
+HOMEPAGE="http://foolscap.lothar.com/trac http://pypi.python.org/pypi/foolscap"
+SRC_URI="http://${PN}.lothar.com/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc +ssl test"
+
+# setup.py stipulates >=twisted-core-2.5.0 but failures occur in testsuite under -15.x
+RDEPEND="
+ >=dev-python/twisted-core-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/twisted-core-15.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/twisted-web-15.0.0[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}]
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_test() {
+ trial ${PN} || die "Tests fail for ${EPYTHON}"
+}
+
+python_compile_all() {
+ local i;
+ if use doc; then
+ pushd doc > /dev/null
+ mkdir build || die
+ for i in ./*.rst
+ do
+ rst2html.py $i > ./build/${i/rst/html} || die
+ done
+ popd > /dev/null
+ fi
+}
+
+python_test() {
+ trial ${PN} || die "Tests fail for ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/foolscap/metadata.xml b/dev-python/foolscap/metadata.xml
new file mode 100644
index 000000000000..de8f9439ef0a
--- /dev/null
+++ b/dev-python/foolscap/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+<longdescription>
+This is a ground-up rewrite of Perspective Broker, which itself is Twisted's
+native RPC/RMI protocol (Remote Procedure Call / Remote Method Invocation).
+If you have control of both ends of the wire, and are thus not constrained to
+use some other protocol like HTTP/XMLRPC/CORBA/etc, you might consider using
+Foolscap.
+
+Fundamentally, Foolscap allows you to make a python object in one process
+available to code in other processes, which means you can invoke its methods
+remotely. This includes a data serialization layer to convey the object
+graphs for the arguments and the eventual response, and an object reference
+system to keep track of which objects you are connecting to. It uses a
+capability-based security model, such that once you create a non-public
+object, it is only accessible to clients to whom you've given the
+(unguessable) FURL. You can of course publish world-visible objects that
+have well-known FURLs.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">foolscap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/formencode/Manifest b/dev-python/formencode/Manifest
new file mode 100644
index 000000000000..66f91a3d8073
--- /dev/null
+++ b/dev-python/formencode/Manifest
@@ -0,0 +1,2 @@
+DIST FormEncode-1.2.4.tar.gz 240034 SHA256 8270840ee832055463b3d3328f8ae4b881e1fbe84353c97af1d913df3401feb9 SHA512 493c7b40bef72de9587633a46d01feed0d711dfc8a63dc610c706c50673c3201d1eb737f29b3ce2464c5c5d228d03415ceca48472f5baffc548db2604ba4a2f9 WHIRLPOOL aefd1dd670bc54f7775c3e6b59bf032014b992494ced70a8e891de256ad9ded5c3277c35e8794153194ab539d4e46a36b99d23bbd293fd35cad6dc355e395da0
+DIST FormEncode-1.3.0.zip 347674 SHA256 e6757280244a0d04e9cef51beeeafb4124087c27b7944c7d41341d0a30f7af78 SHA512 12c7c9fa36173c209682a6e1d68a074c64c9a5bd30e4f6b6b851b55d43c350ce1f79f666a9176add65f6bde554bc5deeb82ac965005f9457c4c2b0447af0cea9 WHIRLPOOL b2fa93f0f2eb2c417da43f22f41cb27edf18346560468927fc320aa93c1f6614ec7b76860427f843e3b50017a907c110a05269d281c76f99415b76480d395645
diff --git a/dev-python/formencode/formencode-1.2.4.ebuild b/dev-python/formencode/formencode-1.2.4.ebuild
new file mode 100644
index 000000000000..c8dec4e487c9
--- /dev/null
+++ b/dev-python/formencode/formencode-1.2.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+MY_PN="FormEncode"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="HTML form validation, generation, and conversion package"
+HOMEPAGE="http://formencode.org/ http://pypi.python.org/pypi/FormEncode"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="docs/*.txt"
diff --git a/dev-python/formencode/formencode-1.3.0-r1.ebuild b/dev-python/formencode/formencode-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..e1eba513df30
--- /dev/null
+++ b/dev-python/formencode/formencode-1.3.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="FormEncode"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="HTML form validation, generation, and conversion package"
+HOMEPAGE="http://formencode.org/ http://pypi.python.org/pypi/FormEncode"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-1.12.0-r1[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+RESTRICT="test"
+DOCS=( docs/. )
+
+S="${WORKDIR}/${MY_P}"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e '/package_data.*..docs/d' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # https://github.com/formencode/formencode/issues/78
+ # 5 failures under py2.7. Although the package claims to cater to py3, the suite fails horribly
+ # Main problem is that it is written requiring to be system installed, then run.
+ # Suite found to pass on extended testing using tox.
+ nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/formencode/metadata.xml b/dev-python/formencode/metadata.xml
new file mode 100644
index 000000000000..c05d7f72e27f
--- /dev/null
+++ b/dev-python/formencode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">FormEncode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fpconst/Manifest b/dev-python/fpconst/Manifest
new file mode 100644
index 000000000000..147dae5fc994
--- /dev/null
+++ b/dev-python/fpconst/Manifest
@@ -0,0 +1 @@
+DIST fpconst-0.7.3.tar.gz 9697 SHA256 1a5c2e4a1ecefd9981988cea15068699eccbc55e350af3471e782083d390c727 SHA512 c6394ca2bd5d431bd7902a35bb31b976d1ef7461b4b576c77859f4132288a288ccdcf38805cc9f49228a989b94d74846cae3e99b382a5546866f327b436c5cdf WHIRLPOOL f6bd4f327fa2045ec8d1dc31d20faad81600ec0d1d6b347142cb1ef3192d968fe10abfb24587fb1888113b0eb26509c7882e80c7b20892b2e9cfe5d610e54844
diff --git a/dev-python/fpconst/fpconst-0.7.3-r1.ebuild b/dev-python/fpconst/fpconst-0.7.3-r1.ebuild
new file mode 100644
index 000000000000..c7bbe82303da
--- /dev/null
+++ b/dev-python/fpconst/fpconst-0.7.3-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Module for handling IEEE 754 floating point special values"
+HOMEPAGE="http://chaco.bst.rochester.edu:8080/statcomp/projects/RStatServer/fpconst/ http://pypi.python.org/pypi/fpconst http://sourceforge.net/projects/rsoap/files/"
+SRC_URI="mirror://sourceforge/rsoap/${P}.tar.gz"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=( CHANGELOG README pep-0754.txt )
+
+python_test() {
+ "${PYTHON}" -m fpconst || die "Self-tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/fpconst/metadata.xml b/dev-python/fpconst/metadata.xml
new file mode 100644
index 000000000000..d32a30d6c410
--- /dev/null
+++ b/dev-python/fpconst/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">rsoap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest
new file mode 100644
index 000000000000..7c56ce176813
--- /dev/null
+++ b/dev-python/freezegun/Manifest
@@ -0,0 +1 @@
+DIST freezegun-0.3.5.tar.gz 43439 SHA256 ee59b2eedd4011eeaae8a95eec31aa977ec355df7f4eca1067f402cb79429e0a SHA512 2dfa6c8f06f58b241f4902bf3be838205ced0161a2b56b425eac20b3db1feb797254afabc0b1de5b6be2b79f003b03b7bedc1cc0d9dd7f666c443184a071ec88 WHIRLPOOL d3c7245b916d14d31b7f067741d3297df3c11b97ffde0b9b2ba51036d0cae6d5ab63cccdcfbc0cd1bd145ff23ac0159d948e0d6af42e4c41458e9842e2948bc2
diff --git a/dev-python/freezegun/freezegun-0.3.5.ebuild b/dev-python/freezegun/freezegun-0.3.5.ebuild
new file mode 100644
index 000000000000..adeb55e48c35
--- /dev/null
+++ b/dev-python/freezegun/freezegun-0.3.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Let your Python tests travel through time"
+HOMEPAGE="https://github.com/spulec/freezegun"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/freezegun/metadata.xml b/dev-python/freezegun/metadata.xml
new file mode 100644
index 000000000000..f42b5d09f39e
--- /dev/null
+++ b/dev-python/freezegun/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">freezegun</remote-id>
+ <remote-id type="github">spulec/freezegun</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/frozen-flask/Manifest b/dev-python/frozen-flask/Manifest
new file mode 100644
index 000000000000..de665f77b1f9
--- /dev/null
+++ b/dev-python/frozen-flask/Manifest
@@ -0,0 +1 @@
+DIST Frozen-Flask-0.11.tar.gz 106927 SHA256 c348e0165b161efa44770157eba3e006cc6a1e9867bfd74670cbc56529cc5512 SHA512 a734c6e090f08b01756b677a577c013e0198272a9e469410be81e5214eceb34d98e163410e8e04850036c58c5e7c9e718145e69cd26dd9e30c821f6949aede76 WHIRLPOOL 60a54174665e96b4f3921b72bb1f5f313f53c983d84e3dc6fd917f7273ace98a364638d925776eb5cfa6b709d8ee7c935cd3b9bbbb8926550513e3a54e517d59
diff --git a/dev-python/frozen-flask/frozen-flask-0.11-r1.ebuild b/dev-python/frozen-flask/frozen-flask-0.11-r1.ebuild
new file mode 100644
index 000000000000..acf049c3e6b6
--- /dev/null
+++ b/dev-python/frozen-flask/frozen-flask-0.11-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Frozen-Flask"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Freezes a Flask application into a set of static files"
+HOMEPAGE="https://github.com/SimonSapin/Frozen-Flask http://pypi.python.org/pypi/Frozen-Flask"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/flask-0.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ sed -e 's:^intersphinx_mapping:#intersphinx_mapping:' -i docs/conf.py || die
+ mkdir docs/_build || die
+ sphinx-build -c docs docs docs/_build || die
+ fi
+}
+
+python_test() {
+ nosetests || die Tests failed under $"{EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${S}"/docs/_build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/frozen-flask/metadata.xml b/dev-python/frozen-flask/metadata.xml
new file mode 100644
index 000000000000..f0f9f1aa3906
--- /dev/null
+++ b/dev-python/frozen-flask/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Frozen-Flask</remote-id>
+ <remote-id type="github">SimonSapin/Frozen-Flask</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fudge/Manifest b/dev-python/fudge/Manifest
new file mode 100644
index 000000000000..8ad6cae44a9a
--- /dev/null
+++ b/dev-python/fudge/Manifest
@@ -0,0 +1,3 @@
+DIST fudge-0.9.6.tar.gz 81653 SHA256 34690c4692e8717f4d6a2ab7d841070c93c8d0ea0d2615b47064e291f750b1a0 SHA512 69b2fa5bdd678779c0a8d9863a67e1e6724828720d2764f9f8958bc3598dcf39b22f9827efccb03014961d27d6e214c2125f639bab200b63c824c2306e3bb617 WHIRLPOOL 176df990c9adebe2d4f969603e48b2f1a797cf9935de3daeab98c078314a3fd88a19affdff5b784db5d570a3264f8cc849305b2e4761a7128c2cca7eed79062f
+DIST fudge-1.0.3.tar.gz 87558 SHA256 f8c8bfb3c0199dd06108c0c5a80e3645c7a071e0917b1a3bc73c761800809251 SHA512 7bbbcf517b2570fae20b882467aa7b739fcc9db2cd4fd2c363536da1a2bdd7c016417f42dcdb27c8422213c847eed7d8a90fd9d43eade2a238e5fc62630d5a6a WHIRLPOOL 9e02ea4d849e364ac979bf41c6fc626cdebf4b60186d9b63afe5dafa85ee4c73a9cdfbbc9762dd994e6b909f86f27caf4abe9f44394e203cbe900149f90f7960
+DIST fudge-1.1.0.tar.gz 86418 SHA256 eba59a926fa1df1ab6dddd69a7a8af21865b16cad800cb4d1af75070b0f52afb SHA512 061d9303d28509d4e22eb2036d041359f872be85911dd85bb16e4d13bfc1cf27637f8206f215f4a37d63108ab2500d2af3f6a1a3e206fe461ead9163e0519417 WHIRLPOOL 3425a95652a778b784af99aed54ab90caf3b94fa171c9991e35b5a561ce44e14c2d337c88a3bcd2ea52499dce7d642b70b0be27a45c13fb3d0025abfbbd6d8df
diff --git a/dev-python/fudge/fudge-0.9.6-r1.ebuild b/dev-python/fudge/fudge-0.9.6-r1.ebuild
new file mode 100644
index 000000000000..1992e4aae0df
--- /dev/null
+++ b/dev-python/fudge/fudge-0.9.6-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Replace real objects with fakes (mocks, stubs, etc) while testing"
+HOMEPAGE="http://farmdev.com/projects/fudge/ http://pypi.python.org/pypi/fudge"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ find -name "._*" -delete || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fudge/fudge-1.0.3-r2.ebuild b/dev-python/fudge/fudge-1.0.3-r2.ebuild
new file mode 100644
index 000000000000..8aae72151784
--- /dev/null
+++ b/dev-python/fudge/fudge-1.0.3-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Replace real objects with fakes (mocks, stubs, etc) while testing"
+HOMEPAGE="http://farmdev.com/projects/fudge/ http://pypi.python.org/pypi/fudge"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ find -name "._*" -delete || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fudge/fudge-1.1.0.ebuild b/dev-python/fudge/fudge-1.1.0.ebuild
new file mode 100644
index 000000000000..663ac7825fe8
--- /dev/null
+++ b/dev-python/fudge/fudge-1.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Replace real objects with fakes (mocks, stubs, etc) while testing"
+HOMEPAGE="http://farmdev.com/projects/fudge/ http://pypi.python.org/pypi/fudge"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fudge/metadata.xml b/dev-python/fudge/metadata.xml
new file mode 100644
index 000000000000..c3c08bae4d1b
--- /dev/null
+++ b/dev-python/fudge/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">fudge</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/funcparserlib/Manifest b/dev-python/funcparserlib/Manifest
new file mode 100644
index 000000000000..21d314235f5a
--- /dev/null
+++ b/dev-python/funcparserlib/Manifest
@@ -0,0 +1 @@
+DIST funcparserlib-0.3.6.tar.gz 30401 SHA256 b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d SHA512 efa52f788aa902b099660cb8bc60a025085a8c383e52bd0824a0c3ae28a6c13804a0659de0c80b4dcd839ee70491805d4eecda6cea221e35c3750ec569098c24 WHIRLPOOL c4bbf1f332f7fd6319fae178e810ea3ef83e403ee9ee89cacf1ec652c36a9047b5ed8fd9a41350eeb826633ec9ac6564d81ce88021670a079f82f256949d25d8
diff --git a/dev-python/funcparserlib/funcparserlib-0.3.6.ebuild b/dev-python/funcparserlib/funcparserlib-0.3.6.ebuild
new file mode 100644
index 000000000000..f8c6ab904734
--- /dev/null
+++ b/dev-python/funcparserlib/funcparserlib-0.3.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Recursive descent parsing library based on functional combinators"
+HOMEPAGE="https://code.google.com/p/funcparserlib/ https://pypi.python.org/pypi/funcparserlib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local m=unittest
+ cd "${BUILD_DIR}"/lib || die
+ "${PYTHON}" -m ${m} discover || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( doc/*.md )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/funcparserlib/metadata.xml b/dev-python/funcparserlib/metadata.xml
new file mode 100644
index 000000000000..a8d1bb227dff
--- /dev/null
+++ b/dev-python/funcparserlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">funcparserlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/funcsigs/Manifest b/dev-python/funcsigs/Manifest
new file mode 100644
index 000000000000..6cfe4a495b4c
--- /dev/null
+++ b/dev-python/funcsigs/Manifest
@@ -0,0 +1 @@
+DIST funcsigs-0.4.tar.gz 25697 SHA256 d83ce6df0b0ea6618700fe1db353526391a8a3ada1b7aba52fed7a61da772033 SHA512 64d821e94049ae906b9e5c8a2590f80a7d1d819554258e20f4170207576e5c8f65d32759a3f65bcb05fe721fa502658ff5767cd435932ea926c792c62ebe96d5 WHIRLPOOL d34cbcc061a341155b24b67af89f3fe0d14b659965ef4c9c14748996d33f3fd31d41492f097166236ebea54ea3ddd0e147c52f21f1410b2141169668811b9f66
diff --git a/dev-python/funcsigs/funcsigs-0.4.ebuild b/dev-python/funcsigs/funcsigs-0.4.ebuild
new file mode 100644
index 000000000000..ba5ebc1d926a
--- /dev/null
+++ b/dev-python/funcsigs/funcsigs-0.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python function signatures from PEP362 for Python 2.7"
+HOMEPAGE="https://pypi.python.org/pypi/funcsigs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 ~hppa x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/funcsigs/metadata.xml b/dev-python/funcsigs/metadata.xml
new file mode 100644
index 000000000000..f22d9fa5f257
--- /dev/null
+++ b/dev-python/funcsigs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">funcsigs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/functest/Manifest b/dev-python/functest/Manifest
new file mode 100644
index 000000000000..a391e66887eb
--- /dev/null
+++ b/dev-python/functest/Manifest
@@ -0,0 +1 @@
+DIST functest-0.8.8.tar.gz 9972 SHA256 73e4a8a325e2f1e8028c25e2530ac86064434b4583ec87dc6780208ba80d6fdd SHA512 31b95b90222044d4f7605c652730ea463fbc22f0fc3369afd60a870cd12c5edf333de15490d324a7d68476a82bed87de0f6dd30fb710af2e5d4338d7acbfc27d WHIRLPOOL fbeb06f00e450f2f73e1397308e3859f3d05146e36ef616b02f7192c6ce51ae0d8a9f7bf1a5f2d84bac6ddc29f0e3c22d726c4cc64853cf0e768c952c6f73fcb
diff --git a/dev-python/functest/functest-0.8.8-r1.ebuild b/dev-python/functest/functest-0.8.8-r1.ebuild
new file mode 100644
index 000000000000..8c0e9050bbd9
--- /dev/null
+++ b/dev-python/functest/functest-0.8.8-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Functest is a test tool/framework for testing in Python"
+HOMEPAGE="http://code.google.com/p/functest/ http://pypi.python.org/pypi/functest"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ # purge test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['tests','tests.*']):" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ PATH="scripts:${PATH}" nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/functest/metadata.xml b/dev-python/functest/metadata.xml
new file mode 100644
index 000000000000..071babc1aa06
--- /dev/null
+++ b/dev-python/functest/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">functest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fuse-python/Manifest b/dev-python/fuse-python/Manifest
new file mode 100644
index 000000000000..753829c9f135
--- /dev/null
+++ b/dev-python/fuse-python/Manifest
@@ -0,0 +1 @@
+DIST fuse-python-0.2.1.tar.gz 57833 SHA256 11ead462f8d0f8302ee07b33fe93dc42c653861a16c8802a31903a7355b8351b SHA512 f89c738352ca23e92b5c0222dde0a13bbee4d86432e9c339080203ed5bf4f885c42a0a3a252ed485f26b569d87e68dc0d78c55d8f7b2f3ce0cbac8afb251bdaa WHIRLPOOL ebd717570ceb539323af332e2e2057d549f6cf510b3558cd7cf1aa462645d283125d217498eaa97adff8a3c1c3af1da36235debf40ba97d886d63dcc8de54242
diff --git a/dev-python/fuse-python/fuse-python-0.2.1-r1.ebuild b/dev-python/fuse-python/fuse-python-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..be8f6dc1ba72
--- /dev/null
+++ b/dev-python/fuse-python/fuse-python-0.2.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+KEYWORDS="amd64 x86"
+DESCRIPTION="Python FUSE bindings"
+HOMEPAGE="http://fuse.sourceforge.net/wiki/index.php/FusePython"
+
+SRC_URI="mirror://sourceforge/fuse/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND=">=sys-fs/fuse-2.0"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/fuse-python/metadata.xml b/dev-python/fuse-python/metadata.xml
new file mode 100644
index 000000000000..9daaf4d446ad
--- /dev/null
+++ b/dev-python/fuse-python/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">fuse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/fusil/Manifest b/dev-python/fusil/Manifest
new file mode 100644
index 000000000000..69efd20565a5
--- /dev/null
+++ b/dev-python/fusil/Manifest
@@ -0,0 +1 @@
+DIST fusil-1.5.tar.gz 138910 SHA256 1b6e269f47636b5fd1ddd25940aa1beaae68c05c076b3ad6bcef72db5865729b SHA512 0d84bfd2d9b8e509989723de26b30c3ec2824612dbdcc097ff3e998fd4efa6b1293cb78743e098ad5012d4981b8e8036f3ad3f9c6acf2dc30e3ff1f707c7d1c0 WHIRLPOOL d0747c9f53af8ccaa9155fa05726928b0a52b5cef6fc76f7ab38b3219ca3d1c82c396737de3427fe3129d257f91853659ea7f2ab158c31a4349b53d906c5121d
diff --git a/dev-python/fusil/files/1.4-python25.patch b/dev-python/fusil/files/1.4-python25.patch
new file mode 100644
index 000000000000..b36643b5c4a7
--- /dev/null
+++ b/dev-python/fusil/files/1.4-python25.patch
@@ -0,0 +1,12 @@
+diff --git a/setup.py b/setup.py
+index 712796e..40ea469 100755
+--- a/setup.py
++++ b/setup.py
+@@ -17,6 +17,7 @@
+ # - set version to n+1
+ # - add a new empty section in the changelog for version n+1
+
++from __future__ import with_statement
+ from imp import load_source
+ from os import path
+ from sys import argv
diff --git a/dev-python/fusil/fusil-1.5.ebuild b/dev-python/fusil/fusil-1.5.ebuild
new file mode 100644
index 000000000000..befb160edbdf
--- /dev/null
+++ b/dev-python/fusil/fusil-1.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 user
+
+DESCRIPTION="Fusil the fuzzer is a Python library used to write fuzzing programs"
+HOMEPAGE="http://bitbucket.org/haypo/fusil/wiki/Home http://pypi.python.org/pypi/fusil"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+DEPEND="doc? ( dev-python/docutils[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/python-ptrace-0.7[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ if use doc; then
+ emake -C doc RST2HTML="rst2html.py" || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ enewgroup fusil
+ enewuser fusil -1 -1 -1 "fusil"
+}
diff --git a/dev-python/fusil/metadata.xml b/dev-python/fusil/metadata.xml
new file mode 100644
index 000000000000..c9788744da70
--- /dev/null
+++ b/dev-python/fusil/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">fusil</remote-id>
+ <remote-id type="bitbucket">haypo/fusil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/futures/Manifest b/dev-python/futures/Manifest
new file mode 100644
index 000000000000..e03eb7c9c4fd
--- /dev/null
+++ b/dev-python/futures/Manifest
@@ -0,0 +1,3 @@
+DIST futures-2.2.0.tar.gz 26786 SHA256 151c057173474a3a40f897165951c0e33ad04f37de65b6de547ddef107fd0ed3 SHA512 5f2a835b4b3f6bf1c4f086984a2e1d6ab30004b9af9298ef8afb23549014695ba26b43500dad3ee873e52aacd75911a42cd4ec9dfae6522cb99476a480dc83ee WHIRLPOOL 5c38f64759d0f2a15a536e8a5cb5c7473ce61d46242fc0c0bc737dfe91ce9b6573c1291a6f305953b96cd6298e1e41f7e27b45a2f0c2647315826ad9a1246ccd
+DIST futures-3.0.2.tar.gz 24908 SHA256 dc3fc91508e49e0fd2f8625f0132d16e49c80f882e7e1d565c56b0d5dfbae257 SHA512 01525c16914506d1e82910c5994aacc011d1ed01e91b7e403203ed1aa22a8caa3ff759ff399dd72628bc211dcab0893852ac177f792711ee9f9037a64c7e5723 WHIRLPOOL a59740472ca7cf339beb9ed44095d7f02b5701fcb2a28e41adc4dc6da63f23e5a629602010183ed611c4f60ba1a109563bd87242adb729ece12b57d63379e160
+DIST futures-3.0.3.tar.gz 24959 SHA256 2fe2342bb4fe8b8e217f0d21b5921cbe5408bf966d9f92025e707e881b198bed SHA512 2fa14df90e583ca86c47441b170a93435eb82fd37bb2e15d98e79c32fbe40fc3f602d762805de05fa8007df4a3ce92840915be59481b94ab4863aae884da74bd WHIRLPOOL 661a1174815766717eb7b130929c7aeef08079228df8f092093ee6cf40f84041ae6729cc7c0f2b05080efd0d80c0f7885c3ae333f7e5f3d21ccf2cfc20cbaa44
diff --git a/dev-python/futures/futures-2.2.0.ebuild b/dev-python/futures/futures-2.2.0.ebuild
new file mode 100644
index 000000000000..2ef8e01104d6
--- /dev/null
+++ b/dev-python/futures/futures-2.2.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+DESCRIPTION="Backport of the concurrent.futures package from Python 3.2"
+HOMEPAGE="http://code.google.com/p/pythonfutures http://pypi.python.org/pypi/futures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # tests that fail under pypy
+ # http://code.google.com/p/pythonfutures/issues/detail?id=27
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_del_shutdown:_&:g' \
+ -e 's:test_repr:_&:' -i test_futures.py || die
+ fi
+ "${PYTHON}" test_futures.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/futures/futures-3.0.2.ebuild b/dev-python/futures/futures-3.0.2.ebuild
new file mode 100644
index 000000000000..4f46c60f1235
--- /dev/null
+++ b/dev-python/futures/futures-3.0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+DESCRIPTION="Backport of the concurrent.futures package from Python 3.2"
+HOMEPAGE="http://code.google.com/p/pythonfutures http://pypi.python.org/pypi/futures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # tests that fail under pypy
+ # http://code.google.com/p/pythonfutures/issues/detail?id=27
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_del_shutdown:_&:g' \
+ -e 's:test_repr:_&:' -i test_futures.py || die
+ fi
+ "${PYTHON}" test_futures.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/futures/futures-3.0.3.ebuild b/dev-python/futures/futures-3.0.3.ebuild
new file mode 100644
index 000000000000..d96d2e8c333b
--- /dev/null
+++ b/dev-python/futures/futures-3.0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+DESCRIPTION="Backport of the concurrent.futures package from Python 3.2"
+HOMEPAGE="http://code.google.com/p/pythonfutures http://pypi.python.org/pypi/futures"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # tests that fail under pypy
+ # http://code.google.com/p/pythonfutures/issues/detail?id=27
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_del_shutdown:_&:g' \
+ -e 's:test_repr:_&:' -i test_futures.py || die
+ fi
+ "${PYTHON}" test_futures.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/futures/metadata.xml b/dev-python/futures/metadata.xml
new file mode 100644
index 000000000000..ed9c72e53753
--- /dev/null
+++ b/dev-python/futures/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">futures</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gconf-python/Manifest b/dev-python/gconf-python/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/gconf-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/gconf-python/gconf-python-2.28.1-r1.ebuild b/dev-python/gconf-python/gconf-python-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..1f5f60dfbc9d
--- /dev/null
+++ b/dev-python/gconf-python/gconf-python-2.28.1-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the GConf library"
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples"
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ >=gnome-base/gconf-2.11.1
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/gconf/. )
diff --git a/dev-python/gconf-python/metadata.xml b/dev-python/gconf-python/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/gconf-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/gcs-oauth2-boto-plugin/Manifest b/dev-python/gcs-oauth2-boto-plugin/Manifest
new file mode 100644
index 000000000000..a210483bc6da
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/Manifest
@@ -0,0 +1,3 @@
+DIST gcs-oauth2-boto-plugin-1.7.tar.gz 13573 SHA256 a83dab83fb55c633bc5a80e6491e2aa00542914e7f550a8fecd1bb273d4b4dd4 SHA512 9972c7334d7710f3aa4f2aeb3b733a376fded6670b0fd950432af5b544b3e4e140bd8726112ab03bee79ee619660d1a71ac24f130be8de070671c2b8c400b8ae WHIRLPOOL 871aeb3db56d4e2727d5b42d3a0a97ca026d51c51abb7d439b0a372560713b53b9a2a5ad59e10bdd78bad591e37a08545bc2ce738d835583a3be319af503c7ca
+DIST gcs-oauth2-boto-plugin-1.8.tar.gz 13248 SHA256 cb4f3c608c953c9f6eecbad0dd33c6a2dba283cf1cd332ceaac1a9ba8a17c64b SHA512 5504fc38d58ee68a78ee2b8e6c3757045494d000748382bc26888a65085cec08d2d137c63cb51afd1cef72d31b3f0cac5d40014548cca47c5322a67a7f1ef204 WHIRLPOOL 238ee67cdad11162abe614fad7d6eb6175a27fc132c790e17f4380373b8c8d48906e5ac361c4d3c34fbac85e851bdf6426c3660434bf809d4abca87f6cb995a9
+DIST gcs-oauth2-boto-plugin-1.9.tar.gz 14625 SHA256 82e70621354a0291ff312d060fedf25f8016eb0af215d443562ac2b26f94b28d SHA512 439def0c7b78a103bd3041600e25eaede44c3aac8a161f12acd6dee98cd8404b03229df24cf4e7814d63600ca50793496a80893f1e32f8ed8ac4a2825dd07df8 WHIRLPOOL ba28ac45e909a2410f36c81ba7f5e83e9c71963b1fd4d69df7fe425d26f066ea8376cf935f6b732c57d98b7d2e770d68a2658953279f0985725970af9d206dd6
diff --git a/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.7-use-friendy-version-checks.patch b/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.7-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..665b1c4f01bb
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.7-use-friendy-version-checks.patch
@@ -0,0 +1,13 @@
+--- a/setup.py
++++ b/setup.py
+@@ -36,9 +36,7 @@ requires = [
+ 'python-gflags>=2.0',
+ 'google-api-python-client>=1.1',
+ 'pyOpenSSL>=0.13',
+- # Not using 1.02 because of:
+- # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ 'retry_decorator>=1.0.0',
+ ]
+
diff --git a/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.8-use-friendy-version-checks.patch b/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.8-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..c89b7a69b461
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/files/gcs-oauth2-boto-plugin-1.8-use-friendy-version-checks.patch
@@ -0,0 +1,13 @@
+--- a/setup.py
++++ b/setup.py
+@@ -36,9 +36,7 @@ requires = [
+ 'httplib2>=0.8',
+ 'google-api-python-client>=1.1',
+ 'pyOpenSSL>=0.13',
+- # Not using 1.02 because of:
+- # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ 'retry_decorator>=1.0.0',
+ ]
+
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.7.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.7.ebuild
new file mode 100644
index 000000000000..a464e1676510
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.7.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
+HOMEPAGE="https://pypi.python.org/pypi/gcs-oauth2-boto-plugin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-friendy-version-checks.patch"
+)
+
+# Keep versions in sync with setup.py.
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/socksipy-1.01[${PYTHON_USEDEP}]"
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8-r1.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8-r1.ebuild
new file mode 100644
index 000000000000..37cd19b3eba8
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
+HOMEPAGE="https://pypi.python.org/pypi/gcs-oauth2-boto-plugin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-friendy-version-checks.patch"
+)
+
+# Keep versions in sync with setup.py.
+DEPEND="${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/socksipy-1.01[${PYTHON_USEDEP}]"
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.ebuild
new file mode 100644
index 000000000000..8f77b80b9935
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
+HOMEPAGE="https://pypi.python.org/pypi/gcs-oauth2-boto-plugin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-friendy-version-checks.patch"
+)
+
+# Keep versions in sync with setup.py.
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/socksipy-1.01[${PYTHON_USEDEP}]"
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.9.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.9.ebuild
new file mode 100644
index 000000000000..72ad10f4063b
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.9.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
+HOMEPAGE="https://pypi.python.org/pypi/gcs-oauth2-boto-plugin"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8-use-friendy-version-checks.patch"
+)
+
+# Keep versions in sync with setup.py.
+DEPEND="${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/socksipy-1.01[${PYTHON_USEDEP}]"
diff --git a/dev-python/gcs-oauth2-boto-plugin/metadata.xml b/dev-python/gcs-oauth2-boto-plugin/metadata.xml
new file mode 100644
index 000000000000..3ccdc0e87b22
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">gcs-oauth2-boto-plugin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gdata/Manifest b/dev-python/gdata/Manifest
new file mode 100644
index 000000000000..99da60a57ef0
--- /dev/null
+++ b/dev-python/gdata/Manifest
@@ -0,0 +1,3 @@
+DIST gdata-2.0.14.tar.gz 1872888 SHA256 ba291d2b9d36a0f1b1b31a5a3ac3ba11f1bcce21c915a6ec78d109a43dafb1b0 SHA512 88f8c6e8f2fb1c7774c44833ce1817b842bcf054f960f1270c9bd53adb22922bf18691ef8dc83b571d2308227722620fb0adfe4b35b04bf54d4b8f319af872a0 WHIRLPOOL d59354aac324b872800818ba7b924658396652b33b898ec8629629d62a503b854b472c604febd021aae303a174775191059a285e7aa1fa2b91cdacfd2f4657d1
+DIST gdata-2.0.17.tar.gz 2398047 SHA256 ad72274532d726304733c5bfc01bffab8c7a34ce7e730deed849aecb62c5aa2d SHA512 814755099ecd4691f13786600975b28be662312c10b22af22e2e4acf31832e8d8dd14da75940afc596fff0cfa26c7def984abc8b7a9175facf1bd662d652ceaf WHIRLPOOL 55ab0d05d606ef2130e1ce904d7caa646ca146508cd5585a10277757909b4bca34ead0a846c85b49f3207520c0481655a4f3da6b21237745ff7a2613a3f64cc5
+DIST gdata-2.0.18.tar.gz 2475552 SHA256 56e7d22de819c22b13ceb0fe1869729b4287f89ebbd4bb55380d7bcf61a1fdb6 SHA512 57d01a8e41fd7507621c10a4ea3e66223aa1d481365269daecdb5ef1bd725915448bcfa5aca9bef3a7fb4b735627d7916b7f971f1c05d7bf840069346e98ceef WHIRLPOOL a3ed7e084436ad858b35970ebc0b73216ca4f041448c1916c0e1ba28f9b6135c0aa80dfb3aa6a5cf31ba6ca0b999e3633e2d6801e5c2c495da0d40feac61afe6
diff --git a/dev-python/gdata/gdata-2.0.14.ebuild b/dev-python/gdata/gdata-2.0.14.ebuild
new file mode 100644
index 000000000000..56b17f241ac5
--- /dev/null
+++ b/dev-python/gdata/gdata-2.0.14.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH="ssl(+) xml"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+MY_P="gdata-${PV}"
+
+DESCRIPTION="Python client library for Google data APIs"
+HOMEPAGE="http://code.google.com/p/gdata-python-client/ http://pypi.python.org/pypi/gdata"
+SRC_URI="http://gdata-python-client.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_MODNAME="atom gdata"
+
+src_test() {
+ testing() {
+ PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" tests/run_data_tests.py -v || return 1
+
+ # run_service_tests.py requires interaction (and a valid Google account), so skip it.
+ # PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" tests/run_service_tests.py -v || return 1
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r samples/* || die "Installation of examples failed"
+ fi
+}
diff --git a/dev-python/gdata/gdata-2.0.17-r1.ebuild b/dev-python/gdata/gdata-2.0.17-r1.ebuild
new file mode 100644
index 000000000000..1406e3ff2c67
--- /dev/null
+++ b/dev-python/gdata/gdata-2.0.17-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="ssl(+),xml(+)"
+
+inherit distutils-r1
+
+MY_P="gdata-${PV}"
+
+DESCRIPTION="Python client library for Google data APIs"
+HOMEPAGE="http://code.google.com/p/gdata-python-client/ http://pypi.python.org/pypi/gdata"
+SRC_URI="http://gdata-python-client.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="examples"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ # run_service_tests.py requires interaction (and a valid Google account), so skip it.
+ "${PYTHON}" tests/run_data_tests.py -v || die "Test failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/gdata/gdata-2.0.18.ebuild b/dev-python/gdata/gdata-2.0.18.ebuild
new file mode 100644
index 000000000000..0c7294ec6a8f
--- /dev/null
+++ b/dev-python/gdata/gdata-2.0.18.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="ssl(+),xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python client library for Google data APIs"
+HOMEPAGE="http://code.google.com/p/gdata-python-client/ http://pypi.python.org/pypi/gdata"
+SRC_URI="http://gdata-python-client.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="examples"
+
+python_test() {
+ # run_service_tests.py requires interaction (and a valid Google account), so skip it.
+ "${PYTHON}" tests/run_data_tests.py -v || die "Test failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/gdata/metadata.xml b/dev-python/gdata/metadata.xml
new file mode 100644
index 000000000000..e0962e2b130c
--- /dev/null
+++ b/dev-python/gdata/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">gdata-python-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gdmodule/Manifest b/dev-python/gdmodule/Manifest
new file mode 100644
index 000000000000..de634ca01778
--- /dev/null
+++ b/dev-python/gdmodule/Manifest
@@ -0,0 +1 @@
+DIST gdmodule-0.56.tar.gz 48748 SHA256 a3a2fd6378e32f10a348c4db428a91e2c1adc28de6ec35c0619a52e379f4edec SHA512 9570a9c06a1c7d76af760fffe30cfde9a840620c608f0d55123898e030d6f3ab4c91fe75bf02b326f13f4a85ea5429c6a0ec0cd20fdc27fa83e656b81f7cce88 WHIRLPOOL e05702ca2fe129b9548f301a73b8a8b461f060dfef67e7b5135756ab70b6a996c55037c9ec60952a2577ed2468141af20ebe128f5312449b8e909092d6f8c5ad
diff --git a/dev-python/gdmodule/files/gdmodule-0.56-fix-libs.patch b/dev-python/gdmodule/files/gdmodule-0.56-fix-libs.patch
new file mode 100644
index 000000000000..bb46490986a9
--- /dev/null
+++ b/dev-python/gdmodule/files/gdmodule-0.56-fix-libs.patch
@@ -0,0 +1,116 @@
+--- Setup.py.orig 2005-03-11 04:29:59.000000000 +0000
++++ Setup.py 2010-12-06 07:15:26.332707178 +0000
+@@ -1,102 +1,11 @@
+ # Setup for gdmodule 0.50 and later
+
+ from distutils.core import setup, Extension
+-import os, glob, sys, string
+
+ # version of this gdmodule package
+ this_version = "0.56"
+
+-# directory existence tester
+-
+-def dirtest(lst):
+- rlst = []
+- for d in lst:
+- try:
+- if os.listdir(d):
+- rlst.append(d)
+- except:
+- pass
+- return rlst
+-
+-def filetest(path, names):
+- rlst = []
+- for d in path:
+- for i in range(len(names)):
+- found = glob.glob(os.path.join(d, "lib%s.*" % names[i]))
+- if found:
+- rlst.append(names[i])
+- names[i] = None
+- names = filter(None, names)
+- return rlst
+-
+-def remove(itm, lst):
+- r = range(len(lst))
+- r.reverse()
+- for i in r:
+- if lst[i] == itm:
+- del lst[i]
+-
+-# library_dirs option is rather non-portable, but since I am targetting
+-# Unixoid OS's I will just look for the usual suspects.
+-
+-libdirs = dirtest([
+- "/usr/local/lib", "/sw/lib", "/usr/lib",
+- "/usr/lib/X11", "/usr/X11R6/lib",
+- "/opt/gnome/lib",
+-])
+-
+-# include_dirs are also non-portable; same trick here.
+-
+-incdirs = dirtest([
+- "/usr/local/include", "/sw/include", "/usr/include",
+- "/usr/include/X11", "/usr/X11R6/include",
+- "/opt/gnome/include",
+-])
+-
+-# Try to identify our libraries
+-
+-want_libs = [
+- "gd",
+- "jpeg", "png", "gif", "z",
+- "X11", "Xpm",
+- "ttf", "freetype",
+-]
+-
+-libs = filetest(libdirs, want_libs)
+-
+-missing = []
+-
+-for l in want_libs:
+- if l and l not in libs:
+- missing.append(l)
+-
+-if missing:
+- print "WARNING: Missing", string.join(missing, ", "), "Libraries"
+-
+-# hand-clean the libs
+-
+-if "gd" not in libs:
+- print "Can't find GD library."
+- sys.exit(0)
+-
+-if "ttf" in libs and "freetype" in libs:
+- remove("ttf", libs)
+-
+-if "Xpm" in libs and "X11" not in libs:
+- remove("Xpm", libs)
+-
+-if "png" in libs and "z" not in libs:
+- remove("png", libs)
+-
+-if "z" in libs and "png" not in libs:
+- remove("png", libs)
+-
+-# build the macro list
+-
+-macros = []
+-
+-for l in libs:
+- macros.append(( "HAVE_LIB%s" % l.upper(), None ))
++libs = [ "gd" ]
+
+ # OK, now do it!
+
+@@ -111,8 +20,7 @@
+ py_modules=["gd"],
+ ext_modules=[
+ Extension("_gd", ["_gdmodule.c"],
+- include_dirs=incdirs, library_dirs=libdirs,
+- libraries=libs, define_macros=macros)],
++ libraries=libs)],
+ )
+
+ # end of file... I guess we're done.
diff --git a/dev-python/gdmodule/gdmodule-0.56-r2.ebuild b/dev-python/gdmodule/gdmodule-0.56-r2.ebuild
new file mode 100644
index 000000000000..b6b49762708d
--- /dev/null
+++ b/dev-python/gdmodule/gdmodule-0.56-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python extensions for gd"
+HOMEPAGE="https://github.com/Solomoriah/gdmodule"
+SRC_URI="http://newcenturycomputers.net/projects/download.cgi/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x86-linux"
+IUSE="jpeg png truetype xpm"
+
+RDEPEND="
+ media-libs/gd[jpeg?,png?,truetype?,xpm?]
+ media-libs/giflib
+ jpeg? ( virtual/jpeg:0 )
+ png? ( media-libs/libpng:0 )
+ truetype? ( media-libs/freetype:2 )
+ xpm? ( x11-libs/libXpm )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-libs.patch )
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ mv Setup.py setup.py || die
+
+ # append unconditionally because it is enabled id media-libs/gd by default
+ append-cppflags -DHAVE_LIBGIF
+
+ use jpeg && append-cppflags -DHAVE_LIBJPEG
+ use png && append-cppflags -DHAVE_LIBPNG
+ use truetype && append-cppflags -DHAVE_LIBFREETYPE
+ use xpm && append-cppflags -DHAVE_LIBXPM
+}
diff --git a/dev-python/gdmodule/metadata.xml b/dev-python/gdmodule/metadata.xml
new file mode 100644
index 000000000000..0651bcd4e842
--- /dev/null
+++ b/dev-python/gdmodule/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ This module is a python wrapper for the GD library.
+</longdescription>
+ <upstream>
+ <remote-id type="github">Solomoriah/gdmodule</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/genshi/Manifest b/dev-python/genshi/Manifest
new file mode 100644
index 000000000000..01aa62c85bb3
--- /dev/null
+++ b/dev-python/genshi/Manifest
@@ -0,0 +1 @@
+DIST Genshi-0.7.tar.gz 491579 SHA256 1d154402e68bc444a55bcac101f96cb4e59373100cc7a2da07fbf3e5cc5d7352 SHA512 2d0042d4da4566725ddd80b73c5b7be09f479f5529e4aa69903edc2a98905ff6de42a0d5a6f02986d7962deb7740c4a3acf6955a8b77fdb42d3cf4ca037de6bf WHIRLPOOL 5e1a7af061d28a581c8a028ae7343a2b80697eb8bca01c8609345a3f2146db190a596d3488c0bde5aa132ac930d591ff1babd033ccb532c7cac7d2931751f906
diff --git a/dev-python/genshi/files/genshi-0.6-html_test.patch b/dev-python/genshi/files/genshi-0.6-html_test.patch
new file mode 100644
index 000000000000..4f74d6b999f5
--- /dev/null
+++ b/dev-python/genshi/files/genshi-0.6-html_test.patch
@@ -0,0 +1,37 @@
+Add/Change #501 (test_sanitize_remove_src_javascript fails due to HTMLParser bugfixes in cpython)
+Add/Change #500 (test_sanitize_remove_script_elem fails due to HTMLParser bugfixes in cpython)
+--- a/genshi/filters/tests/html.py
++++ b/genshi/filters/tests/html.py
+@@ -365,9 +365,12 @@
+ self.assertEquals('', (html | HTMLSanitizer()).render())
+ html = HTML('<SCRIPT SRC="http://example.com/"></SCRIPT>')
+ self.assertEquals('', (html | HTMLSanitizer()).render())
+- self.assertRaises(ParseError, HTML, '<SCR\0IPT>alert("foo")</SCR\0IPT>')
+- self.assertRaises(ParseError, HTML,
+- '<SCRIPT&XYZ SRC="http://example.com/"></SCRIPT>')
++ html = HTML('<SCR\0IPT>alert("foo")</SCR\0IPT>')
++ self.assertEquals('&lt;SCR\x00IPT&gt;alert("foo")',
++ (html | HTMLSanitizer()).render())
++ html = HTML('<SCRIPT&XYZ SRC="http://example.com/"></SCRIPT>')
++ self.assertEquals('&lt;SCRIPT&amp;XYZ; SRC="http://example.com/"&gt;',
++ (html | HTMLSanitizer()).render())
+
+ def test_sanitize_remove_onclick_attr(self):
+ html = HTML('<div onclick=\'alert("foo")\' />')
+
+--- a/genshi/filters/tests/html.py
++++ b/genshi/filters/tests/html.py
+@@ -437,9 +440,9 @@
+ # Case-insensitive protocol matching
+ html = HTML('<IMG SRC=\'JaVaScRiPt:alert("foo")\'>')
+ self.assertEquals('<img/>', (html | HTMLSanitizer()).render())
+- # Grave accents (not parsed)
+- self.assertRaises(ParseError, HTML,
+- '<IMG SRC=`javascript:alert("RSnake says, \'foo\'")`>')
++ # Grave accents.
++ html = HTML('<IMG SRC=`javascript:alert("RSnake says, \'foo\'")`>')
++ self.assertEquals('<img/>', (html | HTMLSanitizer()).render())
+ # Protocol encoded using UTF-8 numeric entities
+ html = HTML('<IMG SRC=\'&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;'
+ '&#112;&#116;&#58;alert("foo")\'>')
+
diff --git a/dev-python/genshi/genshi-0.7.ebuild b/dev-python/genshi/genshi-0.7.ebuild
new file mode 100644
index 000000000000..b053ac351025
--- /dev/null
+++ b/dev-python/genshi/genshi-0.7.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_P="Genshi-${PV}"
+
+DESCRIPTION="Python toolkit for stream-based generation of output for the web"
+HOMEPAGE="http://genshi.edgewall.org/ http://pypi.python.org/pypi/Genshi"
+SRC_URI="http://ftp.edgewall.com/pub/genshi/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ "${PYTHON}" setup.py test
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc doc/*.txt
+ dohtml -r doc/*
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/genshi/metadata.xml b/dev-python/genshi/metadata.xml
new file mode 100644
index 000000000000..ee7e8b2450a8
--- /dev/null
+++ b/dev-python/genshi/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/geoip-python/Manifest b/dev-python/geoip-python/Manifest
new file mode 100644
index 000000000000..099df7cb3d9f
--- /dev/null
+++ b/dev-python/geoip-python/Manifest
@@ -0,0 +1 @@
+DIST geoip-api-python-1.3.2.tar.gz 35674 SHA256 95e966e9d62b73a7933434b61b0e09fdf25190047ea4d3b92922e03a7e83034d SHA512 284209a6894d55ef95844c5c4c7aafff99ebcb13996e5ff64a0c31b38677e13c11d51fd8b0250d0fa097f15805c27b572d5aa12c2b217a839afe3cdd0851c414 WHIRLPOOL bd123b2417b2d0aa0e9d91e3b24276b806e470ce7bcd90977676fb3a52af5c5096932c542100221e0aed4723f93e00b5949fa3bc7970ef6f312b4a5512f3dc7d
diff --git a/dev-python/geoip-python/geoip-python-1.3.2.ebuild b/dev-python/geoip-python/geoip-python-1.3.2.ebuild
new file mode 100644
index 000000000000..8981f059abd5
--- /dev/null
+++ b/dev-python/geoip-python/geoip-python-1.3.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="geoip-api-python"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python bindings for GeoIP"
+HOMEPAGE="https://github.com/maxmind/geoip-api-python"
+SRC_URI="https://github.com/maxmind/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ~sparc x86 ~x86-fbsd"
+IUSE="examples test"
+
+RDEPEND=">=dev-libs/geoip-1.4.8"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( README.rst ChangeLog.md )
+
+python_compile() {
+ if [[ python_is_python3 || "$EPYTHON}" == 'pypy3' ]]; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/geoip-python/metadata.xml b/dev-python/geoip-python/metadata.xml
new file mode 100644
index 000000000000..8f105d0a09d6
--- /dev/null
+++ b/dev-python/geoip-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">maxmind/geoip-api-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/geopy/Manifest b/dev-python/geopy/Manifest
new file mode 100644
index 000000000000..2900b61d4801
--- /dev/null
+++ b/dev-python/geopy/Manifest
@@ -0,0 +1,3 @@
+DIST geopy-1.10.0.tar.gz 69671 SHA256 d1445731b20762b4e1d13e98d6370ff39a58fb29bd526afe1a44d510e91ee815 SHA512 943eb188090597786d5df9d1dac652dda81dd85d8edc57d9ffd4197b8a9a89c54a01ae4d6263eae64f69dc8437234a1ca797e869856d978c367b8db4c2c82f54 WHIRLPOOL f996abff6aaab85b98267d39c9284cb45e0d5d636e8df14baa8bae8b67c97ca8472076fac5f30fae0f19a7a390ae6247afcac3afc91d14197f51d44249ce6eb2
+DIST geopy-1.8.1.tar.gz 67542 SHA256 63b805535cbe178367ee8f5e0221fab9fa691eef5797decac1e0851d16173dcf SHA512 0df2e67ed35d5cc3f796e3188df3a37d8fa101a4b6feb6b760ea08087ba44c350765a8c1032012b5e762454fa15c520f97d59ff942f07047927ef4872232a57c WHIRLPOOL 44c3f68a26ba23ca3ffae52dba5dc575a1cf54a53ea1e39d9566d97c58bcdb26b98934befc7cf012adbd266cee8a10b72d6880d1765af7f23486292b249c91a2
+DIST geopy-1.9.1.tar.gz 67158 SHA256 e95989f5baf2cc5c2cee6186355f24b3fa8ce01faabea4e2bfcb083109416462 SHA512 ad6281626a03778754bec2e776419327609b3e6e47d6641520787ed2af87106fb2842a89667da680317a6c745970ac23b66c9b0fe8e50a2d223fc3169fe013b9 WHIRLPOOL e0f6fef1a061ff2d88e6ea1a37786405b1b0cac7d0982cb7bd650582b10726a6fa682c9c6577be6cec1d90b52d3f4828d221ac07d4aff6b04b93ff95f2c69110
diff --git a/dev-python/geopy/files/1.1.3-formatpy3.patch b/dev-python/geopy/files/1.1.3-formatpy3.patch
new file mode 100644
index 000000000000..35c0b0f30c4f
--- /dev/null
+++ b/dev-python/geopy/files/1.1.3-formatpy3.patch
@@ -0,0 +1,15 @@
+https://github.com/geopy/geopy/commit/fe0cd3c6c92b7d7ac47cb2292260485c5b3791c1
+diff --git a/geopy/format.py b/geopy/format.py
+index 965a127..63b1e94 100644
+--- a/geopy/format.py
++++ b/geopy/format.py
+@@ -30,7 +30,7 @@
+ ABBR_ARCSEC = 'arcsec'
+
+ DEGREES_FORMAT = (
+- "%(degrees)d%(deg)s %(minutes)d%(arcmin)s %(seconds)s%(arcsec)s"
++ "%(degrees)d%(deg)s %(minutes)d%(arcmin)s %(seconds)g%(arcsec)s"
+ )
+
+ UNICODE_SYMBOLS = {
+
diff --git a/dev-python/geopy/files/1.1.3-tests-env-vars.patch b/dev-python/geopy/files/1.1.3-tests-env-vars.patch
new file mode 100644
index 000000000000..8c0b914e62a8
--- /dev/null
+++ b/dev-python/geopy/files/1.1.3-tests-env-vars.patch
@@ -0,0 +1,198 @@
+https://github.com/geopy/geopy/commit/6c9714c480d62dcd04d514dcad10785d5a0816c2
+diff --git a/test/geocoders/arcgis.py b/test/geocoders/arcgis.py
+index fdca58c..b154a60 100644
+--- a/test/geocoders/arcgis.py
++++ b/test/geocoders/arcgis.py
+@@ -7,6 +7,10 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('ARCGIS_USERNAME')),
++ "No ARCGIS_USERNAME env variable set"
++)
+ class ArcGISTestCase(GeocoderTestBase):
+
+ @classmethod
+diff --git a/test/geocoders/baidu.py b/test/geocoders/baidu.py
+index 8ba249c..827ab12 100644
+--- a/test/geocoders/baidu.py
++++ b/test/geocoders/baidu.py
+@@ -6,8 +6,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['BAIDU_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('BAIDU_KEY')),
+ "No BAIDU_KEY env variable set"
+ )
+ class BaiduTestCase(GeocoderTestBase):
+diff --git a/test/geocoders/bing.py b/test/geocoders/bing.py
+index 17b1aae..d23e99b 100644
+--- a/test/geocoders/bing.py
++++ b/test/geocoders/bing.py
+@@ -6,8 +6,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['BING_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('BING_KEY')),
+ "No BING_KEY env variable set"
+ )
+ class BingTestCase(GeocoderTestBase):
+diff --git a/test/geocoders/dotus.py b/test/geocoders/dotus.py
+index e777278..d2bbfa2 100644
+--- a/test/geocoders/dotus.py
++++ b/test/geocoders/dotus.py
+@@ -5,9 +5,9 @@
+ from geopy.geocoders import GeocoderDotUS
+ from test.geocoders.util import GeocoderTestBase, env
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['GEOCODERDOTUS_USERNAME'] is not None and \
+- env['GEOCODERDOTUS_PASSWORD'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('GEOCODERDOTUS_USERNAME')) and \
++ bool(env.get('GEOCODERDOTUS_PASSWORD')),
+ "No GEOCODERDOTUS_USERNAME and GEOCODERDOTUS_PASSWORD env variables set"
+ )
+ class GeocoderDotUSTestCase(GeocoderTestBase): # pylint: disable=R0904,C0111
+diff --git a/test/geocoders/geocodefarm.py b/test/geocoders/geocodefarm.py
+index 151bac6..ffa28a4 100644
+--- a/test/geocoders/geocodefarm.py
++++ b/test/geocoders/geocodefarm.py
+@@ -8,8 +8,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['GEOCODEFARM_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('GEOCODEFARM_KEY')),
+ "GEOCODEFARM_KEY env variable not set"
+ )
+ class GeocodeFarmTestCase(GeocoderTestBase): # pylint: disable=R0904,C0111
+diff --git a/test/geocoders/geonames.py b/test/geocoders/geonames.py
+index 7ff6f11..3dcc3b4 100644
+--- a/test/geocoders/geonames.py
++++ b/test/geocoders/geonames.py
+@@ -4,21 +4,23 @@
+ from geopy.geocoders import GeoNames
+ from test.geocoders.util import GeocoderTestBase, env
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['GEONAMES_USERNAME'] is not None,
++
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('GEONAMES_USERNAME')),
+ "No GEONAMES_USERNAME env variable set"
+ )
+ class GeoNamesTestCase(GeocoderTestBase):
+
+ @classmethod
+ def setUpClass(cls):
+- cls.geocoder = GeoNames(username=env['GEONAMES_USERNAME'])
+ cls.delta = 0.04
+
+ def test_unicode_name(self):
+ """
+ GeoNames.geocode unicode
+ """
++ # work around ConfigurationError raised in GeoNames init
++ self.geocoder = GeoNames(username=env['GEONAMES_USERNAME'])
+ self.geocode_run(
+ {"query": u"\u6545\u5bab"},
+ {"latitude": 30.90097, "longitude": 118.49436},
+diff --git a/test/geocoders/mapquest.py b/test/geocoders/mapquest.py
+index eb12781..03ba4d8 100644
+--- a/test/geocoders/mapquest.py
++++ b/test/geocoders/mapquest.py
+@@ -5,8 +5,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['MAPQUEST_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('MAPQUEST_KEY')),
+ "No MAPQUEST_KEY env variable set"
+ )
+ class MapQuestTestCase(GeocoderTestBase):
+diff --git a/test/geocoders/opencage.py b/test/geocoders/opencage.py
+index c00114f..eb65000 100644
+--- a/test/geocoders/opencage.py
++++ b/test/geocoders/opencage.py
+@@ -5,8 +5,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['OPENCAGE_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('OPENCAGE_KEY')),
+ "No OPENCAGE_KEY env variables set"
+ )
+ class OpenCageTestCase(GeocoderTestBase):
+diff --git a/test/geocoders/placefinder.py b/test/geocoders/placefinder.py
+index 3bf0a66..ed3304f 100644
+--- a/test/geocoders/placefinder.py
++++ b/test/geocoders/placefinder.py
+@@ -6,8 +6,8 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['YAHOO_KEY'] is not None and env['YAHOO_SECRET'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('YAHOO_KEY')) and bool(env.get('YAHOO_SECRET')),
+ "YAHOO_KEY and YAHOO_SECRET env variables not set"
+ )
+ class YahooPlaceFinderTestCase(GeocoderTestBase): # pylint: disable=R0904,C0111
+diff --git a/test/geocoders/smartystreets.py b/test/geocoders/smartystreets.py
+index 83f3b34..ed9e7f2 100644
+--- a/test/geocoders/smartystreets.py
++++ b/test/geocoders/smartystreets.py
+@@ -5,17 +5,19 @@
+ from test.geocoders.util import GeocoderTestBase, env
+
+
+-@unittest.skipUnless( # pylint: disable=R0904,C0111
+- env['LIVESTREETS_AUTH_KEY'] is not None,
++@unittest.skipUnless( # pylint: disable=R0904,C0111
++ bool(env.get('LIVESTREETS_AUTH_KEY')),
+ "No LIVESTREETS_AUTH_KEY env variable set"
+ )
+ class LiveAddressTestCase(GeocoderTestBase):
+- def setUp(self):
+- self.geocoder = LiveAddress(
++
++ @classmethod
++ def setUpClass(cls):
++ cls.geocoder = LiveAddress(
+ auth_token=env['LIVESTREETS_AUTH_KEY'],
+ scheme='http'
+ )
+- self.delta = 0.04
++ cls.delta = 0.04
+
+ def test_geocode(self):
+ """
+diff --git a/test/geocoders/util.py b/test/geocoders/util.py
+index 4a130f1..7de103d 100644
+--- a/test/geocoders/util.py
++++ b/test/geocoders/util.py
+@@ -12,6 +12,9 @@
+ env.update(json.loads(fp.read()))
+ except IOError:
+ keys = (
++ 'ARCGIS_USERNAME',
++ 'ARCGIS_PASSWORD',
++ 'ARCGIS_REFERER',
+ 'YAHOO_KEY',
+ 'YAHOO_SECRET',
+ 'BING_KEY',
+
diff --git a/dev-python/geopy/files/1.1.3-version-compat.patch b/dev-python/geopy/files/1.1.3-version-compat.patch
new file mode 100644
index 000000000000..78333a217c6f
--- /dev/null
+++ b/dev-python/geopy/files/1.1.3-version-compat.patch
@@ -0,0 +1,12 @@
+diff --git a/geopy/geocoders/placefinder.py b/geopy/geocoders/placefinder.py
+index 97950fe..814dbaf 100644
+--- a/geopy/geocoders/placefinder.py
++++ b/geopy/geocoders/placefinder.py
+@@ -71,7 +71,6 @@ def __init__(
+ client_secret=self.consumer_secret,
+ signature_method=u"HMAC-SHA1",
+ signature_type=u"AUTH_HEADER",
+- encoding=None # already UTF-8
+ )
+ self.api = "https://yboss.yahooapis.com/geo/placefinder"
+
diff --git a/dev-python/geopy/geopy-1.10.0.ebuild b/dev-python/geopy/geopy-1.10.0.ebuild
new file mode 100644
index 000000000000..6a1833d27ba7
--- /dev/null
+++ b/dev-python/geopy/geopy-1.10.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Geocoding Toolbox for Python"
+HOMEPAGE="http://www.geopy.org/ https://github.com/geopy/geopy"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="test doc timezone yahoo"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="yahoo? ( >=dev-python/requests-oauthlib-0.4.0[${PYTHON_USEDEP}]
+ dev-python/placefinder[${PYTHON_USEDEP}] )
+ timezone? ( dev-python/pytz[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}] )
+ doc? ( $(python_gen_cond_dep 'dev-python/sphinx[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+REQUIRED_USE="test? ( yahoo timezone )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+
+ # prevent install of test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+}
+
+python_test() {
+ # Ignore rogue class IGNFranceTestCase demanding elements beyond a normal testsuite
+ # i.e. "You should provide an api key and a username with a password"
+ # Cannot decipher how to skip or exclude this "context=IGNFranceTestCase"
+ # It appears it MAY stem from nose rather than geopy's suite
+ nosetests --verbose || die "Tests failed under ${EPYTHON}"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/geopy/geopy-1.8.1.ebuild b/dev-python/geopy/geopy-1.8.1.ebuild
new file mode 100644
index 000000000000..3027bb2e0fc5
--- /dev/null
+++ b/dev-python/geopy/geopy-1.8.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Geocoding Toolbox for Python"
+HOMEPAGE="http://www.geopy.org/ https://github.com/geopy/geopy"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="test doc yahoo"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="yahoo? ( >=dev-python/requests-oauthlib-0.4.0[${PYTHON_USEDEP}]
+ dev-python/placefinder[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}] )
+ doc? ( $(python_gen_cond_dep 'dev-python/sphinx[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+
+ # prevent install of test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+}
+
+python_test() {
+ # Ignore rogue class IGNFranceTestCase demanding elements beyond a normal testsuite
+ # i.e. "You should provide an api key and a username with a password"
+ # Cannot decipher how to skip or exclude this "context=IGNFranceTestCase"
+ # It appears it MAY stem from nose rather than geopy's suite
+ nosetests --verbose || die "Tests failed under ${EPYTHON}"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/geopy/geopy-1.9.1.ebuild b/dev-python/geopy/geopy-1.9.1.ebuild
new file mode 100644
index 000000000000..6a1833d27ba7
--- /dev/null
+++ b/dev-python/geopy/geopy-1.9.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Geocoding Toolbox for Python"
+HOMEPAGE="http://www.geopy.org/ https://github.com/geopy/geopy"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="test doc timezone yahoo"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="yahoo? ( >=dev-python/requests-oauthlib-0.4.0[${PYTHON_USEDEP}]
+ dev-python/placefinder[${PYTHON_USEDEP}] )
+ timezone? ( dev-python/pytz[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}] )
+ doc? ( $(python_gen_cond_dep 'dev-python/sphinx[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+REQUIRED_USE="test? ( yahoo timezone )"
+
+python_prepare_all() {
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+
+ # prevent install of test folder to avoid file collisions
+ sed -e "s:find_packages():find_packages(exclude=['test','test.*']):" -i setup.py || die
+}
+
+python_test() {
+ # Ignore rogue class IGNFranceTestCase demanding elements beyond a normal testsuite
+ # i.e. "You should provide an api key and a username with a password"
+ # Cannot decipher how to skip or exclude this "context=IGNFranceTestCase"
+ # It appears it MAY stem from nose rather than geopy's suite
+ nosetests --verbose || die "Tests failed under ${EPYTHON}"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/geopy/metadata.xml b/dev-python/geopy/metadata.xml
new file mode 100644
index 000000000000..54c8bb9d352d
--- /dev/null
+++ b/dev-python/geopy/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">geopy</remote-id>
+ <remote-id type="pypi">geopy</remote-id>
+ <remote-id type="github">geopy/geopy</remote-id>
+ </upstream>
+ <use>
+ <flag name="yahoo">Enables use of YahooPlaceFinder</flag>
+ <flag name="timezone">Enables localized date support</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/gevent-socketio/Manifest b/dev-python/gevent-socketio/Manifest
new file mode 100644
index 000000000000..3797786ccb5d
--- /dev/null
+++ b/dev-python/gevent-socketio/Manifest
@@ -0,0 +1,2 @@
+DIST gevent-socketio-0.3.5-rc2.tar.gz 22210 SHA256 ab38b6b97b369626cfa87eb4d2e1cfddf67c45e138e9bc61321e30f32e85facd SHA512 22a7c4c03b527eecb929ea896d8fdcfd2b299a06707cd30772f6762ecfc45e35f0c39053a57fb1ae06748aa58f3c246a1b9c9c3d917851d63f1275a70a7c14b3 WHIRLPOOL f7c2ab35e5036adaeda141c9ec75eb5767db5711c4ba6af8ba1698fa81142c21435c5b694f25cf9af55ff822a7f1a3a9b630c39e659b7f06bd270747318bc778
+DIST gevent-socketio-0.3.6.tar.gz 264203 SHA256 53394ab93fbd84d9dbbb2bef85349f6a503bfc53d86a9be8653250f1a0412aff SHA512 e64ad7c42f9a80e031b443920d7d770bbc58fdbbd4787585dbab0e7d455819e5b09bddf9915867afede45e26deb4087173f6e730ebd0dccaf64ba0bd63b2fd98 WHIRLPOOL eecd771b561a2d89f186e61d8357a946e9c9412cff0d0fc6c36ec0f473bd2aab40efa2516e6b286c1e5986cbb32354b6ebea410ac594a0ae976d123bad2d1e81
diff --git a/dev-python/gevent-socketio/gevent-socketio-0.3.5_rc2-r1.ebuild b/dev-python/gevent-socketio/gevent-socketio-0.3.5_rc2-r1.ebuild
new file mode 100644
index 000000000000..4929ea92c2ec
--- /dev/null
+++ b/dev-python/gevent-socketio/gevent-socketio-0.3.5_rc2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="gevent-socketio"
+MY_P="${MY_PN}-${PV/_/-}"
+
+DESCRIPTION="SocketIO server based on the Gevent pywsgi server"
+HOMEPAGE="http://pypi.python.org/pypi/gevent-socketio/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/gevent-websocket[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/versiontools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/gevent-socketio/gevent-socketio-0.3.6.ebuild b/dev-python/gevent-socketio/gevent-socketio-0.3.6.ebuild
new file mode 100644
index 000000000000..119c13b6c9a9
--- /dev/null
+++ b/dev-python/gevent-socketio/gevent-socketio-0.3.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SocketIO server based on the Gevent pywsgi server"
+HOMEPAGE="http://pypi.python.org/pypi/gevent-socketio/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/gevent-websocket[${PYTHON_USEDEP}]
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/versiontools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test -v || die
+}
diff --git a/dev-python/gevent-socketio/metadata.xml b/dev-python/gevent-socketio/metadata.xml
new file mode 100644
index 000000000000..3faf5402a93d
--- /dev/null
+++ b/dev-python/gevent-socketio/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Ultrabug</name>
+ <description>main maintainer</description>
+ </maintainer>
+ <maintainer>
+ <email>julien@thebault.co</email>
+ <name>Lujeni</name>
+ <description>Proxy Maintainer. CC on bugs</description>
+ </maintainer>
+ <longdescription>SocketIO server based on the Gevent pywsgi server</longdescription>
+ <upstream>
+ <remote-id type="pypi">gevent-socketio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gevent-websocket/Manifest b/dev-python/gevent-websocket/Manifest
new file mode 100644
index 000000000000..aa1589af29e0
--- /dev/null
+++ b/dev-python/gevent-websocket/Manifest
@@ -0,0 +1,2 @@
+DIST gevent-websocket-0.9.3.tar.gz 16463 SHA256 6475220340f9f8895a0f51bd2b9df3511bc7765dc055f49e997584bdaee3381f SHA512 71d6a81f04bae36e7122890b37082df188c28f5901bffcd8c774b2bf1cbcc603ff7ff9f854ab17ef00564d36b19787e3a9267e6e299f9837c1d682e63acadb73 WHIRLPOOL 27f84f0452b5be4cc0da03fb5e38710ce7fa3be052c1e41c4b9bc87a7aef40a13c714c24444a681b755eaeaa91e614aff92cb95b49fb03e004f8d44751a5737c
+DIST gevent-websocket-0.9.5.tar.gz 16970 SHA256 0091d6e6aa7298510cadcccb8068e1097a50d4e19090d0c055a93068d4530056 SHA512 fdaa8c704e1d0869700cf67c3a1c04246bfd816f98beac9c755b723a2074aa26344991c924ebdd7de5661065cde48ad412685014c53fdb92df12401cad3c358c WHIRLPOOL f566ec09f2d7739b0f70600c684471b768756c4b94b0462979ba770c5a17bc984b47e2ceb7ca1c0cf2ad26fa9fd9284326294450f013cd43fa243e7140aa7285
diff --git a/dev-python/gevent-websocket/gevent-websocket-0.9.3.ebuild b/dev-python/gevent-websocket/gevent-websocket-0.9.3.ebuild
new file mode 100644
index 000000000000..87a025043a00
--- /dev/null
+++ b/dev-python/gevent-websocket/gevent-websocket-0.9.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Websocket handler for the gevent pywsgi server"
+HOMEPAGE="http://pypi.python.org/pypi/gevent-websocket/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/gevent[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/gevent-websocket/gevent-websocket-0.9.5.ebuild b/dev-python/gevent-websocket/gevent-websocket-0.9.5.ebuild
new file mode 100644
index 000000000000..edcf9042b6a9
--- /dev/null
+++ b/dev-python/gevent-websocket/gevent-websocket-0.9.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Websocket handler for the gevent pywsgi server"
+HOMEPAGE="http://pypi.python.org/pypi/gevent-websocket/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/gevent[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/gevent-websocket/metadata.xml b/dev-python/gevent-websocket/metadata.xml
new file mode 100644
index 000000000000..6f1ce8d98ff4
--- /dev/null
+++ b/dev-python/gevent-websocket/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Ultrabug</name>
+ <description>main maintainer</description>
+</maintainer>
+<maintainer>
+ <email>julien@thebault.co</email>
+ <name>Lujeni</name>
+ <description>Proxy Maintainer. CC on bugs</description>
+</maintainer>
+<longdescription>
+ Websocket handler for the gevent pywsgi server
+</longdescription>
+<upstream>
+ <remote-id type="pypi">gevent-websocket</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/gevent/Manifest b/dev-python/gevent/Manifest
new file mode 100644
index 000000000000..e35130347e87
--- /dev/null
+++ b/dev-python/gevent/Manifest
@@ -0,0 +1,3 @@
+DIST gevent-1.0.1.tar.gz 1455636 SHA256 4627e215d058f71d95e6b26d9e7be4c263788a4756bd2858a93775f6c072df43 SHA512 4790e06b49536ad15856cf551c7ad4d717be2ceda8bc7d39fc35a0132d21f302e033f3294da426be4f6c0476554163776e5ffd82d89962503a720c453ff96461 WHIRLPOOL a1d552f89e9d3db1720fd0db1dbfb6ffc7ed4db87ee5816e5c44843f3c5bba9afbfc21ab2cfcf5bfc84ea70fea3caf6f8fbdbc2807c868b27105bce7e58d6290
+DIST gevent-1.0.2.tar.gz 1735721 SHA256 3ae1ca0f533ddcb17aab16ce66b424b3f3b855ff3b9508526915d3c6b73fba31 SHA512 95b8a24e53ad1ac135e63cb13942c5af6f7efb0fdb4fc2737759d07b09c2408b0d569dd30f63b45a342f81501211e98b5b6116ba9574c8a7801b9c551c14bd53 WHIRLPOOL 402d2af5993a0c04cb0c371190edbd6d4b56bbade2062beb4e7bedb522c0dd32c89452d6d7c1400884043d2f3bcae9ab718a5bccc1d98a563b7b92aeeff38f4e
+DIST gevent-1.0.tar.gz 1437122 SHA256 bfa9d846db91a7d8b6a36e87353eed641c7e3e7d0bfa0b9975796d227f2db4eb SHA512 5f452c799323e8c16172e04a538dfd8ef4066781207ec06ad0bc2d4892a7309b46146e4ab819bf8b99ad4f6ce226d013ded98800efc16458e2626dcc7a77d853 WHIRLPOOL 799fc6402ec3d0e7cc2580d0af8fab06eb01c3cd3dc61e85672e0abb211ba768dea4585ee8a3d204455f19a537974509d992275aaf243ff4948231603b828c6a
diff --git a/dev-python/gevent/gevent-1.0.1.ebuild b/dev-python/gevent/gevent-1.0.1.ebuild
new file mode 100644
index 000000000000..15fd93a5d07d
--- /dev/null
+++ b/dev-python/gevent/gevent-1.0.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Python networking library that uses greenlet to provide synchronous API"
+HOMEPAGE="http://gevent.org/ http://pypi.python.org/pypi/gevent/"
+SRC_URI="https://github.com/surfly/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="dev-libs/libev
+ net-dns/c-ares
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Tests take long and fail terribly a few times.
+# It also seems that they require network access.
+RESTRICT="test"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ rm -r {libev,c-ares} || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd greentest || die
+ "${PYTHON}" testrunner.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+
+ dodoc changelog.rst
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/gevent/gevent-1.0.2.ebuild b/dev-python/gevent/gevent-1.0.2.ebuild
new file mode 100644
index 000000000000..165198ca999a
--- /dev/null
+++ b/dev-python/gevent/gevent-1.0.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Python networking library that uses greenlet to provide synchronous API"
+HOMEPAGE="http://gevent.org/ http://pypi.python.org/pypi/gevent/"
+SRC_URI="https://github.com/surfly/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="dev-libs/libev
+ net-dns/c-ares
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Tests take long and fail terribly a few times.
+# It also seems that they require network access.
+RESTRICT="test"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ rm -r {libev,c-ares} || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd greentest || die
+ "${PYTHON}" testrunner.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+
+ dodoc changelog.rst
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/gevent/gevent-1.0.ebuild b/dev-python/gevent/gevent-1.0.ebuild
new file mode 100644
index 000000000000..e5ac2b973fdd
--- /dev/null
+++ b/dev-python/gevent/gevent-1.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Python networking library that uses greenlet to provide synchronous API"
+HOMEPAGE="http://gevent.org/ http://pypi.python.org/pypi/gevent/"
+SRC_URI="https://github.com/surfly/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="dev-libs/libev
+ net-dns/c-ares
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Tests take long and fail terribly a few times.
+# It also seems that they require network access.
+RESTRICT="test"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ rm -r {libev,c-ares} || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd greentest || die
+ "${PYTHON}" testrunner.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+
+ dodoc changelog.rst
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/gevent/metadata.xml b/dev-python/gevent/metadata.xml
new file mode 100644
index 000000000000..e6634865f48a
--- /dev/null
+++ b/dev-python/gevent/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">surfly/gevent</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ghp-import/Manifest b/dev-python/ghp-import/Manifest
new file mode 100644
index 000000000000..7998fca49546
--- /dev/null
+++ b/dev-python/ghp-import/Manifest
@@ -0,0 +1 @@
+DIST ghp-import-0.4.1.tar.gz 5002 SHA256 6058810e1c46dd3b5b1eee87e203bdfbd566e10cfc77566edda7aa4dbf6a3053 SHA512 8b0e6578f05dc74449082a840ccd609a43fba3ca1c4dffacaddc4b27d2e9e3eac565a5c9672734e6ec5f2e8872b13ae0bb8a5d6bae4ee6c4cf41ef7d2c0b2eda WHIRLPOOL 15008edc2539affef67267859ce3a4019e1d3621e8e0a2cb3b74de53af2fb5433f77a74b1742552ccc223fdc9cc30db135a0b9f0cd796ce2df38bfc83c7aa24d
diff --git a/dev-python/ghp-import/ghp-import-0.4.1-r1.ebuild b/dev-python/ghp-import/ghp-import-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..125ee3a27796
--- /dev/null
+++ b/dev-python/ghp-import/ghp-import-0.4.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Copy your docs directly to the gh-pages branch"
+HOMEPAGE="http://github.com/davisp/ghp-import"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="tumbolia"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ ebegin 'patching setup.py'
+ sed \
+ -e '4ifrom codecs import open\n' \
+ -e '/LONG_DESC/s/))/), encoding = "utf-8")/' \
+ -i setup.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/ghp-import/ghp-import-0.4.1.ebuild b/dev-python/ghp-import/ghp-import-0.4.1.ebuild
new file mode 100644
index 000000000000..495438c355bb
--- /dev/null
+++ b/dev-python/ghp-import/ghp-import-0.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Copy your docs directly to the gh-pages branch"
+HOMEPAGE="http://github.com/davisp/ghp-import"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="tumbolia"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/ghp-import/metadata.xml b/dev-python/ghp-import/metadata.xml
new file mode 100644
index 000000000000..7b9245a12d88
--- /dev/null
+++ b/dev-python/ghp-import/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">ghp-import</remote-id>
+ <remote-id type="github">davisp/ghp-import</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/git-python/Manifest b/dev-python/git-python/Manifest
new file mode 100644
index 000000000000..04f1338a1ac0
--- /dev/null
+++ b/dev-python/git-python/Manifest
@@ -0,0 +1,3 @@
+DIST GitPython-0.3.6.tar.gz 353639 SHA256 f3f42ca085eedbd3a9956b5e639de58bbe77a119f6b3d5c3af27669a2322c4a9 SHA512 cfa70004c42580b858a030eb1b46c9827e33b4dbc5477934bf08809e001568a7314e21caacb36743e2b3575be005b4cf9d831fc26e9cbe1964c2808da222a161 WHIRLPOOL afee46f324d22de6ee1b5d1525a17e68e6fa84ef851cf4d44e4aa6f71ee55d26421716559ba446706b12afb45a692cd7b2c27659a58bcdd28f09063ff05961e0
+DIST GitPython-1.0.0.tar.gz 354662 SHA256 c1b3e6fdd209040b6b1cb32ecbff989eeb2fb31b4e7078c3342d71ae8ef7352b SHA512 02d6ca44c930cabd9aa7344ae2f97d201e1840cf22b6083e949f9f374113558b1d7ca88f2d5a4691e63d71da5e54418ef7b8807adb2dfcf90d843fe2d588b3f9 WHIRLPOOL 1623ffabe1bd9de7a71890e3794b45b5871ef519d2b7581f881b4df4e54dc529e5e75bd7835161900a4307ffabfa014f7e64dbe1cee9502b70821691c9853476
+DIST GitPython-1.0.1.tar.gz 355108 SHA256 9c88c17bbcae2a445ff64024ef13526224f70e35e38c33416be5ceb56ca7f760 SHA512 63fc061f0e045b11adf20ab291f9d614028d76fb44c6b0910193f6a9f4a5f9bae070527fa2ca06b234da12b7cd545194a7f5e912f4e09370bd41f81552c3160f WHIRLPOOL f166834a746d5e2a4888219aa86f897f2713dbcc94dd1f2444a3ffc1b292bb2ae0b83df51aebd65ef45b942ff6d48ebb08b26796818512af6fcafded90398d4e
diff --git a/dev-python/git-python/git-python-0.3.6.ebuild b/dev-python/git-python/git-python-0.3.6.ebuild
new file mode 100644
index 000000000000..745b21605a03
--- /dev/null
+++ b/dev-python/git-python/git-python-0.3.6.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="GitPython"
+MY_PV="${PV/_rc/.RC}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="http://gitorious.org/git-python http://pypi.python.org/pypi/GitPython"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# Tests dont make sense without a git repo
+RESTRICT="test"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-0.6.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+# $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+# is the correct entry for mock, however while RESTRICT="test"
+# there is little point in setting it since it is inactive
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/git-python/git-python-1.0.0.ebuild b/dev-python/git-python/git-python-1.0.0.ebuild
new file mode 100644
index 000000000000..76d7ffb41e8b
--- /dev/null
+++ b/dev-python/git-python/git-python-1.0.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="GitPython"
+MY_PV="${PV/_rc/.RC}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="http://gitorious.org/git-python http://pypi.python.org/pypi/GitPython"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# Tests dont make sense without a git repo
+RESTRICT="test"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-0.6.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+# $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+# is the correct entry for mock, however while RESTRICT="test"
+# there is little point in setting it since it is inactive
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/git-python/git-python-1.0.1.ebuild b/dev-python/git-python/git-python-1.0.1.ebuild
new file mode 100644
index 000000000000..76d7ffb41e8b
--- /dev/null
+++ b/dev-python/git-python/git-python-1.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="GitPython"
+MY_PV="${PV/_rc/.RC}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="http://gitorious.org/git-python http://pypi.python.org/pypi/GitPython"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# Tests dont make sense without a git repo
+RESTRICT="test"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-0.6.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+# $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+# is the correct entry for mock, however while RESTRICT="test"
+# there is little point in setting it since it is inactive
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/git-python/metadata.xml b/dev-python/git-python/metadata.xml
new file mode 100644
index 000000000000..5a31bf726ce5
--- /dev/null
+++ b/dev-python/git-python/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">GitPython</remote-id>
+ <remote-id type="gitorious">git-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/git-review/Manifest b/dev-python/git-review/Manifest
new file mode 100644
index 000000000000..4656f7fd583b
--- /dev/null
+++ b/dev-python/git-review/Manifest
@@ -0,0 +1 @@
+DIST git-review-1.24.tar.gz 39106 SHA256 20fa8be4b86430b41153c270f770dd270bde06ff70c60c411aa9adc9db2f512a SHA512 7729358c8a99078d1e66d4682b9d886ab97fc82793838f14f7a30572e561a8e1b4c5ae11f7b347180ab34488af309dce7ee804d4a7c7873fa40b182ab6ee1ac5 WHIRLPOOL 07e33a18c42ea5689a4189134a44a3b5a9f95bea4a69f07a6a225a7577f2ccb829b15f41da901cc3e7ea0cd98c3b764bb2056456697bec0db619878b0976c0b3
diff --git a/dev-python/git-review/git-review-1.24.ebuild b/dev-python/git-review/git-review-1.24.ebuild
new file mode 100644
index 000000000000..1f2be728f2b0
--- /dev/null
+++ b/dev-python/git-review/git-review-1.24.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool to submit code to Gerrit"
+HOMEPAGE="https://git.openstack.org/cgit/openstack-infra/git-review"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/git-review/metadata.xml b/dev-python/git-review/metadata.xml
new file mode 100644
index 000000000000..c723b4f7bde8
--- /dev/null
+++ b/dev-python/git-review/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">git-review</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gitdb/Manifest b/dev-python/gitdb/Manifest
new file mode 100644
index 000000000000..c45197580912
--- /dev/null
+++ b/dev-python/gitdb/Manifest
@@ -0,0 +1,2 @@
+DIST gitdb-0.6.3.tar.gz 400070 SHA256 2735e2e5d914c77a6a5d80566670ba18b32022e859ecfc9b2e7ae8f11fa1960e SHA512 e7a08eb0f1b7bf6c8e23787580e4efbdc645b078fbf7ad130ebe9f3d29722d642f70c36fbb676a360ed787885dc05f4a574b9ca59a1c1abd38c38bc3b1b1270c WHIRLPOOL b447e29c645519cfaa11aa010799f43f6ca588d2f1c58041f473717f9149fa472a23d5178b141b9cb32485eeef3112787f9cd330aca037b3dce996cc195a9858
+DIST gitdb-0.6.4.tar.gz 400506 SHA256 a3ebbc27be035a2e874ed904df516e35f4a29a778a764385de09de9e0f139658 SHA512 2314ae70ec26c46c559cc69a1300ead8cd65a0a22425a3bb36b04edb73bd5e2628cbdcd8e515830c74b21af2badea662c915a727d9a46ed2f92f169eb71bdf62 WHIRLPOOL df7425efd5f2c6a704b3545723ce8e27fdca09c435f52685dd4dcca7eb3eb3da8d89fbe88e2d9dfee7984b029b9ea741b32a6afcdbccb5bcbd7b04ce59f6d552
diff --git a/dev-python/gitdb/gitdb-0.6.3.ebuild b/dev-python/gitdb/gitdb-0.6.3.ebuild
new file mode 100644
index 000000000000..2af816f66c51
--- /dev/null
+++ b/dev-python/gitdb/gitdb-0.6.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="GitDB is a pure-Python git object database"
+HOMEPAGE="
+ https://github.com/gitpython-developers/gitdb
+ http://pypi.python.org/pypi/gitdb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-vcs/git
+ >=dev-python/smmap-0.8.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+# Testsuite appears to require files from a git repo
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/gitdb/gitdb-0.6.4.ebuild b/dev-python/gitdb/gitdb-0.6.4.ebuild
new file mode 100644
index 000000000000..e44f9197a0bb
--- /dev/null
+++ b/dev-python/gitdb/gitdb-0.6.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="GitDB is a pure-Python git object database"
+HOMEPAGE="
+ https://github.com/gitpython-developers/gitdb
+ http://pypi.python.org/pypi/gitdb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-vcs/git
+ >=dev-python/smmap-0.8.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+# Testsuite appears to require files from a git repo
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/gitdb/metadata.xml b/dev-python/gitdb/metadata.xml
new file mode 100644
index 000000000000..9aaab6399701
--- /dev/null
+++ b/dev-python/gitdb/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">gitdb</remote-id>
+ <remote-id type="github">gitpython-developers/gitdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/glance_store/Manifest b/dev-python/glance_store/Manifest
new file mode 100644
index 000000000000..652898f22797
--- /dev/null
+++ b/dev-python/glance_store/Manifest
@@ -0,0 +1,4 @@
+DIST glance_store-0.1.10.tar.gz 95520 SHA256 b390fea864f1398f79ab66ce99c3b868b86ac1bf97dbe89ba4498506e2af7d02 SHA512 cd4b2013c49c1104523c809ae28f8cb3fb927564d46db4cb36d5d7c529e69e684af584ad322786e41afc414770a750a545b1baea9f62f2d9611f165df0fc801f WHIRLPOOL d1c65c33eaec3710463fffbe2139fd72b98b3e3e1e722424d8051c0e28c8277e67c96b80476a4245bbd4f2279998b86a6fbd09361d5f73d46f4b80c2eabc5795
+DIST glance_store-0.4.0.tar.gz 103982 SHA256 cd15e9f9a08dc8d3eeaa452682c8e53423f848eaadf064c0ee8068583aa31154 SHA512 d69337a7f5b06b70ee9ff60e1672d0b16b1fb4e22a38939929df0a6b08f03f0954d60b3ffb747ed30510bca451421f3e5b7133aa574d5786e1b2ba43a80075bd WHIRLPOOL f6685e80e7cce7586a0ecf0af13b1366c1f3fa739571b4f209cf76074742031858f73335c9236806c54a03fb80ccad0c302f1ef6068baa6f6285ac73b708637c
+DIST glance_store-0.5.0.tar.gz 106922 SHA256 bb088cea0f83d3335191174b3fbdd5f5b2a39ae4f6e0739b9159e883658657db SHA512 e9f036c9f19ca2f3b8ba82a288a6402c91d849409f4594c61c59c14c8575b5827cf8e072c4772f5ef610fd186037b2d3c5cbc5fb032ca02c025e58a6a59a2dfa WHIRLPOOL 1943b6a26e96a9043b99d6d9b8c9af78468d05f825812250f7c7c396977d4e76d9370fe0c3fd2043d67d519c53c5e11c7541ae4f0389179b61e083f059cc5aea
+DIST glance_store-0.6.0.tar.gz 106047 SHA256 249c99818f7ebd1b3aea6c96a66e4e17351a1d9befaef885dada0483be6ee818 SHA512 065c3d68b67ce38a82f8eba29630f368bc723f2c6a34ed1c7adb2ab90f5d24c1b7f32a55c200e5b45167b26bd4d3dae5194484e9de17286cdd91685898276388 WHIRLPOOL c4553654288dc2f3f823a7fbde4ff4c2f1c97b704ff3f55069153819da64ffeb06380975a80db08a1dd33cbbc25418e233b1eadc2aee5569d125223efde69e4c
diff --git a/dev-python/glance_store/glance_store-0.1.10.ebuild b/dev-python/glance_store/glance_store-0.1.10.ebuild
new file mode 100644
index 000000000000..6dcdd34def43
--- /dev/null
+++ b/dev-python/glance_store/glance_store-0.1.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/oslo-config-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.12[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/glance_store/glance_store-0.4.0.ebuild b/dev-python/glance_store/glance_store-0.4.0.ebuild
new file mode 100644
index 000000000000..b5c5cb07fbf6
--- /dev/null
+++ b/dev-python/glance_store/glance_store-0.4.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.12[${PYTHON_USEDEP}]
+ dev-python/enum34[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/ordereddict/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/glance_store/glance_store-0.5.0.ebuild b/dev-python/glance_store/glance_store-0.5.0.ebuild
new file mode 100644
index 000000000000..5bae9bab03a2
--- /dev/null
+++ b/dev-python/glance_store/glance_store-0.5.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.12[${PYTHON_USEDEP}]
+ dev-python/enum34[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/ordereddict/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/glance_store/glance_store-0.6.0.ebuild b/dev-python/glance_store/glance_store-0.6.0.ebuild
new file mode 100644
index 000000000000..6c77a0258f5a
--- /dev/null
+++ b/dev-python/glance_store/glance_store-0.6.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ dev-python/enum34[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/ordereddict/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/glance_store/metadata.xml b/dev-python/glance_store/metadata.xml
new file mode 100644
index 000000000000..eda0f16d7a21
--- /dev/null
+++ b/dev-python/glance_store/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A simple connector pool for python-ldap.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">glance_store</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/globre/Manifest b/dev-python/globre/Manifest
new file mode 100644
index 000000000000..c4a769236e57
--- /dev/null
+++ b/dev-python/globre/Manifest
@@ -0,0 +1 @@
+DIST globre-0.1.2.tar.gz 18465 SHA256 64203a0caca50cf2048cc4cc18b8abf452dfb7822b79ea9950f7c0ee03f51d9b SHA512 1e1a406b2a07ae551ba9b1b18dc92fc0728d2e0ad01c63a2108736430d893c427011b74883f5c84040426603ac8f46346a672e50a96502b315c02f81e6dff82c WHIRLPOOL eb4d5017438a946577d19ec2e2a2208a0edd5b4dd6136ce4aa71f73bd866b893396cc4b6cc4b9f592307d1116e2c04d54c83f3a47bc42e4738c29bbf915256dc
diff --git a/dev-python/globre/globre-0.1.2-r1.ebuild b/dev-python/globre/globre-0.1.2-r1.ebuild
new file mode 100644
index 000000000000..4e7447e834cf
--- /dev/null
+++ b/dev-python/globre/globre-0.1.2-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A glob matching library, providing an interface similar to the 're' module"
+HOMEPAGE="https://pypi.python.org/pypi/globre http://github.com/metagriffin/globre"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ sed \
+ -e '/distribute/d' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbose || die
+}
diff --git a/dev-python/globre/metadata.xml b/dev-python/globre/metadata.xml
new file mode 100644
index 000000000000..373e35c6635e
--- /dev/null
+++ b/dev-python/globre/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">globre</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
new file mode 100644
index 000000000000..73a279d5ed44
--- /dev/null
+++ b/dev-python/gmpy/Manifest
@@ -0,0 +1,2 @@
+DIST gmpy2-2.0.4.zip 280459 SHA256 c2b06e75d876960adabce575f01361f96884a64401740af49e8b9ef356bbbecf SHA512 98f57a0b140bb352dc1403dc799845685d52d346e87e6402d1e10c8ef46bbe90bae598143bd2ebffedb617c0519f75590a6cc9b30d887dc08ff6d5ae4fd7ec75 WHIRLPOOL 2f9c903c91c864ef4eb7e02b4004204580af1b7ddf67c67719ab68506a95cf57af64e06bed24ef445eb7eb2de0e7ef550748ac6e8b41e10297fcc22b04cfbca9
+DIST gmpy2-2.0.6.zip 280353 SHA256 5041d0ae24407c24487106099f5bcc4abb1a5f58d90e6712cc95321975eddbd4 SHA512 fae7952e86c821d8a4ae083a54d6e7e3516459abbf9bcb16408ea0d7989f309aa27348bb51781e0f52466eaf121cb193b54f5f4453093f022ce8394d273196a0 WHIRLPOOL d9a301d5d5f0872ddb517bba815cefaf8c2a3a1fa7e3e0b38f0ea0d2ec1ef8e0526549f8a3d4713b35a878125f1a766bbd3c31e0eb27902266bf3ae8a8dc2559
diff --git a/dev-python/gmpy/gmpy-2.0.4.ebuild b/dev-python/gmpy/gmpy-2.0.4.ebuild
new file mode 100644
index 000000000000..fff5836262a0
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.0.4.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
+HOMEPAGE="http://code.google.com/p/gmpy/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="amd64 ~arm ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc mpir"
+
+RDEPEND="
+ >=dev-libs/mpc-1.0.2
+ >=dev-libs/mpfr-3.1.2
+ !mpir? ( dev-libs/gmp:0= )
+ mpir? ( sci-libs/mpir )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_configure_all() {
+ mydistutilsargs=(
+ $(usex mpir --mpir --gmp)
+ )
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd test || die
+ ${PYTHON} runtests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/gmpy/gmpy-2.0.6.ebuild b/dev-python/gmpy/gmpy-2.0.6.ebuild
new file mode 100644
index 000000000000..330810815c1e
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.0.6.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
+HOMEPAGE="http://code.google.com/p/gmpy/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc mpir"
+
+RDEPEND="
+ >=dev-libs/mpc-1.0.2
+ >=dev-libs/mpfr-3.1.2
+ !mpir? ( dev-libs/gmp:0= )
+ mpir? ( sci-libs/mpir )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ # rm non std test file
+ rm test*/gmpy_test_thr.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ mydistutilsargs=(
+ $(usex mpir --mpir --gmp)
+ )
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd test || die
+ "${PYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
+ if python_is_python3; then
+ cd ../test3 || die
+ else
+ cd ../test2 || die
+ fi
+ "${PYTHON}" gmpy_test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/gmpy/metadata.xml b/dev-python/gmpy/metadata.xml
new file mode 100644
index 000000000000..f60e7204ca7a
--- /dev/null
+++ b/dev-python/gmpy/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ gmpy2 is a C-coded Python extension module that supports
+ multiple-precision arithmetic. gmpy2 supports the GMP multi-precision
+ library, the MPFR (correctly rounded real floating-point arithmetic) and MPC
+ (correctly rounded complex floating-point arithmetic) libraries.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">gmpy2</remote-id>
+ </upstream>
+ <use>
+ <flag name="mpir">Use <pkg>sci-libs/mpir</pkg> as gmp implementation</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/gnome-keyring-python/Manifest b/dev-python/gnome-keyring-python/Manifest
new file mode 100644
index 000000000000..b3c5fb4b1ca1
--- /dev/null
+++ b/dev-python/gnome-keyring-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-desktop-2.32.0.tar.bz2 621277 SHA256 09dbd580bf3b0ef60f91b090eafe6d08ddcc50a609e2b425a7f8eca46d4e0ee9 SHA512 51beefd21fa3aa6242ba4c66e57d940372fbf4a84ffe34063339f6e7e7c22e76d281b25d5f113de3780a0dbf733c7e07142f05a285056cda26736323b4185d18 WHIRLPOOL 5713353291a34e0a03152ad76c46391e3ab246efc17b63193fc0b26b02176eb78ce134c8d0cabcb3480bd2dbb3446b7b6b301cffbfac3ce915e21a974947e37e
diff --git a/dev-python/gnome-keyring-python/gnome-keyring-python-2.32.0-r1.ebuild b/dev-python/gnome-keyring-python/gnome-keyring-python-2.32.0-r1.ebuild
new file mode 100644
index 000000000000..6e9b7c190782
--- /dev/null
+++ b/dev-python/gnome-keyring-python/gnome-keyring-python-2.32.0-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python-desktop"
+G_PY_BINDINGS="gnomekeyring"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the interfacing with the GNOME keyring"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=gnome-base/gnome-keyring-0.5.0
+ !<dev-python/gnome-python-desktop-2.22.0-r10"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/keyring.py examples/keyring-async.py )
diff --git a/dev-python/gnome-keyring-python/metadata.xml b/dev-python/gnome-keyring-python/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-python/gnome-keyring-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/gnome-python-base/Manifest b/dev-python/gnome-python-base/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/gnome-python-base/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/gnome-python-base/gnome-python-base-2.28.1-r1.ebuild b/dev-python/gnome-python-base/gnome-python-base-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..af84df7a9000
--- /dev/null
+++ b/dev-python/gnome-python-base/gnome-python-base-2.28.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+
+inherit versionator eutils gnome2 python-any-r1
+
+# This ebuild does nothing -- we just want to get the pkgconfig file installed
+
+MY_PN="gnome-python"
+DESCRIPTION="Provides the base files for the gnome-python bindings"
+HOMEPAGE="http://pygtk.org/"
+PVP="$(get_version_component_range 1-2)"
+SRC_URI="mirror://gnome/sources/${MY_PN}/${PVP}/${MY_PN}-${PV}.tar.bz2"
+
+IUSE=""
+LICENSE="LGPL-2.1"
+SLOT="2"
+RESTRICT="${RESTRICT} test"
+
+# From the gnome-python eclass
+RDEPEND=">=x11-libs/gtk+-2.6:2
+ >=dev-libs/glib-2.6:2
+ $(python_gen_any_dep '
+ >=dev-python/pygtk-2.14.0:2[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.17:2[${PYTHON_USEDEP}]
+ ')
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-allbindings
+}
diff --git a/dev-python/gnome-python-base/metadata.xml b/dev-python/gnome-python-base/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/gnome-python-base/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/gnome-python-desktop-base/Manifest b/dev-python/gnome-python-desktop-base/Manifest
new file mode 100644
index 000000000000..b3c5fb4b1ca1
--- /dev/null
+++ b/dev-python/gnome-python-desktop-base/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-desktop-2.32.0.tar.bz2 621277 SHA256 09dbd580bf3b0ef60f91b090eafe6d08ddcc50a609e2b425a7f8eca46d4e0ee9 SHA512 51beefd21fa3aa6242ba4c66e57d940372fbf4a84ffe34063339f6e7e7c22e76d281b25d5f113de3780a0dbf733c7e07142f05a285056cda26736323b4185d18 WHIRLPOOL 5713353291a34e0a03152ad76c46391e3ab246efc17b63193fc0b26b02176eb78ce134c8d0cabcb3480bd2dbb3446b7b6b301cffbfac3ce915e21a974947e37e
diff --git a/dev-python/gnome-python-desktop-base/gnome-python-desktop-base-2.32.0-r1.ebuild b/dev-python/gnome-python-desktop-base/gnome-python-desktop-base-2.32.0-r1.ebuild
new file mode 100644
index 000000000000..c5dbf365ba87
--- /dev/null
+++ b/dev-python/gnome-python-desktop-base/gnome-python-desktop-base-2.32.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python2_7 )
+GNOME_ORG_MODULE="gnome-python-desktop"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit gnome2 python-any-r1
+
+# This ebuild does nothing -- we just want to get the pkgconfig file installed
+
+DESCRIPTION="Provides python the base files for the Gnome Python Desktop bindings"
+HOMEPAGE="http://pygtk.org/"
+
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux"
+
+IUSE=""
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+# From the gnome-python-desktop eclass
+RDEPEND="$(python_gen_any_dep '>=dev-python/pygtk-2.10.3:2[${PYTHON_USEDEP}]')
+ >=dev-libs/glib-2.6.0:2
+ >=x11-libs/gtk+-2.4.0:2
+ !<dev-python/gnome-python-extras-2.13
+ !<dev-python/gnome-python-desktop-2.22.0-r10"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_fix_shebang .
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog MAINTAINERS NEWS README"
+ gnome2_src_configure \
+ --disable-allbindings
+}
diff --git a/dev-python/gnome-python-desktop-base/metadata.xml b/dev-python/gnome-python-desktop-base/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-python/gnome-python-desktop-base/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/gnome-python-extras-base/Manifest b/dev-python/gnome-python-extras-base/Manifest
new file mode 100644
index 000000000000..2fc6771cd4cb
--- /dev/null
+++ b/dev-python/gnome-python-extras-base/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-extras-2.25.3.tar.bz2 370489 SHA256 ca346264e00e193f0866cabd8801d3b7ce70dae7b8b296e41e5b3a45c9b0275c SHA512 6994b8b5d6ccc009edc7ddfad373b9164d8162f1007972652f6086dca30cac6941ab68ef467d15c972ab05c4ae0e19ec72edc2643636d22a01a3f5a719251467 WHIRLPOOL b0adfcef8bbb978d063a932393e17de9c8c519194f40085ecd03824ec4fb4421c84e0a4853a5a2d9fc40c94d8c0c261828447ac5fd69cff4ece39c52fc833590
diff --git a/dev-python/gnome-python-extras-base/files/gnome-python-extras-base-2.25.3-python-libs.patch b/dev-python/gnome-python-extras-base/files/gnome-python-extras-base-2.25.3-python-libs.patch
new file mode 100644
index 000000000000..ab691272cbb6
--- /dev/null
+++ b/dev-python/gnome-python-extras-base/files/gnome-python-extras-base-2.25.3-python-libs.patch
@@ -0,0 +1,59 @@
+From 7824fd5291f570de3c2c64185035d1a6a0a3445a Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Mon, 13 Aug 2012 04:42:47 -0400
+Subject: [PATCH] Replace horrible slow python libs search
+
+---
+ acinclude.m4 | 36 ++----------------------------------
+ 1 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8694a65..f5373eb 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -59,40 +59,8 @@ $1],dnl
+ [AC_MSG_RESULT(not found)
+ $2])
+ CPPFLAGS="$save_CPPFLAGS"
+-
+- # This bit is copied from Planner. murrayc.
+- # Check for Python library path
+- AC_MSG_CHECKING([for Python library path])
+-
+- # Win32 has libpython25.a instead of libpython2.5.a, so we look
+- # for both. TODO: Only look for libpython25.a on Windows, and for
+- # libpython2.5.a on unix.
+- WIN32_PYTHON_VERSION=`echo $PYTHON_VERSION | sed "s,\.,,"`
+-
+- python_path=`dirname $PYTHON | sed "s,/bin.*$,,"`
+- for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
+- if test -e "$i"; then
+- python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$PYTHON_VERSION"
+- break
+- fi
+-
+- # Additionally test WIN32_PYTHON_VERSION
+- python_path=`find $i -type f -name libpython$WIN32_PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$WIN32_PYTHON_VERSION"
+- break
+- fi
+- fi
+- done
+-
+- python_path=`echo $python_path | sed "s,/libpython.*$,,"`
+- AC_MSG_RESULT([$python_path])
+- if test -z "$python_path" ; then
+- AC_MSG_ERROR([cannot find Python library path])
+- fi
+- AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -l$python_lib"])
++PYTHON_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; print('-L%s -lpython${PYTHON_VERSION}' % distutils.sysconfig.get_config_var('LIBDIR'))"`
++AC_SUBST([PYTHON_LDFLAGS],["$PYTHON_LDFLAGS"])
+ ])
+
+ dnl
+--
+1.7.8.6
+
diff --git a/dev-python/gnome-python-extras-base/gnome-python-extras-base-2.25.3-r1.ebuild b/dev-python/gnome-python-extras-base/gnome-python-extras-base-2.25.3-r1.ebuild
new file mode 100644
index 000000000000..ae72d2647ec0
--- /dev/null
+++ b/dev-python/gnome-python-extras-base/gnome-python-extras-base-2.25.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit versionator autotools eutils gnome2 python-any-r1
+
+# This ebuild does nothing -- we just want to get the pkgconfig file installed
+MY_PN="gnome-python-extras"
+DESCRIPTION="Provides python the base files for the Gnome Python Desktop bindings"
+HOMEPAGE="http://pygtk.org/"
+PVP="$(get_version_component_range 1-2)"
+SRC_URI="mirror://gnome/sources/${MY_PN}/${PVP}/${MY_PN}-${PV}.tar.bz2"
+
+IUSE=""
+LICENSE="LGPL-2.1"
+SLOT="0"
+RESTRICT="test"
+
+# From the gnome-python-extras eclass
+RDEPEND=">=x11-libs/gtk+-2.4:2
+ >=dev-libs/glib-2.6:2
+ $(python_gen_any_dep '>=dev-python/pygtk-2.10.3:2[${PYTHON_USEDEP}]')
+ !<=dev-python/gnome-python-extras-2.19.1-r2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gnome-base/gnome-common"
+# eautoreconf needs gnome-base/gnome-common
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DOCS="AUTHORS COPYING* ChangeLog INSTALL NEWS README"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python-libs.patch" #344231
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-allbindings
+}
diff --git a/dev-python/gnome-python-extras-base/metadata.xml b/dev-python/gnome-python-extras-base/metadata.xml
new file mode 100644
index 000000000000..9b1bc26a9df2
--- /dev/null
+++ b/dev-python/gnome-python-extras-base/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/gnome-vfs-python/Manifest b/dev-python/gnome-vfs-python/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/gnome-vfs-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/gnome-vfs-python/gnome-vfs-python-2.28.1-r1.ebuild b/dev-python/gnome-vfs-python/gnome-vfs-python-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..fbc2f26c9d8f
--- /dev/null
+++ b/dev-python/gnome-vfs-python/gnome-vfs-python-2.28.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python"
+G_PY_BINDINGS=( gnomevfs gnomevfsbonobo pyvfsmodule )
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the GnomeVFS library"
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc examples"
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ >=gnome-base/gnome-vfs-2.24.0
+ >=gnome-base/libbonobo-2.8
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/vfs/. )
diff --git a/dev-python/gnome-vfs-python/metadata.xml b/dev-python/gnome-vfs-python/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/gnome-vfs-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/gntp/Manifest b/dev-python/gntp/Manifest
new file mode 100644
index 000000000000..ecf54430116c
--- /dev/null
+++ b/dev-python/gntp/Manifest
@@ -0,0 +1 @@
+DIST gntp-1.0.1.tar.gz 10889 SHA256 bad7a9a3d877e46dc13ad60cacca0442901ed9ebd96708cebe9b8f280652e382 SHA512 6e44cbafcaa5b60b39d3bb60a67786300acae5e3aa6fbab1d5cbdcb4a24fffba62f878d801683d724321d5c0e3a3b780da9c99d3faf8a578f956603e1daa49cd WHIRLPOOL d908eca646801672e70bf69ea55a96ef42d75ce2b18ccaa2d96117452411cd07cfb2934a0716dab71e2aa4edf70df91a200b1d7289d0b0ecab39fefb39417e11
diff --git a/dev-python/gntp/gntp-1.0.1.ebuild b/dev-python/gntp/gntp-1.0.1.ebuild
new file mode 100644
index 000000000000..d1ef80c7cd55
--- /dev/null
+++ b/dev-python/gntp/gntp-1.0.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for working with the Growl Notification Transport Protocol"
+HOMEPAGE="https://github.com/kfdm/gntp http://pypi.python.org/pypi/gntp"
+SRC_URI="mirror://pypi/g/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-python/gntp/metadata.xml b/dev-python/gntp/metadata.xml
new file mode 100644
index 000000000000..62283fd5430b
--- /dev/null
+++ b/dev-python/gntp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">gntp</remote-id>
+ <remote-id type="github">kfdm/gntp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gnuplot-py/Manifest b/dev-python/gnuplot-py/Manifest
new file mode 100644
index 000000000000..ab948c730f83
--- /dev/null
+++ b/dev-python/gnuplot-py/Manifest
@@ -0,0 +1 @@
+DIST gnuplot-py-1.8.tar.gz 118828 SHA256 ab339be7847d30a8acfd616f27b5021bfde0999b7bf2d68400fbe62c53106e21 SHA512 748dc95ea53acd362f67c821a3cc7cf23b6329c2dd13c130c91e1c9f89afe1ffd84619ed321923c65455adf86ee58976dd6dd187881ee3ede5e0f5f551fb027d WHIRLPOOL b13436a3de17db7c871f7179291e0b9669dc7b3b6de9b4e0463e9989c1c0105c2495145ffd12e163cbbc75ff863ce657dbd64aca305c5a42c529e0f2411e7060
diff --git a/dev-python/gnuplot-py/files/gnuplot-py-1.7-mousesupport.patch b/dev-python/gnuplot-py/files/gnuplot-py-1.7-mousesupport.patch
new file mode 100644
index 000000000000..2eaf6ae379ed
--- /dev/null
+++ b/dev-python/gnuplot-py/files/gnuplot-py-1.7-mousesupport.patch
@@ -0,0 +1,75 @@
+--- _Gnuplot.py.orig 2003-10-17 16:28:10.000000000 +0200
++++ _Gnuplot.py 2004-10-28 14:39:20.000000000 +0200
+@@ -18,6 +18,27 @@
+
+ import gp, PlotItems, termdefs
+
++def test_mouse():
++ """Return whether mouse support is present or not.
++
++ The detection is done by calling gnuplot with a file containing only the
++ "set mouse" command. If gnuplot does have mouse support, it should simply
++ execute the file silently, producing no output."""
++
++ import os,tempfile,commands
++
++ tmpname = tempfile.mktemp()
++ tfile = open(tmpname,"w")
++ tfile.write("set mouse")
++ tfile.close()
++ msg = commands.getoutput(gp.GnuplotOpts.gnuplot_command + " " +
++ tmpname)
++ os.unlink(tmpname)
++ if msg: # Gnuplot won"t print anything if it has mouse support
++ has_mouse = 0
++ else:
++ has_mouse = 1
++ return has_mouse
+
+ class _GnuplotFile:
+ """A file to which gnuplot commands can be written.
+@@ -152,7 +173,7 @@
+ 'output' : 'string',
+ }
+
+- def __init__(self, filename=None, persist=None, debug=0):
++ def __init__(self, filename=None, persist=None, debug=0, mouse=None):
+ """Create a Gnuplot object.
+
+ Create a 'Gnuplot' object. By default, this starts a gnuplot
+@@ -172,8 +193,19 @@
+ 'debug=1' -- echo the gnuplot commands to stderr as well as
+ sending them to gnuplot.
+
++ "mouse=1" -- activate mouse support (officially available as of
++ gnuplot 4.0 under certain platforms).
++
+ """
+
++ # The mouse check must be done first, so we can decide whether to use
++ # inline data and fifos or not (they break mouse support)
++ if mouse is None:
++ mouse = test_mouse()
++ if mouse:
++ gp.GnuplotOpts.prefer_inline_data = 0
++ gp.GnuplotOpts.prefer_fifo_data = 0
++
+ if filename is None:
+ self.gnuplot = gp.GnuplotProcess(persist=persist)
+ else:
+@@ -182,10 +214,14 @@
+ 'Gnuplot with output to file does not allow '
+ 'persist option.')
+ self.gnuplot = _GnuplotFile(filename)
++
+ self._clear_queue()
+ self.debug = debug
+ self.plotcmd = 'plot'
+- self('set terminal %s' % (gp.GnuplotOpts.default_term,))
++ # The "set mouse" command MUST be the VERY FIRST command passed to gnuplot
++ if mouse:
++ self("set mouse")
++ self("set terminal %s" % gp.GnuplotOpts.default_term)
+
+ def __call__(self, s):
+ """Send a command string to gnuplot.
diff --git a/dev-python/gnuplot-py/gnuplot-py-1.8-r1.ebuild b/dev-python/gnuplot-py/gnuplot-py-1.8-r1.ebuild
new file mode 100644
index 000000000000..67cc4a7a6f89
--- /dev/null
+++ b/dev-python/gnuplot-py/gnuplot-py-1.8-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_SINGLE_IMPL=true
+
+inherit distutils-r1
+
+DESCRIPTION="A python wrapper for Gnuplot"
+HOMEPAGE="http://gnuplot-py.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ sci-visualization/gnuplot"
+
+DOCS=( ANNOUNCE.txt CREDITS.txt FAQ.txt NEWS.txt TODO.txt )
+
+PATCHES=( "${FILESDIR}"/${PN}-1.7-mousesupport.patch )
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/Gnuplot/. )
+ distutils-r1_python_install_all
+}
+# testsuite does NOT run unattended, so left out here
diff --git a/dev-python/gnuplot-py/metadata.xml b/dev-python/gnuplot-py/metadata.xml
new file mode 100644
index 000000000000..e9e18ed8005a
--- /dev/null
+++ b/dev-python/gnuplot-py/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Gnuplot.py is a Python module that interfaces to gnuplot, the popular
+ plotting program. It allows you to use gnuplot from within Python to
+ plot arrays of data from memory, data files, or mathematical
+ functions. If you use Python to perform computations or as `glue' for
+ numerical programs, you can use this module to plot data on the fly as
+ they are computed. And the combination with Python makes it is easy to
+ automate things, including to create crude `animations' by plotting
+ different datasets one after another.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">gnuplot-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
new file mode 100644
index 000000000000..392f7b8446e6
--- /dev/null
+++ b/dev-python/google-api-python-client/Manifest
@@ -0,0 +1,2 @@
+DIST google-api-python-client-1.1.tar.gz 71178 SHA256 bc88cae1c40446f22d58923fc5a8dbac77da29d6efbe4ae2276cc2f30f724617 SHA512 750c482e90f83d0b2d53f7d655db9a476686158b5e380cab7a5e92af1b521b26871dcda08a2ee946cd09035f65ca50ad8dcffa8f766d3671fceae009fbdb831e WHIRLPOOL 62d2ebb7f51f58c76b45f748fe79b031cda5f11fd6088d8ea947e7ab9b9b754688e004773f99169cc65fdd2789002faa486bed7717fc07dea0b25994cbede0da
+DIST google-api-python-client-1.3.1.tar.gz 1480269 SHA256 5137c4d6e853cda1a2e32b7f1b1ce28b66f5d62e464d91386be22492c276b1f8 SHA512 385377bd99f006154f90bed2b6f55cb25786032d28ac7f15b9859882670cc8bf94acbfbd8485c4cf89abd665908f1a7f46f74e84f05faba992a62fe4b9fd5bd1 WHIRLPOOL cda6825e502738f6d3035e524494aadc159ac8d41ae12d3f682236f8c344dc41e2ecf03aee6b247233c5b9aa8c756ac8d598c98c95333dc8a8929901c3a82327
diff --git a/dev-python/google-api-python-client/google-api-python-client-1.1.ebuild b/dev-python/google-api-python-client/google-api-python-client-1.1.ebuild
new file mode 100644
index 000000000000..5fe49d1ce4a1
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="http://code.google.com/p/google-api-python-client/"
+SRC_URI="https://google-api-python-client.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/python-gflags[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ !dev-python/oauth2client[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/google-api-python-client/google-api-python-client-1.3.1.ebuild b/dev-python/google-api-python-client/google-api-python-client-1.3.1.ebuild
new file mode 100644
index 000000000000..c69c013c3d5d
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="http://code.google.com/p/google-api-python-client/ https://github.com/google/google-api-python-client"
+SRC_URI="https://github.com/google/google-api-python-client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+DEPEND="
+ dev-python/python-gflags[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ dev-python/oauth2client[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/uritemplate[${PYTHON_USEDEP}]
+ "
+RDEPEND="${DEPEND}"
+
+python_prepare_all(){
+ export SKIP_GOOGLEAPICLIENT_COMPAT_CHECK=true
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbosity=3 || die
+}
diff --git a/dev-python/google-api-python-client/metadata.xml b/dev-python/google-api-python-client/metadata.xml
new file mode 100644
index 000000000000..58bc67fd1739
--- /dev/null
+++ b/dev-python/google-api-python-client/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/google-api-python-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/google-apitools/Manifest b/dev-python/google-apitools/Manifest
new file mode 100644
index 000000000000..627222057746
--- /dev/null
+++ b/dev-python/google-apitools/Manifest
@@ -0,0 +1,2 @@
+DIST google-apitools-0.4.6.tar.gz 122851 SHA256 1ff89a3b968e83b7fed87e43071decbffa6cfcf8a9adec4342708162b3018d54 SHA512 9b672776b72fba2edd30f2a9cf098dff352dda78075643d55b10187a0ee12e689982c920f76fe4d745ccab829e3ff1fd9818c306ffba20be93020748750e85b4 WHIRLPOOL abd70f06208e1d8b79cfa8b2cf5f01c40f0c520fbd744aa1bb400efd953fc151c0751045b29fdb9ab1610f995d75d640294444fd293a3e6f31fdf3255c0d4dfc
+DIST google-apitools-0.4.8.tar.gz 128587 SHA256 8d4009c5096cc1a8d9be73399bea678035d12c2e67e0d14dd9a9ceded8d771f7 SHA512 28570a050cb7e6c839e39f24908734696a72e05cdb6d84376faf637affd8bf116785411402eddccc1cfa692f753acd82c49ad04ccdce1e4aec66fe2b1b901320 WHIRLPOOL ec0cf908fe10e944199f4b677fd26f2099eb085261f7e2f2ff8441ab77f9cc2fe0fede9dd765fba8e47394f64e402e35fc0ad087af473992b35db665d67bc296
diff --git a/dev-python/google-apitools/google-apitools-0.4.6.ebuild b/dev-python/google-apitools/google-apitools-0.4.6.ebuild
new file mode 100644
index 000000000000..76ef34d211fa
--- /dev/null
+++ b/dev-python/google-apitools/google-apitools-0.4.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="utilities to make it easier to build client-side tools, especially ones that use Google APIs"
+HOMEPAGE="https://github.com/google/apitools"
+SRC_URI="https://github.com/google/apitools/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.4.8[${PYTHON_USEDEP}]
+ >=dev-python/protorpc-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/google-apputils-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/apitools-${PV}"
diff --git a/dev-python/google-apitools/google-apitools-0.4.8.ebuild b/dev-python/google-apitools/google-apitools-0.4.8.ebuild
new file mode 100644
index 000000000000..76ef34d211fa
--- /dev/null
+++ b/dev-python/google-apitools/google-apitools-0.4.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="utilities to make it easier to build client-side tools, especially ones that use Google APIs"
+HOMEPAGE="https://github.com/google/apitools"
+SRC_URI="https://github.com/google/apitools/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.4.8[${PYTHON_USEDEP}]
+ >=dev-python/protorpc-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/google-apputils-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/apitools-${PV}"
diff --git a/dev-python/google-apitools/metadata.xml b/dev-python/google-apitools/metadata.xml
new file mode 100644
index 000000000000..3916d6290c35
--- /dev/null
+++ b/dev-python/google-apitools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">google/apitools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/google-apputils/Manifest b/dev-python/google-apputils/Manifest
new file mode 100644
index 000000000000..c5ceafabb5a2
--- /dev/null
+++ b/dev-python/google-apputils/Manifest
@@ -0,0 +1,2 @@
+DIST google-apputils-0.4.0.tar.gz 80014 SHA256 b260eb39f2723b71329ad016773033b95a31e89d8c9e13b8e6a1ef8eed8e94a3 SHA512 5dbbf50e9551b33d882557ef9385c64691dcff6d6c219c9ff6aea2dc73c8af6d03392b3088fe1fb4000979e227830a0e437dc347520488627657085c8ea23f5e WHIRLPOOL c52d3fb5a4b0a81f212f53e4e1c92efee1275415fdb6ac337bce18494cee5a9c319c07634f890187e3e9f6b7d9222da048dc484d18fde6727db569d7c579d27f
+DIST google-apputils-0.4.2.tar.gz 81095 SHA256 47959d0651c32102c10ad919b8a0ffe0ae85f44b8457ddcf2bdc0358fb03dc29 SHA512 d7579ec461292bb01ad5b8e1b09e161c66af0e85361f43f6065b837c90bddb9711a2d56db2b73d780dc25945375d4dad2f646507512b9acfeefd517613feacd4 WHIRLPOOL d5db6aeebb18b9b3a01dbb338095a3b3b90fc90c9cb2250f141e07426119dada1deb301f4d9c3580448709d329de86f7086e13a6ab479ab1e8da154d53f921bc
diff --git a/dev-python/google-apputils/google-apputils-0.4.0.ebuild b/dev-python/google-apputils/google-apputils-0.4.0.ebuild
new file mode 100644
index 000000000000..308acfad3f83
--- /dev/null
+++ b/dev-python/google-apputils/google-apputils-0.4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 ) # Doesn't yet support py3
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of utilities for building Python applications"
+HOMEPAGE="http://code.google.com/p/google-apputils-python/"
+SRC_URI="http://google-apputils-python.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~ia64 ~m68k ~mips ~ppc64 ~s390 ~sh x86"
+IUSE="test"
+
+RDEPEND="dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-gflags[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/mox[${PYTHON_USEDEP}] )"
+# version borders needed are already confluent with versions in the tree
+
+python_prepare_all() {
+ # https://code.google.com/p/google-apputils-python/source/detail?r=12
+ # This version bordering is long out of date and wrong since end of March 2012!
+ sed -e 's:>=1.4,<2:>=1.4:' -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # These yield 2 fails which are in fact expected errors run from a shell script!
+ # They seemingly have no immediate mechanism to exit 0 in an expected fail style.
+ for test in tests/{app_test*.py,[b-s]*.py}
+ do
+ "${PYTHON}" $test || die "test failure under ${EPYTHON}"
+ done
+}
diff --git a/dev-python/google-apputils/google-apputils-0.4.2.ebuild b/dev-python/google-apputils/google-apputils-0.4.2.ebuild
new file mode 100644
index 000000000000..055a248b970c
--- /dev/null
+++ b/dev-python/google-apputils/google-apputils-0.4.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 ) # Doesn't yet support py3
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of utilities for building Python applications"
+HOMEPAGE="https://github.com/google/google-apputils"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc64 ~s390 ~sh ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/python-dateutil-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-1.4[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2010[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} dev-python/mox[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # These yield 2 fails which are in fact expected errors run from a shell script!
+ # They seemingly have no immediate mechanism to exit 0 in an expected fail style.
+ for test in tests/{app_test*.py,[b-s]*.py} ; do
+ "${PYTHON}" $test || die "test failure under ${EPYTHON}"
+ done
+}
diff --git a/dev-python/google-apputils/metadata.xml b/dev-python/google-apputils/metadata.xml
new file mode 100644
index 000000000000..f6092835c804
--- /dev/null
+++ b/dev-python/google-apputils/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">google/google-apputils</remote-id>
+ <remote-id type="pypi">google-apputils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/graph-tool/Manifest b/dev-python/graph-tool/Manifest
new file mode 100644
index 000000000000..ac27f6129db9
--- /dev/null
+++ b/dev-python/graph-tool/Manifest
@@ -0,0 +1,6 @@
+DIST graph-tool-2.2.36.tar.bz2 15050904 SHA256 e1e030306480393464501cbcf3f3c938c2105c95fd0d67a8fe8bb4296e0be872 SHA512 3867fed367b547f28147c3234cf391d5415e5cf4594bc495abab1e1f827ba89af44d9d2bc92ee604ed184ce48f1644076aa852a0035fa2f8cdb449157d6b32bc WHIRLPOOL 741091c5504234767ed2662f69307aeaffb344ec132f708b494288d03485ff1910a967b244c35f5e7b77bad0564b249fd7b80ddb39051928f9806310c4d7843e
+DIST graph-tool-2.2.38.tar.bz2 15050391 SHA256 7b4181184acb28e02e0c013858d69f42af4d7a6ed3327521f8eccc0be538012c SHA512 d6a4299dc0df4dbf1485656f9c2bdc3c00f37d342b313af4116f00bfbf31c7d425873aa98e4361115985b87695080fcac6cc97e7930e6903d50a9d61ccf81e60 WHIRLPOOL c03f82fe6b151361c4b6f6979117dd35e2fe4913caacc1e3ca0749c38a7e8a3c6034a7dbd676294a3e23926e2b42c7ead9ab38b19f5d37b278a773971d8e1fc1
+DIST graph-tool-2.2.40.tar.bz2 15058030 SHA256 5ccf2f174663c02d0d8548254d29dbc7f652655d13c1902dafc587c9a1c156e7 SHA512 db3bcbc49d724185d2da8c636c9c7f0aaae39fcae8ca6454bbad1c893dd77ea96eca5512f338d1f06f6ea4ef181f88a8095c5b40493d63b22174fb0fde8bfe83 WHIRLPOOL eeb8eaa1fae59de3d4d1c360a465bdb5e443823e3c0b703e7edee82c81992f443a8a744fd41c83516ea025de5b72c6bf89032d5a458bb112e2e3ea34393f9e74
+DIST graph-tool-2.2.42.tar.bz2 15058831 SHA256 e975c0836a06d07aff2d4c54472de710566f061a97e9775085a7aa5741ab9888 SHA512 921f5c81a34a3ad0a83c2bc7c2c90befe220bbdfcf5ea005fa43bc1cc45dd66660b73b792ba8826f7b536ba4d446f9aeaa8ca721fcc6b7c4686e369f7b27f936 WHIRLPOOL ef598ba8751a2975cca053f89e8abf78461344c790e1b99849a1ca209af0c05e2d913d5fbd3e105422fa90eea77a874403da597689f11f17e4b37a1781871be8
+DIST graph-tool-2.2.43.tar.bz2 15041980 SHA256 c0ef941dc611fad5800c64417543e751f9edaeb511460ba06a43263c5b0efbd6 SHA512 d535fbfa3ea1dd37eebf95d5f7f051a928906a1c2d6a7763b651504dc9e3e2a6843e77c5a9bb64a2718077c270ef23398c64646377d8b735a90c64b051fa0121 WHIRLPOOL 773c7d7db03d95da056133693a882f976d0984950242b9b631818711205a9e6ad699e7a6ee777d5da16dc01446bfbe28175456b3667bef3bb63e99ce6c323696
+DIST graph-tool-2.2.44.tar.bz2 15044171 SHA256 42b97c24c155ddd95c79a16b4e3cb034cb3139e912c37aed66e6493e4ff20566 SHA512 312f3baf80a3c66d75f1ad458a2eb4b51300925beeac494e724e73589c06e93ce467a64da0cb26809b706cf69b398ab8ad1750d5e2b952f92b3bc00bd2e42467 WHIRLPOOL 79e04d4b4efb28bd99f45b64eb4297c408e35f1bdf78f6d756d52f44895cc9ae35f3c9c4450ca2a6f9232ebc0c4f57bc261495db7ec4ae2b542424a15777284d
diff --git a/dev-python/graph-tool/graph-tool-2.2.36-r1.ebuild b/dev-python/graph-tool/graph-tool-2.2.36-r1.ebuild
new file mode 100644
index 000000000000..bc0cfc008761
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.36-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="amd64 x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.36.ebuild b/dev-python/graph-tool/graph-tool-2.2.36.ebuild
new file mode 100644
index 000000000000..a27de3cc51cf
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.36.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir \
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.38.ebuild b/dev-python/graph-tool/graph-tool-2.2.38.ebuild
new file mode 100644
index 000000000000..27251d5a78e7
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.38.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.40.ebuild b/dev-python/graph-tool/graph-tool-2.2.40.ebuild
new file mode 100644
index 000000000000..b9081c3e818f
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.40.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+# Bug #536734; configure sets boostlib 1.53.0 but 1.54.0 is required
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.42.ebuild b/dev-python/graph-tool/graph-tool-2.2.42.ebuild
new file mode 100644
index 000000000000..b9081c3e818f
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.42.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+# Bug #536734; configure sets boostlib 1.53.0 but 1.54.0 is required
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.43.ebuild b/dev-python/graph-tool/graph-tool-2.2.43.ebuild
new file mode 100644
index 000000000000..b9081c3e818f
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.43.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+# Bug #536734; configure sets boostlib 1.53.0 but 1.54.0 is required
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-2.2.44.ebuild b/dev-python/graph-tool/graph-tool-2.2.44.ebuild
new file mode 100644
index 000000000000..b9081c3e818f
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.2.44.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://github.com/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+# Bug #536734; configure sets boostlib 1.53.0 but 1.54.0 is required
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/graph-tool-9999.ebuild b/dev-python/graph-tool/graph-tool-9999.ebuild
new file mode 100644
index 000000000000..118e0eaef126
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-9999.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit check-reqs toolchain-funcs python-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="http://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+
+CDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=sci-mathematics/cgal-3.5
+ cairo? (
+ dev-cpp/cairomm
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-cpp/sparsehash
+ virtual/pkgconfig"
+
+# most machines don't have enough ram for parallel builds
+MAKEOPTS="${MAKEOPTS} -j1"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+ >py-compile
+ python_copy_sources
+}
+
+src_configure() {
+ local threads
+ has_version dev-libs/boost[threads] && threads="-mt"
+
+ configure() {
+ econf \
+ --disable-static \
+ --disable-optimization \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="${EPYTHON: -3}${threads}"
+ }
+ python_foreach_impl run_in_build_dir configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ # remove unwanted extra docs
+ rm -r "${ED}"/usr/share/doc/${PN} || die
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/graph-tool/metadata.xml b/dev-python/graph-tool/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/graph-tool/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/graphcanvas/Manifest b/dev-python/graphcanvas/Manifest
new file mode 100644
index 000000000000..1e2242b284c9
--- /dev/null
+++ b/dev-python/graphcanvas/Manifest
@@ -0,0 +1 @@
+DIST graphcanvas-4.0.2.tar.gz 6998 SHA256 f0721ae540d6f725e9f74df8b074e772e53b970f86bdb897504c9bd57d634e13 SHA512 090e493627d3f5639a73a005f75da6357745ae3af6351f15cd8b82a6a742835932599b9c2e955de20dcb94333eb5263b25e553e3a522ae9292cf677ca805246d WHIRLPOOL ae7a529a97c9c26ad940766a60a8dc8e456698cf2626740e270df1f66bce3bc91f5aa516a5cd0bc38f54b078c2f940988da3da46c06f8c5654c5b6d0ff4cbe17
diff --git a/dev-python/graphcanvas/graphcanvas-4.0.2-r1.ebuild b/dev-python/graphcanvas/graphcanvas-4.0.2-r1.ebuild
new file mode 100644
index 000000000000..b4759516dee5
--- /dev/null
+++ b/dev-python/graphcanvas/graphcanvas-4.0.2-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Enthought Tool Suite: Interactive Graph (network) Visualization"
+HOMEPAGE="http://pypi.python.org/pypi/graphcanvas"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/enable-4[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ docompress -x usr/share/doc/${PF}/examples/
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/graphcanvas/metadata.xml b/dev-python/graphcanvas/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/graphcanvas/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/graphy/Manifest b/dev-python/graphy/Manifest
new file mode 100644
index 000000000000..a9d274180e49
--- /dev/null
+++ b/dev-python/graphy/Manifest
@@ -0,0 +1 @@
+DIST graphy_1.0.tar.bz2 69099 SHA256 d51c726c7deb028304fe4745afebd5e4fcd012ef2ee214d971f902f5d321492b SHA512 39b85b21dd0e984a3b7895a090d6676d2fc12e629bcb5f2e486ad02b6cacdd57ab150c1aa4364cae571cd8e6fbca20b5744c079be532b6f4ea2668899c9932e3 WHIRLPOOL 1898814373bfcaf9f3e0ad2cd7441a2c23d1f279d573a4db389af8ca1b5154cc5dca40930362161d7f36b51292c53877a1d015550954c3956883ebea6548565c
diff --git a/dev-python/graphy/graphy-1.0-r1.ebuild b/dev-python/graphy/graphy-1.0-r1.ebuild
new file mode 100644
index 000000000000..8fc80588f60a
--- /dev/null
+++ b/dev-python/graphy/graphy-1.0-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P=${PN}_${PV}
+
+DESCRIPTION="Simple Chart Library for Python"
+HOMEPAGE="http://code.google.com/p/graphy/"
+SRC_URI="http://${PN}.googlecode.com/files/${MY_P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ esvn_clean
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ :
+}
+
+python_test() {
+ local PYTHONPATH
+ mkdir -p "${BUILD_DIR}"/lib || die
+ cp -r graphy "${BUILD_DIR}"/lib/ || die
+ "${PYTHON}" "${BUILD_DIR}"/lib/graphy/all_tests.py \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ python_domodule graphy
+ python_optimize
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/graphy/metadata.xml b/dev-python/graphy/metadata.xml
new file mode 100644
index 000000000000..d0b46a26e2cd
--- /dev/null
+++ b/dev-python/graphy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">graphy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
new file mode 100644
index 000000000000..31bfb9f2c924
--- /dev/null
+++ b/dev-python/greenlet/Manifest
@@ -0,0 +1,6 @@
+DIST greenlet-0.4.2.zip 74404 SHA256 b160e556a22e16bae3f3f63ffce7898682c803cd896457192f7b54fe74fe991e SHA512 9596b740921e4a80bcb43adb725a7a4ea428dadc10ba55f8840837ba685b010c273a4a2bd62c5ba4bfdf27ce87c914a83714d762bacafb8e0a3cd7e2a9675992 WHIRLPOOL d65f1e30afb19d305ce3da884846e8f9f3e0222e02bff90f88f606dc0cc797efcab583069cf99be5b05520e0d98299319fef45bfd696050fc898868d233c23dd
+DIST greenlet-0.4.3.zip 76473 SHA256 c94f6c3d3e34d4900a277181619a5854cf5a331903f84160591e325d881659a6 SHA512 eaa43d4a2f3496f59fa7bbb6aba71ce1cc5099d4fb505844ba878a4d4feabab3045130a5f5b6cd37a1a47b3655fe9752c9e69022a4e78971035b14f493decbd2 WHIRLPOOL 7ae4995711b51bc0a154a3ec9314ed35d4a7c88eb0794a71cf72b048d2b3672e64e2af3ca04f2d6d9ccd02c0fa6df8fb218a830af41a9ba895aa43005060a3e6
+DIST greenlet-0.4.4.zip 76659 SHA256 935a76b7ad3c41846af26e136e2fd8ec763794cbc5b5fbc4b7b09d9a8de1d056 SHA512 e3e834d9cd3e00c4be22ebf4eed785ffd302b5e62feafe3e6ac13455a9a8c7249a1624bf76ff5f9d48489553767058fdea240ef7cc4e45cae39ce62c10aeb4e7 WHIRLPOOL d33d571b12be3e1eb0d856c7abc322e1bf032315f3e0c358d4265f3a3db2af9bff07458631c49295a9010fbe77a482ddcafa114b7f974601284761e4798a951b
+DIST greenlet-0.4.5.zip 77396 SHA256 b990f00f120c4cfb6672eec2acd32210990a2c7b70b815c034d1d8cbf08e2dbe SHA512 bdef004299e6d9ac457c0884aea69a882f7ee66135ea5da9a231c7f05024413db8ee5bc1e15c4bbc17379130eda5b38948662178fc34c00f96449a6ada6d3e78 WHIRLPOOL 01e06febe2537dd71478f5404d8f545df19af761b13fcd88c8edc1ab6e4a28da48183084800523d603ca9d58f74b7d675ec4f412b635af961be637f6a22a3f82
+DIST greenlet-0.4.6.zip 77759 SHA256 3000b5c4301a0285f914fd7bb2eb613279f7098000c8e2150b169abcad4c3393 SHA512 498721395bdc4612dd646ee7f384d7edba992dd10a31fccbdb67294e4f22b4890e79f7c509863943b8538c7a34bb4a64fbe6870fc84651f7fdf17654d47281ed WHIRLPOOL 02e84f9738fc899ac4dad40cb197648e1b36f3e10d451fb7963951f2a974af4071450b2c31eadaed6028c9d905557560e03688659efb6de0eaedf22336cb507e
+DIST greenlet-0.4.7.zip 77540 SHA256 f32c4fa4e06443e1bdb0d32b69e7617c25ff772c3ffc6d0aa63d192e9fd795fe SHA512 f2a080b9782bc3f91cf7971b97cb00b9d48d6021e01d413c96128ff32165fbd310ec8e9a1a00d03946e3c637162acd7eb6ebf44425580bd2e7511c3cd15fb192 WHIRLPOOL ac66424e329b8bc83e0c6d5c1aea3ddb237433505e8547916efaf13280a43f040a3f39e67e4b15164acb86f061180928acd29a8725dfb91427c52524fc13c91e
diff --git a/dev-python/greenlet/greenlet-0.4.2.ebuild b/dev-python/greenlet/greenlet-0.4.2.ebuild
new file mode 100644
index 000000000000..f3af886809e5
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm -hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/greenlet-0.4.3.ebuild b/dev-python/greenlet/greenlet-0.4.3.ebuild
new file mode 100644
index 000000000000..0da13efb8827
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/greenlet-0.4.4.ebuild b/dev-python/greenlet/greenlet-0.4.4.ebuild
new file mode 100644
index 000000000000..0da13efb8827
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/greenlet-0.4.5.ebuild b/dev-python/greenlet/greenlet-0.4.5.ebuild
new file mode 100644
index 000000000000..fc595473781a
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm -hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/greenlet-0.4.6.ebuild b/dev-python/greenlet/greenlet-0.4.6.ebuild
new file mode 100644
index 000000000000..9438a538909f
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/greenlet-0.4.7.ebuild b/dev-python/greenlet/greenlet-0.4.7.ebuild
new file mode 100644
index 000000000000..9438a538909f
--- /dev/null
+++ b/dev-python/greenlet/greenlet-0.4.7.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="http://pypi.python.org/pypi/greenlet/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" run-tests.py -n || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/greenlet/metadata.xml b/dev-python/greenlet/metadata.xml
new file mode 100644
index 000000000000..d2eecb33f08b
--- /dev/null
+++ b/dev-python/greenlet/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">greenlet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
new file mode 100644
index 000000000000..94e920c089f3
--- /dev/null
+++ b/dev-python/gst-python/Manifest
@@ -0,0 +1,3 @@
+DIST gst-python-0.10.22.tar.bz2 632651 SHA256 8f26f519a5bccd770864317e098e5e307fc5ad1201eb96329634b6508b253178 SHA512 bbbd6b661778cca990da0e216294d86da31a6e472049905989a3311459dd1227bf8f2ae3699a3cdbb66a16288569764352f1e1b93e696d3db4b0728bc38e5b12 WHIRLPOOL c6902554bc8f390b5d295d05598ee60fd6b2637d290125d83a48fc40bbd4e6e261a711430259831c96a30fee4c5ec5c89aea444424b117fb5d62c946b0263454
+DIST gst-python-1.2.1.tar.bz2 410887 SHA256 8823e5a9ffc51212df412652da44dc3f2a0e23295da769de2d111c770280efd4 SHA512 ed318d94831d34687224d82b84735984b946c6f33704e6bda56847b633af06212f394b709257007cec5d3a3597b200fbe6b19eade6b76e7855e8668c5ebc270e WHIRLPOOL 959e976c5a481367eb298d24eed4b3bf125d173662ff30cf02506906c88cd369259e0f5cb2bbd31bae31c39934b4a894d2eae13a5e411301f055aef030dcebbb
+DIST gst-python-1.4.0.tar.xz 350316 SHA256 b1e40c29ceb41b03f08d38aca6056054f0341d0706276326dceeec6ac8d53d3e SHA512 b970fd16a3b9d82f343fbf20642d165bff25fb815cfe20cc51db8c04c298a8fbd9b96f41811c2d26982eadf1f9a84495c70fbdad553778c68604f828e4773a94 WHIRLPOOL 248d91fc0aac1314c4f7b40866579601a8024c947a29a90b5b6c3585358984f1a50eb6d56aec26609d37fc9144fdf38d5edd7ad61364481d25b7cebfaeff1a96
diff --git a/dev-python/gst-python/files/gst-python-0.10.9-lazy.patch b/dev-python/gst-python/files/gst-python-0.10.9-lazy.patch
new file mode 100644
index 000000000000..880d5508b2ee
--- /dev/null
+++ b/dev-python/gst-python/files/gst-python-0.10.9-lazy.patch
@@ -0,0 +1,21 @@
+diff -ur gst-python-0.10.9.orig/configure.ac gst-python-0.10.9/configure.ac
+--- gst-python-0.10.9.orig/configure.ac 2007-11-28 11:33:05.000000000 +0200
++++ gst-python-0.10.9/configure.ac 2007-11-28 18:09:48.000000000 +0200
+@@ -363,6 +363,17 @@
+
+ AG_GST_VALGRIND_CHECK
+
++AC_MSG_CHECKING([whether $LD accepts -z,lazy])
++case `$LD -z,lazy -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ LDFLAGS="$LDFLAGS -Wl,-z,lazy"
++ AC_MSG_RESULT([yes])
++ ;;
++*)
++ AC_MSG_RESULT([no])
++ ;;
++esac
++
+ AC_OUTPUT([
+ Makefile
+ codegen/Makefile
diff --git a/dev-python/gst-python/gst-python-0.10.22-r1.ebuild b/dev-python/gst-python/gst-python-0.10.22-r1.ebuild
new file mode 100644
index 000000000000..3eb77441ba0b
--- /dev/null
+++ b/dev-python/gst-python/gst-python-0.10.22-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils python-r1 virtualx
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="http://gstreamer.freedesktop.org/"
+SRC_URI="http://gstreamer.freedesktop.org/src/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0.10"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples test"
+
+RDEPEND="
+ dev-libs/libxml2
+ >=dev-python/pygobject-2.28:2[${PYTHON_USEDEP}]
+ >=media-libs/gstreamer-0.10.32:0.10
+ >=media-libs/gst-plugins-base-0.10.32:0.10
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ media-plugins/gst-plugins-ogg:0.10
+ !!media-plugins/gst-plugins-ivorbis:0.10
+ media-plugins/gst-plugins-vorbis:0.10
+ )" # tests a "audiotestsrc ! vorbisenc ! oggmux ! fakesink" pipeline
+# XXX: it looks like tests cannot be bothered with two vorbisdec implementations
+
+src_prepare() {
+ # FIXME: this comments out the only failing test, report to upstream
+ sed -e '171,176 s/^\(.*\)$/#\1/' \
+ -i testsuite/test_bin.py || die
+
+ # Leave examples alone
+ sed -e 's/\(SUBDIRS = .*\)examples/\1/' \
+ -i Makefile.am Makefile.in || die
+
+ sed \
+ -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' \
+ -i configure.ac || die
+
+ epatch "${FILESDIR}"/${PN}-0.10.9-lazy.patch
+ AT_M4DIR="common/m4" eautoreconf
+
+ prepare_gst() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_gst
+}
+
+src_configure() {
+ configure_gst() {
+ ECONF_SOURCE="${S}" econf
+ }
+ python_foreach_impl run_in_build_dir configure_gst
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_test() {
+ LC_ALL="C" GST_REGISTRY="${T}/registry.cache.xml" python_foreach_impl run_in_build_dir Xemake check
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*
+ fi
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/gst-python/gst-python-1.2.1.ebuild b/dev-python/gst-python/gst-python-1.2.1.ebuild
new file mode 100644
index 000000000000..b2da6fdcd235
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.2.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="http://gstreamer.freedesktop.org/"
+SRC_URI="http://gstreamer.freedesktop.org/src/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="1.0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="test" #examples , bug #506962
+
+RDEPEND="
+ dev-libs/libxml2
+ >=dev-python/pygobject-3:3[${PYTHON_USEDEP}]
+ >=media-libs/gstreamer-1.2:1.0
+ >=media-libs/gst-plugins-base-1.2:1.0
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# XXX: unittests are not ported to 1.0 yet.
+
+src_prepare() {
+ # Leave examples alone
+ sed -e 's/\(SUBDIRS = .*\)examples/\1/' \
+ -i Makefile.am Makefile.in || die
+
+ prepare_gst() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_gst
+}
+
+src_configure() {
+ ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir econf
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+ einstalldocs
+
+# if use examples; then
+# docinto examples
+# dodoc examples/*
+# fi
+}
diff --git a/dev-python/gst-python/gst-python-1.4.0.ebuild b/dev-python/gst-python/gst-python-1.4.0.ebuild
new file mode 100644
index 000000000000..f878a637716c
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.4.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="http://gstreamer.freedesktop.org/"
+SRC_URI="http://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libxml2
+ >=dev-python/pygobject-3:3[${PYTHON_USEDEP}]
+ >=media-libs/gstreamer-1.4:1.0
+ >=media-libs/gst-plugins-base-1.4:1.0
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+# XXX: unittests are not ported to 1.0 yet.
+
+src_prepare() {
+ prepare_gst() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_gst
+}
+
+src_configure() {
+ ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir econf
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir default
+ prune_libtool_files --modules
+ einstalldocs
+}
diff --git a/dev-python/gst-python/metadata.xml b/dev-python/gst-python/metadata.xml
new file mode 100644
index 000000000000..dec0396a21e7
--- /dev/null
+++ b/dev-python/gst-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gstreamer</herd>
+</pkgmetadata>
diff --git a/dev-python/gtkspell-python/Manifest b/dev-python/gtkspell-python/Manifest
new file mode 100644
index 000000000000..2fc6771cd4cb
--- /dev/null
+++ b/dev-python/gtkspell-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-extras-2.25.3.tar.bz2 370489 SHA256 ca346264e00e193f0866cabd8801d3b7ce70dae7b8b296e41e5b3a45c9b0275c SHA512 6994b8b5d6ccc009edc7ddfad373b9164d8162f1007972652f6086dca30cac6941ab68ef467d15c972ab05c4ae0e19ec72edc2643636d22a01a3f5a719251467 WHIRLPOOL b0adfcef8bbb978d063a932393e17de9c8c519194f40085ecd03824ec4fb4421c84e0a4853a5a2d9fc40c94d8c0c261828447ac5fd69cff4ece39c52fc833590
diff --git a/dev-python/gtkspell-python/files/gtkspell-python-2.25.3-python-libs.patch b/dev-python/gtkspell-python/files/gtkspell-python-2.25.3-python-libs.patch
new file mode 100644
index 000000000000..ab691272cbb6
--- /dev/null
+++ b/dev-python/gtkspell-python/files/gtkspell-python-2.25.3-python-libs.patch
@@ -0,0 +1,59 @@
+From 7824fd5291f570de3c2c64185035d1a6a0a3445a Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Mon, 13 Aug 2012 04:42:47 -0400
+Subject: [PATCH] Replace horrible slow python libs search
+
+---
+ acinclude.m4 | 36 ++----------------------------------
+ 1 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8694a65..f5373eb 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -59,40 +59,8 @@ $1],dnl
+ [AC_MSG_RESULT(not found)
+ $2])
+ CPPFLAGS="$save_CPPFLAGS"
+-
+- # This bit is copied from Planner. murrayc.
+- # Check for Python library path
+- AC_MSG_CHECKING([for Python library path])
+-
+- # Win32 has libpython25.a instead of libpython2.5.a, so we look
+- # for both. TODO: Only look for libpython25.a on Windows, and for
+- # libpython2.5.a on unix.
+- WIN32_PYTHON_VERSION=`echo $PYTHON_VERSION | sed "s,\.,,"`
+-
+- python_path=`dirname $PYTHON | sed "s,/bin.*$,,"`
+- for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do
+- if test -e "$i"; then
+- python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$PYTHON_VERSION"
+- break
+- fi
+-
+- # Additionally test WIN32_PYTHON_VERSION
+- python_path=`find $i -type f -name libpython$WIN32_PYTHON_VERSION.* -print | sed "1q"`
+- if test -n "$python_path" ; then
+- python_lib="python$WIN32_PYTHON_VERSION"
+- break
+- fi
+- fi
+- done
+-
+- python_path=`echo $python_path | sed "s,/libpython.*$,,"`
+- AC_MSG_RESULT([$python_path])
+- if test -z "$python_path" ; then
+- AC_MSG_ERROR([cannot find Python library path])
+- fi
+- AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -l$python_lib"])
++PYTHON_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; print('-L%s -lpython${PYTHON_VERSION}' % distutils.sysconfig.get_config_var('LIBDIR'))"`
++AC_SUBST([PYTHON_LDFLAGS],["$PYTHON_LDFLAGS"])
+ ])
+
+ dnl
+--
+1.7.8.6
+
diff --git a/dev-python/gtkspell-python/gtkspell-python-2.25.3-r1.ebuild b/dev-python/gtkspell-python/gtkspell-python-2.25.3-r1.ebuild
new file mode 100644
index 000000000000..3693c8c93e6f
--- /dev/null
+++ b/dev-python/gtkspell-python/gtkspell-python-2.25.3-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python-extras"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils gnome-python-common-r1
+
+DESCRIPTION="GtkSpell bindings for Python"
+# The LICENSE with gtkspell-3 is LGPL and there is no way to express this in
+# an ebuild, currently. Punt till we actually have to face the issue.
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="doc examples"
+
+RDEPEND="app-text/gtkspell:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ gnome-base/gnome-common"
+# eautoreconf needs gnome-base/gnome-common
+
+EXAMPLES=( examples/gtkspell/. )
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python-libs.patch" #344231
+ sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+ eautoreconf
+ gnome-python-common-r1_src_prepare
+}
diff --git a/dev-python/gtkspell-python/metadata.xml b/dev-python/gtkspell-python/metadata.xml
new file mode 100644
index 000000000000..9b1bc26a9df2
--- /dev/null
+++ b/dev-python/gtkspell-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/guessit/Manifest b/dev-python/guessit/Manifest
new file mode 100644
index 000000000000..1cfabb72a689
--- /dev/null
+++ b/dev-python/guessit/Manifest
@@ -0,0 +1,4 @@
+DIST guessit-0.5.4.tar.gz 93050 SHA256 2c4b2c3c703485a03794746a496fae69f1da5d8c9eaf08b8e9571515704b69b0 SHA512 353f45a80726edc6978be3707916a4919c140f2304668f7e1e9453fb1c225f83e9f19a317b8b3eafff449a41fd959fceeb6eecc7021862f856a34cd9608c170c WHIRLPOOL 3465f5dd0d029d2252930c7ceebf963b85466374912919500a15258707a10faa5379a91d23ba81204324895fb37de9e1ced8c6daa6ed12e46258b82319de856a
+DIST guessit-0.6.2.tar.gz 123216 SHA256 27d6dfa29f01f4897688d04d94d58298b4e1b94163d8ff72646be59bed5ab6db SHA512 0c9340c0755ef91ce432ed80a0131659f23489e57092270b2acc433b74930bb3b3759959ab5cb3547c10b6011e2f52db56feffd8e7ec7bc6e31fdcd1d786b8f9 WHIRLPOOL fd86094931d3a309363a8abf739152062ef854997ee2c0a17ef85fb1a1afb9fe82a8db299be5da075a62ca6542b5ab31e9c87a6f9aed0be6f1df49550e39b157
+DIST guessit-0.7.1.tar.gz 1177369 SHA256 4315afd516ff824a1ccd857a43b74fb2f0f1b794f8049685eae72d6e64d8dc92 SHA512 ce30496852eeb46f6e49744e6f3a32045145da27226a7520a12ce911289ff45be5c704899377bd4b708867205dd230a9a464bc4d11d6dc1beec334054603be9e WHIRLPOOL c96f7740b8a0ae026d986f367bb3b4665e915ed83edb547db135cdf2acbf3f1faae8a43f5ef0e509faf7e856c3db59d01a8a17008ebbddfcf8af22e5e5d79483
+DIST guessit-0.9.3.tar.gz 1194884 SHA256 0fd4bee04214dc0474089ac6fed3c9e64b8c635085681b911834f9b0bb074b81 SHA512 ae2939433a8642f3a6579ccb5247bfb0eda68959a4449a4134fbefdab8572ccfa1fefed90783b82505acdf67006a11bfeef5d05ee7787da2cd44e4f447472513 WHIRLPOOL e01cb8acb1d7d6dafa896e14a9eaa968039bbcebf4ce31b63c28438c4b96ea004fd94a6527747c8dc10dbfef8bcaea3c82dec68eb1dbb384e8406306c81bacbd
diff --git a/dev-python/guessit/files/guessit-0.5.4-python3.patch b/dev-python/guessit/files/guessit-0.5.4-python3.patch
new file mode 100644
index 000000000000..954c7154a08a
--- /dev/null
+++ b/dev-python/guessit/files/guessit-0.5.4-python3.patch
@@ -0,0 +1,30 @@
+From 93f4fe97f664c207e769186fe79961bf5a998447 Mon Sep 17 00:00:00 2001
+From: Nicolas Wack <wackou@gmail.com>
+Date: Thu, 25 Apr 2013 16:05:05 +0200
+Subject: [PATCH] Fixed some unicode issues when reading files from disk
+
+---
+ guessit/fileutils.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/guessit/fileutils.py b/guessit/fileutils.py
+index 2fca6b7..dc077e6 100644
+--- a/guessit/fileutils.py
++++ b/guessit/fileutils.py
+@@ -22,6 +22,7 @@
+ from guessit import s, u
+ import os.path
+ import zipfile
++import io
+
+
+ def split_path(path):
+@@ -84,4 +85,4 @@ def load_file_in_same_dir(ref_file, filename):
+ zfile = zipfile.ZipFile(zfilename)
+ return zfile.read('/'.join(path[i + 1:]))
+
+- return u(open(os.path.join(*path)).read())
++ return u(io.open(os.path.join(*path), encoding='utf-8').read())
+--
+1.8.1.6
+
diff --git a/dev-python/guessit/files/guessit-0.5.4-tests.patch b/dev-python/guessit/files/guessit-0.5.4-tests.patch
new file mode 100644
index 000000000000..50d8f579e47e
--- /dev/null
+++ b/dev-python/guessit/files/guessit-0.5.4-tests.patch
@@ -0,0 +1,172 @@
+From 409218bc3d5b62e4f3e37aa57126cd628a34bd21 Mon Sep 17 00:00:00 2001
+From: Nicolas Wack <wackou@gmail.com>
+Date: Fri, 19 Apr 2013 22:08:38 +0200
+Subject: [PATCH] Allow to run tests using "python setup.py test"; fixed
+ autodetect_all test target
+
+---
+ fabfile.py | 1 +
+ setup.py | 3 ++-
+ tests/__init__.py | 0
+ tests/guessittest.py | 19 ++++++++++++-------
+ tests/test_autodetect.py | 2 +-
+ tests/test_autodetect_all.py | 12 ++++++++----
+ 6 files changed, 24 insertions(+), 13 deletions(-)
+ create mode 100644 tests/__init__.py
+
+diff --git a/fabfile.py b/fabfile.py
+index 5b2c9fe..d8c4112 100644
+--- a/fabfile.py
++++ b/fabfile.py
+@@ -25,6 +25,7 @@ def run(self):
+ test_ep = TestTask('episode', 'episodes')
+ test_movie = TestTask('movie', 'movies')
+ test_auto = TestTask('autodetect', 'autodetected files')
++test_auto_all = TestTask('autodetect_all', 'all files using autodetected type')
+ test_lang = TestTask('language', 'languages')
+ test_utils = TestTask('utils', 'utility functions')
+ test_matchtree = TestTask('matchtree', 'MatchTree')
+diff --git a/setup.py b/setup.py
+index deee110..81f907d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -65,7 +65,8 @@
+ include_package_data=True,
+ install_requires = requires,
+ entry_points=entry_points,
+- extras_require = { 'language_detection': ['guess-language>=0.2'] }
++ extras_require = { 'language_detection': ['guess-language>=0.2'] },
++ test_suite = 'tests'
+ )
+
+
+diff --git a/tests/__init__.py b/tests/__init__.py
+new file mode 100644
+index 0000000..e69de29
+diff --git a/tests/guessittest.py b/tests/guessittest.py
+index c56b6ca..cfeaef0 100644
+--- a/tests/guessittest.py
++++ b/tests/guessittest.py
+@@ -21,7 +21,7 @@
+ from __future__ import unicode_literals
+ from guessit import base_text_type, u
+ from guessit.slogging import setupLogging
+-from unittest import *
++from unittest import TestCase, TestLoader, TextTestRunner
+
+ import yaml, logging, sys, os
+ from os.path import *
+@@ -58,20 +58,25 @@ def allTests(testClass):
+
+ class TestGuessit(TestCase):
+
+-
+-
+- def checkMinimumFieldsCorrect(self, filetype, filename, removeType=True):
++ def checkMinimumFieldsCorrect(self, filetype, filename, remove_type=True,
++ exclude_files=None):
+ groundTruth = yaml.load(load_file_in_same_dir(__file__, filename))
+ def guess_func(string):
+ return guess_file_info(string, filetype=filetype)
+
+- return self.checkFields(groundTruth, guess_func, removeType)
++ return self.checkFields(groundTruth, guess_func, remove_type, exclude_files)
+
+- def checkFields(self, groundTruth, guess_func, removeType=True):
++
++ def checkFields(self, groundTruth, guess_func, remove_type=True,
++ exclude_files=None):
+ correct, total = 0, 0
++ exclude_files = exclude_files or []
+
+ for filename, required_fields in groundTruth.items():
+ filename = u(filename)
++ if filename in exclude_files:
++ continue
++
+ log.debug('\n' + '-' * 120)
+ log.info('Guessing information for file: %s' % filename)
+
+@@ -85,7 +90,7 @@ def error(*args):
+ is_incomplete[0] = True
+
+ # no need for these in the unittests
+- if removeType:
++ if remove_type:
+ try:
+ del found['type']
+ except:
+diff --git a/tests/test_autodetect.py b/tests/test_autodetect.py
+index 1e0fd9d..e654afb 100644
+--- a/tests/test_autodetect.py
++++ b/tests/test_autodetect.py
+@@ -25,7 +25,7 @@ class TestAutoDetect(TestGuessit):
+ def testAutoDetect(self):
+ self.checkMinimumFieldsCorrect(filetype='autodetect',
+ filename='autodetect.yaml',
+- removeType=False)
++ remove_type=False)
+
+
+ suite = allTests(TestAutoDetect)
+diff --git a/tests/test_autodetect_all.py b/tests/test_autodetect_all.py
+index 6aa1704..cfd3463 100644
+--- a/tests/test_autodetect_all.py
++++ b/tests/test_autodetect_all.py
+@@ -18,23 +18,27 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+
+-
++from __future__ import unicode_literals
+ from guessittest import *
+
++IGNORE_EPISODES = [ 'finale ' ]
++IGNORE_MOVIES = []
+
+ class TestAutoDetectAll(TestGuessit):
+ def testAutoMatcher(self):
+ self.checkMinimumFieldsCorrect(filetype='autodetect',
+ filename='autodetect.yaml',
+- removeType=False)
++ remove_type=False)
+
+ def testAutoMatcherMovies(self):
+ self.checkMinimumFieldsCorrect(filetype='autodetect',
+- filename='movies.yaml')
++ filename='movies.yaml',
++ exclude_files=IGNORE_MOVIES)
+
+ def testAutoMatcherEpisodes(self):
+ self.checkMinimumFieldsCorrect(filetype='autodetect',
+- filename='episodes.yaml')
++ filename='episodes.yaml',
++ exclude_files=IGNORE_EPISODES)
+
+
+ suite = allTests(TestAutoDetectAll)
+--
+1.8.1.6
+
+Added by maksbotan@gentoo.org, to be upstreamed
+
+diff -ur /var/tmp/portage/dev-python/guessit-0.5.4/work/guessit-0.5.4/tests/test_language.py guessit-0.5.4/tests/test_language.py
+--- /var/tmp/portage/dev-python/guessit-0.5.4/work/guessit-0.5.4/tests/test_language.py 2013-02-11 03:49:53.000000000 +0400
++++ guessit-0.5.4/tests/test_language.py 2013-04-25 18:41:22.000000000 +0400
+@@ -20,6 +20,7 @@
+
+ from __future__ import unicode_literals
+ from guessittest import *
++import io
+
+ class TestLanguage(TestGuessit):
+
+@@ -81,7 +82,7 @@
+
+ def test_opensubtitles(self):
+ opensubtitles_langfile = file_in_same_dir(__file__, 'opensubtitles_languages_2012_05_09.txt')
+- langs = [ u(l).strip().split('\t') for l in open(opensubtitles_langfile) ][1:]
++ langs = [ u(l).strip().split('\t') for l in io.open(opensubtitles_langfile, encoding="utf8") ][1:]
+ for lang in langs:
+ # check that we recognize the opensubtitles language code correctly
+ # and that we are able to output this code from a language
diff --git a/dev-python/guessit/guessit-0.5.4.ebuild b/dev-python/guessit/guessit-0.5.4.ebuild
new file mode 100644
index 000000000000..69b095203511
--- /dev/null
+++ b/dev-python/guessit/guessit-0.5.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library that tries to extract as much information as possible from a filename"
+HOMEPAGE="http://guessit.readthedocs.org/"
+SRC_URI="https://github.com/wackou/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python3.patch
+ "${FILESDIR}"/${P}-tests.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ #Patch fails to create this file, so use touch
+ touch tests/__init__.py || die
+}
+
+python_test() {
+ PYTHONPATH="${S}/tests" esetup.py test
+}
diff --git a/dev-python/guessit/guessit-0.6.2.ebuild b/dev-python/guessit/guessit-0.6.2.ebuild
new file mode 100644
index 000000000000..f6b015020a01
--- /dev/null
+++ b/dev-python/guessit/guessit-0.6.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="library for guessing information from video files"
+HOMEPAGE="http://guessit.readthedocs.org https://github.com/wackou/guessit https://pypi.python.org/pypi/guessit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# FIXME fails tests with python-3.3.2-r2
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/guessit/guessit-0.7.1.ebuild b/dev-python/guessit/guessit-0.7.1.ebuild
new file mode 100644
index 000000000000..86c8b75442e7
--- /dev/null
+++ b/dev-python/guessit/guessit-0.7.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="library for guessing information from video files"
+HOMEPAGE="http://guessit.readthedocs.org https://github.com/wackou/guessit https://pypi.python.org/pypi/guessit"
+SRC_URI="https://github.com/wackou/guessit/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/babelfish-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/guessit/guessit-0.9.3.ebuild b/dev-python/guessit/guessit-0.9.3.ebuild
new file mode 100644
index 000000000000..95c96f4b51e1
--- /dev/null
+++ b/dev-python/guessit/guessit-0.9.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="library for guessing information from video files"
+HOMEPAGE="http://guessit.readthedocs.org https://github.com/wackou/guessit https://pypi.python.org/pypi/guessit"
+SRC_URI="https://github.com/wackou/guessit/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/babelfish-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/guessit/guessit-9999.ebuild b/dev-python/guessit/guessit-9999.ebuild
new file mode 100644
index 000000000000..feb5e9ef4dd9
--- /dev/null
+++ b/dev-python/guessit/guessit-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+EGIT_REPO_URI="https://github.com/wackou/guessit.git"
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="library for guessing information from video files"
+HOMEPAGE="http://guessit.readthedocs.org https://github.com/wackou/guessit https://pypi.python.org/pypi/guessit"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/babelfish-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/guessit/metadata.xml b/dev-python/guessit/metadata.xml
new file mode 100644
index 000000000000..68d666121423
--- /dev/null
+++ b/dev-python/guessit/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>nikoli@gmx.us</email>
+ <name>Nikoli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">guessit</remote-id>
+ <remote-id type="github">wackou/guessit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/guppy/Manifest b/dev-python/guppy/Manifest
new file mode 100644
index 000000000000..74dbfccd2b39
--- /dev/null
+++ b/dev-python/guppy/Manifest
@@ -0,0 +1 @@
+DIST guppy-0.1.10.tar.gz 484906 SHA256 00118c000e451063ea16bb6a3b52632d10960c44c0014553c287dce5c03813df SHA512 ea48fd19d7fe9a24832364599b8843304e95ccd1ccf3a9a475456ba25af2a4be94991dcb61deb854b740c2358d280579e756177236b3c73cb0de100bdf0286ce WHIRLPOOL 81b23d17f66d012865627d3f44edd89e63897d0a5e00b7e98d76d5abed3e4c296a1ab00b7dba32f02f0df7fb460c39c0672d6bc157cd74c478b39a87fb4d199c
diff --git a/dev-python/guppy/files/guppy-0.1.9-rm_BrokenTests.patch b/dev-python/guppy/files/guppy-0.1.9-rm_BrokenTests.patch
new file mode 100644
index 000000000000..fabbe4cda512
--- /dev/null
+++ b/dev-python/guppy/files/guppy-0.1.9-rm_BrokenTests.patch
@@ -0,0 +1,57 @@
+diff -ur guppy-0.1.9.orig/guppy/sets/test.py guppy-0.1.9/guppy/sets/test.py
+--- guppy/sets/test.py 2009-06-23 21:48:32.000000000 +0800
++++ guppy/sets/test.py 2012-11-07 16:59:38.383392670 +0800
+@@ -4,6 +4,11 @@
+ # so wouldn't check so much with python -O.
+
+ import gc, random, sys
++if sys.version_info[:2] == (2, 7):
++ import unittest
++else:
++ import unittest2 as unittest
++
+ try:
+ import numpy.random
+ except ImportError:
+@@ -211,6 +211,7 @@
+
+ '.nython off'
+
++@unittest.skip("Class broken")
+ class Test:
+ faster = 1 # Set to 1 if test should be faster (less exhaustive) than normally
+
+diff -ur guppy-0.1.9.orig/guppy/heapy/test/test_View.py guppy-0.1.9/guppy/heapy/test/test_View.py
+--- guppy/heapy/test/test_View.py 2009-06-12 18:20:53.000000000 +0800
++++ guppy/heapy/test/test_View.py 2012-11-07 17:23:52.289280501 +0800
+@@ -1,4 +1,11 @@
+ from guppy.heapy.test import support
++import sys
++
++if sys.version_info[:2] == (2, 7):
++ import unittest
++else:
++ import unittest2 as unittest
++
+ class TestCase(support.TestCase):
+ def setUp(self):
+ support.TestCase.setUp(self)
+@@ -55,6 +55,7 @@
+ p = iso(z).referents.indisize
+ self.aseq(p, iso(y).indisize)
+
++ @unittest.skip("broken test")
+ def test_horizon(self):
+ iso = self.iso
+ h = self.View.horizon()
+diff -ur guppy-0.1.9.orig/guppy/heapy/test/test_all.py guppy-0.1.9/guppy/heapy/test/test_all.py
+--- guppy/heapy/test/test_all.py 2009-06-18 21:44:11.000000000 +0800
++++ guppy/heapy/test/test_all.py 2012-11-07 17:34:04.036233306 +0800
+@@ -1,7 +1,6 @@
+ import sys
+
+ autotests = (
+- 'dependencies',
+ 'Classifiers',
+ 'heapyc',
+ 'ER',
diff --git a/dev-python/guppy/guppy-0.1.10-r1.ebuild b/dev-python/guppy/guppy-0.1.10-r1.ebuild
new file mode 100644
index 000000000000..90e52f887f39
--- /dev/null
+++ b/dev-python/guppy/guppy-0.1.10-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Guppy-PE -- A Python Programming Environment"
+HOMEPAGE="http://guppy-pe.sourceforge.net/ http://pypi.python.org/pypi/guppy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${PN}-0.1.9-rm_BrokenTests.patch )
+
+python_prepare_all() {
+ sed -e 's:_PyLong_AsScaledDouble:_PyLong_Frexp:' -i src/sets/bitset.c || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ "${PYTHON}" setup.py build install --home="${T}/test-${EPYTHON}" \
+ || die "Installation of tests failed"
+ pushd "${T}/test-${EPYTHON}/lib/python" > /dev/null
+ "${PYTHON}" guppy/heapy/test/test_all.py || die "tests failed"
+ popd > /dev/null
+}
+
+python_install_all() {
+ # leave the html docs for install as the setup.py dictates but rm if set by IUSE doc
+ if use doc; then
+ local HTML_DOCS=( guppy/doc/. )
+ find "${D}$(python_get_sitedir)" -name doc | xargs rm -rf
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/guppy/metadata.xml b/dev-python/guppy/metadata.xml
new file mode 100644
index 000000000000..65906dfb11c6
--- /dev/null
+++ b/dev-python/guppy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Guppy-PE is a programming environment providing object and heap memory
+ sizing, profiling and analysis. It includes a prototypical
+ specification language that can be used to formally specify aspects of
+ Python programs and generate tests and documentation from a common
+ source.</longdescription>
+ <upstream>
+ <remote-id type="pypi">guppy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/guzzle_sphinx_theme/Manifest b/dev-python/guzzle_sphinx_theme/Manifest
new file mode 100644
index 000000000000..211d3c9108c2
--- /dev/null
+++ b/dev-python/guzzle_sphinx_theme/Manifest
@@ -0,0 +1 @@
+DIST guzzle_sphinx_theme-0.7.10.tar.gz 225764 SHA256 d0ddb986fbb70c00d84c628ff520ed3d64bdb0e876487e896dae1ece048a8e08 SHA512 a21867e93ffc80e91b85a0fc33cedb21ba9e1d2912b6d5d6226e5ec93550564a1a9321eae09aaaddb61f36ce051017c33b750c52d609cd604a5cc4bf8ce5248f WHIRLPOOL 99b96d26f744fa3a8e7a7b480d617ec9bb47ca3b3330d5a4b3439ad7cae3b846b29e031dc9f7640066fd1c7542a03f044029e1c5cf0cd88341988218b561fc42
diff --git a/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.10.ebuild b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.10.ebuild
new file mode 100644
index 000000000000..6cc7fb02c7bf
--- /dev/null
+++ b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.10.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx theme used by Guzzle."
+HOMEPAGE="https://github.com/guzzle/guzzle_sphinx_theme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/sphinx-1.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/guzzle_sphinx_theme/metadata.xml b/dev-python/guzzle_sphinx_theme/metadata.xml
new file mode 100644
index 000000000000..a724b97950e6
--- /dev/null
+++ b/dev-python/guzzle_sphinx_theme/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">guzzle_sphinx_theme</remote-id>
+ <remote-id type="github">guzzle/guzzle_sphinx_theme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/h5py/Manifest b/dev-python/h5py/Manifest
new file mode 100644
index 000000000000..ee40b2971898
--- /dev/null
+++ b/dev-python/h5py/Manifest
@@ -0,0 +1,3 @@
+DIST h5py-2.3.1.tar.gz 1072766 SHA256 447e55d5893ca285d1185a938548a12f3f7d4af441f1a7740ac28bc3aecf85c1 SHA512 f0da1d2ac855c02fb828444d719a1b23a580adb049335f3e732ace67558a125ac8cd3b3a68ac6bf9d10aa3ab19e4672b814eb28cc8c66910750c62efb655d744 WHIRLPOOL cdd2be028d450d1566776b056550af001dd382082cce5cac9fdb8968071b9f3e9855e2c30bf12bbb800c1313343980f74c2ad3d853318585bdc6134c8af5b35c
+DIST h5py-2.4.0.tar.gz 172462 SHA256 faaeadf4b8ca14c054b7568842e0d12690de7d5d68af4ecce5d7b8fc104d8e60 SHA512 b341994899d27ceae81cdf920c44902e7db64cd3e613e2b4bcf19a6d0aea5f2fcc4acc946222a6e5d4b03d787b05e2dd2a2a55df99561f74d6e827a61f85b2c5 WHIRLPOOL 734e848437921f97b2169243993cd111d4f91578bce9980ec9d373113917185f47ea8b1d98732a61bbfc7c7ae8bc1481ddf53a6ee576705352b6d77e22263f27
+DIST h5py-2.5.0.tar.gz 684354 SHA256 9833df8a679e108b561670b245bcf9f3a827b10ccb3a5fa1341523852cfac2f6 SHA512 4a83f9ae1855a7fad90133b327d426201c8ccfd2e7fbe9f39b2d61a2eee2f3ebe2ea02cf80f3d4e1ad659f8e790c173df8cc99b87d0b7ce63d34aa88cfdc7939 WHIRLPOOL 7d7852d1d2481077a81dbf194e72da10d013c43ede4d2d6e319e1e2be0f70d7495b0964ea7787ddbd145ac774cdabc32c5b7e51fc7c9bfec429d673b12bcc10b
diff --git a/dev-python/h5py/h5py-2.3.1.ebuild b/dev-python/h5py/h5py-2.3.1.ebuild
new file mode 100644
index 000000000000..0ca6ad8a9fb4
--- /dev/null
+++ b/dev-python/h5py/h5py-2.3.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple Python interface to HDF5 files"
+HOMEPAGE="http://www.h5py.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test examples mpi"
+
+RDEPEND="
+ sci-libs/hdf5:=[mpi=]
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc
+}
+
+python_prepare_all() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile --mpi=$(usex mpi yes no)
+}
+
+python_test() {
+ esetup.py test --mpi=$(usex mpi yes no)
+}
+
+python_install() {
+ distutils-r1_python_install --mpi=$(usex mpi yes no)
+}
+
+python_install_all() {
+ DOCS=( README.rst ANN.rst )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/h5py/h5py-2.4.0.ebuild b/dev-python/h5py/h5py-2.4.0.ebuild
new file mode 100644
index 000000000000..68de84974866
--- /dev/null
+++ b/dev-python/h5py/h5py-2.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple Python interface to HDF5 files"
+HOMEPAGE="http://www.h5py.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test examples mpi"
+
+RDEPEND="
+ sci-libs/hdf5:=[mpi=]
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc
+}
+
+python_prepare_all() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ esetup.py configure $(usex mpi --mpi '')
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ DOCS=( README.rst ANN.rst )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/h5py/h5py-2.5.0.ebuild b/dev-python/h5py/h5py-2.5.0.ebuild
new file mode 100644
index 000000000000..a6218f297931
--- /dev/null
+++ b/dev-python/h5py/h5py-2.5.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple Python interface to HDF5 files"
+HOMEPAGE="http://www.h5py.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test examples mpi"
+
+RDEPEND="
+ sci-libs/hdf5:=[mpi=]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/alabaster[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ )
+ mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc
+}
+
+python_prepare_all() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ esetup.py configure $(usex mpi --mpi '')
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}"/docs || die
+ sed '/html_theme/s:default:alabaster:g' -i conf.py || die
+ rm -r _build || die
+ emake html
+ fi
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ DOCS=( README.rst ANN.rst )
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/h5py/metadata.xml b/dev-python/h5py/metadata.xml
new file mode 100644
index 000000000000..7309a3a9f6b0
--- /dev/null
+++ b/dev-python/h5py/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ HDF5 for Python (h5py) is a general-purpose simple Python interface to the
+ Hierarchical Data Format library, version 5. Existing Python and
+ Numpy concepts are used for the interface. Almost all HDF5 features
+ are available from Python, including things like compound datatypes
+ (as used with Numpy recarray types), HDF5 attributes, hyperslab and
+ point-based I/O, and more recent features in HDF 1.8 like resizable
+ datasets and recursive iteration over entire files.
+</longdescription>
+ <upstream>
+ <remote-id type="google-code">h5py</remote-id>
+ <remote-id type="pypi">h5py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hachoir-core/Manifest b/dev-python/hachoir-core/Manifest
new file mode 100644
index 000000000000..d3f79c502f70
--- /dev/null
+++ b/dev-python/hachoir-core/Manifest
@@ -0,0 +1 @@
+DIST hachoir-core-1.3.3.tar.gz 91504 SHA256 ecf5d16eccc76b22071d6062e54edb67595f70d827644d3a6dff04289b4058df SHA512 71c24c4c4612ab544663ddde4aa07bb7514fcb3b86596ad67d6b48e0d8590b1a9d8c88ed4007c2341cb195ef825e06634bce14c62cc2c5200b6d745d341cac51 WHIRLPOOL 1b6ab4088cc5a8270cd590d00fafb0c68571248a5f15703d5e644613cc338c6d594df87b82e2bc39f420333ca34bf37f45e003aedf43e1d085958a9294a716c7
diff --git a/dev-python/hachoir-core/hachoir-core-1.3.3-r1.ebuild b/dev-python/hachoir-core/hachoir-core-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..26eee5426a19
--- /dev/null
+++ b/dev-python/hachoir-core/hachoir-core-1.3.3-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Core of Hachoir framework: parse and edit binary files"
+HOMEPAGE="http://bitbucket.org/haypo/hachoir/wiki/hachoir-core http://pypi.python.org/pypi/hachoir-core"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_configure_all() {
+ mydistutilsargs=( --setuptools )
+}
+
+python_test() {
+ "${PYTHON}" test_doc.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/hachoir-core/metadata.xml b/dev-python/hachoir-core/metadata.xml
new file mode 100644
index 000000000000..12b9db27479c
--- /dev/null
+++ b/dev-python/hachoir-core/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">A tool written for hackers to cut file or any binary stream. A file is
+ splitted in a tree of fields where the smallest field can be just a bit.
+ There are various field types: integer, string, bits, padding, sub file,
+ etc.</longdescription>
+ <upstream>
+ <remote-id type="pypi">hachoir-core</remote-id>
+ <remote-id type="bitbucket">haypo/hachoir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hachoir-parser/Manifest b/dev-python/hachoir-parser/Manifest
new file mode 100644
index 000000000000..b2b4dde3a388
--- /dev/null
+++ b/dev-python/hachoir-parser/Manifest
@@ -0,0 +1 @@
+DIST hachoir-parser-1.3.4.tar.gz 359230 SHA256 775be5e10d72c6122b1ba3202dfce153c09ebcb60080d8edbd51aa89aa4e6b3f SHA512 d1c01af0fc7dc59fc4fed57401cbbb3ba498d1a6de78322f47ff139ac10f1ad1d5713011c04fde610267b40188c84ff79397f9c8d309c1ab5cc3384c03577948 WHIRLPOOL 84ded718259a823f9a0458a846b4d330cb087bec8b8559e8dc2c1175e8b4f82ec17e728a38e7d881087ff371f24f7cfcd8dd30d3454b714366e3129de418a9a7
diff --git a/dev-python/hachoir-parser/hachoir-parser-1.3.4-r1.ebuild b/dev-python/hachoir-parser/hachoir-parser-1.3.4-r1.ebuild
new file mode 100644
index 000000000000..a3a5ff5bcb25
--- /dev/null
+++ b/dev-python/hachoir-parser/hachoir-parser-1.3.4-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Package of Hachoir parsers used to open binary files"
+HOMEPAGE="http://bitbucket.org/haypo/hachoir/wiki/hachoir-parser http://pypi.python.org/pypi/hachoir-parser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=">=dev-python/hachoir-core-1.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_configure_all() {
+ mydistutilsargs=( --setuptools )
+}
diff --git a/dev-python/hachoir-parser/metadata.xml b/dev-python/hachoir-parser/metadata.xml
new file mode 100644
index 000000000000..7233bee923b8
--- /dev/null
+++ b/dev-python/hachoir-parser/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">a package of most common file format parsers written using hachoir-core.
+ Not all parsers are complete, some are very good and other are poor
+ (they only parse the first level of the tree for example).</longdescription>
+ <upstream>
+ <remote-id type="pypi">hachoir-parser</remote-id>
+ <remote-id type="bitbucket">haypo/hachoir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hachoir-regex/Manifest b/dev-python/hachoir-regex/Manifest
new file mode 100644
index 000000000000..f374b7d57496
--- /dev/null
+++ b/dev-python/hachoir-regex/Manifest
@@ -0,0 +1 @@
+DIST hachoir-regex-1.0.5.tar.gz 22156 SHA256 a35b2bb0ff11418230fffbb97605adba012bf65d2aba3e5e7d8295774d5ba986 SHA512 eee781ea9665c41e8a2d02116aa0af0d734e6e1ecdb06aaaa69fe9a54abd3ef16590281570ec0f87a54903c9849c12387626c9fc78f3523eaf13a5a77cae1610 WHIRLPOOL bd11417c1ef933be5706c1539284910fff343831d96239a979a855c651bd8a033ce2ea1b8d4d54b4dea88423ca87faa0a6aa0a0c57ac83d58f73fded87691097
diff --git a/dev-python/hachoir-regex/hachoir-regex-1.0.5-r1.ebuild b/dev-python/hachoir-regex/hachoir-regex-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..d3400ef68970
--- /dev/null
+++ b/dev-python/hachoir-regex/hachoir-regex-1.0.5-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manipulation of regular expressions (regex)"
+HOMEPAGE="http://bitbucket.org/haypo/hachoir/wiki/hachoir-regex http://pypi.python.org/pypi/hachoir-regex"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_configure_all() {
+ mydistutilsargs=(
+ --setuptools
+ )
+}
+
+python_test() {
+ "${PYTHON}" test_doc.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/hachoir-regex/metadata.xml b/dev-python/hachoir-regex/metadata.xml
new file mode 100644
index 000000000000..a00819c5f2f0
--- /dev/null
+++ b/dev-python/hachoir-regex/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">regex manipulation Python library. It's used by hachoir-subfile for fast
+ pattern matching (find file header).</longdescription>
+ <upstream>
+ <remote-id type="pypi">hachoir-regex</remote-id>
+ <remote-id type="bitbucket">haypo/hachoir</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hacking/Manifest b/dev-python/hacking/Manifest
new file mode 100644
index 000000000000..ce102f7b0405
--- /dev/null
+++ b/dev-python/hacking/Manifest
@@ -0,0 +1,6 @@
+DIST hacking-0.10.1.tar.gz 39768 SHA256 ab5dd17d927f0f980e759a33454e2471587e5650be48222f35f79996f472c016 SHA512 46529b33c4e6ac6e379d6c69d26650d31968c5e9c8313e525abc62966b1317aac9b99ef09b57ab30b8b43e63f3f55e6fe3175bd68f18433c9a29dfdadda1d945 WHIRLPOOL ac5360643b5f9133bbd7677472156b6a69d926288e24f7694641d06afaec33c7faf204bf78e56d5143b37d0fd5667700a55e9d3f00074567a2dd3c69cad3dfac
+DIST hacking-0.10.2.tar.gz 41108 SHA256 5771028dafaf374ee52267f5b6217133f943b18067ccbaff799280ddc60461a8 SHA512 9c7f0836f35e5c233be18d8d134326e05eeef908500d64040e59ce0bec6415171c063aa418e3834654297279aa9c65ecb4499766fdbf50b4a9b0e3513a3c28f4 WHIRLPOOL db41bf40d887441c95b90e4429e5be58409c99511a78d6b6fcab9d6e30e1840fef52bdc282c3644674fd42333c0a5b8d1ed7ac40dedad23a24133295662affd8
+DIST hacking-0.8.1.tar.gz 51800 SHA256 65390ea60215e4222d9ddbc1241a0f3e05644e4f55b305e69755ed8eab3decb5 SHA512 9055d57dd39bc1653cd7c8773ea4ca7f9b206e8495c137570c3456dab45373b51d6f25dcd4413b5f78b7c4740f5c89d21534ee982dee542c7674bd825c96b91a WHIRLPOOL d35e577c0790fe989a2141264afe67b4d1478bf2f08edcbea62515764e10938f364f5d57b3d8d66dba2125246c9eb1afc2a9b67ad4d91bb6d1346eb382a420ac
+DIST hacking-0.9.2.tar.gz 43956 SHA256 2a584e5bf185ee19517d4e72a852b729578aab3822ae345534e1f35338582ba4 SHA512 76aa59b4cdfb8036d6471e35cba43d502de3a72edc3883a05822063cbb92eaa072cef3144d21ee82ac763c3385c65bc9dec4b66fda5a5a2090191ba5b6388d41 WHIRLPOOL 718d790fdc0a405166f3ff194bcfa4d68cb311557eb092630716a14018aca7ac94e43f3305fd66195dbd15c35322c8a9bf25e9dd08ac5ff1964800c140ddf17f
+DIST hacking-0.9.5.tar.gz 43145 SHA256 4010669f1c1857fb7e3721b0247791feec6aac9e18df05b711ab3edcce561b00 SHA512 9cf2608c9c70d090ae3d7249f16162ccf1c62c6b12843e70e5a0fcd1d26dce34ab3d141d826bdeff5b6417adeb1a81100a4d06f44ce24150c10a91a341e9c588 WHIRLPOOL 0e31c4f5fef06925661988773682c09c0790b4842717af604e311b2f5d46881b222b4e88d87b89eee28f21116bf961338244f7b9c0f6f4d8b740a4e79e87fd4a
+DIST hacking-0.9.6.tar.gz 43287 SHA256 aba204f93beb3aa60732bfe910116c9fa9756efd58f00aea66ee856e07199f50 SHA512 e4225754a85ff474b724130a0c3d6a6b9c480a953ea35a18833378cf2a5df4687819f510b50a95f42890cc69836033a8af933bc0a5a4e330ae94532bcee189b4 WHIRLPOOL fdb3de41229e8cc6f4ec5b5b3fe59546bc6e8f49de349241545f134ba10095fd7f7d6ef418f5193654618f28db092159246f9a37db2b3c0a443618882557df2b
diff --git a/dev-python/hacking/hacking-0.10.1.ebuild b/dev-python/hacking/hacking-0.10.1.ebuild
new file mode 100644
index 000000000000..11e4794ce1d4
--- /dev/null
+++ b/dev-python/hacking/hacking-0.10.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ <dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )
+ doc? (
+ >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/oslo-sphinx[${PYTHON_USEDEP}]' python2_7 )
+ )"
+RDEPEND="
+ ~dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.2.5[${PYTHON_USEDEP}]
+ ~dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent d'loading and correct ?typo to oslosphinx in conf.py
+ sed -e 's:intersphinx_mapping:#&:' \
+ -e 's:oslosphinx:oslo.sphinx:' \
+ -i doc/source/conf.py || die
+ # relax deps
+ rm requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/hacking-0.10.2.ebuild b/dev-python/hacking/hacking-0.10.2.ebuild
new file mode 100644
index 000000000000..3d223238c616
--- /dev/null
+++ b/dev-python/hacking/hacking-0.10.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ <dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )
+ doc? (
+ >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/oslo-sphinx[${PYTHON_USEDEP}]' python2_7 )
+ )"
+RDEPEND="
+ ~dev-python/pep8-1.5.7[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.2.5[${PYTHON_USEDEP}]
+ ~dev-python/mccabe-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent d'loading and correct ?typo to oslosphinx in conf.py
+ sed -e 's:intersphinx_mapping:#&:' \
+ -e 's:oslosphinx:oslo.sphinx:' \
+ -i doc/source/conf.py || die
+ # relax deps
+ rm requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/hacking-0.8.1.ebuild b/dev-python/hacking/hacking-0.8.1.ebuild
new file mode 100644
index 000000000000..d32f35bc2d6b
--- /dev/null
+++ b/dev-python/hacking/hacking-0.8.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17-r2[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ ${RDEPEND} )"
+RDEPEND="~dev-python/pep8-1.4.5[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/pyflakes-0.7.4[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ # https://bugs.launchpad.net/hacking/+bug/1265520
+ # Although fixed in trunk, the fix is a version change in pep8
+ # which cannot be simply dropped in here.
+ if python_is_python3; then
+ sed -e 's:test_pep8:_&:' -i hacking/tests/test_doctest.py || die
+ fi
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/hacking-0.9.2.ebuild b/dev-python/hacking/hacking-0.9.2.ebuild
new file mode 100644
index 000000000000..ff3a5522d06f
--- /dev/null
+++ b/dev-python/hacking/hacking-0.9.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="~dev-python/pep8-1.5.6[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !=dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ ${RDEPEND} )
+ doc? ( >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/oslo-sphinx[${PYTHON_USEDEP}]' python2_7 ) )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent d'loading and correct ?typo to oslosphinx in conf.py
+ sed -e 's:intersphinx_mapping:#&:' \
+ -e 's:oslosphinx:oslo.sphinx:' \
+ -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/hacking-0.9.5.ebuild b/dev-python/hacking/hacking-0.9.5.ebuild
new file mode 100644
index 000000000000..29caf8be931d
--- /dev/null
+++ b/dev-python/hacking/hacking-0.9.5.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="~dev-python/pep8-1.5.6[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ ${RDEPEND} )
+ doc? ( >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/oslo-sphinx[${PYTHON_USEDEP}]' python2_7 ) )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent d'loading and correct ?typo to oslosphinx in conf.py
+ sed -e 's:intersphinx_mapping:#&:' \
+ -e 's:oslosphinx:oslo.sphinx:' \
+ -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/hacking-0.9.6.ebuild b/dev-python/hacking/hacking-0.9.6.ebuild
new file mode 100644
index 000000000000..76c7c304d454
--- /dev/null
+++ b/dev-python/hacking/hacking-0.9.6.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack-dev/hacking"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="~dev-python/pep8-1.5.6[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.8.1[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ ${RDEPEND} )
+ doc? ( >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/oslo-sphinx[${PYTHON_USEDEP}]' python2_7 ) )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent d'loading and correct ?typo to oslosphinx in conf.py
+ sed -e 's:intersphinx_mapping:#&:' \
+ -e 's:oslosphinx:oslo.sphinx:' \
+ -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ testr init || die "testr init died"
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over ${PN}/tests folder"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hacking/metadata.xml b/dev-python/hacking/metadata.xml
new file mode 100644
index 000000000000..0c0c6ea21b6a
--- /dev/null
+++ b/dev-python/hacking/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ hacking is a set of flake8 plugins that test and enforce
+ the OpenStack Style Commandments, HACKING.rst
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">hacking</remote-id>
+ <remote-id type="github">openstack-dev/hacking</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/happydoc/Manifest b/dev-python/happydoc/Manifest
new file mode 100644
index 000000000000..39c0d60b4837
--- /dev/null
+++ b/dev-python/happydoc/Manifest
@@ -0,0 +1 @@
+DIST HappyDoc_r3_1.tar.gz 732849 SHA256 ef5f8dee5782a1ebe750aa51b855ce84097f5bb60488826ea5da900098c5aaec SHA512 5f526f90225f189f59fdca24b3db1cd73c7346b859cc3b8a00ddaf248c2e0901ad048c1a83ec1b9ee3f950f1260427b0fd1d6f4b1e6c4b772615f6ca799f86ff WHIRLPOOL 63ec714e882b6f067002a46e07a38ec83649e61bbc2a5dfaf83ab0e13d05e289e8e7b7d25434daa126bbb2bec2298b0c15b3120be00c5b831a763fb7379aba87
diff --git a/dev-python/happydoc/files/happydoc-3.1-python-2.6.patch b/dev-python/happydoc/files/happydoc-3.1-python-2.6.patch
new file mode 100644
index 000000000000..4cced8e25833
--- /dev/null
+++ b/dev-python/happydoc/files/happydoc-3.1-python-2.6.patch
@@ -0,0 +1,28 @@
+--- happydoclib/CommandLineApp.py
++++ happydoclib/CommandLineApp.py
+@@ -102,10 +102,21 @@
+ #
+ # Exception names
+ #
+- ReservedOptionName = 'Reserved option name'
+- HelpRequested='Help requested'
+- InvalidOptionValue='Invalid value for option'
+- InvalidArgument='Invalid argument to program'
++ class ReservedOptionName(ValueError):
++ 'Reserved option name'
++ pass
++
++ class HelpRequested(ValueError):
++ 'Help requested'
++ pass
++
++ class InvalidOptionValue(ValueError):
++ 'Invalid value for option'
++ pass
++
++ class InvalidArgument(ValueError):
++ 'Invalid argument to program'
++ pass
+
+ #
+ # Globally useful configuration stuff.
diff --git a/dev-python/happydoc/files/happydoc-3.1-setup.py b/dev-python/happydoc/files/happydoc-3.1-setup.py
new file mode 100644
index 000000000000..56ae38388f7c
--- /dev/null
+++ b/dev-python/happydoc/files/happydoc-3.1-setup.py
@@ -0,0 +1,158 @@
+#!/usr/bin/env python
+#
+# $Id$
+#
+# Time-stamp: <02/02/05 10:00:12 dhellmann>
+#
+# Copyright 2001 Doug Hellmann.
+#
+#
+# All Rights Reserved
+#
+# Permission to use, copy, modify, and distribute this software and
+# its documentation for any purpose and without fee is hereby
+# granted, provided that the above copyright notice appear in all
+# copies and that both that copyright notice and this permission
+# notice appear in supporting documentation, and that the name of Doug
+# Hellmann not be used in advertising or publicity pertaining to
+# distribution of the software without specific, written prior
+# permission.
+#
+# DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+# NO EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+"""Distutils setup file for HappyDoc
+
+"""
+
+__rcs_info__ = {
+ #
+ # Creation Information
+ #
+ 'module_name' : '$RCSfile: happydoc-3.1-setup.py,v $',
+ 'rcs_id' : '$Id$',
+ 'creator' : 'Doug Hellmann <doug@hellfly.net>',
+ 'project' : 'HappyDoc',
+ 'created' : 'Sat, 03-Feb-2001 12:51:26 EST',
+
+ #
+ # Current Information
+ #
+ 'author' : '$Author: neurogeek $',
+ 'version' : '$Revision: 1.1 $',
+ 'date' : '$Date: 2009/02/25 20:59:36 $',
+}
+try:
+ __version__ = __rcs_info__['version'].split(' ')[1]
+except:
+ __version__ = '0.0'
+
+#
+# Import system modules
+#
+from distutils.core import setup
+import string
+import sys
+
+#
+# Import Local modules
+#
+
+#
+# Module
+#
+
+BSD_LICENSE="""
+
+ Copyright 2001, 2002 Doug Hellmann.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission
+notice appear in supporting documentation, and that the name of Doug
+Hellmann not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+NO EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+"""
+
+LONG_DESCRIPTION = """
+ HappyDoc is a tool for extracting documentation from Python source
+ code. It differs from other such applications by the fact that it
+ uses the parse tree for a module to derive the information used in
+ its output, rather that importing the module directly. This allows
+ the user to generate documentation for modules which need special
+ context to be imported.
+"""
+
+
+def cvsProductVersion(cvsVersionString='$Name: $'):
+ """Function to return the version number of the program.
+
+ The value is taken from the CVS tag, assuming the tag has the form:
+
+ rX_Y_Z
+
+ Where X is the major version number, Y is the minor version
+ number, and Z is the optional sub-minor version number.
+ """
+ cvs_version_parts=string.split(cvsVersionString)
+ if len(cvs_version_parts) >= 3:
+ app_version = string.strip(cvs_version_parts[1]).replace('_', '.')
+ if app_version and app_version[0] == 'r':
+ app_version = app_version[1:]
+ else:
+ app_version = 'WORKING'
+ return app_version
+
+
+
+if sys.platform == 'win32':
+ platform_specific_scripts = ['happydocwin.py']
+else:
+ platform_specific_scripts = ['happydoc']
+
+setup (
+ name = 'HappyDoc',
+ version = cvsProductVersion(),
+
+ description = 'HappyDoc Automatic Documentation System',
+ long_description = LONG_DESCRIPTION,
+
+ author = 'Doug Hellmann',
+ author_email = 'doug@hellfly.net',
+
+ url = 'http://happydoc.sourceforge.net',
+ licence = BSD_LICENSE,
+
+ platforms = ('Any',),
+ keywords = ('documentation', 'extraction', 'source', 'docstring', '__doc__'),
+
+ packages = [ 'happydoclib',
+ 'happydoclib.docset',
+ 'happydoclib.docstring',
+ 'happydoclib.docstring.StructuredText',
+ 'happydoclib.parseinfo',
+ 'happydoclib.parsers',
+ ],
+
+ package_dir = { '': '.' },
+
+ scripts = platform_specific_scripts,
+ )
+
diff --git a/dev-python/happydoc/happydoc-3.1-r2.ebuild b/dev-python/happydoc/happydoc-3.1-r2.ebuild
new file mode 100644
index 000000000000..d34a29859cba
--- /dev/null
+++ b/dev-python/happydoc/happydoc-3.1-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 versionator
+
+MY_PN="HappyDoc"
+MY_PV=$(replace_all_version_separators "_" ${PV})
+MY_V=$(get_major_version ${PV})
+
+DESCRIPTION="Tool for extracting documentation from Python source code"
+HOMEPAGE="http://happydoc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}_r${MY_PV}.tar.gz"
+
+LICENSE="HPND ZPL"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# Tests need extra data not present in the release tarball.
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_PN}${MY_V}-r${MY_PV}"
+
+python_prepare_all() {
+ cp "${FILESDIR}/${P}-setup.py" setup.py || die "Copying of setup.py failed"
+ epatch "${FILESDIR}/${P}-python-2.6.patch"
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( srcdocs/${MY_PN}${MY_V}-r${MY_PV}/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/happydoc/metadata.xml b/dev-python/happydoc/metadata.xml
new file mode 100644
index 000000000000..cf257c2d740d
--- /dev/null
+++ b/dev-python/happydoc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">happydoc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hcluster/Manifest b/dev-python/hcluster/Manifest
new file mode 100644
index 000000000000..2be91bde87cc
--- /dev/null
+++ b/dev-python/hcluster/Manifest
@@ -0,0 +1 @@
+DIST hcluster-0.2.0.tar.gz 453082 SHA256 ce1ff67271cc1be36522ec1b144722c62ab74e48b9051a47b0f439b1eb372652 SHA512 b7794e7032099d7f2f9acd5339f7ab70bfbd69035d9c1fae0166c2c03f8420ae25f8111f5db4c6eded9f8c32991154a20c6fdcc82104116710b52176e3c2033b WHIRLPOOL 9f6aae12eb704c5fe2b9d880effcc6ddb6a054c6928e4df426069531466c7652d684ce914fc9b8048e8cc70620b2e0296209dd09513c235701c45b969b18b7a0
diff --git a/dev-python/hcluster/hcluster-0.2.0-r1.ebuild b/dev-python/hcluster/hcluster-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..14a618504e11
--- /dev/null
+++ b/dev-python/hcluster/hcluster-0.2.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python hierarchical clustering package for Scipy"
+HOMEPAGE="http://code.google.com/p/scipy-cluster/ http://pypi.python.org/pypi/hcluster"
+SRC_URI="http://scipy-cluster.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+
+# Tests need X display with matplotlib.
+RESTRICT="test"
diff --git a/dev-python/hcluster/metadata.xml b/dev-python/hcluster/metadata.xml
new file mode 100644
index 000000000000..00af651902b7
--- /dev/null
+++ b/dev-python/hcluster/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">This library provides Python functions for agglomerative
+ clustering. Its features include
+ * generating hierarchical clusters from distance matrices
+ * computing distance matrices from observation vectors
+ * computing statistics on clusters
+ * cutting linkages to generate flat clusters
+ * and visualizing clusters with dendrograms.
+ The interface is very similar to MATLAB's Statistics Toolbox API to
+ make code easier to port from MATLAB to Python/Numpy. The core
+ implementation of this library is in C for efficiency.</longdescription>
+ <upstream>
+ <remote-id type="google-code">scipy-cluster</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hcs-utils/Manifest b/dev-python/hcs-utils/Manifest
new file mode 100644
index 000000000000..dca3c64c2434
--- /dev/null
+++ b/dev-python/hcs-utils/Manifest
@@ -0,0 +1,2 @@
+DIST hcs_utils-1.4.tar.gz 22995 SHA256 aaecde5f01e975b670e3cb53442caee94dcfbfef4a720b5e5cd9aec8e3393c15 SHA512 f9848b805e7891683c7b6b7ee8de53313d038af13b5e2d745441445681761aa615d76d9f769aca4560828878332bb1c54d85fda82b080d18042d26a5edea84cf WHIRLPOOL babf8cb66e151974e3913078c1b0225334d01133828a31916a613b6968170297862eb1a0da60e06d0447c6394a62e8f7a57101495292738f460f86fb7eea7f2b
+DIST hcs_utils-1.5.tar.gz 23316 SHA256 745614347855f8edc7fb1659032166f0a2285cfc8383607aa3f1bf9959525fb4 SHA512 9a8fdddc47e5b4f89d52b59af66594e9b9a3adcf9d0ca5894111a0d359e8c18930e2d38027acfacadbdbf874a281d0f2ce88b310dacbab1f2a39c03bb2fe6fbf WHIRLPOOL 1ee476f1112557b8808d6cb5163b419d3b86db8b64d49bc9bf34f878eb0ba0e14ff278dad599b2a7c51d015fb98bc92be0d0a361a372b668c18c9d23dfa09959
diff --git a/dev-python/hcs-utils/hcs-utils-1.4.ebuild b/dev-python/hcs-utils/hcs-utils-1.4.ebuild
new file mode 100644
index 000000000000..fe46dce04101
--- /dev/null
+++ b/dev-python/hcs-utils/hcs-utils-1.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P=${P/_rc/rc}
+DESCRIPTION="A library containing some useful snippets"
+HOMEPAGE="http://pypi.python.org/pypi/hcs_utils"
+SRC_URI="mirror://pypi/h/${PN/-/_}/${MY_P/-/_}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P/-/_}"
+
+python_test() {
+ cd "${BUILD_DIR}/lib" || die
+ py.test --doctest-modules hcs_utils || die
+}
diff --git a/dev-python/hcs-utils/hcs-utils-1.5.ebuild b/dev-python/hcs-utils/hcs-utils-1.5.ebuild
new file mode 100644
index 000000000000..93a79ee4cee2
--- /dev/null
+++ b/dev-python/hcs-utils/hcs-utils-1.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P=${P/_rc/rc}
+DESCRIPTION="A library containing some useful snippets"
+HOMEPAGE="http://pypi.python.org/pypi/hcs_utils"
+SRC_URI="mirror://pypi/h/${PN/-/_}/${MY_P/-/_}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P/-/_}"
+
+python_test() {
+ pushd "${BUILD_DIR}/lib" > /dev/null
+ py.test --doctest-modules hcs_utils || die "Tests failed"
+}
diff --git a/dev-python/hcs-utils/metadata.xml b/dev-python/hcs-utils/metadata.xml
new file mode 100644
index 000000000000..0030c59d4204
--- /dev/null
+++ b/dev-python/hcs-utils/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>fabiano.francesconi@gmail.com</email>
+ <name>Fabiano Francesconi</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">hcs_utils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hgdistver/Manifest b/dev-python/hgdistver/Manifest
new file mode 100644
index 000000000000..e950cccf2342
--- /dev/null
+++ b/dev-python/hgdistver/Manifest
@@ -0,0 +1,2 @@
+DIST hgdistver-0.22.tar.gz 5442 SHA256 97bfe6b57f0edf67dc4d59abf3abe949584499cd3f67350052d9e2601e749bdf SHA512 690c4fd1fdafd853539c37703982ece5aca6df8a7c03b35e98447ec6349454f806500ea8fcf9efcca8958286e3e5f36fc86d2ae81f64ab61397cc86106cec7ad WHIRLPOOL 53050ff028c8c67840967d20209bb9c50b1e33b74786b0f7ef984172d6f87c05b111d51e8d3cc06ebdd6aa52aa34dc59d90931e5ebb0a16f50c1b071bb0d15a8
+DIST hgdistver-0.25.tar.gz 9879 SHA256 603bed5bcd892252b4501375fbca4a24de7937418e0a6ef299e3902c5a198d8d SHA512 3fef872af3c8fffb3ba612d2505260468b510c17219257640a4bcf3dc6568fdf59eb3cc544ef41b7eab32ee6cedcd81bfffce753c98bbc7d1e538fe4937d039c WHIRLPOOL 3afad9490e51b67bb90671377083eb0e853f242f088f83f4574d3ff19506cafed04c4c089f54e603ede5f3a5d6e1b9eafd0db00095d2f1c0b9ff0451efdb407e
diff --git a/dev-python/hgdistver/hgdistver-0.22.ebuild b/dev-python/hgdistver/hgdistver-0.22.ebuild
new file mode 100644
index 000000000000..1d995080993f
--- /dev/null
+++ b/dev-python/hgdistver/hgdistver-0.22.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="utility lib to generate python package version infos from mercurial tags"
+HOMEPAGE="http://bitbucket.org/RonnyPfannschmidt/hgdistver/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/hgdistver/hgdistver-0.25.ebuild b/dev-python/hgdistver/hgdistver-0.25.ebuild
new file mode 100644
index 000000000000..64691ed25192
--- /dev/null
+++ b/dev-python/hgdistver/hgdistver-0.25.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="utility lib to generate python package version infos from mercurial tags"
+HOMEPAGE="http://bitbucket.org/RonnyPfannschmidt/hgdistver/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/hgdistver/metadata.xml b/dev-python/hgdistver/metadata.xml
new file mode 100644
index 000000000000..1c8d93ddaf6a
--- /dev/null
+++ b/dev-python/hgdistver/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cffi</remote-id>
+ <remote-id type="bitbucket">RonnyPfannschmidt/hgdistver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hglib/Manifest b/dev-python/hglib/Manifest
new file mode 100644
index 000000000000..bee1d39f0a93
--- /dev/null
+++ b/dev-python/hglib/Manifest
@@ -0,0 +1,2 @@
+DIST python-hglib-1.0.tar.gz 27833 SHA256 766458699a9f2e5f351bfe73164e4f8c30290d10a097aefacd25532f315b3099 SHA512 9c0a61299779aff613131aaabbc255c8648f0fa7ab1806af53f19fbdcece0c8a68ddca7880d25b926d67ff1b9201954b207919fb09f6a290acb078e8bbed7b68 WHIRLPOOL edb5dddcbe7a1f6d94ca76d6f78a2b3a53bd56c15e55ef5810ae32f07d270fd45be8947cb8eadbca3dac2de945e97f63cddd46c90157b688032b79f48b7d29bc
+DIST python-hglib-1.5.tar.gz 27812 SHA256 601c04d8daa806768e3075786ffe9b93ad3574ad2b300107dd615dbe7846a367 SHA512 2506e2ac95488830b90f5f099d231e45833a8f19ce14fc2f3391ae1bf48ca72187b6b57afb633ecbe6cd2c6f3d3f482d75e03ea36406b3a07085ed1b4ef9c6b5 WHIRLPOOL 84e0cdc82344cbe3872f70d9d95ec41da4bb99e3fcece0759dea58d727ca9d650449cba1ef9ca214b954942c801363b7e8fc2fbb1abf6e6a0eb7b8133855c7c1
diff --git a/dev-python/hglib/files/hglib-0.3-tests.patch b/dev-python/hglib/files/hglib-0.3-tests.patch
new file mode 100644
index 000000000000..c75c51013720
--- /dev/null
+++ b/dev-python/hglib/files/hglib-0.3-tests.patch
@@ -0,0 +1,63 @@
+tests require a more generic method to open, close files to work with pypy
+https://bugs.pypy.org/issue1380
+diff -ur python-hglib-0.3.orig/tests/test-import.py python-hglib-0.3/tests/test-import.py
+--- tests/test-import.py 2012-07-01 17:11:01.000000000 +0800
++++ tests/test-import.py 2013-01-23 23:44:12.389473396 +0800
+@@ -22,7 +22,8 @@
+ self.assertEquals(self.client.cat(['a']), '1\n')
+
+ def test_basic_file(self):
+- open('patch', 'wb').write(patch)
++ with open('patch', 'wb') as f:
++ f.write(patch)
+
+ # --no-commit
+ self.client.import_(['patch'], nocommit=True)
+diff -ur python-hglib-0.3.orig/tests/test-config.py python-hglib-0.3/tests/test-config.py
+--- tests/test-config.py 2012-07-01 17:11:01.000000000 +0800
++++ tests/test-config.py 2013-01-23 23:55:06.120502085 +0800
+@@ -3,7 +3,8 @@
+ class test_config(common.basetest):
+ def setUp(self):
+ common.basetest.setUp(self)
+- open('.hg/hgrc', 'a').write('[section]\nkey=value\n')
++ with open('.hg/hgrc', 'a') as f:
++ f.write('[section]\nkey=value\n')
+ self.client = hglib.open()
+
+ def test_basic(self):
+diff -ur python-hglib-0.3.orig/tests/test-paths.py python-hglib-0.3/tests/test-paths.py
+--- tests/test-paths.py 2012-07-01 17:11:01.000000000 +0800
++++ tests/test-paths.py 2013-01-24 00:04:36.266527106 +0800
+@@ -3,8 +3,8 @@
+
+ class test_paths(common.basetest):
+ def test_basic(self):
+- open('.hg/hgrc', 'a').write('[paths]\nfoo = bar\n')
+-
++ with open('.hg/hgrc', 'a') as f:
++ f.write('[paths]\nfoo = bar\n')
+ # hgrc isn't watched for changes yet, have to reopen
+ self.client = hglib.open()
+ paths = self.client.paths()
+diff -ur python-hglib-0.3.orig/tests/test-update.py python-hglib-0.3/tests/test-update.py
+--- tests/test-update.py 2012-11-09 18:56:31.000000000 +0800
++++ tests/test-update.py 2013-01-24 00:05:40.866529942 +0800
+@@ -33,7 +33,8 @@
+ self.client.commit('fourth')
+ self.client.update(rev2)
+ old = open('a').read()
+- open('a', 'wb').write('a' + old)
++ with open('a', 'wb') as f:
++ f.write('a' + old)
+ u, m, r, ur = self.client.update()
+ self.assertEquals(u, 0)
+ self.assertEquals(m, 1)
+@@ -68,5 +69,6 @@
+ self.assertEquals(old, open('a').read())
+
+ def test_basic_plain(self):
+- open('.hg/hgrc', 'a').write('[defaults]\nupdate=-v\n')
++ with open('.hg/hgrc', 'a') as f:
++ f.write('[defaults]\nupdate=-v\n')
+ self.test_basic()
diff --git a/dev-python/hglib/files/hglib-0.9-pypy-tests.patch b/dev-python/hglib/files/hglib-0.9-pypy-tests.patch
new file mode 100644
index 000000000000..1c56f501f495
--- /dev/null
+++ b/dev-python/hglib/files/hglib-0.9-pypy-tests.patch
@@ -0,0 +1,86 @@
+# HG changeset patch
+# User Matt Mackall <mpm@selenic.com>
+# Date 1372027936 18000
+# Node ID e738d6fe5f3ff613a4ee2c0d759eee0ee4f5c9ff
+# Parent 59cb26bf866e793b184842ad23f82fc3551d1742
+tests: make the tests work under Pypy (issue3965)
+
+..which needs explicit close() due to lack of reference counting.
+
+diff -r 59cb26bf866e -r e738d6fe5f3f tests/test-config.py
+--- a/tests/test-config.py Fri Jun 14 18:36:56 2013 +0300
++++ b/tests/test-config.py Sun Jun 23 17:52:16 2013 -0500
+@@ -3,7 +3,9 @@
+ class test_config(common.basetest):
+ def setUp(self):
+ common.basetest.setUp(self)
+- open('.hg/hgrc', 'a').write('[section]\nkey=value\n')
++ f = open('.hg/hgrc', 'a')
++ f.write('[section]\nkey=value\n')
++ f.close()
+ self.client = hglib.open()
+
+ def test_basic(self):
+diff -r 59cb26bf866e -r e738d6fe5f3f tests/test-import.py
+--- a/tests/test-import.py Fri Jun 14 18:36:56 2013 +0300
++++ b/tests/test-import.py Sun Jun 23 17:52:16 2013 -0500
+@@ -22,7 +22,9 @@
+ self.assertEquals(self.client.cat(['a']), '1\n')
+
+ def test_basic_file(self):
+- open('patch', 'wb').write(patch)
++ f = open('patch', 'wb')
++ f.write(patch)
++ f.close()
+
+ # --no-commit
+ self.client.import_(['patch'], nocommit=True)
+diff -r 59cb26bf866e -r e738d6fe5f3f tests/test-paths.py
+--- a/tests/test-paths.py Fri Jun 14 18:36:56 2013 +0300
++++ b/tests/test-paths.py Sun Jun 23 17:52:16 2013 -0500
+@@ -3,7 +3,9 @@
+
+ class test_paths(common.basetest):
+ def test_basic(self):
+- open('.hg/hgrc', 'a').write('[paths]\nfoo = bar\n')
++ f = open('.hg/hgrc', 'a')
++ f.write('[paths]\nfoo = bar\n')
++ f.close()
+
+ # hgrc isn't watched for changes yet, have to reopen
+ self.client = hglib.open()
+diff -r 59cb26bf866e -r e738d6fe5f3f tests/test-update.py
+--- a/tests/test-update.py Fri Jun 14 18:36:56 2013 +0300
++++ b/tests/test-update.py Sun Jun 23 17:52:16 2013 -0500
+@@ -33,7 +33,9 @@
+ self.client.commit('fourth')
+ self.client.update(rev2)
+ old = open('a').read()
+- open('a', 'wb').write('a' + old)
++ f = open('a', 'wb')
++ f.write('a' + old)
++ f.close()
+ u, m, r, ur = self.client.update()
+ self.assertEquals(u, 0)
+ self.assertEquals(m, 1)
+@@ -68,12 +70,16 @@
+ self.assertEquals(old, open('a').read())
+
+ def test_basic_plain(self):
+- open('.hg/hgrc', 'a').write('[defaults]\nupdate=-v\n')
++ f = open('.hg/hgrc', 'a')
++ f.write('[defaults]\nupdate=-v\n')
++ f.close()
+ self.test_basic()
+
+ def test_largefiles(self):
+ import os
+- open('.hg/hgrc', 'a').write('[extensions]\nlargefiles=\n')
++ f = open('.hg/hgrc', 'a')
++ f.write('[extensions]\nlargefiles=\n')
++ f.close()
+ self.append('b', 'a')
+ try:
+ self.client.rawcommand(['add', 'b', '--large'])
+
+
diff --git a/dev-python/hglib/hglib-1.0.ebuild b/dev-python/hglib/hglib-1.0.ebuild
new file mode 100644
index 000000000000..42ab6ed2759f
--- /dev/null
+++ b/dev-python/hglib/hglib-1.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="threads(+)"
+
+MY_P="python-${P}"
+MY_PN="python-${PN}"
+
+inherit distutils-r1
+
+DESCRIPTION="Library for using the Mercurial Command Server from Python"
+HOMEPAGE="http://mercurial.selenic.com/"
+SRC_URI="mirror://pypi/p/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=">=dev-vcs/mercurial-2.4.2"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-0.3-tests.patch )
+
+python_test() {
+ if ! ${PYTHON} test.py; then
+ die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/stats.py )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hglib/hglib-1.5.ebuild b/dev-python/hglib/hglib-1.5.ebuild
new file mode 100644
index 000000000000..ce56eb7ebc03
--- /dev/null
+++ b/dev-python/hglib/hglib-1.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="threads(+)"
+
+MY_P="python-${P}"
+MY_PN="python-${PN}"
+
+inherit distutils-r1
+
+DESCRIPTION="Library for using the Mercurial Command Server from Python"
+HOMEPAGE="http://mercurial.selenic.com/"
+SRC_URI="mirror://pypi/p/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=">=dev-vcs/mercurial-2.4.2"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ if ! ${PYTHON} test.py; then
+ die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/stats.py )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hglib/metadata.xml b/dev-python/hglib/metadata.xml
new file mode 100644
index 000000000000..22215d7493b9
--- /dev/null
+++ b/dev-python/hglib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>arne_bab@web.de</email>
+ <name>Arne Babenhauserheide</name>
+ </maintainer>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-hglib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hgtools/Manifest b/dev-python/hgtools/Manifest
new file mode 100644
index 000000000000..2ac2f62165fc
--- /dev/null
+++ b/dev-python/hgtools/Manifest
@@ -0,0 +1,2 @@
+DIST hgtools-6.0.zip 37542 SHA256 14f3f4d94827c2d45e5a05ffd6efbe2484f662354a3dce2d8d1a29df1b05dd5a SHA512 86443caa03ff5c8fe3b2f5d503c8d28ddc8e29f4818fb7d3b51233b79eb4977c98bd83ccdba0612c3c17ecddacd6d7c7b283dc6ffc935eeb7a5b1a099324e9af WHIRLPOOL d8517f2b6a769201246a5072c971880b4ae52cdfc8aec2f619cd642337eb3cfdf5abee06aa91792a8380c0d81f9a68949a9efa3f44a29a3218b8d9bea8601802
+DIST hgtools-6.3.zip 39805 SHA256 1d0ef6ceaba1673e6923b17d7f09c5ae2f4394d16ef80562812987a27e7836ff SHA512 b5654194f6fbaf37c2a63523b02371ca6af1d7b7f7a89938ba4e405076049a054fff5e6d0d4a8b53560cde7dfc4a1862c5359d710d91c208dd83611913f17a7f WHIRLPOOL efe5bca6ce0970f0199b5c757dd8fd0bd4a03ad64f4ef571e4dbae311afd22c753aa6831fc688718cbc8ef037700a3b81220dae318f82a0ea9fe4d4179cfe4e3
diff --git a/dev-python/hgtools/files/hgtools-doctest-2.0.2.patch b/dev-python/hgtools/files/hgtools-doctest-2.0.2.patch
new file mode 100644
index 000000000000..328e6eee54bd
--- /dev/null
+++ b/dev-python/hgtools/files/hgtools-doctest-2.0.2.patch
@@ -0,0 +1,11 @@
+--- hgtools-2.0.2/hgtools/versioning.py 2012-10-09 10:35:38.000000000 +0800
++++ hgtools-2.0.2.new/hgtools/versioning.py 2013-05-04 16:45:14.883913556 +0800
+@@ -60,7 +60,7 @@
+
+ def as_number(self):
+ """
+- >>> str(SummableVersion('1.9.3').as_number())
++ >>> str(round(SummableVersion('1.9.3').as_number(), 12))
+ '1.93'
+ """
+ def combine(subver, ver):
diff --git a/dev-python/hgtools/hgtools-6.0.ebuild b/dev-python/hgtools/hgtools-6.0.ebuild
new file mode 100644
index 000000000000..9400a2ead3b6
--- /dev/null
+++ b/dev-python/hgtools/hgtools-6.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Classes and setuptools plugin for Mercurial repositories"
+HOMEPAGE="https://bitbucket.org/jaraco/hgtools/"
+SRC_URI="mirror://pypi/h/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND="dev-vcs/mercurial"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ py.test "${PN}"/tests || die
+}
diff --git a/dev-python/hgtools/hgtools-6.3.ebuild b/dev-python/hgtools/hgtools-6.3.ebuild
new file mode 100644
index 000000000000..43f808dc9633
--- /dev/null
+++ b/dev-python/hgtools/hgtools-6.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Classes and setuptools plugin for Mercurial repositories"
+HOMEPAGE="https://bitbucket.org/jaraco/hgtools/"
+SRC_URI="mirror://pypi/h/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND="dev-vcs/mercurial"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ py.test "${PN}"/tests || die
+ popd > /dev/null
+}
diff --git a/dev-python/hgtools/metadata.xml b/dev-python/hgtools/metadata.xml
new file mode 100644
index 000000000000..af2c31f7fb35
--- /dev/null
+++ b/dev-python/hgtools/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Classes and setuptools plugin for Mercurial repositories
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">hgtools</remote-id>
+ <remote-id type="bitbucket">jaraco/hgtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hiredis/Manifest b/dev-python/hiredis/Manifest
new file mode 100644
index 000000000000..f196e32b98f6
--- /dev/null
+++ b/dev-python/hiredis/Manifest
@@ -0,0 +1,2 @@
+DIST hiredis-0.1.1.tar.gz 35598 SHA256 ca7b3840d12f836dabfd73708bd64c0ac31204b22a926279b6515e6433e50ffc SHA512 fe588927698e771a3efb5918c2de308e435b1052b7991d331b4c59976a48ba42be0711bab4546d6aac19d851c6eb829c1208ff403f5e447c4201dc9c83aebc20 WHIRLPOOL e9e8b79e6f054e60f7eb0911123ce96e2cb3870378aa710b87c8604a22df4b3aa5a0b123970736d900a507eb5ee4e33858b4af170a776fdf01642e37b171a607
+DIST hiredis-0.2.0.tar.gz 46113 SHA256 ca958e13128e49674aa4a96f02746f5de5973f39b57297b84d59fd44d314d5b5 SHA512 9eb18ec089517340043d14938a213b139dc948dc9cf2f9c65e632bb4694ac22543b87a5875c1cea083e2bc8e303103c749047889cdb3e9d5680b586d34330c86 WHIRLPOOL 5c2252d82814b8365a29160c41133571083954c317f9c36f534e3f0aa98bc97621f144479b715da0d5c77a0a00a7a5e0b69fb63c2559a4ebf124d88be93d477d
diff --git a/dev-python/hiredis/files/hiredis-0.1.1-system-libs.patch b/dev-python/hiredis/files/hiredis-0.1.1-system-libs.patch
new file mode 100644
index 000000000000..298f5cf7ee2e
--- /dev/null
+++ b/dev-python/hiredis/files/hiredis-0.1.1-system-libs.patch
@@ -0,0 +1,25 @@
+--- hiredis-0.1.1/setup.py
++++ hiredis-0.1.1/setup.py
+@@ -20,13 +20,9 @@
+ if self.distribution.has_ext_modules():
+ self.run_command('build_ext')
+
+-lib = ("hiredis", {
+- "sources": ["vendor/hiredis/%s.c" % src for src in ("hiredis", "net", "sds")],
+- "include_dirs": ["vendor/hiredis"]})
+-
+ ext = Extension("hiredis.hiredis",
+ sources=glob.glob("src/*.c"),
+- include_dirs=["src", "vendor"],
++ include_dirs=["src"],
+ libraries=["hiredis"])
+
+ setup(
+@@ -39,7 +35,6 @@
+ keywords=["Redis"],
+ license="BSD",
+ packages=["hiredis"],
+- libraries=[lib],
+ ext_modules=[ext],
+
+ # Override "install_lib" command
diff --git a/dev-python/hiredis/files/hiredis-0.2.0-system-libs.patch b/dev-python/hiredis/files/hiredis-0.2.0-system-libs.patch
new file mode 100644
index 000000000000..6cd22292deb9
--- /dev/null
+++ b/dev-python/hiredis/files/hiredis-0.2.0-system-libs.patch
@@ -0,0 +1,28 @@
+Remove vendor and var 'lib' from setup.py
+diff -u hiredis-0.2.0.orig/setup.py hiredis-0.2.0/setup.py
+--- setup.py 2015-06-21 11:47:28.796472027 +0800
++++ setup.py 2015-06-21 11:49:53.047949803 +0800
+@@ -40,12 +40,9 @@
+ # supported Python versions is worse...
+ #
+ # Also see: https://github.com/pietern/hiredis-py/issues/15
+-lib = ("hiredis_for_hiredis_py", {
+- "sources": ["vendor/hiredis/%s.c" % src for src in ("read", "sds")]})
+
+ ext = Extension("hiredis.hiredis",
+- sources=glob.glob("src/*.c"),
+- include_dirs=["vendor"])
++ sources=glob.glob("src/*.c"))
+
+ setup(
+ name="hiredis",
+@@ -57,7 +54,6 @@
+ keywords=["Redis"],
+ license="BSD",
+ packages=["hiredis"],
+- libraries=[lib],
+ ext_modules=[ext],
+
+ # Override "install_lib" command
+Common subdirectories: hiredis-0.2.0.orig/src and hiredis-0.2.0/src
+Common subdirectories: hiredis-0.2.0.orig/vendor and hiredis-0.2.0/vendor
diff --git a/dev-python/hiredis/hiredis-0.1.1-r2.ebuild b/dev-python/hiredis/hiredis-0.1.1-r2.ebuild
new file mode 100644
index 000000000000..65a7699394ee
--- /dev/null
+++ b/dev-python/hiredis/hiredis-0.1.1-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python extension that wraps hiredis"
+HOMEPAGE="https://github.com/pietern/hiredis-py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+DEPEND="dev-libs/hiredis"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-system-libs.patch )
diff --git a/dev-python/hiredis/hiredis-0.2.0.ebuild b/dev-python/hiredis/hiredis-0.2.0.ebuild
new file mode 100644
index 000000000000..0354d86ef3fa
--- /dev/null
+++ b/dev-python/hiredis/hiredis-0.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python extension that wraps hiredis"
+HOMEPAGE="https://github.com/pietern/hiredis-py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-libs/hiredis-0.13.1"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-system-libs.patch )
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/hiredis/metadata.xml b/dev-python/hiredis/metadata.xml
new file mode 100644
index 000000000000..3702b96a3b38
--- /dev/null
+++ b/dev-python/hiredis/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">hiredis</remote-id>
+ <remote-id type="github">pietern/hiredis-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hp3parclient/Manifest b/dev-python/hp3parclient/Manifest
new file mode 100644
index 000000000000..ada0bb77c14c
--- /dev/null
+++ b/dev-python/hp3parclient/Manifest
@@ -0,0 +1,2 @@
+DIST hp3parclient-2.0.0.tar.gz 42167 SHA256 bab78a3fa14236d7884af52271fd91d08d51ec99b7e2d6c6fb477bfdfb9ef259 SHA512 8bc4903e31f3f8a73c7656c1c6d722dd5baff05d7fcab1b22505843f0464e207194a333ba86bf487ac44219a9f792d8384cd0a3aefba292013c66f2d798d9552 WHIRLPOOL b48305e8b7f29d4adaa9ad8d3e83422a1d4a74d59ae0191f00bb947761d5077bfc7f9f70f504f17f23248b8e3c0275f47461eacb38bcd92f66053f06556b6607
+DIST hp3parclient-3.0.0.tar.gz 40895 SHA256 1a3acbe86acf8f698dbda83ced88872fe118eab3a91ae22d6c0cb70d109b9cc5 SHA512 976f28b96ea18ef7995b327403f9ccc2d3322296d4d4ae8c66018b7810adb86f582aec8aed59ddafaa0f8a5cc73b1ef40cf916ad3210a74ce8dae3b1f7f7adff WHIRLPOOL 3a3f34338b64837faf9dc060bed2a5a0154841bedeb0d3770dc91b5f7a89613780f9603ca6f015b0dd7b30bf7f51fc8625fe129bf27a222005f41ef305c9c586
diff --git a/dev-python/hp3parclient/hp3parclient-2.0.0.ebuild b/dev-python/hp3parclient/hp3parclient-2.0.0.ebuild
new file mode 100644
index 000000000000..bf523e018c15
--- /dev/null
+++ b/dev-python/hp3parclient/hp3parclient-2.0.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python interface to sendfile(2) system call"
+HOMEPAGE="http://packages.python.org/hp3parclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND=">=dev-python/httplib2-0.6.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/nose-testconfig[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Instructions on running tests are utter nonsense. Tried and gave up
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( samples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hp3parclient/hp3parclient-3.0.0.ebuild b/dev-python/hp3parclient/hp3parclient-3.0.0.ebuild
new file mode 100644
index 000000000000..a0af920f4d7d
--- /dev/null
+++ b/dev-python/hp3parclient/hp3parclient-3.0.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python interface to sendfile(2) system call"
+HOMEPAGE="http://packages.python.org/hp3parclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND=">=dev-python/httplib2-0.6.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/eventlet[${PYTHON_USEDEP}]
+ test? ( dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/nose-testconfig[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Instructions on running tests are utter nonsense. Tried and gave up
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( samples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hp3parclient/metadata.xml b/dev-python/hp3parclient/metadata.xml
new file mode 100644
index 000000000000..4680d992b392
--- /dev/null
+++ b/dev-python/hp3parclient/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">hp3parclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/html2text/Manifest b/dev-python/html2text/Manifest
new file mode 100644
index 000000000000..990fc0dd6bb1
--- /dev/null
+++ b/dev-python/html2text/Manifest
@@ -0,0 +1 @@
+DIST html2text-2014.4.5.tar.gz 30177 SHA256 b6f37556650a32cd625c56f2db3fa2ca2d57a7ff0a4be7a3b9118dd911c8efd6 SHA512 740750f838f0370c6b05bb1538d3de99cfd074acc95923440b14818b934e49df1ad0864bfe1a4fcf0b8fd3c9c402a4b2edaeabe992aa0870acc7ce3b6cd3924a WHIRLPOOL 502c08327cbd98ac08e19ff42b633cb7f08204123aa4a8d15826c4137976367cd7e7073660aa61788301d1817ade02be93a014caeb2ca6c53311df5fcf8adc55
diff --git a/dev-python/html2text/files/html2text-noinstall-test.patch b/dev-python/html2text/files/html2text-noinstall-test.patch
new file mode 100644
index 000000000000..70068a847234
--- /dev/null
+++ b/dev-python/html2text/files/html2text-noinstall-test.patch
@@ -0,0 +1,35 @@
+From e4d46b478f78c4464c7b35058154948c928a013b Mon Sep 17 00:00:00 2001
+From: Arfrever <arfrever@github.com>
+Date: Thu, 29 May 2014 18:07:21 +0200
+Subject: [PATCH] Don't install tests (but include them in PyPI package).
+
+Fixes #9
+---
+ MANIFEST.in | 1 +
+ setup.py | 1 -
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/MANIFEST.in b/MANIFEST.in
+index 1845310..6217360 100644
+--- a/MANIFEST.in
++++ b/MANIFEST.in
+@@ -2,3 +2,4 @@ include COPYING
+ include README.md
+ include ChangeLog.rst
+ include AUTHORS.rst
++recursive-include test *.html *.md *.py
+diff --git a/setup.py b/setup.py
+index 3b7085d..0b2cf08 100644
+--- a/setup.py
++++ b/setup.py
+@@ -65,7 +65,6 @@ def run(self):
+ """,
+ license='GNU GPL 3',
+ requires=requires_list,
+- packages=find_packages(),
+ py_modules=['html2text'],
+ include_package_data=True,
+ zip_safe=False,
+--
+1.9.3
+
diff --git a/dev-python/html2text/files/html2text-rename.patch b/dev-python/html2text/files/html2text-rename.patch
new file mode 100644
index 000000000000..5857ef4957b9
--- /dev/null
+++ b/dev-python/html2text/files/html2text-rename.patch
@@ -0,0 +1,15 @@
+Naming conflict with app-text/html2text, bug 421647.
+
+diff --git a/setup.py b/setup.py
+index dd3d9bc..cd28b49 100644
+--- a/setup.py
++++ b/setup.py
+@@ -26,7 +26,7 @@ setup(
+ ],
+ entry_points="""
+ [console_scripts]
+- html2text=html2text:main
++ pyhtml2text=html2text:main
+ """,
+ license='GNU GPL 3',
+ packages=find_packages(),
diff --git a/dev-python/html2text/html2text-2014.4.5-r1.ebuild b/dev-python/html2text/html2text-2014.4.5-r1.ebuild
new file mode 100644
index 000000000000..23d4eeb05b81
--- /dev/null
+++ b/dev-python/html2text/html2text-2014.4.5-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Turn HTML into equivalent Markdown-structured text"
+HOMEPAGE="https://github.com/html2text/html2text
+ https://github.com/Alir3z4/html2text http://pypi.python.org/pypi/html2text"
+SRC_URI="https://github.com/Alir3z4/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/feedparser[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+PATCHES=( "${FILESDIR}/${PN}-rename.patch"
+ "${FILESDIR}/${PN}-noinstall-test.patch" )
+
+python_test() {
+ "${PYTHON}" test/test_html2text.py -v || die
+}
diff --git a/dev-python/html2text/metadata.xml b/dev-python/html2text/metadata.xml
new file mode 100644
index 000000000000..09fad04531fd
--- /dev/null
+++ b/dev-python/html2text/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">Alir3z4/html2text</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/html5lib/Manifest b/dev-python/html5lib/Manifest
new file mode 100644
index 000000000000..10fc08521c22
--- /dev/null
+++ b/dev-python/html5lib/Manifest
@@ -0,0 +1,3 @@
+DIST html5lib-0.999.tar.gz 885440 SHA256 c3887f7e2875d7666107fa8bee761ff95b9391acdcc7cd1b5fd57a23b5fbc49e SHA512 12f187905510c621714c2b75c6a91cc0cbf8a790da1c715a51d08879704b55cd1c152fa236c0d8f6c8a578555103217a91a64a1af1962d02f4a656040a90bcea WHIRLPOOL 0903bbaf34fee171ef90a23e290b60b1461e071167ab624af0614b4924c0991fbb53f1a56adc1a735a5d190cc51f3ad70ce54c52e3169ebdfed73d86500f4eca
+DIST html5lib-0.99999.tar.gz 887806 SHA256 6b0bc7e9f77bb2a8ace636a827d8fb6e2f0b53e20cf0cb5e3e5b970454f8370b SHA512 ce440a03c949194a7e10cfd31557e83e60aee7899cd470e55940b5841f26ba1103ad83b96cdde7dc4eede3cf4b969bdad2c4b8530da3bc761c3ca928f149c68f WHIRLPOOL ef85ec5d2ff4edca0f66deb4ef8a1bb21ce51db33763892eefbef6bcd71000e4b3aa171434b8f2a2f0f04e21c7166d49f41acf76191acaf8fd789d5c8cc35f28
+DIST html5lib-0.999999.tar.gz 889015 SHA256 e372b66f4997f8e1de970ea755d0a528d7222d2aa9bd55aac078c7ef39b8f6c3 SHA512 ca6a5cd282099424bd770e6a38ce07d5782a3153a3d0480bc090410e8deb4f7673a1da71fb00cd097fdf7154d6f8a4f2656054666f1465d7f306233d6720d33b WHIRLPOOL 6cfe531db44ea16c07a2ed1fd8f43a44513dfb3f99b075e4ff070dab97addd1addae3b1f9cadcc116c778323e27d229f0d90f4890858d6cdd9c72106a45c8e7f
diff --git a/dev-python/html5lib/html5lib-0.999.ebuild b/dev-python/html5lib/html5lib-0.999.ebuild
new file mode 100644
index 000000000000..d350a583909f
--- /dev/null
+++ b/dev-python/html5lib/html5lib-0.999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="https://github.com/html5lib/html5lib-python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/html5lib/html5lib-0.99999.ebuild b/dev-python/html5lib/html5lib-0.99999.ebuild
new file mode 100644
index 000000000000..897f81a24a18
--- /dev/null
+++ b/dev-python/html5lib/html5lib-0.99999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="https://github.com/html5lib/html5lib-python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/html5lib/html5lib-0.999999.ebuild b/dev-python/html5lib/html5lib-0.999999.ebuild
new file mode 100644
index 000000000000..642a13c981a9
--- /dev/null
+++ b/dev-python/html5lib/html5lib-0.999999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="https://github.com/html5lib/html5lib-python/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/html5lib/metadata.xml b/dev-python/html5lib/metadata.xml
new file mode 100644
index 000000000000..ab82d54bc79f
--- /dev/null
+++ b/dev-python/html5lib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ html5lib is a pure-python library for parsing HTML. It is designed
+ to conform to the WHATWG HTML specification, as is implemented by
+ all major web browsers.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">html5lib</remote-id>
+ <remote-id type="github">html5lib/html5lib-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/htmlgen/Manifest b/dev-python/htmlgen/Manifest
new file mode 100644
index 000000000000..4b3a8916389a
--- /dev/null
+++ b/dev-python/htmlgen/Manifest
@@ -0,0 +1 @@
+DIST HTMLgen.tgz 316415 SHA256 f3b39b4b07b5dd318780ad0e9b8b3c524a54138537697dd7966223f314d2177d SHA512 8301d4a28c29f477f07eedee2bffd6d07e345f08c056402098fa966f0e61895ed4dea60b653793b30d8457a7d692e3af772514d86ae440950fd52719bbadf942 WHIRLPOOL c3cef973b39a893026050a969cf1d433a18916a0340667436ce53b7dfc19d643809e48feaa3985faf6dc392f3c84c53c04f98b9e8a0c2773c4bb6c8f0131dd72
diff --git a/dev-python/htmlgen/files/htmlgen-2.2.2-python-2.5.patch b/dev-python/htmlgen/files/htmlgen-2.2.2-python-2.5.patch
new file mode 100644
index 000000000000..7bdff6815011
--- /dev/null
+++ b/dev-python/htmlgen/files/htmlgen-2.2.2-python-2.5.patch
@@ -0,0 +1,145 @@
+--- HTMLcalendar.py
++++ HTMLcalendar.py
+@@ -212,12 +212,12 @@
+ return value
+ else:
+ raise TypeError, ('cannot convert to int', value)
+-import regex
+-datepat = regex.compile('^ *\([0-9*][0-9]?\)[/-]' #first 2 char date field
++import re
++datepat = re.compile('^ *\([0-9*][0-9]?\)[/-]' #first 2 char date field
+ '\([0-9][0-9]?\)[/-]?' #second 2 char date field
+ '\([12][0-9][0-9][0-9]\)?[ \t]*:') #optional year field
+-daypat = regex.compile('^ *\('+string.join(day_name,'\|')+'\)')
+-timepat = regex.compile('\([0-9][0-9]?\):\([0-9][0-9]\)')
++daypat = re.compile('^ *\('+string.join(day_name,'\|')+'\)')
++timepat = re.compile('\([0-9][0-9]?\):\([0-9][0-9]\)')
+
+ def read_appt_file(filename):
+ """Parsing function.
+--- HTMLgen.py
++++ HTMLgen.py
+@@ -924,7 +924,7 @@
+ def antispam(self, address):
+ """Process a string with HTML encodings to defeat address spiders.
+ """
+- from whrandom import choice
++ from random import choice
+ buffer = map(None, address)
+ for i in range(0, len(address), choice((2,3,4))):
+ buffer[i] = '&#%d;' % ord(buffer[i])
+--- HTMLtest.py
++++ HTMLtest.py
+@@ -2,7 +2,7 @@
+
+ """Test script which generates the online documentation for HTMLgen.
+ """
+-import string, regex, regsub, os, time, glob
++import string, re, re, os, time, glob
+ from HTMLcolors import *
+ from HTMLgen import *
+ import HTMLgen #only so I can pick off the __version__
+@@ -232,11 +232,11 @@
+ doc.email = 'jefferson@montecello.virginia.gov'
+ doc.logo = ('../image/eagle21.gif', 64, 54)
+ # parse Declaration of Independence
+- re_hline = regex.compile('^--+$')
+- re_title = regex.compile('^Title:\(.*$\)')
++ re_hline = re.compile('^--+$')
++ re_title = re.compile('^Title:\(.*$\)')
+ font2 = Font(size='+2')
+ s = open(os.path.join(datadir, 'DoI.txt')).read()
+- paragraphs = regsub.split(s, '\n\([\t ]*\n\)+')
++ paragraphs = re.split(s, '\n\([\t ]*\n\)+')
+ for para in paragraphs:
+ if not para: continue
+ if re_title.search(para) > -1:
+@@ -263,7 +263,7 @@
+ #Ok parse that file
+ f = open(mpath(os.path.join(datadir, 'parrot.txt')))
+ line = f.readline()
+- re_dialog = regex.compile('\(^[OC].*:\)\(.*\)')
++ re_dialog = re.compile('\(^[OC].*:\)\(.*\)')
+ while line:
+ if re_dialog.search(line) > -1:
+ role, prose = re_dialog.group(1,2)
+--- HTMLutil.py
++++ HTMLutil.py
+@@ -19,7 +19,7 @@
+ # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ # PERFORMANCE OF THIS SOFTWARE.
+ __version__ = '$Id: HTMLutil.py,v 1.3 1998/05/28 20:14:52 friedric Exp $'
+-import string, regex, os
++import string, re, os
+ import HTMLgen, HTMLcolors
+ from types import *
+
+@@ -79,7 +79,7 @@
+ """Determine if the text have been marked by a previous gsub.
+ (ugly hack but it works)
+ """
+- if regex.search('\(</?FONT\)\|\(</?STRONG\)', text) > -1:
++ if re.search('\(</?FONT\)\|\(</?STRONG\)', text) > -1:
+ return 1
+ else:
+ return 0
+@@ -125,13 +125,13 @@
+ not_backslash = "[^\\\\]"
+ triple_single = "'''"
+ triple_double = '"""'
+-_doc_start_re = regex.compile(
++_doc_start_re = re.compile(
+ "\(^\|" + not_backslash + "\)" # bol or not backslash
+ + "\(" + triple_single + "\|" + triple_double + "\)" )
+ single_re = not_backslash + triple_single
+ double_re = not_backslash + triple_double
+-_triple_re = { triple_single : regex.compile(single_re),
+- triple_double : regex.compile(double_re) }
++_triple_re = { triple_single : re.compile(single_re),
++ triple_double : re.compile(double_re) }
+
+ del not_backslash, triple_single, triple_double, \
+ single_re, double_re
+@@ -150,13 +150,13 @@
+ return (None, None)
+ return startquote, quotefinder.regs[0][1]
+
+-string_re = regex.compile('\(\(\'[^\'\n]*\'\)\|\("[^"\n]"\)\)')
++string_re = re.compile('\(\(\'[^\'\n]*\'\)\|\("[^"\n]"\)\)')
+ def find_string_literal( s, begin=0 ):
+ if string_re.search(s, begin) > -1:
+ return string_re.regs[1]
+ return (None, None)
+
+-comment_re = regex.compile('#.*$')
++comment_re = re.compile('#.*$')
+ def find_comment( s, begin=0 ):
+ while comment_re.search(s, begin) > -1:
+ if been_marked(comment_re.group(0)):
+@@ -166,13 +166,13 @@
+ return (None, None)
+
+ Name = '[a-zA-Z_][a-zA-Z0-9_]*'
+-func_re = regex.compile('\(^[ \t]*def[ \t]+' +Name+ '\)[ \t]*(')
++func_re = re.compile('\(^[ \t]*def[ \t]+' +Name+ '\)[ \t]*(')
+ def find_function( s, begin=0 ):
+ if func_re.search(s, begin) > -1:
+ return func_re.regs[1]
+ return (None, None)
+
+-class_re = regex.compile('\(^[ \t]*class[ \t]+' +Name+ '\)[ \t]*[(:]')
++class_re = re.compile('\(^[ \t]*class[ \t]+' +Name+ '\)[ \t]*[(:]')
+ def find_class( s, begin=0 ):
+ if class_re.search(s, begin) > -1:
+ return class_re.regs[1]
+--- ImagePaletteH.py
++++ ImagePaletteH.py
+@@ -70,7 +70,7 @@
+ return ImagePalette(mode, palette * len(mode))
+
+ def random(mode = "RGB"):
+- from whrandom import randint
++ from random import randint
+ palette = map(lambda a: randint(0, 255), [0]*256*len(mode))
+ return ImagePalette(mode, palette)
+
diff --git a/dev-python/htmlgen/files/htmlgen-pillow.patch b/dev-python/htmlgen/files/htmlgen-pillow.patch
new file mode 100644
index 000000000000..0c4f3daa27f4
--- /dev/null
+++ b/dev-python/htmlgen/files/htmlgen-pillow.patch
@@ -0,0 +1,53 @@
+Fix PIL imports for Pillow compat
+https://bugs.gentoo.org/show_bug.cgi?id=471506
+--- HTMLgen/ImageH.py 1999-04-20 22:40:28.000000000 -0400
++++ HTMLgen/ImageH.py 2013-06-08 14:00:49.261734532 -0400
+@@ -576,7 +576,7 @@
+ "Display image (for debug purposes only)"
+
+ try:
+- import ImageTk
++ from PIL import ImageTk
+ ImageTk._show(self, title)
+ # note: caller must enter mainloop
+ except:
+--- HTMLgen/ImagePaletteH.py 2013-06-08 13:56:03.476318926 -0400
++++ HTMLgen/ImagePaletteH.py 2013-06-08 14:01:26.564871622 -0400
+@@ -87,7 +87,7 @@
+
+ if not lut:
+ try:
+- import GimpPaletteFile
++ from PIL import GimpPaletteFile
+ fp.seek(0)
+ p = GimpPaletteFile.GimpPaletteFile(fp)
+ lut = p.getpalette()
+@@ -96,7 +96,7 @@
+
+ if not lut:
+ try:
+- import GimpGradientFile
++ from PIL import GimpGradientFile
+ fp.seek(0)
+ p = GimpGradientFile.GimpGradientFile(fp)
+ lut = p.getpalette()
+@@ -105,7 +105,7 @@
+
+ if not lut:
+ try:
+- import PaletteFile
++ from PIL import PaletteFile
+ fp.seek(0)
+ p = PaletteFile.PaletteFile(fp)
+ lut = p.getpalette()
+--- HTMLgen/imgsize.py 1998-05-25 13:56:37.000000000 -0400
++++ HTMLgen/imgsize.py 2013-06-08 14:01:48.731358969 -0400
+@@ -15,7 +15,7 @@
+
+ try: #Following switcheroo ensures that if PIL is installed it's used instead
+ # of the HTMLgen-bundled copies.
+- import Image
++ from PIL import Image
+ except ImportError:
+ import ImageH
+ Image = ImageH
diff --git a/dev-python/htmlgen/htmlgen-2.2.2-r1.ebuild b/dev-python/htmlgen/htmlgen-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..c58dbf1e9527
--- /dev/null
+++ b/dev-python/htmlgen/htmlgen-2.2.2-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-r1
+
+MY_P="HTMLgen"
+DESCRIPTION="HTMLgen - Python modules for the generation of HTML documents"
+HOMEPAGE="http://starship.python.net/crew/friedrich/HTMLgen/html/main.html"
+SRC_URI="http://starship.python.net/crew/friedrich/${MY_P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc x86"
+IUSE="doc"
+
+DEPEND="${PYTHON_DEPS}
+ virtual/python-imaging[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-python-2.5.patch"
+ epatch "${FILESDIR}/${PN}-pillow.patch"
+}
+
+src_compile() {
+ return 0
+}
+
+src_install() {
+ # doing this manually because their build scripts suck
+ local files="HTMLgen.py HTMLcolors.py HTMLutil.py HTMLcalendar.py
+ barchart.py colorcube.py imgsize.py NavLinks.py Formtools.py
+ ImageH.py ImageFileH.py ImagePaletteH.py GifImagePluginH.py
+ JpegImagePluginH.py PngImagePluginH.py"
+
+ mkdir htmlgen || die
+ touch htmlgen/__init__.py || die
+ ln ${files} htmlgen/ || die
+ python_parallel_foreach_impl python_domodule htmlgen
+
+ if use doc; then
+ # fix the image locations in the docs
+ sed -i -e "s;../image/;image/;g" html/* || die "sed failed"
+ dohtml html/*
+ dohtml -r image
+ fi
+ dodoc README
+}
+
+pkg_postinst() {
+ ewarn "htmlgen now resides in its own subdirectory"
+ ewarn "so you need to do \"from htmlgen import HTMLgen\" instead of \"import HTMLgen\""
+}
diff --git a/dev-python/htmlgen/metadata.xml b/dev-python/htmlgen/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/htmlgen/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/httmock/Manifest b/dev-python/httmock/Manifest
new file mode 100644
index 000000000000..e6ffa3424571
--- /dev/null
+++ b/dev-python/httmock/Manifest
@@ -0,0 +1 @@
+DIST httmock-1.2.2.tar.gz 4975 SHA256 4dd4eddd8dba38c2b279c6fc7487fb92e91b1ae5d945a496bf059ea2b2aaf06c SHA512 0be8ae754bd3ae34166b0b001a44e664b07488ba6d44ed3dc518b310b82418dc5ab2f15ef13cb20909109f19c22a6e13dfdfdfa37f26f3c0688b19f2321be767 WHIRLPOOL 7d1315845e7a72975d5e0f8ae483f17b5e033a230cf020c770e804091c7a0ef5e94c4649720db3f3f5c68d2a19d7a45ab5d696118719967913e4c1ee01f9234c
diff --git a/dev-python/httmock/httmock-1.2.2.ebuild b/dev-python/httmock/httmock-1.2.2.ebuild
new file mode 100644
index 000000000000..e5c69b5af289
--- /dev/null
+++ b/dev-python/httmock/httmock-1.2.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A mocking library for requests"
+HOMEPAGE="https://github.com/patrys/httmock"
+SRC_URI="https://github.com/patrys/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/httmock/metadata.xml b/dev-python/httmock/metadata.xml
new file mode 100644
index 000000000000..e8c60cc3448d
--- /dev/null
+++ b/dev-python/httmock/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer and target for all bugs</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">patrys/httmock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/http-parser/Manifest b/dev-python/http-parser/Manifest
new file mode 100644
index 000000000000..2ec2706b2c2d
--- /dev/null
+++ b/dev-python/http-parser/Manifest
@@ -0,0 +1 @@
+DIST http-parser-0.8.3.tar.gz 83040 SHA256 e2aff90a60def3e476bd71694d8757c0f95ebf2fedf0a8ae34ee306e0b20db83 SHA512 aca583d976dcf172244179cc4199336f296dbb2e2838dded23e64d55f23298fe600f9c24ba6cb6d1d5faad3022710154949fd39adecaef763f7589a58d03fbd1 WHIRLPOOL 9de8476e9fa878b5542806efb8fe1729ac6fcb04b7dcc9d084dfd9e4280fe3bee185d2fb8ae43b2d3a46eb3a1a67047a40e423d054ecb542f66bd15b35fae427
diff --git a/dev-python/http-parser/files/http-parser-0.7.8-setup.patch b/dev-python/http-parser/files/http-parser-0.7.8-setup.patch
new file mode 100644
index 000000000000..9bd43e6a1534
--- /dev/null
+++ b/dev-python/http-parser/files/http-parser-0.7.8-setup.patch
@@ -0,0 +1,22 @@
+diff -ur http-parser-0.7.8.orig/setup.py http-parser-0.7.8/setup.py
+--- setup.py 2012-08-05 11:14:22.000000000 +0800
++++ setup.py 2013-01-21 01:54:23.748530621 +0800
+@@ -10,7 +10,7 @@
+ from distutils.command.sdist import sdist as _sdist
+ import glob
+ from imp import load_source
+-import os
++import os, io
+ import shutil
+ import sys
+ import traceback
+@@ -49,7 +49,7 @@
+ VERSION = http_parser.__version__
+
+ # get long description
+-with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as f:
++with io.open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding='utf8') as f:
+ LONG_DESCRIPTION = f.read()
+
+ def _system(cmd):
+
diff --git a/dev-python/http-parser/http-parser-0.8.3.ebuild b/dev-python/http-parser/http-parser-0.8.3.ebuild
new file mode 100644
index 000000000000..e12d9c20fa4e
--- /dev/null
+++ b/dev-python/http-parser/http-parser-0.8.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="HTTP request/response parser for python in C"
+HOMEPAGE="http://github.com/benoitc/http-parser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 ~s390 x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+cython_dep() {
+ local flag
+ for flag in $(python_gen_useflags 'python*'); do
+ DEPEND+=" ${flag}? ( dev-python/cython[${flag}(-)] )"
+ done
+}
+cython_dep
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ local DOCS=( README.rst )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/http-parser/metadata.xml b/dev-python/http-parser/metadata.xml
new file mode 100644
index 000000000000..7907c6d5b768
--- /dev/null
+++ b/dev-python/http-parser/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">http-parser</remote-id>
+ <remote-id type="github">benoitc/http-parser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/httplib2/Manifest b/dev-python/httplib2/Manifest
new file mode 100644
index 000000000000..64988ddabd41
--- /dev/null
+++ b/dev-python/httplib2/Manifest
@@ -0,0 +1,2 @@
+DIST httplib2-0.8.tar.gz 148284 SHA256 af689bc3cb10a95721eb0d0cf806202a699e7799dacd3497f63b48b2ba429c3f SHA512 3b95b2f64f7b24a638792562e2d8645f9087ab716a105c8771e002507fde3cca9eb7e5de27140a7aed075e70ebd83fbfbda798714a94153b6233b2b704db1176 WHIRLPOOL 3aa30e5e4cdb08cb6e8544d2fb82eb02492ce04a5752255ae281389fcc382aceecdb060a3cda0a926eba4bbe15563d379851c97cbcabbb17106696f4a90d4987
+DIST httplib2-0.9.1.tar.gz 205074 SHA256 bc6339919a5235b9d1aaee011ca5464184098f0c47c9098001f91c97176583f5 SHA512 2005d55c94971163b42366a33578f068b3e1316d59b4d834dc2d2ebcfa050d1492a27d0eefaceea48ed0cc41d8d6d3eb1b401658546a317ff82f0901a441f716 WHIRLPOOL 0d680d8a5745313c64cf0704d1e0aafd14e71a923ef3290caa118b867dc2722f087c6cc2977f104a025a2409d86a4561aac5f39718d80c083d58cd953d32b69d
diff --git a/dev-python/httplib2/httplib2-0.8.ebuild b/dev-python/httplib2/httplib2-0.8.ebuild
new file mode 100644
index 000000000000..38a38dd6cc79
--- /dev/null
+++ b/dev-python/httplib2/httplib2-0.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A comprehensive HTTP client library"
+HOMEPAGE="http://code.google.com/p/httplib2/ http://pypi.python.org/pypi/httplib2"
+SRC_URI="http://httplib2.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# tests connect to random remote sites
+RESTRICT="test"
+
+python_test() {
+ if [[ ${EPYTHON} == python2.7 ]] ; then
+ cd python2 || die
+ else
+ cd python3 || die
+ fi
+
+ "${PYTHON}" httplib2test.py || die
+}
diff --git a/dev-python/httplib2/httplib2-0.9.1.ebuild b/dev-python/httplib2/httplib2-0.9.1.ebuild
new file mode 100644
index 000000000000..f7b3e33df6d3
--- /dev/null
+++ b/dev-python/httplib2/httplib2-0.9.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A comprehensive HTTP client library"
+HOMEPAGE="http://pypi.python.org/pypi/httplib2 https://github.com/jcgregorio/httplib2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# tests connect to random remote sites
+RESTRICT="test"
+
+python_test() {
+ if [[ ${EPYTHON} == python2.7 ]] ; then
+ cd python2 || die
+ else
+ cd python3 || die
+ fi
+
+ "${PYTHON}" httplib2test.py || die
+}
diff --git a/dev-python/httplib2/metadata.xml b/dev-python/httplib2/metadata.xml
new file mode 100644
index 000000000000..0403f5d0dc8d
--- /dev/null
+++ b/dev-python/httplib2/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">httplib2</remote-id>
+ <remote-id type="pypi">httplib2</remote-id>
+ <remote-id type="github">jcgregorio/httplib2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/httpretty/Manifest b/dev-python/httpretty/Manifest
new file mode 100644
index 000000000000..342c28d35052
--- /dev/null
+++ b/dev-python/httpretty/Manifest
@@ -0,0 +1,4 @@
+DIST httpretty-0.7.0.tar.gz 28066 SHA256 a422a74fe0f35fbb644c9a3a0a4ccb7a7469a8f5bae2d7c807d35a7d149d3fa6 SHA512 9adfd906336aa0ac2c21be8b789eb2e57994f4aac719958fc657291d922fe28b1fcc60d9b39e0e616b6d8565adaecb8228df3a9d1428cc189372b1cc700f664e WHIRLPOOL 8aaa28f26d038ba198b19a31a7f9490e2c3882a9eaacd6b5ccee34cd5f03f745e0facd96853da1be00c7ae949f18cfd4e8f3f696b51f26ffd9b2c6063502976a
+DIST httpretty-0.7.1.tar.gz 28394 SHA256 a0f61cd3fbdffd28a556f8fd5eff703ad3c5c76cf0c39ab8bc136f38d0a71857 SHA512 53b6f063e0e7863fa77aad1eebb0ad3078528bc97d26df80a3c6491c42b9a9008080da35bbb1e9372674c996f25e5109c84b48a2a6d9f0de5b7c53331bdad857 WHIRLPOOL 2112692eeaa034f6afa3b7ef76aa557f3211b0f9db9178369446148b7c1d8eb6292f51a47c767d168222a7d40ed66bfefd1557bbb1c9ee3c5394e1c524861e4b
+DIST httpretty-0.8.0.tar.gz 34291 SHA256 e5512b38ad3bfb9f7d275c957b4a7eddc69e4b3a749e3b62a984c86fb6ab329b SHA512 0c6193c488a27345b3d98cc6a62e8933b67828b7335700367b28cf328ef86ff2342056bada84ca631d6acc5650b7b456e80d85d8099e873f07cd41140c481650 WHIRLPOOL f828e84fddc6e4ab9671a9cd33da6b0f2b4053fc3368e3119ed5d7410cde125486aaae8bcf1cf4eab3a641af48dda7c6531c231f0d59c36d65f1c3d173e8969f
+DIST httpretty-0.8.10.tar.gz 41741 SHA256 474a72722d66841f0e59cee285d837e1c6263be5be7bf2f8e824fc849a99adda SHA512 5bc734a89c45daa746551ef7d150c02bf6d9cddf1bc5426a8800d2241bb5bf8a834d2736fd9a4846ce150747d9c2064686a3ed63e97e5f131778d834956a9107 WHIRLPOOL 33fc4c025176c9d3493f8efe67f24db90d2c799536a949d490be4d9c11918190846d2612c6b09e6e000430a70f0e54b9bac87261cae62e5ba8ef558251f2bc3b
diff --git a/dev-python/httpretty/files/httpretty-0.7.0-deps.patch b/dev-python/httpretty/files/httpretty-0.7.0-deps.patch
new file mode 100644
index 000000000000..26c6ebec4e5e
--- /dev/null
+++ b/dev-python/httpretty/files/httpretty-0.7.0-deps.patch
@@ -0,0 +1,68 @@
+rebased from https://github.com/jamielennox/HTTPretty/commit/3a7d5a04b2ed5cebc8e1fc14f706f5da7fc5162f
+diff -ur httpretty-0.7.0.orig/requirements.pip httpretty-0.7.0/requirements.pip
+--- requirements.pip 2013-10-02 12:44:47.000000000 +0800
++++ requirements.pip 2013-12-02 15:37:00.611977792 +0800
+@@ -1,12 +1,9 @@
+-argparse==1.2.1
+-coverage==3.5.3
+-httplib2==0.7.6
+-misaka==1.0.2
+-mock==1.0.1
+-nose==1.2.1
+-requests==1.1.0
+-steadymark==0.4.5
++coverage>=3.5
++httplib2
++mock>=1.0
++nose>=1.2
++requests>=1.1
+ sure>=1.2.1
+-tornado==2.4
+-tox==1.4.2
+-urllib3
+\ No newline at end of file
++tornado>=2.2
++tox>=1.4.2
++urllib3
+diff -ur httpretty-0.7.0.orig/setup.cfg httpretty-0.7.0/setup.cfg
+--- setup.cfg 2013-10-08 05:42:31.000000000 +0800
++++ setup.cfg 2013-12-02 15:40:34.331985437 +0800
+@@ -2,4 +2,9 @@
+ tag_build =
+ tag_date = 0
+ tag_svn_revision = 0
+-
++[nosetests]
++verbosity=2
++with-coverage=1
++cover-erase=1
++cover-package=httpretty
++cover-inclusive=1
+diff -ur httpretty-0.7.0.orig/setup.py httpretty-0.7.0/setup.py
+--- setup.py 2013-10-08 05:42:31.000000000 +0800
++++ setup.py 2013-12-02 15:42:26.467989448 +0800
+@@ -50,10 +50,11 @@
+ author_email='gabriel@nacaolivre.org',
+ url='http://github.com/gabrielfalcao/httpretty',
+ zip_safe=False,
+- packages=find_packages(HTTPRETTY_PATH, ('tests')),
++ packages=find_packages(),
+ tests_require=test_packages(),
+ install_requires=['urllib3'],
+ license='MIT',
++ test_suite='nose.collector',
+ classifiers=["Intended Audience :: Developers",
+ "License :: OSI Approved :: MIT License",
+ "Topic :: Software Development :: Testing"],
+diff -ur httpretty-0.7.0.orig/tests/functional/test_requests.py httpretty-0.7.0/tests/functional/test_requests.py
+--- tests/functional/test_requests.py 2013-10-08 05:42:31.000000000 +0800
++++ tests/functional/test_requests.py 2013-12-02 15:43:48.763992391 +0800
+@@ -698,7 +698,7 @@
+ response['response'].should.have.key("status").being.equal(200)
+ response['response'].should.have.key("body").being.an(unicode)
+ response['response'].should.have.key("headers").being.a(dict)
+- response['response']["headers"].should.have.key("server").being.equal("TornadoServer/2.4")
++ response['response']["headers"].should.have.key("server").being.equal("TornadoServer")
+
+
+ def test_playing_calls():
diff --git a/dev-python/httpretty/httpretty-0.7.0.ebuild b/dev-python/httpretty/httpretty-0.7.0.ebuild
new file mode 100644
index 000000000000..d25bdf8c8dee
--- /dev/null
+++ b/dev-python/httpretty/httpretty-0.7.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="http://github.com/gabrielfalcao/httpretty"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.5[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/steadymark-0.4.5[${PYTHON_USEDEP}]
+ >=dev-python/sure-1.2.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ "
+# I believe we don't need unpackaged package markment
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${P}-deps.patch )
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ if ! use test; then
+ rm -rf tests/
+ fi
+}
+
+python_test() {
+ # https://github.com/gabrielfalcao/HTTPretty/issues/125
+ nosetests tests/unit \
+ -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ -e test_streaming_responses \
+ tests/functional || die "Tests failed under ${EPYTHON}"
+ rm -rf tests/ "${BUILD_DIR}"/lib/tests/ || die
+}
diff --git a/dev-python/httpretty/httpretty-0.7.1.ebuild b/dev-python/httpretty/httpretty-0.7.1.ebuild
new file mode 100644
index 000000000000..f1b718ebd2d7
--- /dev/null
+++ b/dev-python/httpretty/httpretty-0.7.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="http://github.com/gabrielfalcao/httpretty"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.5[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/steadymark-0.4.5[${PYTHON_USEDEP}]
+ >=dev-python/sure-1.2.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ if ! use test; then
+ rm -rf tests/
+ fi
+}
+
+python_test() {
+ # https://github.com/gabrielfalcao/HTTPretty/issues/125
+ nosetests tests/unit \
+ -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ tests/functional || die "Tests failed under ${EPYTHON}"
+ rm -rf tests/ "${BUILD_DIR}"/lib/tests/ || die
+}
diff --git a/dev-python/httpretty/httpretty-0.8.0-r1.ebuild b/dev-python/httpretty/httpretty-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..c349abcc8e04
--- /dev/null
+++ b/dev-python/httpretty/httpretty-0.8.0-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="http://github.com/gabrielfalcao/httpretty"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.5[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/sure[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ dev-python/ipdb[${PYTHON_USEDEP}] )"
+
+#Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ # https://github.com/gabrielfalcao/HTTPretty/issues/125, still occur
+ # py3.4 hangs on many tests and is deemed underdone
+ # Upstream does not make it clear whether py3.4 is sctually tested and supported.
+ # python2.7 has substantial failure in tests/functional/test_requests.py and is removed.
+ # Some tests excluded attempt connection to the network
+ # On testing in the state below, py2.7 still has a tally of FAILED (failures=5)
+ # that occur within the folder tests/unit which upstream should address.
+ # https://github.com/gabrielfalcao/HTTPretty/issues/236 Bug #532106
+
+ if [[ "${EPYTHON}" == python3.4 ]]; then
+ einfo "python3.4 not adequately supported in testsuite"
+ elif [[ "${EPYTHON}" == python2.7 ]]; then
+ rm -f tests/functional/test_requests.py || die
+ nosetests -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ -e test_httpretty_bypasses_when_disabled \
+ -e test_using_httpretty_with_other_tcp_protocols \
+ tests/unit \
+ tests/functional || die "Tests failed under python2.7"
+ else
+ nosetests -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ -e test_httpretty_bypasses_when_disabled \
+ -e test_using_httpretty_with_other_tcp_protocols \
+ tests/unit \
+ tests/functional || die "Tests failed under python3.3"
+ fi
+
+ rm -rf "${BUILD_DIR}"/../tests/ || die
+}
diff --git a/dev-python/httpretty/httpretty-0.8.0.ebuild b/dev-python/httpretty/httpretty-0.8.0.ebuild
new file mode 100644
index 000000000000..111a360c0044
--- /dev/null
+++ b/dev-python/httpretty/httpretty-0.8.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="http://github.com/gabrielfalcao/httpretty"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.5[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/sure[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ dev-python/ipdb )"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ if ! use test; then
+ rm -rf tests/
+ fi
+}
+
+python_test() {
+ # https://github.com/gabrielfalcao/HTTPretty/issues/125
+ nosetests tests/unit \
+ -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ tests/functional || die "Tests failed under ${EPYTHON}"
+ rm -rf tests/ "${BUILD_DIR}"/lib/tests/ || die
+}
diff --git a/dev-python/httpretty/httpretty-0.8.10.ebuild b/dev-python/httpretty/httpretty-0.8.10.ebuild
new file mode 100644
index 000000000000..c349abcc8e04
--- /dev/null
+++ b/dev-python/httpretty/httpretty-0.8.10.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="http://github.com/gabrielfalcao/httpretty"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.5[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/sure[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-2.2[${PYTHON_USEDEP}]
+ dev-python/ipdb[${PYTHON_USEDEP}] )"
+
+#Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ # https://github.com/gabrielfalcao/HTTPretty/issues/125, still occur
+ # py3.4 hangs on many tests and is deemed underdone
+ # Upstream does not make it clear whether py3.4 is sctually tested and supported.
+ # python2.7 has substantial failure in tests/functional/test_requests.py and is removed.
+ # Some tests excluded attempt connection to the network
+ # On testing in the state below, py2.7 still has a tally of FAILED (failures=5)
+ # that occur within the folder tests/unit which upstream should address.
+ # https://github.com/gabrielfalcao/HTTPretty/issues/236 Bug #532106
+
+ if [[ "${EPYTHON}" == python3.4 ]]; then
+ einfo "python3.4 not adequately supported in testsuite"
+ elif [[ "${EPYTHON}" == python2.7 ]]; then
+ rm -f tests/functional/test_requests.py || die
+ nosetests -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ -e test_httpretty_bypasses_when_disabled \
+ -e test_using_httpretty_with_other_tcp_protocols \
+ tests/unit \
+ tests/functional || die "Tests failed under python2.7"
+ else
+ nosetests -e test_recording_calls \
+ -e test_playing_calls \
+ -e test_callback_setting_headers_and_status_response \
+ -e test_httpretty_bypasses_when_disabled \
+ -e test_using_httpretty_with_other_tcp_protocols \
+ tests/unit \
+ tests/functional || die "Tests failed under python3.3"
+ fi
+
+ rm -rf "${BUILD_DIR}"/../tests/ || die
+}
diff --git a/dev-python/httpretty/metadata.xml b/dev-python/httpretty/metadata.xml
new file mode 100644
index 000000000000..9685d5af5113
--- /dev/null
+++ b/dev-python/httpretty/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">httpretty</remote-id>
+ <remote-id type="github">gabrielfalcao/httpretty</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/humanfriendly/Manifest b/dev-python/humanfriendly/Manifest
new file mode 100644
index 000000000000..5b48d7d4d362
--- /dev/null
+++ b/dev-python/humanfriendly/Manifest
@@ -0,0 +1,6 @@
+DIST humanfriendly-1.25.tar.gz 23072 SHA256 a6811938ff17c3df24c5b91569f44bff17f1ccbb60e0d756a5bfd13b554d479c SHA512 e62cfcd4f0119830cb21b10eb7514aebe1283fc4dc9cbc22cfad1cb3c73fcad46ac5e4e3a2aa7ccffc5f5b8389d616e1dcaa622fee420c5fcd7138948c69cd54 WHIRLPOOL ef7161c9893b5b59b5b89fce7aabbd4fd8954d316874e53a2352258cdccfe4dbcacb2fc46711490f90fa0f56f19734b6617e5e844c8f004142faac38a890b8c4
+DIST humanfriendly-1.26.tar.gz 25228 SHA256 0908b90298364e3335a03abcbb88ec571f95c7e4bc6728de0551806f636ef219 SHA512 d4cf81d6c9e39c2d5fb4886dc84c6037c6b189a5e54360b1fcaab5728c74b5ab4fe95c574d4b211888a8cbe6f1bce563106adb65b6a0d9533aa40e6ce434cf7c WHIRLPOOL f8d6a080bcfc8ac9dfacdc2387c4050ea81dd294eb703d4198ac82678e3ef71f4ecce0a2af4dfd85c068548c96a42c904ff2efc8bf4c429137e60aef684ec614
+DIST humanfriendly-1.27.tar.gz 26128 SHA256 b80c391baf5c7d5f634391d62c9869c4d20dd6167c53ba2e3765f9ad2bc54638 SHA512 b2fcf239958e9889c22a99396e78d157adf390e2b5dbcbc3f89eb42ca7a87ec278e2969d05fc3388c07af929b1046cd4a14d3347c7c9287e6a7f4cbbb7322688 WHIRLPOOL a0d277784dd906891bf1217653141379770bbf703645af34fe220b253f9939fdb0ebea90e35a9cb2c17f5e5f6099805c05dbb888fe23af581ac7fab43459ef07
+DIST humanfriendly-1.29.tar.gz 27120 SHA256 9c1983d79a61f77ab6c42973baf2ebb156dbb608516415f3c4066cbe3400e8d7 SHA512 b42e1e7e66c1326cef1134b662f7026c9b3883f0871752cbb6d334de68fc6f6e92ae6524bb9c64b7185bc28f612c6daf0650bd8c9a9121d5fea704b51bd7843f WHIRLPOOL a068a0cbdd7ec3d41ea54d5cf9cc80b8c88bc6089d48f546638c5128cf918720549667464a32bca0b2f6f266f3ff8194ab352b159db3de7a554d2eb2a449854e
+DIST humanfriendly-1.31.tar.gz 33358 SHA256 329b359b5aa8d330841379afea30ab343ec177fed826bfc8e44ebba43700ac5f SHA512 9c3f3a84c9a5c9d530ad8e4c10507369f322cc4c73c8f229f08ebab168b69e41870b22873445c32ddca4975a5d6bbeb586c8c4e6e20e79d1a7d420d6855a5cae WHIRLPOOL 80ac328a5b2bdbfd181dd9b142ee792a8cdfd192c36fcd276b6a4b1eacf64ed27737d9b7796c66caffacbce9177e3cbfcd87e543f54f540b278be574b0ecf335
+DIST humanfriendly-1.33.tar.gz 34362 SHA256 158259d5cb9b762fb094a3cbbade70b5e623568b92c3765d1914fa87f5bf4ecc SHA512 878dc081b15df2f1d682697b9abde45ea20aebd4a33bd7079af7eb3c86b331ad2135b7153b6727ddadbc2146fe042d5a860aaab4889a637622636d4118179bf5 WHIRLPOOL c57a7404341cff1eca80069e35350b99ddf3c26b68894ab283d39ad4dd80fbd2014f04a8dfdb040aae432c4b2ed9bdc51f0085d743575c78eddcc9985cf3cbed
diff --git a/dev-python/humanfriendly/humanfriendly-1.25.ebuild b/dev-python/humanfriendly/humanfriendly-1.25.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.25.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/humanfriendly-1.26.ebuild b/dev-python/humanfriendly/humanfriendly-1.26.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.26.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/humanfriendly-1.27.ebuild b/dev-python/humanfriendly/humanfriendly-1.27.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.27.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/humanfriendly-1.29.ebuild b/dev-python/humanfriendly/humanfriendly-1.29.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.29.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/humanfriendly-1.31.ebuild b/dev-python/humanfriendly/humanfriendly-1.31.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.31.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/humanfriendly-1.33.ebuild b/dev-python/humanfriendly/humanfriendly-1.33.ebuild
new file mode 100644
index 000000000000..34fa7dd29e0a
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-1.33.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.python.org/pypi/humanfriendly https://humanfriendly.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/humanfriendly/metadata.xml b/dev-python/humanfriendly/metadata.xml
new file mode 100644
index 000000000000..e5e0d4ae6124
--- /dev/null
+++ b/dev-python/humanfriendly/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">humanfriendly</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
new file mode 100644
index 000000000000..740c02b916eb
--- /dev/null
+++ b/dev-python/hypothesis/Manifest
@@ -0,0 +1,2 @@
+DIST hypothesis-1.7.1.tar.gz 58959 SHA256 25ac0cb59bb2a707687f7eafb2fe12077852ccaeb8344ed678da61431e86d4c0 SHA512 7a30e325449b01c56cd2a13aecbd51374748b7f6aea6ad2ec75cccda33e911c7495820dc0b7e140e34aff9b30b3ddda8cb4a80964dd99bffc9e1d75dff30784e WHIRLPOOL 3c06dd1da1ad888d15cb5aadf0744577e1af81a4b37fda9540b02057dfd4e7926385816b6d8d13ad36d5fdf528699ef5c5bac5f3448a3e2f5667129e5e7166de
+DIST hypothesis-1.9.0.tar.gz 70605 SHA256 774fff913da11446fa5522b4f20661ddf81cfdf2865d48ec5d160f9491f3f19a SHA512 898f2a0d410cc367def992025b7191f148752acfa86413626eff3c58be7242fa19ea81af2dcfdeef307fd0da61ddd633f34a65b3ce43f37a891b0cd5fddca7d2 WHIRLPOOL db4fa35b1b183a13d90d040ff070e8777402139d8504aab252c370477bb514a21806b97aaf3c632b4a6c9ce4f6f92a74cae1f2a3669d06364183cb61eee1e3d6
diff --git a/dev-python/hypothesis/hypothesis-1.7.1.ebuild b/dev-python/hypothesis/hypothesis-1.7.1.ebuild
new file mode 100644
index 000000000000..5a5848d0fa97
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-1.7.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="https://github.com/DRMacIver/hypothesis"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/hypothesis/hypothesis-1.9.0.ebuild b/dev-python/hypothesis/hypothesis-1.9.0.ebuild
new file mode 100644
index 000000000000..5a5848d0fa97
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-1.9.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="https://github.com/DRMacIver/hypothesis"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/hypothesis/metadata.xml b/dev-python/hypothesis/metadata.xml
new file mode 100644
index 000000000000..2e34ede407d7
--- /dev/null
+++ b/dev-python/hypothesis/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">hypothesis</remote-id>
+ <remote-id type="github">DRMacIver/hypothesis</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
new file mode 100644
index 000000000000..b07b5f045cc8
--- /dev/null
+++ b/dev-python/icalendar/Manifest
@@ -0,0 +1,2 @@
+DIST icalendar-3.8.4.zip 91925 SHA256 7034e184ef3f9010f074410cea11b68fa93ef847f3fb185be41d6bd261c9cbb8 SHA512 5963112ed5d9aa16c85523c7687f5c23085171b84a3f974f5daa84d76e9af5f7171a6f1c342daddbe15531193c47191103fe0f53589aff41787d7ad58a12e0a0 WHIRLPOOL 7cb352564968a121831b82907386f328b25e718439f65bebf575f906fe00f7cfbf4b8bc578b3f201aaa1c7eaa22f9e70eca68278a81e5d802573a301ede75410
+DIST icalendar-3.9.0.tar.gz 62627 SHA256 93d0b94eab23d08f62962542309916a9681f16de3d5eca1c75497f30f1b07792 SHA512 a937882046666212d011cbd5963f43e3c2ebc677c55f1ac425dd77a08201a204498881986208d40e2e93b163f9f51b285cb3a1250f07d01f9b6a968c4e24065d WHIRLPOOL 3cc4fd1ef6170dbb99c1f55e45082374d08931265397df422ee3439ca532f7e2704dd6ed620635b65719f509c4a84682c2f54ef12751e3cd00c4235c116d1336
diff --git a/dev-python/icalendar/files/2.1_p20100409/01_all_UIDGenerator-fix.patch b/dev-python/icalendar/files/2.1_p20100409/01_all_UIDGenerator-fix.patch
new file mode 100644
index 000000000000..4f2b78dc9133
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/01_all_UIDGenerator-fix.patch
@@ -0,0 +1,22 @@
+--- src/icalendar/tools.py
++++ src/icalendar/tools.py
+@@ -1,5 +1,6 @@
+ from string import ascii_letters, digits
+ import random
++from datetime import datetime
+
+ """
+ This module contains non-essential tools for iCalendar. Pretty thin so far eh?
+@@ -42,9 +43,9 @@
+ datetime-uniquevalue at host. Like:
+ 20050105T225746Z-HKtJMqUgdO0jDUwm at example.com
+ """
+- from PropertyValues import vText, vDatetime
++ from icalendar.prop import vText, vDatetime
+ unique = unique or self.rnd_string()
+- return vText('%s-%s@%s' % (vDatetime.today().ical(), unique, host_name))
++ return vText('%s-%s@%s' % (vDatetime(datetime.today()).ical(), unique, host_name))
+
+
+ if __name__ == "__main__":
+
diff --git a/dev-python/icalendar/files/2.1_p20100409/02_all_vDatetime-tzinfo-fix.patch b/dev-python/icalendar/files/2.1_p20100409/02_all_vDatetime-tzinfo-fix.patch
new file mode 100644
index 000000000000..7f06b4f68c9e
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/02_all_vDatetime-tzinfo-fix.patch
@@ -0,0 +1,30 @@
+From http://codespeak.net/pipermail/icalendar-dev/2009-July/000139.html:
+
+SUMMARY: The encoding mechanism of vDatetime handles tzinfo fields
+incorrectly (specifically with respect to daylight savings time).
+Attached is a simple patch that makes it work.
+
+DETAILS: Currently vDatetime.ical() tries to compute the utcoffset of
+the tzinfo, and then subtract that offset. This approach is valid,
+but the computation of the utcoffset is wrong, because it's done relative
+to datetime.now() instead of the actual datetime object (self.dt)
+to be converted. This is an issue for timezones whose utcoffset varies
+throughout the year, e.g., from daylight savings time.
+Replacing datetime.now() with self.dt would fix the code,
+but I opted to use the builtin 'asttimezone' method
+because it's slightly simpler.
+
+Submitted by Erik Demaine.
+===================================================================
+--- src/icalendar/prop.py.orig 2009-12-14 08:43:50.000000000 -0500
++++ src/icalendar/prop.py 2009-12-20 12:41:28.000000000 -0500
+@@ -309,8 +309,7 @@
+
+ def ical(self):
+ if self.dt.tzinfo:
+- utc_time = self.dt - self.dt.tzinfo.utcoffset(datetime.now())
+- return utc_time.strftime("%Y%m%dT%H%M%SZ")
++ return self.dt.astimezone (UTC).strftime("%Y%m%dT%H%M%SZ")
+ return self.dt.strftime("%Y%m%dT%H%M%S")
+
+ def from_ical(ical):
diff --git a/dev-python/icalendar/files/2.1_p20100409/03_all_duration-fix.patch b/dev-python/icalendar/files/2.1_p20100409/03_all_duration-fix.patch
new file mode 100644
index 000000000000..d6d857a342d1
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/03_all_duration-fix.patch
@@ -0,0 +1,33 @@
+--- src/icalendar/prop.py.old Mon Dec 14 13:43:50 2009
++++ src/icalendar/prop.py Tue Jan 19 15:09:58 2010
+@@ -57,7 +57,7 @@
+ TIME_PART = r'T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?'
+ DATETIME_PART = '(?:%s)?(?:%s)?' % (DATE_PART, TIME_PART)
+ WEEKS_PART = r'(\d+)W'
+-DURATION_REGEX = re.compile(r'([-+]?)P(?:%s|%s)$'
++DURATION_REGEX = re.compile(r'([-+]?)P(?:%s)?(?:%s)?$'
+ % (WEEKS_PART, DATETIME_PART))
+ WEEKDAY_RULE = re.compile('(?P<signal>[+-]?)(?P<relative>[\d]?)'
+ '(?P<weekday>[\w]{2})$')
+@@ -467,14 +467,14 @@
+ """
+ try:
+ match = DURATION_REGEX.match(ical)
++ if not any(match.groups()):
++ raise ValueError()
+ sign, weeks, days, hours, minutes, seconds = match.groups()
+- if weeks:
+- value = timedelta(weeks=int(weeks))
+- else:
+- value = timedelta(days=int(days or 0),
+- hours=int(hours or 0),
+- minutes=int(minutes or 0),
+- seconds=int(seconds or 0))
++ value = timedelta(weeks=int(weeks or 0),
++ days=int(days or 0),
++ hours=int(hours or 0),
++ minutes=int(minutes or 0),
++ seconds=int(seconds or 0))
+ if sign == '-':
+ value = -value
+ return value
diff --git a/dev-python/icalendar/files/2.1_p20100409/04_all_date-type-test-in-vDDDTypes.patch b/dev-python/icalendar/files/2.1_p20100409/04_all_date-type-test-in-vDDDTypes.patch
new file mode 100644
index 000000000000..799576f2f944
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/04_all_date-type-test-in-vDDDTypes.patch
@@ -0,0 +1,22 @@
+--- src/icalendar/prop.py.orig 2010-03-29 21:05:47.000000000 -0400
++++ src/icalendar/prop.py 2010-03-29 21:01:47.000000000 -0400
+@@ -585,7 +585,7 @@
+ wrong_type_used = 0
+ if wrong_type_used:
+ raise ValueError ('You must use datetime, date or timedelta')
+- if isinstance(dt, date):
++ if type(dt) is date:
+ self.params = Parameters(dict(value='DATE'))
+
+ self.dt = dt
+--- src/icalendar/cal.py.orig 2009-12-14 08:43:50.000000000 -0500
++++ src/icalendar/cal.py 2010-04-25 09:11:44.000000000 -0400
+@@ -520,7 +520,7 @@
+ >>> event.set('dtstart', datetime(2005,4,4,8,0,0))
+ >>> cal.add_component(event)
+ >>> cal.subcomponents[0].as_string()
+- 'BEGIN:VEVENT\\r\\nDTSTART;VALUE=DATE:20050404T080000\\r\\nSUMMARY:Python meeting about calendaring\\r\\nUID:42\\r\\nEND:VEVENT\\r\\n'
++ 'BEGIN:VEVENT\\r\\nDTSTART:20050404T080000\\r\\nSUMMARY:Python meeting about calendaring\\r\\nUID:42\\r\\nEND:VEVENT\\r\\n'
+
+ Write to disc
+ >>> import tempfile, os
diff --git a/dev-python/icalendar/files/2.1_p20100409/05_all_utf8-multi-octet-fix.patch b/dev-python/icalendar/files/2.1_p20100409/05_all_utf8-multi-octet-fix.patch
new file mode 100644
index 000000000000..e0ac0cf3671e
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/05_all_utf8-multi-octet-fix.patch
@@ -0,0 +1,30 @@
+From http://codespeak.net/pipermail/icalendar-dev/2010-April/000152.html:
+
+Lines get folded in the middle of multi-octet sequences (checked out
+code from svn today). Consider this case:
+import icalendar
+ical = icalendar.Calendar()
+ical.add('summary', u'a' + u'Ä…'*100)
+ical.as_string().decode('utf-8')
+...
+UnicodeDecodeError: 'utf8' codec can't decode bytes in position 90-91:
+invalid data
+
+I have attached a diff of a simple one-line fix.
+
+As I see in the code you actually try not to split a multi-octet
+character but you don't recalculate the slice after finding the new
+end position. Could you confirm this?
+
+Submitted by Rimvydas Naktinis.
+===================================================================
+--- src/icalendar/parser.py (revision 73587)
++++ src/icalendar/parser.py (working copy)
+@@ -456,6 +456,7 @@
+ else:
+ end -= 1
+
++ slice = self[start:end]
+ new_lines.append(slice)
+ if end == l_line:
+ # Done
diff --git a/dev-python/icalendar/files/2.1_p20100409/06_all_test.py-use-set.patch b/dev-python/icalendar/files/2.1_p20100409/06_all_test.py-use-set.patch
new file mode 100644
index 000000000000..cef265e3b34d
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/06_all_test.py-use-set.patch
@@ -0,0 +1,37 @@
+--- test.py.orig 2010-04-25 09:19:36.000000000 -0400
++++ test.py 2010-04-25 09:26:23.000000000 -0400
+@@ -77,7 +77,6 @@
+ import traceback
+ import linecache
+ import pdb
+-from sets import Set
+
+ __metaclass__ = type
+
+@@ -261,7 +260,7 @@
+ """Returns a set of test case classes used in a test suite."""
+ if not isinstance(suite, unittest.TestSuite):
+ raise TypeError('not a TestSuite', suite)
+- results = Set()
++ results = set()
+ for test in suite._tests:
+ if isinstance(test, unittest.TestCase):
+ results.add(test.__class__)
+@@ -293,7 +292,7 @@
+ if test_suite is None:
+ continue
+ if cfg.warn_omitted:
+- all_classes = Set(get_all_test_cases(module))
++ all_classes = set(get_all_test_cases(module))
+ classes_in_suite = get_test_classes_from_testsuite(test_suite)
+ difference = all_classes - classes_in_suite
+ for test_class in difference:
+@@ -320,7 +319,7 @@
+ def get_test_hooks(test_files, cfg, tracer=None):
+ """Returns a list of test hooks from a given list of test modules."""
+ results = []
+- dirs = Set(map(os.path.dirname, test_files))
++ dirs = set(map(os.path.dirname, test_files))
+ for dir in list(dirs):
+ if os.path.basename(dir) == 'ftests':
+ dirs.add(os.path.join(os.path.dirname(dir), 'tests'))
diff --git a/dev-python/icalendar/files/2.1_p20100409/07_all_vGeo.from_ical-test-fix.patch b/dev-python/icalendar/files/2.1_p20100409/07_all_vGeo.from_ical-test-fix.patch
new file mode 100644
index 000000000000..0195e63da31c
--- /dev/null
+++ b/dev-python/icalendar/files/2.1_p20100409/07_all_vGeo.from_ical-test-fix.patch
@@ -0,0 +1,17 @@
+This fixes doctests with Python 2.7. With improved float handling,
+float('37.86013') == 37.86013. This seems to be the only way to
+handle this test across Python versions.
+===================================================================
+--- src/icalendar/prop.py 2010-08-03 21:19:06.000000000 -0400
++++ src/icalendar/prop.py 2010-08-03 21:20:48.000000000 -0400
+@@ -1196,8 +1196,8 @@
+ '1.2;3.0'
+
+ >>> g = vGeo.from_ical('37.386013;-122.082932')
+- >>> g
+- (37.386012999999998, -122.082932)
++ >>> g == (float('37.386013'), float('-122.082932'))
++ True
+
+ >>> vGeo(g).ical()
+ '37.386013;-122.082932'
diff --git a/dev-python/icalendar/icalendar-3.8.4.ebuild b/dev-python/icalendar/icalendar-3.8.4.ebuild
new file mode 100644
index 000000000000..d6093221cce0
--- /dev/null
+++ b/dev-python/icalendar/icalendar-3.8.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="collective-${PN}"
+
+DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+HOMEPAGE="http://github.com/collective/icalendar"
+SRC_URI="mirror://pypi/i/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE="doc test"
+DOCS="README.rst"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ if use doc; then
+ pushd docs > /dev/null
+ emake text
+ popd > /dev/null
+ DOCS=( ${DOCS} docs/_build/text/*.txt )
+ fi
+}
+
+python_test() {
+ # From tox.ini
+ coverage run --source=src/icalendar --omit=*/tests/* --module \
+ pytest src/icalendar || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/icalendar/icalendar-3.9.0.ebuild b/dev-python/icalendar/icalendar-3.9.0.ebuild
new file mode 100644
index 000000000000..7f34ffd772ff
--- /dev/null
+++ b/dev-python/icalendar/icalendar-3.9.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="collective-${PN}"
+
+DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+HOMEPAGE="http://github.com/collective/icalendar"
+SRC_URI="mirror://pypi/i/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE="doc test"
+DOCS="README.rst"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # reset conf.py to not read version from an installed instance
+ sed -e "s:pkg_resources.get_distribution('icalendar').version:'3.9.0':" \
+ -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ pushd docs > /dev/null
+ emake text
+ popd > /dev/null
+ DOCS=( ${DOCS} docs/_build/text/*.txt )
+ fi
+}
+
+python_test() {
+ # From tox.ini
+ coverage run --source=src/icalendar --omit=*/tests/* --module \
+ pytest src/icalendar || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/icalendar/metadata.xml b/dev-python/icalendar/metadata.xml
new file mode 100644
index 000000000000..4cc5905947ad
--- /dev/null
+++ b/dev-python/icalendar/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="doc">Generate examples and other extra documentation</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">icalendar</remote-id>
+ <remote-id type="github">collective/icalendar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/iconvcodec/Manifest b/dev-python/iconvcodec/Manifest
new file mode 100644
index 000000000000..b09ae49d017b
--- /dev/null
+++ b/dev-python/iconvcodec/Manifest
@@ -0,0 +1 @@
+DIST iconvcodec-1.1.2.tar.gz 17643 SHA256 89960c9192f1398fbe62e8b10e1b46e92638324522081d8aff7540e201968cb3 SHA512 e63af4166cc8199dab888d9bf59d666546bceb1f71d2ce8423c4d3c9b374e870e8a526ffe1254cded346f9bc7a0f23d23e6e9120224d45fa4755468dd0a995e5 WHIRLPOOL 643df353020aad226343105001952080408eb3e2ead1cd7de5c19565981e87fdf40f772eae1450bcf122fbad5623269538eb63b7397d345c657a16dc1a6f3a9d
diff --git a/dev-python/iconvcodec/iconvcodec-1.1.2-r1.ebuild b/dev-python/iconvcodec/iconvcodec-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..424779891137
--- /dev/null
+++ b/dev-python/iconvcodec/iconvcodec-1.1.2-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Codecs for Iconv Encodings"
+HOMEPAGE="http://cjkpython.i18n.org/"
+SRC_URI="mirror://berlios/cjkpython/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_compile() {
+ distutils-r1_src_compile --with-libc
+}
diff --git a/dev-python/iconvcodec/metadata.xml b/dev-python/iconvcodec/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/iconvcodec/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/id3-py/Manifest b/dev-python/id3-py/Manifest
new file mode 100644
index 000000000000..fc98fa3c955d
--- /dev/null
+++ b/dev-python/id3-py/Manifest
@@ -0,0 +1 @@
+DIST id3-py_1.2.tar.gz 16650 SHA256 ba612342b59a49cbf9a7eb23a646667757ffda96dc23b67245fc6cd8d90c2022 SHA512 d629a964e9008be1645815d659b45b2c1cbecc4cb5c51624adb733e0a847198848afb3959f2342df9077ce01ee1f546997639c56bfc357fa9ceec7d01da8d4fd WHIRLPOOL bbc4503ecaace0d087f3f747288b8f4ea4896889fb38695b53f1813f5b3ac258045831d522ae7b4da1d8d632a1c1dd78d01d23770a0128151f0acf96cc0a9bae
diff --git a/dev-python/id3-py/id3-py-1.2-r1.ebuild b/dev-python/id3-py/id3-py-1.2-r1.ebuild
new file mode 100644
index 000000000000..c6ff86dd32b4
--- /dev/null
+++ b/dev-python/id3-py/id3-py-1.2-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for manipulating ID3 tags in Python"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}.tar.gz"
+HOMEPAGE="http://id3-py.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
diff --git a/dev-python/id3-py/id3-py-1.2.ebuild b/dev-python/id3-py/id3-py-1.2.ebuild
new file mode 100644
index 000000000000..cc120115428e
--- /dev/null
+++ b/dev-python/id3-py/id3-py-1.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+DESCRIPTION="Module for manipulating ID3 tags in Python"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}.tar.gz"
+HOMEPAGE="http://id3-py.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DOCS="CHANGES README"
+PYTHON_MODNAME="ID3.py"
diff --git a/dev-python/id3-py/metadata.xml b/dev-python/id3-py/metadata.xml
new file mode 100644
index 000000000000..50a933a80332
--- /dev/null
+++ b/dev-python/id3-py/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">id3-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/idna/Manifest b/dev-python/idna/Manifest
new file mode 100644
index 000000000000..468f6d384d70
--- /dev/null
+++ b/dev-python/idna/Manifest
@@ -0,0 +1,2 @@
+DIST idna-1.1.tar.gz 99242 SHA256 3dab514abd255ada7994a57161750e8f054b938bf7adb8b40b96f13df54efaed SHA512 eb7a3673641827899ab9a4ba56f214e1fd3d17370d05bb04464664c2752ba7636507c3f6a64c9e24d44a1dd566842ffc86ce01351c1bfcebc3248baab786b99c WHIRLPOOL 90c1e03b23f3765749778f41ad7eac5befd5122f0552cf1616c7e4f53ae1d3f68f964753bf050956d773b720d608479830d72eb0a94d62848eab86ab4491326e
+DIST idna-2.0.tar.gz 135150 SHA256 16199aad938b290f5be1057c0e1efc6546229391c23cea61ca940c115f7d3d3b SHA512 005f88e954f13ace584ced510752da58d1cb16ebfbeee10aeef5bec57b3c61a3a5d7ce0bb50deba6dc90b412607727bf94a95a785e91d6528cd8633961c142dc WHIRLPOOL d865420f1c5f648d12480af93a52e0b2d463064c34c57ce56022f6965c2e4f6a49244e7798b9fcc18a7c6517b98e88bf84dc52e0050abe2ce504365b5579d2b6
diff --git a/dev-python/idna/idna-1.1.ebuild b/dev-python/idna/idna-1.1.ebuild
new file mode 100644
index 000000000000..583c5446adf8
--- /dev/null
+++ b/dev-python/idna/idna-1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
+HOMEPAGE="https://github.com/kjd/idna"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/idna/idna-2.0.ebuild b/dev-python/idna/idna-2.0.ebuild
new file mode 100644
index 000000000000..52c85f14ce76
--- /dev/null
+++ b/dev-python/idna/idna-2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
+HOMEPAGE="https://github.com/kjd/idna"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/idna/metadata.xml b/dev-python/idna/metadata.xml
new file mode 100644
index 000000000000..26e53561ceca
--- /dev/null
+++ b/dev-python/idna/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">idna</remote-id>
+ <remote-id type="github">kjd/idna</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
new file mode 100644
index 000000000000..dfa4c60ac55a
--- /dev/null
+++ b/dev-python/ijson/Manifest
@@ -0,0 +1,4 @@
+DIST ijson-1.1.tar.gz 8415 SHA256 33d10eac83d6dd757e2861b4ce06b3467a828481d608017af3d0caeb023ba32a SHA512 aebb3e46688b785a18366230b9f94c1b36d44f0764d8603b7ae50a2426b53eddad883c5d1fbda8f52d655d789880f1a7329bc6d1383ed963e9835d7ec40bdfdf WHIRLPOOL 3921e6fa8f0f8a1b17aa234cdcdcf3fc0d3bb97fce78803b84502ac762f5526cc526ee5fc48d65ecf4e88cde90be71414ef4912bf95781070e5266b7b3809f7b
+DIST ijson-2.0.tar.gz 9560 SHA256 85bfc06b2bb492f205bc5dd9531ff0e64d2e18e03e64665934715d58331c1dd8 SHA512 8ea8b89766d3e3ccc3f0bf348ba9068cd80f24aa7648e7bfd2272e701430445f2ab81744280dce8dde9e18dd0582f0fde784aae61493479b4f5a44a5175d7fc7 WHIRLPOOL 495e023bc79b5ffe55e50975af3c6fb65993156b2a9a32e1b98b1891fc8235c739d854baf511625fba5b1806fcbef8944809e3de13e7feaaedfeb8489c6d7fe3
+DIST ijson-2.1.tar.gz 9859 SHA256 bc69a512399db0469f5faabe34f9f7ce21964d1993c6a6720cc4cea911fb8a45 SHA512 67773540c1d7df6aaaf22b064d0ea7660c8b69b4371a15ec9f46228f1ebbe604aa29b1d93821f62928b41841ecd411419d39c636aae7dddacffd2b8d881d865e WHIRLPOOL ede0bb85abad4023d06eeb036249ffeb2aaafb95774da9a280cb765e2ac0c5e40dfa3ca80a0f043616884391da97d95847ff727e4593ecc9c3db045606c1567b
+DIST ijson-2.2.tar.gz 10282 SHA256 58aeeeda35c9d72061a34861ca7ff7b214e701e413b65f8e9ec06589c4aa2d30 SHA512 bcfc3571ccf6b011e745a2bf84b50ba3793e999cbebb0a2d377d56fa68d5068ecf549457fd14de6849059bc909f2493d6def41c1df581e1283e2826eb1b789b4 WHIRLPOOL 72c0210500f64ec39dfffb9c6aa5f7dcb2b969981bf908af55c554666687694bf0f68912281acdb019cc1beace31ea646c3aaf6bb34330d877ac3d1d1e83aa5f
diff --git a/dev-python/ijson/ijson-1.1.ebuild b/dev-python/ijson/ijson-1.1.ebuild
new file mode 100644
index 000000000000..9f1b05b7c0e9
--- /dev/null
+++ b/dev-python/ijson/ijson-1.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="https://github.com/isagalaev/ijson http://pypi.python.org/pypi/ijson/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-libs/yajl"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/ijson/ijson-2.0.ebuild b/dev-python/ijson/ijson-2.0.ebuild
new file mode 100644
index 000000000000..9a20a775ad3a
--- /dev/null
+++ b/dev-python/ijson/ijson-2.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="https://github.com/isagalaev/ijson http://pypi.python.org/pypi/ijson/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-libs/yajl"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ijson/ijson-2.1.ebuild b/dev-python/ijson/ijson-2.1.ebuild
new file mode 100644
index 000000000000..2a133942b253
--- /dev/null
+++ b/dev-python/ijson/ijson-2.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="https://github.com/isagalaev/ijson http://pypi.python.org/pypi/ijson/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-libs/yajl"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ijson/ijson-2.2.ebuild b/dev-python/ijson/ijson-2.2.ebuild
new file mode 100644
index 000000000000..03204571e259
--- /dev/null
+++ b/dev-python/ijson/ijson-2.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="https://github.com/isagalaev/ijson http://pypi.python.org/pypi/ijson/"
+SRC_URI="https://github.com/isagalaev/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-libs/yajl"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${EPYTHON} tests.py || die
+}
diff --git a/dev-python/ijson/metadata.xml b/dev-python/ijson/metadata.xml
new file mode 100644
index 000000000000..be2e905889cf
--- /dev/null
+++ b/dev-python/ijson/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ijson</remote-id>
+ <remote-id type="github">isagalaev/ijson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/imaging/Manifest b/dev-python/imaging/Manifest
new file mode 100644
index 000000000000..68b418ae3f9f
--- /dev/null
+++ b/dev-python/imaging/Manifest
@@ -0,0 +1 @@
+DIST Imaging-1.1.7.tar.gz 498749 SHA256 895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211 SHA512 fec2d39b4db3cb33cd7e7895aba4c3a8a5d4cff28decb9106c88e392cb848edf5593fcd77d11994bb16321837fdb26958787dac2c86d6f7c09996f466bac11f1 WHIRLPOOL e610b4097723f77de4c495537c64741ee4bd996f89d12e2e7853fb8f09028d02fa46920a86827f263eb6324a9063d2321ff865c80b7f8482b19f8143500575e8
diff --git a/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch b/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch
new file mode 100644
index 000000000000..7733a489038b
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-dont-run-multiple-viewers.patch
@@ -0,0 +1,10 @@
+--- PIL/ImageShow.py.old 2011-01-29 14:09:12.000000000 -0200
++++ PIL/ImageShow.py 2011-01-29 14:09:28.000000000 -0200
+@@ -63,7 +63,7 @@
+ if base != image.mode and image.mode != "1":
+ image = image.convert(base)
+
+- self.show_image(image, **options)
++ return self.show_image(image, **options)
+
+ # hook methods
diff --git a/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch b/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch
new file mode 100644
index 000000000000..cdc068390387
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-ft-header-include.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/508748
+
+fix building w/freetype-2.5.3
+
+patch by Jungshik Shin <jshin@chromium.org>
+
+--- Imaging-1.1.7/_imagingft.c
++++ Imaging-1.1.7/_imagingft.c
+@@ -70,7 +70,11 @@
+ const char* message;
+ } ft_errors[] =
+
++#if defined(USE_FREETYPE_2_1)
++#include FT_ERRORS_H
++#else
+ #include <freetype/fterrors.h>
++#endif
+
+ /* -------------------------------------------------------------------- */
+ /* font objects */
diff --git a/dev-python/imaging/files/imaging-1.1.7-giftrans.patch b/dev-python/imaging/files/imaging-1.1.7-giftrans.patch
new file mode 100644
index 000000000000..1a109d28eee0
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-giftrans.patch
@@ -0,0 +1,14 @@
+--- Imaging-1.1.6.orig/PIL/GifImagePlugin.py 2006-12-03 11:37:15.000000000 +0000
++++ Imaging-1.1.6/PIL/GifImagePlugin.py 2008-10-02 14:51:43.000000000 +0100
+@@ -352,6 +352,11 @@
+ for i in range(maxcolor):
+ s.append(chr(i) * 3)
+
++ if im.info.has_key('transparency'):
++ transparentIndex = im.info['transparency']
++ s.append('!' + chr(0xf9) + chr(4) + chr(1) + chr(0) + chr(0) +
++ chr(transparentIndex) + chr(0))
++
+ return s
+
+ def getdata(im, offset = (0, 0), **params):
diff --git a/dev-python/imaging/files/imaging-1.1.7-missing-math.patch b/dev-python/imaging/files/imaging-1.1.7-missing-math.patch
new file mode 100644
index 000000000000..f4d6167eeccc
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-missing-math.patch
@@ -0,0 +1,20 @@
+--- setup.py.old 2009-07-03 11:34:59.141671252 +0200
++++ setup.py 2009-07-03 11:51:54.415666711 +0200
+@@ -281,6 +281,8 @@ class pil_build_ext(build_ext):
+ if struct.unpack("h", "\0\1")[0] == 1:
+ defs.append(("WORDS_BIGENDIAN", None))
+
++ libs.append("m")
++
+ exts = [(Extension(
+ "_imaging", files, libraries=libs, define_macros=defs
+ ))]
+@@ -332,7 +334,7 @@ class pil_build_ext(build_ext):
+ ))
+
+ if os.path.isfile("_imagingmath.c"):
+- exts.append(Extension("_imagingmath", ["_imagingmath.c"]))
++ exts.append(Extension("_imagingmath", ["_imagingmath.c"], libraries=["m"]))
+
+ self.extensions[:] = exts
+
diff --git a/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch b/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch
new file mode 100644
index 000000000000..a84c032450cf
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-no-host-paths.patch
@@ -0,0 +1,29 @@
+do not poke around /usr/include and /usr/lib directly as it's (1) not needed
+and (2) breaks cross-compiling
+
+patch from Chromium OS
+
+--- a/setup.py
++++ b/setup.py
+@@ -147,7 +147,6 @@ class pil_build_ext(build_ext):
+ add_directory(library_dirs, "/opt/local/lib")
+ add_directory(include_dirs, "/opt/local/include")
+
+- add_directory(library_dirs, "/usr/local/lib")
+ # FIXME: check /opt/stuff directories here?
+
+ prefix = sysconfig.get_config_var("prefix")
+@@ -207,13 +206,6 @@ class pil_build_ext(build_ext):
+ if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
+ add_directory(include_dirs, tcl_dir)
+
+- # standard locations
+- add_directory(library_dirs, "/usr/local/lib")
+- add_directory(include_dirs, "/usr/local/include")
+-
+- add_directory(library_dirs, "/usr/lib")
+- add_directory(include_dirs, "/usr/include")
+-
+ #
+ # insert new dirs *before* default libs, to avoid conflicts
+ # between Python PYD stub libs and real libraries
diff --git a/dev-python/imaging/files/imaging-1.1.7-no-xv.patch b/dev-python/imaging/files/imaging-1.1.7-no-xv.patch
new file mode 100644
index 000000000000..1cbaf515bd4a
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-no-xv.patch
@@ -0,0 +1,18 @@
+--- PIL/ImageShow.py.old 2009-11-30 10:28:37.000000000 +0100
++++ PIL/ImageShow.py 2009-11-30 10:29:02.000000000 +0100
+@@ -149,13 +149,10 @@
+ def get_command_ex(self, file, title=None, **options):
+ # note: xv is pretty outdated. most modern systems have
+ # imagemagick's display command instead.
+- command = executable = "xv"
+- if title:
+- # FIXME: do full escaping
+- command = command + " -name \"%s\"" % title
++ command = executable = "xdg-open"
+ return command, executable
+
+- if which("xv"):
++ if which("xdg-open"):
+ register(XVViewer)
+
+ if __name__ == "__main__":
diff --git a/dev-python/imaging/files/imaging-1.1.7-nolcms.patch b/dev-python/imaging/files/imaging-1.1.7-nolcms.patch
new file mode 100644
index 000000000000..e087cd301dd5
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-nolcms.patch
@@ -0,0 +1,13 @@
+--- setup.py.orig
++++ setup.py 2011-09-04
+@@ -264,10 +264,6 @@
+ if dir:
+ add_directory(self.compiler.include_dirs, dir, 0)
+
+- if find_include_file(self, "lcms.h"):
+- if find_library_file(self, "lcms"):
+- feature.lcms = "lcms"
+-
+ if _tkinter and find_include_file(self, "tk.h"):
+ # the library names may vary somewhat (e.g. tcl84 or tcl8.4)
+ version = TCL_VERSION[0] + TCL_VERSION[2]
diff --git a/dev-python/imaging/files/imaging-1.1.7-sane.patch b/dev-python/imaging/files/imaging-1.1.7-sane.patch
new file mode 100644
index 000000000000..4970e50033a4
--- /dev/null
+++ b/dev-python/imaging/files/imaging-1.1.7-sane.patch
@@ -0,0 +1,13 @@
+--- Imaging-1.1.6/Sane/_sane.c.orig 2006-12-03 13:12:22.000000000 +0100
++++ Imaging-1.1.6/Sane/_sane.c 2009-02-28 11:41:19.000000000 +0200
+@@ -1152,8 +1152,8 @@
+ static PyObject *
+ PySane_get_devices(PyObject *self, PyObject *args)
+ {
+- SANE_Device **devlist;
+- SANE_Device *dev;
++ const SANE_Device **devlist;
++ const SANE_Device *dev;
+ SANE_Status st;
+ PyObject *list;
+ int local_only, i;
diff --git a/dev-python/imaging/imaging-1.1.7-r5.ebuild b/dev-python/imaging/imaging-1.1.7-r5.ebuild
new file mode 100644
index 000000000000..c5124b797889
--- /dev/null
+++ b/dev-python/imaging/imaging-1.1.7-r5.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1
+
+MY_P=Imaging-${PV}
+
+DESCRIPTION="Python Imaging Library (PIL)"
+HOMEPAGE="http://www.pythonware.com/products/pil/index.htm"
+SRC_URI="http://www.effbot.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg scanner test tiff tk truetype zlib"
+
+RDEPEND="
+ truetype? ( media-libs/freetype:2 )
+ jpeg? ( virtual/jpeg )
+ scanner? ( media-gfx/sane-backends )
+ tiff? ( media-libs/tiff )
+ zlib? ( sys-libs/zlib )
+ !dev-python/pillow"
+DEPEND="${RDEPEND}"
+RDEPEND+=" !dev-python/pillow"
+
+# Tests don't handle missing jpeg, tiff & zlib properly.
+REQUIRED_USE="test? ( jpeg tiff zlib )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-no-xv.patch"
+ "${FILESDIR}/${P}-sane.patch"
+ "${FILESDIR}/${P}-giftrans.patch"
+ "${FILESDIR}/${P}-missing-math.patch"
+ "${FILESDIR}/${P}-ft-header-include.patch"
+ "${FILESDIR}/${P}-dont-run-multiple-viewers.patch"
+ "${FILESDIR}/${P}-no-host-paths.patch"
+ )
+
+ # Add shebangs.
+ sed -e "1i#!/usr/bin/env python" -i Scripts/*.py || die
+
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg tiff tk zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+ sed -i -e "s:feature.lcms =:& None #:" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+# XXX: split into two ebuilds?
+wrap_phase() {
+ "${@}"
+
+ if use scanner; then
+ cd Sane || die
+ "${@}"
+ fi
+}
+
+python_compile() {
+ wrap_phase distutils-r1_python_compile
+}
+
+python_test() {
+ "${PYTHON}" selftest.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ wrap_phase distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+
+ if use scanner; then
+ docinto sane
+ dodoc Sane/{CHANGES,README,sanedoc.txt}
+ fi
+
+ if use examples && use scanner; then
+ docinto examples/sane
+ dodoc Sane/demo_*.py
+ docompress -x /usr/share/${PF}/examples
+ fi
+}
diff --git a/dev-python/imaging/metadata.xml b/dev-python/imaging/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/imaging/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/imapclient/Manifest b/dev-python/imapclient/Manifest
new file mode 100644
index 000000000000..024dfc8f1644
--- /dev/null
+++ b/dev-python/imapclient/Manifest
@@ -0,0 +1,2 @@
+DIST IMAPClient-0.12.tar.gz 100698 SHA256 037ff008f1454287c1ed8684e1cf40b2ced382a875c5157dce380562f3566e15 SHA512 bd7d3e3911ff5ef1cc4a66f20e261955851562e76228f941d35f16a4680678be6a3741d520cc3133925a2dba9e8b6b5b988d7a740ff8abb63c14db1cf962acda WHIRLPOOL 134bf4db98806dbaf98bd780b92b8be2a2dbbcfec1ae83320f52a83bf0952f139bebd99d686d212830d25c08886217062577576a76205af54085628b03d7dbeb
+DIST IMAPClient-0.13.tar.gz 102427 SHA256 3a0e9a3c790722aa4882982090e68546c7f9352eb535026b06cead965968f36c SHA512 daebaf7f4180b6c9c6f4a486b313abfdd06f3ed8ece18a19bf46a50e56c2094e85de8a8e4efb8850566378eba016c10816611d03852caf637ee1d43f3c8a418f WHIRLPOOL b29ae9ea83ea4e736202af263215132028da47dfb4e9ee220b37e35eb2649cb85cc46bdabf6b06c5edb5f5173b8b942cb73293c0ae22c5efb1397c7bb65cfde9
diff --git a/dev-python/imapclient/files/0.12-tests.patch b/dev-python/imapclient/files/0.12-tests.patch
new file mode 100644
index 000000000000..0bd0d001e6e1
--- /dev/null
+++ b/dev-python/imapclient/files/0.12-tests.patch
@@ -0,0 +1,36 @@
+diff -ur IMAPClient-0.12.orig/imapclient/test/test_imapclient.py IMAPClient-0.12/imapclient/test/test_imapclient.py
+--- imapclient/test/test_imapclient.py 2015-01-12 19:36:18.000000000 +0800
++++ imapclient/test/test_imapclient.py 2015-01-17 08:42:46.669121934 +0800
+@@ -10,7 +10,7 @@
+ from datetime import datetime
+ from mock import patch, sentinel, Mock
+
+-from imapclient import six
++import six
+ from imapclient.fixed_offset import FixedOffset
+ from .testable_imapclient import TestableIMAPClient as IMAPClient
+ from .imapclient_test import IMAPClientTest
+diff -ur IMAPClient-0.12.orig/imapclient/test/test_imap_utf7.py IMAPClient-0.12/imapclient/test/test_imap_utf7.py
+--- imapclient/test/test_imap_utf7.py 2015-01-12 19:36:18.000000000 +0800
++++ imapclient/test/test_imap_utf7.py 2015-01-17 08:43:23.893392410 +0800
+@@ -4,7 +4,7 @@
+
+ from __future__ import unicode_literals
+
+-from imapclient.six import text_type, binary_type, int2byte, unichr
++from six import text_type, binary_type, int2byte, unichr
+ from imapclient.imap_utf7 import decode, encode
+ from imapclient.test.util import unittest
+
+diff -ur IMAPClient-0.12.orig/imapclient/test/test_response_lexer.py IMAPClient-0.12/imapclient/test/test_response_lexer.py
+--- imapclient/test/test_response_lexer.py 2015-01-12 19:36:18.000000000 +0800
++++ imapclient/test/test_response_lexer.py 2015-01-17 08:42:14.749747748 +0800
+@@ -5,7 +5,7 @@
+ from __future__ import unicode_literals
+
+ from imapclient.response_lexer import TokenSource
+-from imapclient.six import next
++from six import next
+ from imapclient.test.util import unittest
+
+
diff --git a/dev-python/imapclient/imapclient-0.12.ebuild b/dev-python/imapclient/imapclient-0.12.ebuild
new file mode 100644
index 000000000000..26390b0d019e
--- /dev/null
+++ b/dev-python/imapclient/imapclient-0.12.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="IMAPClient"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
+HOMEPAGE="http://imapclient.freshfoo.com/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy) )"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ # use system setuptools
+ sed -i '/use_setuptools/d' setup.py || die
+
+ # drop explicit mock version test dep
+ sed -i "/tests_require/s:'mock==.\+':'mock':" setup.py || die
+
+ # use system six library. patch proven less preferable to use of sed (< maintenance)
+ # but a copy of the working hunks from prior version works fine for now.
+ rm imapclient/six.py || die
+ epatch "${FILESDIR}"/0.12-tests.patch
+ sed -e 's:from .six:from six:g' \
+ -e 's:from . import six:import six:g' \
+ -i ${PN}/*.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # don't install examples and tests in module dir
+ rm -r "${D}"$(python_get_sitedir)/imapclient/{examples,test} || die
+}
+
+python_install_all() {
+# local DOCS=( AUTHORS HACKING.rst NEWS.rst README.rst THANKS )
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+ use examples && dodoc -r ${PN}/examples
+}
diff --git a/dev-python/imapclient/imapclient-0.13.ebuild b/dev-python/imapclient/imapclient-0.13.ebuild
new file mode 100644
index 000000000000..09abfd0c76dd
--- /dev/null
+++ b/dev-python/imapclient/imapclient-0.13.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="IMAPClient"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
+HOMEPAGE="http://imapclient.freshfoo.com/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy) )"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ # use system setuptools
+ sed -i '/use_setuptools/d' setup.py || die
+
+ # drop explicit mock version test dep
+ sed -i "/tests_require/s:'mock==.\+':'mock':" setup.py || die
+
+ # use system six library. patch proven less preferable to use of sed (< maintenance)
+ # but a copy of the working hunks from prior version works fine for now.
+ rm imapclient/six.py || die
+ epatch "${FILESDIR}"/0.12-tests.patch
+ sed -e 's:from .six:from six:g' \
+ -e 's:from . import six:import six:g' \
+ -i ${PN}/*.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # don't install examples and tests in module dir
+ rm -r "${D}"$(python_get_sitedir)/imapclient/{examples,test} || die
+}
+
+python_install_all() {
+# local DOCS=( AUTHORS HACKING.rst NEWS.rst README.rst THANKS )
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+ use examples && dodoc -r ${PN}/examples
+}
diff --git a/dev-python/imapclient/metadata.xml b/dev-python/imapclient/metadata.xml
new file mode 100644
index 000000000000..4c44ce85c8de
--- /dev/null
+++ b/dev-python/imapclient/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">IMAPClient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/imdbpy/Manifest b/dev-python/imdbpy/Manifest
new file mode 100644
index 000000000000..49be0a824901
--- /dev/null
+++ b/dev-python/imdbpy/Manifest
@@ -0,0 +1,2 @@
+DIST IMDbPY-4.9.tar.gz 307726 SHA256 01e90dce4fe19aeca99c9d3eb14052769467b177e3fb8acc240f9c51c5f477d2 SHA512 1f46ea504e7ca61b0e8ba85bd2bfd88ef2ddc87f085d70336773d840401b03d6a8b807544ee665f4211ca093dc23dbc69619b5c04cab0b5024e73105179be8f4 WHIRLPOOL bb289000fe267124dfa1ee331a0c48722c5799b241d281e39483e73a8650804596d37922d516ad92ca2ca4ef140ff59d80bda99fbd2cbbd67e9bbe8222bbabb6
+DIST IMDbPY-5.0.tar.gz 367238 SHA256 3224a8896847cddb8d049a587852c66f0f33f36c89311ae9a89ff87ed51fc243 SHA512 924b9c9b7055c75abb1c48867ba9ccef3c5259c748a6f21e8344616da9ea58d5ae58a2f12a78dc61fea7c008956994687fdcf7ecd59f5f4e82daea62890086d4 WHIRLPOOL 5cae4a26734c10c3c21bc2f1be4fa5efca8e82a2cf78249c359f7e3c8bb8e12f1fefc535796f98d5b23b6c3174e11ac40f8e56749c93c859c7f63e052af6402f
diff --git a/dev-python/imdbpy/files/imdbpy-4.6-data_location.patch b/dev-python/imdbpy/files/imdbpy-4.6-data_location.patch
new file mode 100644
index 000000000000..90dc467170eb
--- /dev/null
+++ b/dev-python/imdbpy/files/imdbpy-4.6-data_location.patch
@@ -0,0 +1,11 @@
+--- setup.py
++++ setup.py
+@@ -70,7 +70,7 @@
+
+ # XXX: I'm not sure that 'etc' is a good idea. Making it an absolute
+ # path seems a recipe for a disaster (with bdist_egg, at least).
+-data_files = [('doc', setuptools.findall('docs')), ('etc', ['docs/imdbpy.cfg'])]
++data_files = [('/etc', ['docs/imdbpy.cfg'])]
+
+
+ # Defining these 'features', it's possible to run commands like:
diff --git a/dev-python/imdbpy/imdbpy-4.9-r1.ebuild b/dev-python/imdbpy/imdbpy-4.9-r1.ebuild
new file mode 100644
index 000000000000..3f61d264cc6c
--- /dev/null
+++ b/dev-python/imdbpy/imdbpy-4.9-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="IMDbPY"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python package to access the IMDb movie database"
+HOMEPAGE="http://imdbpy.sourceforge.net/ http://pypi.python.org/pypi/IMDbPY"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DOCS=( docs/FAQS.txt docs/imdbpy48.dtd docs/imdbpy.cfg )
+
+PATCHES=( "${FILESDIR}/${PN}-4.6-data_location.patch" )
+
+src_configure() {
+ distutils-r1_src_configure --without-cutils
+}
+
+python_install_all() {
+ local doc
+ for doc in docs/README*
+ do
+ DOCS=( "${DOCS[@]}" $doc )
+ done
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/imdbpy/imdbpy-5.0.ebuild b/dev-python/imdbpy/imdbpy-5.0.ebuild
new file mode 100644
index 000000000000..3f61d264cc6c
--- /dev/null
+++ b/dev-python/imdbpy/imdbpy-5.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="IMDbPY"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python package to access the IMDb movie database"
+HOMEPAGE="http://imdbpy.sourceforge.net/ http://pypi.python.org/pypi/IMDbPY"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DOCS=( docs/FAQS.txt docs/imdbpy48.dtd docs/imdbpy.cfg )
+
+PATCHES=( "${FILESDIR}/${PN}-4.6-data_location.patch" )
+
+src_configure() {
+ distutils-r1_src_configure --without-cutils
+}
+
+python_install_all() {
+ local doc
+ for doc in docs/README*
+ do
+ DOCS=( "${DOCS[@]}" $doc )
+ done
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/imdbpy/metadata.xml b/dev-python/imdbpy/metadata.xml
new file mode 100644
index 000000000000..7cd64fc49e98
--- /dev/null
+++ b/dev-python/imdbpy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mythtv</herd>
+ <upstream>
+ <remote-id type="pypi">IMDbPY</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/importing/Manifest b/dev-python/importing/Manifest
new file mode 100644
index 000000000000..312b15998586
--- /dev/null
+++ b/dev-python/importing/Manifest
@@ -0,0 +1 @@
+DIST importing-1.10.zip 17138 SHA256 e61348d8d37b20b69c887ded5378ca99f2588e177133a06607130e6a5515062f SHA512 628f4c119c8d0cf558580887fe30683223dcc439ca7ad5f7fa442d87452f3aa7b2f8ad200634c70a969dfdef7ef5938fd51fd36044d311296a8df73b5f2851cc WHIRLPOOL afcd84da66bc9292c8b8657dc72ba2693928b515607ea1ec3843c9411aaed3c7f50ad484f532ceff64eca38136d71b28b04ab991df63277f4e9edbd12bfc9156
diff --git a/dev-python/importing/importing-1.10.ebuild b/dev-python/importing/importing-1.10.ebuild
new file mode 100644
index 000000000000..9b21430271c1
--- /dev/null
+++ b/dev-python/importing/importing-1.10.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="Importing"
+
+DESCRIPTION="Import objects dynamically, lazily, "weakly", and more"
+HOMEPAGE=" http://peak.telecommunity.com/DevCenter/Importing"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip -> ${P}.zip"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="ZPL"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
diff --git a/dev-python/importing/metadata.xml b/dev-python/importing/metadata.xml
new file mode 100644
index 000000000000..16ed310e6320
--- /dev/null
+++ b/dev-python/importing/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Importing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/iniparse/Manifest b/dev-python/iniparse/Manifest
new file mode 100644
index 000000000000..8a37f275f5f5
--- /dev/null
+++ b/dev-python/iniparse/Manifest
@@ -0,0 +1 @@
+DIST iniparse-0.4.tar.gz 31278 SHA256 abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054 SHA512 d59eae7c1ce474c89eddb0b0cbff5973444571728aa0c6ce5b3632984353415f7eec4de63cf007c276df0d1bb914b2ea5dd0acc00f3a261285c8e2e9883fbe9a WHIRLPOOL 08c81ccaeb18e84f479c1ec851218b3d9466807126ca91d06a906fc36ab13e675939b41f78404200114de14e11ebae402caf7994138090ea247102b2ce6953c5
diff --git a/dev-python/iniparse/iniparse-0.4-r1.ebuild b/dev-python/iniparse/iniparse-0.4-r1.ebuild
new file mode 100644
index 000000000000..d1162adc2cd1
--- /dev/null
+++ b/dev-python/iniparse/iniparse-0.4-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Better INI parser for Python"
+HOMEPAGE="http://code.google.com/p/iniparse http://pypi.python.org/pypi/iniparse"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" runtests.py || die
+}
diff --git a/dev-python/iniparse/metadata.xml b/dev-python/iniparse/metadata.xml
new file mode 100644
index 000000000000..4927106fb500
--- /dev/null
+++ b/dev-python/iniparse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">iniparse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/inotifyx/Manifest b/dev-python/inotifyx/Manifest
new file mode 100644
index 000000000000..7d380a2957cc
--- /dev/null
+++ b/dev-python/inotifyx/Manifest
@@ -0,0 +1,2 @@
+DIST inotifyx-0.2.0.tar.gz 11302 SHA256 1a1769816324a1ccb766ecd7f336cf07b8bc498477d83cbb0e6dcea69c1dd60b SHA512 6b1230d16c47bd77256259a40051ab48963fe9de96f0242fc0e34d467ae012708d9b43e149ef29acc43cefe8dc02cc7fdbe11572ea4515a9c3456c73a6d27723 WHIRLPOOL f293ed382a540ef43b44c3a09992a39d31f9f7f086be1ee04a3f570519116ca44a9c4cc2789a42d092f32f9b3967958d108b3bb4d80858adc7d686d1ec8072e1
+DIST inotifyx-0.2.2.tar.gz 11831 SHA256 bad6a84df2a110f282d398dff112b1d3c838a6d50907305121a9af590d185fab SHA512 a00a947da2bd31d9b867f21666aceed48b0bf9be6b1b3643676450ed68bd71400601e57e004bcd45e93274cabf933694887797f3a4e334ce6924236763112c56 WHIRLPOOL 806c83a69141d901f3df443739bc3a5dfc6d5f66dc45fc4c8c6780e1267aa709f0c3bbdb775caa332bdcd954b262523fcd3b8bf2867e408382175f806925dfeb
diff --git a/dev-python/inotifyx/inotifyx-0.2.0-r1.ebuild b/dev-python/inotifyx/inotifyx-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..e57c28f4453e
--- /dev/null
+++ b/dev-python/inotifyx/inotifyx-0.2.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the Linux inotify file system event monitoring API"
+HOMEPAGE="http://www.alittletooquiet.net/software/inotifyx/"
+SRC_URI="http://launchpad.net/inotifyx/dev/v${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ use test && DISTUTILS_NO_PARALLEL_BUILD=1
+}
+
+python_test() {
+ "${PYTHON}" setup.py build -b "build-${EPYTHON}" test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/inotifyx/inotifyx-0.2.2.ebuild b/dev-python/inotifyx/inotifyx-0.2.2.ebuild
new file mode 100644
index 000000000000..e57c28f4453e
--- /dev/null
+++ b/dev-python/inotifyx/inotifyx-0.2.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the Linux inotify file system event monitoring API"
+HOMEPAGE="http://www.alittletooquiet.net/software/inotifyx/"
+SRC_URI="http://launchpad.net/inotifyx/dev/v${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ use test && DISTUTILS_NO_PARALLEL_BUILD=1
+}
+
+python_test() {
+ "${PYTHON}" setup.py build -b "build-${EPYTHON}" test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/inotifyx/metadata.xml b/dev-python/inotifyx/metadata.xml
new file mode 100644
index 000000000000..fe3c88bfac68
--- /dev/null
+++ b/dev-python/inotifyx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">inotifyx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/into/Manifest b/dev-python/into/Manifest
new file mode 100644
index 000000000000..26deb47453e6
--- /dev/null
+++ b/dev-python/into/Manifest
@@ -0,0 +1,3 @@
+DIST into-0.1.3.tar.gz 31161 SHA256 a92642e2a7372b477488c9d92c3e4d03b5412908dd291dd85020a7eb97c49d44 SHA512 a201ab8b2b2e4d2455232edde35bdbbdbf8432152ec6f7084300af7ee8960d476c00326342c0a658b0a8873a3a0ee025cf24b87b4ae45fa4f1d94db7a5a374ef WHIRLPOOL 894b9045917c06c5540c248415f0b4ae1cd2e86d979417f23589a0b41ecc726f5a55d54b9bcc1808370344b6be31c277efaeec5c2c13bc8e3e960ac38345aa17
+DIST into-0.2.1.tar.gz 75510 SHA256 bf4a8d7c4141984ba5db201e076d5ecfdb3a32c0f8ca311d4f49b030fcb04a2f SHA512 3df1a55f2a8881c1d952baeb5484d93245085bff02a38266b9ca478ade8cce23c0b16b6be690ada7e279f0f22ea9adf934a0105cbea2ce4d243e03fc73cc1c9e WHIRLPOOL a5e5dd5845e2dd741165fd484b4314c05539a95b76f840e8b71acb3c42aaaf8e2a01a34ca6881a79cc6db5b2b19b2c8413489469a8af2fee188841f2e0a3a474
+DIST into-0.2.2.tar.gz 85008 SHA256 8a6d5595625a1c2de0732ba4448c554b707a8259b477c9b0b7bb94a1f1ca887b SHA512 0dc43e55dcbb6264c226c1b4d893b07fee9e90304e293953b26764d90ba211ed65eddad68c7fe4f2eebe7b57595bbd12131665394ce4f339da0cf77337ed16e2 WHIRLPOOL 49da50cc994788037ac4edd5f5c44802a2263f30184bfe4d64810395efa97283e1741ef879e9b883a0b02ed2732eb280448d339f55cafa501706fd8b2f2afdfa
diff --git a/dev-python/into/into-0.1.3.ebuild b/dev-python/into/into-0.1.3.ebuild
new file mode 100644
index 000000000000..5eb180a7b716
--- /dev/null
+++ b/dev-python/into/into-0.1.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data migration utilities"
+HOMEPAGE="https://pypi.python.org/pypi/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="!media-libs/urt" # Bug #552448
diff --git a/dev-python/into/into-0.2.1.ebuild b/dev-python/into/into-0.2.1.ebuild
new file mode 100644
index 000000000000..a6c987090a87
--- /dev/null
+++ b/dev-python/into/into-0.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data migration utilities"
+HOMEPAGE="https://pypi.python.org/pypi/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/datashape[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ !media-libs/urt" # Bug #552448
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/into/into-0.2.2.ebuild b/dev-python/into/into-0.2.2.ebuild
new file mode 100644
index 000000000000..a6c987090a87
--- /dev/null
+++ b/dev-python/into/into-0.2.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data migration utilities"
+HOMEPAGE="https://pypi.python.org/pypi/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/datashape[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ dev-python/multipledispatch[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ !media-libs/urt" # Bug #552448
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/into/metadata.xml b/dev-python/into/metadata.xml
new file mode 100644
index 000000000000..756e541deb1d
--- /dev/null
+++ b/dev-python/into/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">into</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ioflo/Manifest b/dev-python/ioflo/Manifest
new file mode 100644
index 000000000000..f518dc026021
--- /dev/null
+++ b/dev-python/ioflo/Manifest
@@ -0,0 +1,2 @@
+DIST ioflo-1.0.2.tar.gz 665695 SHA256 e675a41089cdfd06c3186fd05148065bba91008a69837ea052f01069be2ba17f SHA512 219c319c5d1fef324632c8ac6e07d5a9fa2cfccf6024f38e298b7d4f04814528c7a613b24092d373369a8c4795b6b8954e1abb95556eed2d4fcb8f02720dad78 WHIRLPOOL 2f21817c39c8e6a3f3c8fa1d349c5e8196f47471d60b76e192ae4e24192325e8e6aedc599070b7ec4cd6066c2fb2049dc010072da4b3f196a546437164067d04
+DIST ioflo-1.2.1.tar.gz 678212 SHA256 926b8f426931e6c37c8ebf9709e5ae9031eca6aaab3de58ceb75ac20ac116125 SHA512 ee33dc44a61b53c5197cebf4d34801ad70a5d485f96054ae601904770454e1444a12b4876d44ae92cebe4aa178c877c303fb094ecb97fbce9ad255b72e85bf51 WHIRLPOOL a43dc33ff60e5ecbc1785ec51ebc7f6535446e11467709a4ff0bb328028b1a1e0df5753d3d0151dd4144c3dfae54d90bb0044f044c4d1ec6968efed5814e6fe7
diff --git a/dev-python/ioflo/ioflo-1.0.2.ebuild b/dev-python/ioflo/ioflo-1.0.2.ebuild
new file mode 100644
index 000000000000..74d511ae9016
--- /dev/null
+++ b/dev-python/ioflo/ioflo-1.0.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Automated Reasoning Engine and Flow Based Programming Framework"
+HOMEPAGE="https://github.com/ioflo/ioflo/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ pushd ${PN}/app/test || die "could not find tests"
+ ${EPYTHON} testStart.py || die "tests failed"
+ popd
+}
diff --git a/dev-python/ioflo/ioflo-1.2.1.ebuild b/dev-python/ioflo/ioflo-1.2.1.ebuild
new file mode 100644
index 000000000000..6e0acff3a5f5
--- /dev/null
+++ b/dev-python/ioflo/ioflo-1.2.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Automated Reasoning Engine and Flow Based Programming Framework"
+HOMEPAGE="https://github.com/ioflo/ioflo/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${EPYTHON} -c "from ioflo import test; test.run()"
+}
diff --git a/dev-python/ioflo/metadata.xml b/dev-python/ioflo/metadata.xml
new file mode 100644
index 000000000000..17e8d2634f2e
--- /dev/null
+++ b/dev-python/ioflo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">ioflo/ioflo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipaddr/Manifest b/dev-python/ipaddr/Manifest
new file mode 100644
index 000000000000..8ecc361a89f2
--- /dev/null
+++ b/dev-python/ipaddr/Manifest
@@ -0,0 +1,2 @@
+DIST ipaddr-2.1.10.tar.gz 29004 SHA256 d2c3bfd45147e5773108d2c8d3c65102ff234f06e2f1049a0febfa31dde4cca3 SHA512 5ad38ffe54e5322bd7d3c643c216647457fd797882549c40a9dad2cadf489aa1ce724e2272af9f8aa4a28eabf60f2ef99d6d730b78c7cb86a1f0cc901dde0eb7 WHIRLPOOL 0bc5a8116d4df2e35e342c9adc2563db963802256461eeb3a8187310d6d1a7a06e567a53953899122242488a366fb759ea091630a3e315de2a7acd749a945c1d
+DIST ipaddr-2.1.11.tar.gz 29046 SHA256 1b555b8a8800134fdafe32b7d0cb52f5bdbfdd093707c3dd484c5ea59f1d98b7 SHA512 a97b0f760f0d7fac549e5edf17b644c966a8858c145b8f9472ddc8bf4805c9d537f6f8755e3716d78b729b87e84149f8b73c7f98c0deee4fbf266ccb7a206bc6 WHIRLPOOL ba34b892828098e00c78df4ecfb8b79b58a6884ca5592336a96c17bbb351f65baa9c0287acc65ed166c60ce5c9317322964dd27bfe6de33a54c3bb3b08b638cb
diff --git a/dev-python/ipaddr/ipaddr-2.1.10-r1.ebuild b/dev-python/ipaddr/ipaddr-2.1.10-r1.ebuild
new file mode 100644
index 000000000000..380cfbcb122b
--- /dev/null
+++ b/dev-python/ipaddr/ipaddr-2.1.10-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python IP address manipulation library"
+HOMEPAGE="http://code.google.com/p/ipaddr-py/ http://pypi.python.org/pypi/ipaddr"
+SRC_URI="http://ipaddr-py.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=( README RELEASENOTES )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare() {
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -n -w --no-diffs *.py || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH=build/lib \
+ "${PYTHON}" ipaddr_test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/ipaddr/ipaddr-2.1.11.ebuild b/dev-python/ipaddr/ipaddr-2.1.11.ebuild
new file mode 100644
index 000000000000..e254666bd846
--- /dev/null
+++ b/dev-python/ipaddr/ipaddr-2.1.11.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python IP address manipulation library"
+HOMEPAGE="http://code.google.com/p/ipaddr-py/ http://pypi.python.org/pypi/ipaddr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DOCS=( README RELEASENOTES )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare() {
+ if python_is_python3; then
+ 2to3 -n -w --no-diffs *.py || die
+ fi
+}
+
+python_test() {
+ PYTHONPATH=build/lib \
+ "${PYTHON}" ipaddr_test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/ipaddr/metadata.xml b/dev-python/ipaddr/metadata.xml
new file mode 100644
index 000000000000..b039c82da95c
--- /dev/null
+++ b/dev-python/ipaddr/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ </maintainer>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">ipaddr-py</remote-id>
+ <remote-id type="pypi">ipaddr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipaddress/Manifest b/dev-python/ipaddress/Manifest
new file mode 100644
index 000000000000..b6f9fbaef142
--- /dev/null
+++ b/dev-python/ipaddress/Manifest
@@ -0,0 +1,3 @@
+DIST ipaddress-1.0.12.tar.gz 16158 SHA256 8c81980950b6360df6d5451456d09e92895f0a9d4aba96ceabcff66ef1f02b11 SHA512 df17687e7d83a2010ddd969049483d542aefc98641e2519202956edb05d77e23daf29334fedb9c6150139e281875dd8169441d023bbf97055226a0f22a40e8f4 WHIRLPOOL 823710fa6be92764c32e2608fb907314fdef90b047f05703add487a7153b26cb72e6fad98f66b7223b27a800151f14a00889adead5ff0edc54e8107ef8ff3648
+DIST ipaddress-1.0.14.tar.gz 30429 SHA256 226f4be44c6cb64055e23060848266f51f329813baae28b53dc50e93488b3b3e SHA512 fb33b484ca435f4e8817c735a1084f2fa749abca4643a10be644003fdb73cc9205fc28f484ef96d2db90e8b27d8a238d1d7cf20140f7942e39be12c7524e8d6f WHIRLPOOL 30e21d5b7568125575fecd0f8cac4172713c029faa81f88cd2a6111b47da1fb3bea9305a9311ce1a7b2795e9d54b58f2cbef1e5b66f355b8c91633ead0836d04
+DIST ipaddress-1.0.7.tar.gz 15126 SHA256 2c99e9eaea2dacbe4038b3be772ec650f5b4f4c8cc479c3704b81673d96849d7 SHA512 bfbb7ab47c50b1a370dab6905e3212fcd960ecdfa2180605d0775f90f80485040a3760d7042ae503a52d1931e44a0b2dc102de22a107cf2dc4b1e7a441841e8b WHIRLPOOL 00bf3d33e34a3998fdc324a1dc4bbe15149a64c72f7f4b020769097d54e5c46fadd7281639e428b5706855b238738bc74a8655c5009e10626b43979539b59baf
diff --git a/dev-python/ipaddress/ipaddress-1.0.12.ebuild b/dev-python/ipaddress/ipaddress-1.0.12.ebuild
new file mode 100644
index 000000000000..76eae42f7867
--- /dev/null
+++ b/dev-python/ipaddress/ipaddress-1.0.12.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="IPv4/IPv6 manipulation library, a port of the ipaddress module"
+HOMEPAGE="https://github.com/phihag/ipaddress"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ipaddress/ipaddress-1.0.14.ebuild b/dev-python/ipaddress/ipaddress-1.0.14.ebuild
new file mode 100644
index 000000000000..77c48fd4b752
--- /dev/null
+++ b/dev-python/ipaddress/ipaddress-1.0.14.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="IPv4/IPv6 manipulation library, a port of the ipaddress module"
+HOMEPAGE="https://github.com/phihag/ipaddress"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test_ipaddress.py || die
+}
diff --git a/dev-python/ipaddress/ipaddress-1.0.7.ebuild b/dev-python/ipaddress/ipaddress-1.0.7.ebuild
new file mode 100644
index 000000000000..f24fc4b454bf
--- /dev/null
+++ b/dev-python/ipaddress/ipaddress-1.0.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="IPv4/IPv6 manipulation library"
+HOMEPAGE="https://github.com/phihag/ipaddress"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ipaddress/metadata.xml b/dev-python/ipaddress/metadata.xml
new file mode 100644
index 000000000000..112489d696fe
--- /dev/null
+++ b/dev-python/ipaddress/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ipaddress</remote-id>
+ <remote-id type="github">phihag/ipaddress</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipcalc/Manifest b/dev-python/ipcalc/Manifest
new file mode 100644
index 000000000000..22c9a0951eaa
--- /dev/null
+++ b/dev-python/ipcalc/Manifest
@@ -0,0 +1,4 @@
+DIST ipcalc-1.0.0.tar.gz 6567 SHA256 69c344af2f5d0b9124bb41a293b4d7f8b45a85b3a580ed9bbd6a7202e8fa4cff SHA512 3590f2a9a706329d30a17ee738fb019428f6a67b113965d66b5c9cd6351958925cac00213b0c484d76ef0773f360d16f9164b6b7e2e11d7734828d4a455ad94d WHIRLPOOL b621b2a6866763868c91b45ce65e73fb8f1a16f230ca8573fb82880846c44509d25136179ee69e099a6d5f6467f5445e665ae814b20e0540802d0d7011f97293
+DIST ipcalc-1.1.1.tar.gz 7529 SHA256 d8dddcfd733c2c527c18747fba6ed6bf3747029d933771a6973f4e17adefb2bf SHA512 852186e3349ff00ab76f8d952eec5a707c47e743d15a39a71decb109bb5a00d1799b07488f9224caf3269bd40030ce2b30ce347b115134f4eaa5789640bee7ff WHIRLPOOL d80fc77ab70e7fb516512f86a5feb2ab2bd38bbcc54ae329f802e13bc5023d2607691b381e62bb61788b587aa6c6500e15735b06b943643b33e9c0e0dcb2cde2
+DIST ipcalc-1.1.2.tar.gz 7522 SHA256 956e9841fd995a47cf6439d59b3a3f18a840baad83d727e4887028b7a5b9cacb SHA512 c3b0ab9bf8f9e9a5e357a0a694635583a7e33ab4c1dcdd606581aacc7f8f1d2e2b6fb246a94bfd7529e814fccad660f7d1929af300d878a574fe80a0fcaec9d8 WHIRLPOOL f2e747d9ebd7c54ab8bf13317b996fc2c7a18d96925e4032a089d7c9ec5d6268bdef9484bed0ea2072c55ca3b61cbdb5a1eda62a6da960608e04530e2d6c77e7
+DIST ipcalc-1.1.3.tar.gz 8099 SHA256 3bfc52cafaa39e9c4e8478a38b21b2d62b2145d3d21a1722f1340e897656ac34 SHA512 f852e93bfa4994e424a8aafc74a1e8ec9488d4c60085fbc53e0587abcf8fbfdc7a35d7a20e67cd4dbe0d8484c0e7bfb11b5fe3d6934f322dd818273e3d64c2c6 WHIRLPOOL 9c4dfd021346059baac0e4bedaaf74d49a0e11d390ad5bb46d1f293e7d98923dec567a94d74a505f501d16d1db3369296c8992b57b8019cf5ea1bde8cd16abe2
diff --git a/dev-python/ipcalc/ipcalc-1.0.0.ebuild b/dev-python/ipcalc/ipcalc-1.0.0.ebuild
new file mode 100644
index 000000000000..3325d9844ed1
--- /dev/null
+++ b/dev-python/ipcalc/ipcalc-1.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="IP subnet calculator"
+HOMEPAGE="http://pypi.python.org/pypi/ipcalc/"
+SRC_URI="mirror://pypi/i/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/ipcalc/ipcalc-1.1.1.ebuild b/dev-python/ipcalc/ipcalc-1.1.1.ebuild
new file mode 100644
index 000000000000..3325d9844ed1
--- /dev/null
+++ b/dev-python/ipcalc/ipcalc-1.1.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="IP subnet calculator"
+HOMEPAGE="http://pypi.python.org/pypi/ipcalc/"
+SRC_URI="mirror://pypi/i/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/ipcalc/ipcalc-1.1.2.ebuild b/dev-python/ipcalc/ipcalc-1.1.2.ebuild
new file mode 100644
index 000000000000..3325d9844ed1
--- /dev/null
+++ b/dev-python/ipcalc/ipcalc-1.1.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="IP subnet calculator"
+HOMEPAGE="http://pypi.python.org/pypi/ipcalc/"
+SRC_URI="mirror://pypi/i/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/ipcalc/ipcalc-1.1.3.ebuild b/dev-python/ipcalc/ipcalc-1.1.3.ebuild
new file mode 100644
index 000000000000..8af3813f0e2e
--- /dev/null
+++ b/dev-python/ipcalc/ipcalc-1.1.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="IP subnet calculator"
+HOMEPAGE="http://pypi.python.org/pypi/ipcalc/"
+SRC_URI="mirror://pypi/i/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/ipcalc/metadata.xml b/dev-python/ipcalc/metadata.xml
new file mode 100644
index 000000000000..2cda49ec8990
--- /dev/null
+++ b/dev-python/ipcalc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ipcalc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipdb/Manifest b/dev-python/ipdb/Manifest
new file mode 100644
index 000000000000..df75a4d35c2b
--- /dev/null
+++ b/dev-python/ipdb/Manifest
@@ -0,0 +1,2 @@
+DIST ipdb-0.8.1.zip 20522 SHA256 1763d1564113f5eb89df77879a8d3213273c4d7ff93dcb37a3070cdf0c34fd7c SHA512 515f282cb82ea989670a77956c02ac6433c125beba94c67b1eb90058c2427aac2345d02bb64b71a9593abbf7539d5ab0c20675bd24dde294b1e00544748da65c WHIRLPOOL 3e91eced09d5da6a0fc5442a6df97947fdd018bf73cd52ce0f4800e12f0a1c92f3168c3a171395e601669238b9cbebae0507cce60ca2db02a7f2610ffd73afc2
+DIST ipdb-0.8.zip 20204 SHA256 0d4a33f38e667a0c80ec1a5a0e468fe58e5cdc61cb8f4077b1024b85fe7b7117 SHA512 8d0c510a80efeb3ca9a87e4a573bbd0d75629789dec33ebd135f8c9285a276af2cfe5b6628d0bb121a3dbf9e6f248a19a341d9b475b7bfaa15bb9bdca0584dde WHIRLPOOL 376a2c872ae45e943fb99e8cc201f8d8e2a3ebcdc84dde5d1857269170ab6379d8eb2106567484d4eb2454a5c38e6c355d7a136cf74fab40b907fcabef2d6b8f
diff --git a/dev-python/ipdb/ipdb-0.8.1.ebuild b/dev-python/ipdb/ipdb-0.8.1.ebuild
new file mode 100644
index 000000000000..ff00441040c6
--- /dev/null
+++ b/dev-python/ipdb/ipdb-0.8.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="IPython-enabled pdb"
+HOMEPAGE="http://pypi.python.org/pypi/ipdb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( HISTORY.txt )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/ipdb/ipdb-0.8.ebuild b/dev-python/ipdb/ipdb-0.8.ebuild
new file mode 100644
index 000000000000..49c5033317ea
--- /dev/null
+++ b/dev-python/ipdb/ipdb-0.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="IPython-enabled pdb"
+HOMEPAGE="http://pypi.python.org/pypi/ipdb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( HISTORY.txt )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/ipdb/metadata.xml b/dev-python/ipdb/metadata.xml
new file mode 100644
index 000000000000..8cf02f9346c7
--- /dev/null
+++ b/dev-python/ipdb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ipdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipdbplugin/Manifest b/dev-python/ipdbplugin/Manifest
new file mode 100644
index 000000000000..5bb8e7ea5ebc
--- /dev/null
+++ b/dev-python/ipdbplugin/Manifest
@@ -0,0 +1 @@
+DIST ipdbplugin-1.4.tar.gz 2473 SHA256 4778d78b5d0af1a2a6d341aed9e72eb73b1df6b179e145b4845d3a209137029c SHA512 5831d1e9aceb2fe4db272975d4d792622822049813ba76bdc0ee48dee001339084efddf534882775922ec178c1bcd52954bc2df1ce42181cbfdd1c3c4b944365 WHIRLPOOL ebf61a52db5be766a8407a85d8af04667a0818b5e084f762759cc535df8611ff363017961278a8da1bbeaafdb1b5630bbff1ba83475b89cf7f1add683748a79d
diff --git a/dev-python/ipdbplugin/ipdbplugin-1.4.ebuild b/dev-python/ipdbplugin/ipdbplugin-1.4.ebuild
new file mode 100644
index 000000000000..749bb50bd31e
--- /dev/null
+++ b/dev-python/ipdbplugin/ipdbplugin-1.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Nose plugin to use iPdb instead of Pdb when tests fail"
+HOMEPAGE="https://pypi.python.org/pypi/ipdbplugin"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/flavioamieiro/nose-ipdb.git"
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipdb
+ dev-python/nose"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ipdbplugin/ipdbplugin-9999.ebuild b/dev-python/ipdbplugin/ipdbplugin-9999.ebuild
new file mode 100644
index 000000000000..749bb50bd31e
--- /dev/null
+++ b/dev-python/ipdbplugin/ipdbplugin-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Nose plugin to use iPdb instead of Pdb when tests fail"
+HOMEPAGE="https://pypi.python.org/pypi/ipdbplugin"
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/flavioamieiro/nose-ipdb.git"
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipdb
+ dev-python/nose"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ipdbplugin/metadata.xml b/dev-python/ipdbplugin/metadata.xml
new file mode 100644
index 000000000000..91938ff6ff39
--- /dev/null
+++ b/dev-python/ipdbplugin/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ipdbplugin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipy/Manifest b/dev-python/ipy/Manifest
new file mode 100644
index 000000000000..19f3910250a7
--- /dev/null
+++ b/dev-python/ipy/Manifest
@@ -0,0 +1,2 @@
+DIST IPy-0.82a.tar.gz 31588 SHA256 edaaa5344893437aa6c1eb9c4ca966eb4b8c071761793839c7b4fc2a837fbeec SHA512 639b58c523a69205d6b63d7cceb624eb58ccf877cb8b7edede0f52a96c401dd4cdbf000dd7dca20d8c4936d9c8dbc6bb5304e0139db5e4c1106e35e2ad551430 WHIRLPOOL 2dfeb5523fb22d5ffd30cb0b446d2f40320adffbc4ab04edc9e1addb3acefc9ac9d67f78840e40435546faf303252a9f4068686807c97d9c35ed03cb2fa86d57
+DIST IPy-0.83.tar.gz 31816 SHA256 61da5a532b159b387176f6eabf11946e7458b6df8fb8b91ff1d345ca7a6edab8 SHA512 6bd69d96fa77dc4ceaf119b81c19a524b871badb37665a763a055e1c8b2ce3433c6e9534f03aa64d02e559dca2fac2c4e1d09b7fd78ed79c0fded88f803ad2de WHIRLPOOL 0f58ea88a437293ca2d89aa41c76db49cdfee4b52fe6fbae1e8dce297b59bf1309d79612283ac7691b17ddf1c7596b19a3b39c6ce157946ea8274166e1da9d9b
diff --git a/dev-python/ipy/ipy-0.82a.ebuild b/dev-python/ipy/ipy-0.82a.ebuild
new file mode 100644
index 000000000000..90f7c24563e4
--- /dev/null
+++ b/dev-python/ipy/ipy-0.82a.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="IPy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Class and tools for handling of IPv4 and IPv6 addresses and networks"
+HOMEPAGE="https://github.com/haypo/python-ipy/wiki http://pypi.python.org/pypi/IPy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/python-${PN}-${MY_P}"
+
+python_test() {
+ # doctests for py3 unaltered read py2 files from "${S}" causing total failure
+ # https://github.com/haypo/python-ipy/issues/17
+ cp -r test_doc.py README test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "${PYTHON}" test/test_IPy.py || die "Tests fail with ${EPYTHON}"
+ "${PYTHON}" test_doc.py || die "Doctests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ipy/ipy-0.83.ebuild b/dev-python/ipy/ipy-0.83.ebuild
new file mode 100644
index 000000000000..c3449d8653a5
--- /dev/null
+++ b/dev-python/ipy/ipy-0.83.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="IPy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Class and tools for handling of IPv4 and IPv6 addresses and networks"
+HOMEPAGE="https://github.com/haypo/python-ipy/wiki http://pypi.python.org/pypi/IPy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ # 1 test fail under pypy, persistent from 0.82a, not a regression.
+ cp -r test_doc.py README test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "${PYTHON}" test/test_IPy.py || die "Tests fail with ${EPYTHON}"
+ "${PYTHON}" test_doc.py || die "Doctests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ipy/metadata.xml b/dev-python/ipy/metadata.xml
new file mode 100644
index 000000000000..8430480ce362
--- /dev/null
+++ b/dev-python/ipy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">IPy</remote-id>
+ <remote-id type="github">haypo/python-ipy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
new file mode 100644
index 000000000000..c681a5b5fd6f
--- /dev/null
+++ b/dev-python/ipython/Manifest
@@ -0,0 +1,3 @@
+DIST ipython-2.2.0.tar.gz 11912007 SHA256 b7ca77ba54a02f032055b73f5f62b01431f818ae00f63716b78f881c2b2564e2 SHA512 4953bf5e9d6d5c6ad538d07d62b5b100fd86a37f6b861238501581c0059bd4655345ca05cf395e79709c38ce4cb9c6293f5d11ac0252a618ad8272b161140d13 WHIRLPOOL a5e433a3a840b65fd0644f023cc9e93862e48a906e4e9d1596ebbd24290d486be580dca017ef1586da980b6792dcd7ed9aab4af81421bbf083d885927db6fcc8
+DIST ipython-3.2.0.tar.gz 10883925 SHA256 8e64b441e16298c08025b826126b2d7bc5c1776d2d2f071672166f615f327887 SHA512 d298f8ce09f7bd98bf11156c0f34816ce846dc3e6a511d354f0905300af99e15f5be46547766207f1121bd11850456a20262626a8a22be1ffc756eb84f5a982c WHIRLPOOL 482d1c22199aff6bbb9ea23f12fd50e0c8f221bbf43f1779e1739e6d637e7a6f9edd8d4b60263cc3292746f2833a28d72e6282755b046668c96882002dd73134
+DIST ipython-3.2.1.tar.gz 10884249 SHA256 c913adee7ae5b338055274c51a7d2b3cea468b5b316046fa520cd8a434b09177 SHA512 de7723e3b859d21a58a24456c76c8d8ec98c019f290f61269f46270e7647d2b49a98671138fecd75cb6f46384fde7e09618eb5c85c175e0e442c7fae7328d8fe WHIRLPOOL 9f020c167559259931dcb177d0c3a5211939632e5775c2627795ba390cf57bd62c378c15b7ee9b9ed2079180f8df8e062eb9673ed9cfc025a56f1da82c9428d1
diff --git a/dev-python/ipython/files/2.1.0-disable-tests.patch b/dev-python/ipython/files/2.1.0-disable-tests.patch
new file mode 100644
index 000000000000..bdbb1be4246e
--- /dev/null
+++ b/dev-python/ipython/files/2.1.0-disable-tests.patch
@@ -0,0 +1,32 @@
+The extension magics for oct2py and rpy live now in the oct2py and rpy2 package. The tests shipped with ipython are broken. We should disable
+those tests and remove the magics files:
+
+IPython/extensions/rmagic.py -> rpy/ipython/rmagic.py
+IPython/extension/octavemagic.py -> oct2py/ipython/octavemagic.py
+
+deleted: IPython/extensions/octavemagic.py
+deleted: IPython/extensions/rmagic.py
+modified: IPython/testing/iptest.py
+
+diff --git a/IPython/testing/iptest.py b/IPython/testing/iptest.py
+index 45d2c78..db0bdfe 100644
+--- a/IPython/testing/iptest.py
++++ b/IPython/testing/iptest.py
+@@ -250,12 +250,10 @@ sec = test_sections['extensions']
+ if not have['cython']:
+ sec.exclude('cythonmagic')
+ sec.exclude('tests.test_cythonmagic')
+-if not have['oct2py']:
+- sec.exclude('octavemagic')
+- sec.exclude('tests.test_octavemagic')
+-if not have['rpy2'] or not have['numpy']:
+- sec.exclude('rmagic')
+- sec.exclude('tests.test_rmagic')
++sec.exclude('octavemagic')
++sec.exclude('tests.test_octavemagic')
++sec.exclude('rmagic')
++sec.exclude('tests.test_rmagic')
+ # autoreload does some strange stuff, so move it to its own test section
+ sec.exclude('autoreload')
+ sec.exclude('tests.test_autoreload')
+
diff --git a/dev-python/ipython/files/2.1.0-substitute-files.patch b/dev-python/ipython/files/2.1.0-substitute-files.patch
new file mode 100644
index 000000000000..659df39226ac
--- /dev/null
+++ b/dev-python/ipython/files/2.1.0-substitute-files.patch
@@ -0,0 +1,27 @@
+substitute the insource files with these messages
+diff --git a/IPython/extensions/octavemagic.py b/IPython/extensions/octavemagic.py
+new file mode 100644
+index 0000000..dc93fe4
+--- /dev/null
++++ b/IPython/extensions/octavemagic.py
+@@ -0,0 +1,7 @@
++import warnings
++
++def load_ipython_extension(ip):
++ msg = ("The octavemagic extension has been moved to oct2py. "
++ "After installing oct2py, you can load octavemagic with the "
++ "following command: '%load_ext oct2py.ipython'.")
++ warnings.warn(msg, Warning, stacklevel=2)
+diff --git a/IPython/extensions/rmagic.py b/IPython/extensions/rmagic.py
+new file mode 100644
+index 0000000..739e491
+--- /dev/null
++++ b/IPython/extensions/rmagic.py
+@@ -0,0 +1,7 @@
++import warnings
++
++def load_ipython_extension(ip):
++ msg = ("The rmagic extension has been moved to rpy2. "
++ "After installing rpy2, you can load rmagic with the "
++ "following command: '%load_ext rpy2.ipython'.")
++ warnings.warn(msg, Warning, stacklevel=2)
diff --git a/dev-python/ipython/files/ipython-2.2.0-login-backport.patch b/dev-python/ipython/files/ipython-2.2.0-login-backport.patch
new file mode 100644
index 000000000000..cf6a99db21e8
--- /dev/null
+++ b/dev-python/ipython/files/ipython-2.2.0-login-backport.patch
@@ -0,0 +1,35 @@
+From 5d6ce3671318c8d32bab770ece841590bbec358d Mon Sep 17 00:00:00 2001
+From: Matthias Bussonnier <bussonniermatthias@gmail.com>
+Date: Fri, 17 Apr 2015 13:08:32 -0700
+Subject: [PATCH] Set secure cookie by default if login handler is hit.
+
+ backport of https://github.com/jupyter/jupyter_notebook/pull/22 b8e99bc
+
+> There is few chances that logged-in people do not use https connexion,
+> but I guess it can happened if the server is ran in front of a proxy
+> that does the https termination, so leave it configurable.
+>
+> closes ipython/ipython#8325
+---
+ IPython/html/auth/login.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/IPython/html/auth/login.py b/IPython/html/auth/login.py
+index 1ad4673..1a340c8 100644
+--- a/IPython/html/auth/login.py
++++ b/IPython/html/auth/login.py
+@@ -46,7 +46,13 @@ class LoginHandler(IPythonHandler):
+ pwd = self.get_argument('password', default=u'')
+ if self.login_available:
+ if passwd_check(self.password, pwd):
+- self.set_secure_cookie(self.cookie_name, str(uuid.uuid4()))
++ # tornado <4.2 have a bug that consider secure==True as soon as
++ # 'secure' kwarg is passed to set_secure_cookie
++ if self.settings.get('secure_cookie', self.request.protocol == 'https'):
++ kwargs = {'secure':True}
++ else:
++ kwargs = {}
++ self.set_secure_cookie(self.cookie_name, str(uuid.uuid4()), **kwargs)
+ else:
+ self._render(message={'error': 'Invalid password'})
+ return
diff --git a/dev-python/ipython/ipython-2.2.0-r1.ebuild b/dev-python/ipython/ipython-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..d33f00ed8fc6
--- /dev/null
+++ b/dev-python/ipython/ipython-2.2.0-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+PYTHON_REQ_USE='readline,sqlite'
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="http://ipython.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+IUSE="doc examples matplotlib mongodb notebook nbconvert octave qt4 +smp test wxwidgets"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+CDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ octave? ( dev-python/oct2py[${PYTHON_USEDEP}] )
+ smp? ( >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}] )
+ wxwidgets? ( $(python_gen_cond_dep 'dev-python/wxpython:*[${PYTHON_USEDEP}]' python2_7) )"
+RDEPEND="${CDEPEND}
+ notebook? (
+ >=www-servers/tornado-3.1[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-libs/mathjax
+ )
+ nbconvert? (
+ >=app-text/pandoc-1.12.1
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ )
+ qt4? (
+ || (
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ )
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}] )"
+DEPEND="${CDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PY2_USEDEP}]
+ )
+ doc? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/fabric[${PYTHON_USEDEP}]' python2_7)
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=www-servers/tornado-3.1[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+ "${FILESDIR}"/2.1.0-disable-tests.patch
+ "${FILESDIR}"/${P}-login-backport.patch
+ )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Remove out of date insource files
+ rm IPython/extensions/rmagic.py || die
+ rm IPython/extensions/octavemagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+src_test() {
+ # virtualx has trouble with parallel runs.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ distutils_install_for_testing
+ local fail
+ run_tests() {
+ pushd ${TEST_DIR} > /dev/null
+ "${PYTHON}" -m IPython.testing.iptestcontroller --all || fail=1
+ popd > /dev/null
+ }
+ VIRTUALX_COMMAND=run_tests virtualmake
+ [[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use notebook && dosym /usr/share/mathjax $(python_get_sitedir)/IPython/html/static/mathjax
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "To enable sympyprinting, it's required to emerge sympy"
+ elog "To enable cythonmagic, it's required to emerge cython"
+}
diff --git a/dev-python/ipython/ipython-3.2.0.ebuild b/dev-python/ipython/ipython-3.2.0.ebuild
new file mode 100644
index 000000000000..ad60011ea3bc
--- /dev/null
+++ b/dev-python/ipython/ipython-3.2.0.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+PYTHON_REQ_USE='readline,sqlite'
+
+inherit distutils-r1 eutils virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="http://ipython.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples matplotlib mongodb notebook nbconvert octave qt4 +smp test wxwidgets"
+
+REQUIRED_USE="test? ( doc matplotlib mongodb notebook nbconvert octave qt4 wxwidgets )"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+CDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ octave? ( dev-python/oct2py[${PYTHON_USEDEP}] )
+ smp? ( >=dev-python/pyzmq-13[${PYTHON_USEDEP}] )
+ wxwidgets? ( $(python_gen_cond_dep 'dev-python/wxpython:*[${PYTHON_USEDEP}]' python2_7) )"
+RDEPEND="${CDEPEND}
+ notebook? (
+ dev-libs/mathjax
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ >=dev-python/mistune-0.5[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-13[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.3.3[${PYTHON_USEDEP}]
+ >=www-servers/tornado-3.1[${PYTHON_USEDEP}]
+ )
+ nbconvert? (
+ || ( >=net-libs/nodejs-0.9.12 >=app-text/pandoc-1.12.1 )
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ >=dev-python/mistune-0.5[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ qt4? (
+ || (
+ dev-python/PyQt4[${PYTHON_USEDEP},svg]
+ dev-python/PyQt5[${PYTHON_USEDEP},svg]
+ dev-python/pyside[${PYTHON_USEDEP},svg]
+ )
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-13[${PYTHON_USEDEP}] )"
+DEPEND="${CDEPEND}
+ test? (
+ app-text/dvipng
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/mock[${PY2_USEDEP}]
+ >=dev-python/nose-0.10.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/fabric[${PYTHON_USEDEP}]' python2_7)
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.10.1[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+ )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Remove out of date insource files
+ rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html_noapi
+}
+
+src_test() {
+ # virtualx has trouble with parallel runs.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ distutils_install_for_testing
+ local fail
+ run_tests() {
+ pushd ${TEST_DIR} > /dev/null
+ "${PYTHON}" -m IPython.testing.iptestcontroller --all || fail=1
+ popd > /dev/null
+ }
+ VIRTUALX_COMMAND=run_tests virtualmake
+ [[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use notebook && \
+ ln -sf "${EPREFIX}/usr/share/mathjax" "${D}$(python_get_sitedir)/IPython/html/static/mathjax"
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ if use nbconvert; then
+ if ! has_version app-text/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/ipython-3.2.1.ebuild b/dev-python/ipython/ipython-3.2.1.ebuild
new file mode 100644
index 000000000000..9d2a0a9138fd
--- /dev/null
+++ b/dev-python/ipython/ipython-3.2.1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+PYTHON_REQ_USE='readline,sqlite'
+
+inherit distutils-r1 eutils virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="http://ipython.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples matplotlib mongodb notebook nbconvert octave qt4 +smp test wxwidgets"
+
+REQUIRED_USE="
+ test? ( doc matplotlib mongodb notebook nbconvert octave qt4 wxwidgets )
+ doc? ( mongodb )"
+
+CDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ mongodb? ( <dev-python/pymongo-3[${PYTHON_USEDEP}] )
+ octave? ( dev-python/oct2py[${PYTHON_USEDEP}] )
+ smp? ( >=dev-python/pyzmq-13[${PYTHON_USEDEP}] )
+ wxwidgets? ( $(python_gen_cond_dep 'dev-python/wxpython:*[${PYTHON_USEDEP}]' python2_7) )"
+RDEPEND="${CDEPEND}
+ notebook? (
+ dev-libs/mathjax
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistune-0.5[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-13[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.3.3[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+ )
+ nbconvert? (
+ || ( >=net-libs/nodejs-0.9.12 >=app-text/pandoc-1.12.1 )
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistune-0.5[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ qt4? (
+ || (
+ dev-python/PyQt4[${PYTHON_USEDEP},svg]
+ dev-python/PyQt5[${PYTHON_USEDEP},svg]
+ dev-python/pyside[${PYTHON_USEDEP},svg]
+ )
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-13[${PYTHON_USEDEP}] )"
+DEPEND="${CDEPEND}
+ test? (
+ app-text/dvipng
+ dev-python/jinja[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/nose-0.10.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/fabric[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/jsonschema-2.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.10.1[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.0[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.0-substitute-files.patch
+ )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Remove out of date insource files
+ rm IPython/extensions/rmagic.py || die
+
+ # Prevent un-needed download during build
+ if use doc; then
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html_noapi
+}
+
+python_test() {
+ distutils_install_for_testing
+ # https://github.com/ipython/ipython/issues/8639
+ # Failure of some modules only in python3.4
+ local fail
+ run_tests() {
+ pushd ${TEST_DIR} > /dev/null
+ "${PYTHON}" -m IPython.testing.iptestcontroller --all || fail=1
+ popd > /dev/null
+ }
+ VIRTUALX_COMMAND=run_tests virtualmake
+ [[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use notebook && \
+ ln -sf "${EPREFIX}/usr/share/mathjax" "${D}$(python_get_sitedir)/IPython/html/static/mathjax"
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ if use nbconvert; then
+ if ! has_version app-text/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/ipython/metadata.xml b/dev-python/ipython/metadata.xml
new file mode 100644
index 000000000000..e8cfb386059f
--- /dev/null
+++ b/dev-python/ipython/metadata.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ IPython provides a replacement for the interactive Python interpreter with
+ extra functionality. Main features:
+ * Comprehensive object introspection.
+ * Input history, persistent across sessions.
+ * Caching of output results during a session with automatically generated
+ references.
+ * Readline based name completion.
+ * Extensible system of 'magic' commands for controlling the environment and
+ performing many tasks related either to IPython or the operating system.
+ * Configuration system with easy switching between different setups (simpler
+ than changing $PYTHONSTARTUP environment variables every time).
+ * Session logging and reloading.
+ * Extensible syntax processing for special purpose situations.
+ * Access to the system shell with user-extensible alias system.
+ * Easily embeddable in other Python programs.
+ * Integrated access to the pdb debugger and the Python profiler.
+</longdescription>
+ <longdescription lang="ja">
+対話的ã«åˆ©ç”¨ã™ã‚‹å ´åˆã«Pythonインタープリタã‹ã‚‰ã€ã‚ˆã‚Šæ©Ÿèƒ½ãŒè±Šå¯ŒãªIPythonã¸ç½®ãæ›&gt;ãˆã‚‹äº‹ãŒã§ãã¾ã™ã€‚
+
+主機能:
+* 内包的オブジェクトã®åˆ†æžã€‚
+* 入力ヒストリーã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’越ãˆã¦è¨˜æ†¶ã—続ã‘ã¾ã™ã€‚
+* 出力ã¯è‡ªå‹•ä½œæˆã•ã‚Œã‚‹ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³é–“ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã—ã¾ã™ã€‚
+* Readlineを利用ã—ãŸåå‰è£œå®Œã€‚
+* 環境管ç†ã¨IPythonã¾ãŸã¯OSã®ã©ã¡ã‚‰ã‹ã«é–¢ä¿‚ã™ã‚‹ã‚¿ã‚¹ã‚¯å®Ÿè¡Œã®ãŸã‚ã®magic
+ コマンドを拡張å¯èƒ½ãªã‚·ã‚¹ãƒ†ãƒ ã€‚
+* ç•°ãªã‚‹ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ã‚’ç°¡å˜ã«äº¤æ›ã§ãるコンフィグレーション・システム。
+ (毎回起動時ã«ã€$PYTHONSTARTUP環境変数を指定ã™ã‚‹ã‚ˆã‚Šã‚‚ç°¡å˜ã§ã™ã€‚)
+* セッション・ロギングã¨ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ»ãƒªãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã€‚
+* 特別ãªçŠ¶æ³æ™‚ã®ãŸã‚ã®æ‹¡å¼µå¯èƒ½ãªæ§‹æ–‡è§£æžã€‚
+* ユーザー定義ã§ãるエイリアス・システムã§ã‚·ã‚¹ãƒ†ãƒ ãƒ»ã‚·ã‚§ãƒ«ã«ã‚¢ã‚¯ã‚»ã‚¹ã€‚
+* ä»–ã®Python言語プログラムを組ã¿è¾¼ã‚€ã®ãŒç°¡å˜ã€‚
+* pdbデãƒãƒƒã‚¬ã¨profilerã¸ã®çµ±åˆã‚¢ã‚¯ã‚»ã‚¹ã€‚
+</longdescription>
+ <use>
+ <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
+ <flag name="mongodb">Enable support for MongoDB via <pkg>dev-python/pymongo</pkg></flag>
+ <flag name="notebook">Install requirements for the web notebook based on <pkg>www-servers/tornado</pkg></flag>
+ <flag name="nbconvert">Enable support for converting notebooks to various formats using <pkg>app-text/pandoc</pkg></flag>
+ <flag name="octave">Enable octave bridge via <pkg>dev-python/oct2py</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">ipython</remote-id>
+ <remote-id type="github">ipython/ipython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/irc/Manifest b/dev-python/irc/Manifest
new file mode 100644
index 000000000000..e72011f3c783
--- /dev/null
+++ b/dev-python/irc/Manifest
@@ -0,0 +1 @@
+DIST irc-11.0.1.zip 120409 SHA256 25d818003780fd6d62e93d3ff32580e74c0e527c6290ae14b47af50b58339233 SHA512 fca2fe653d921c9ec65dfb2b072c16658d88d4a22ae91568b1eaf722a90179920808db157f587afe6de0055af3a04a528eb9022122e539150e5635f05b58f466 WHIRLPOOL dd9b9e8624e6bd86d27fead1f3006a2b80832d236ad21f50c147c07a27b2cc4933d68efd951dece44398dbc0299b73ba7a98e4eff2061d0e3a8a01833518113b
diff --git a/dev-python/irc/irc-11.0.1.ebuild b/dev-python/irc/irc-11.0.1.ebuild
new file mode 100644
index 000000000000..90bd964d1507
--- /dev/null
+++ b/dev-python/irc/irc-11.0.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="https://bitbucket.org/jaraco/irc http://pypi.python.org/pypi/irc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples test"
+
+RDEPEND="
+ !>=dev-python/python-irclib-3.2.2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/jaraco-utils[${PYTHON_USEDEP}]"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/hgtools-5[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+# A doc folder is present however it appears to be used for doctests
+
+python_test() {
+ py.test irc/tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( scripts/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irc/metadata.xml b/dev-python/irc/metadata.xml
new file mode 100644
index 000000000000..9a5995a5ee5f
--- /dev/null
+++ b/dev-python/irc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ This project includes an event-driven IRC client framework written in Python,
+ as well as an object-oriented wrapper class and some example programs.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">irc</remote-id>
+ <remote-id type="bitbucket">jaraco/irc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/irman-python/Manifest b/dev-python/irman-python/Manifest
new file mode 100644
index 000000000000..3d0ec76bcfd1
--- /dev/null
+++ b/dev-python/irman-python/Manifest
@@ -0,0 +1 @@
+DIST irman-python-0.1.tar.gz 16390 SHA256 404d9fb4934957c3052b28b0bbe3b8f2f5c38134e71eeeb7ffa9867c0b4cb6bb SHA512 7e0c80252c471419400ca80215c64f84ee89559496f5d118f860ffe9eb7078c029d8c5b5f75b55ccb6d21917bc91314d6e8ef3523d260172c22dc0beb13c794c WHIRLPOOL 1884119fcd8d6b4f3b8f725346bebbeb3cacc6f7ee0a48540f833de3a12de782f81ea5f4d41cf441f3507ef5811c35b23d30b565d16447dd77ee5ab2af9332b3
diff --git a/dev-python/irman-python/irman-python-0.1-r1.ebuild b/dev-python/irman-python/irman-python-0.1-r1.ebuild
new file mode 100644
index 000000000000..8e0112f8fa25
--- /dev/null
+++ b/dev-python/irman-python/irman-python-0.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A minimal set of Python bindings for libirman"
+HOMEPAGE="http://bluweb.com/chouser/proj/irman-python/"
+SRC_URI="http://bluweb.com/chouser/proj/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="media-libs/libirman"
+RDEPEND="${DEPEND}"
+DOCS=( README test_name.py )
diff --git a/dev-python/irman-python/metadata.xml b/dev-python/irman-python/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/irman-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/iso8601/Manifest b/dev-python/iso8601/Manifest
new file mode 100644
index 000000000000..88fba6d60782
--- /dev/null
+++ b/dev-python/iso8601/Manifest
@@ -0,0 +1 @@
+DIST iso8601-0.1.10.tar.gz 8405 SHA256 e712ff3a18604833f5073e836aad795b21170b19bbef70947c441ed89d0ac0e1 SHA512 5a3635b3daf6c5ccfd0dfdf47bcd60a0841c06137b3ee334ec024909fa24c8fe4a1da1fa253e0a5dfaca173d4b10dfd994b83a031b2a0385406ca92987098168 WHIRLPOOL dc491a7b1b22e9cdf6b49b92c9378273d887a9a7760a501abb08931ffec0e07368ce378a69a2e91b95bb068b56a6d4f60e77e57079111694e05bc080eddb6a1f
diff --git a/dev-python/iso8601/iso8601-0.1.10.ebuild b/dev-python/iso8601/iso8601-0.1.10.ebuild
new file mode 100644
index 000000000000..3e52acd4e1a1
--- /dev/null
+++ b/dev-python/iso8601/iso8601-0.1.10.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple module to parse ISO 8601 dates"
+HOMEPAGE="http://code.google.com/p/pyiso8601/ http://pypi.python.org/pypi/iso8601"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" -m pytest --verbose ${PN} || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/iso8601/metadata.xml b/dev-python/iso8601/metadata.xml
new file mode 100644
index 000000000000..c19ab23f7569
--- /dev/null
+++ b/dev-python/iso8601/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">iso8601</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/isodate/Manifest b/dev-python/isodate/Manifest
new file mode 100644
index 000000000000..8531ce1a22dc
--- /dev/null
+++ b/dev-python/isodate/Manifest
@@ -0,0 +1,2 @@
+DIST isodate-0.5.0.tar.gz 25917 SHA256 f3e436a9c321882942a6c62e9d8ea49787b4c0ea7f7bb3cbd047bcf76bd0dfbe SHA512 5f45fee798e8f79a5f9f271570d542fb68936577e3670a675e66e037bb15d76653717d7fcdeae1cd6ae9afb2f153206210c40d4cfcd8bd60c3ed873d2e6b19d4 WHIRLPOOL a9a62054c5b050a20240699a0955cf1a59f7c9afb4b163f0ef16b6fce578263881e3c8d77dc15a3ac1d11a341f64073685aa8a1d533391884d2d5f956f76a1a0
+DIST isodate-0.5.1.tar.gz 26859 SHA256 b12aed31c0e834543497e24d609a41531a800d8304c39e6665c45ca023b012fb SHA512 8bc1006a1d3aa03fc69885415f2acc18efde870d1c8e5ac9741672b2818983fabb781d853766105298fc55d187add20f4e3a4bf33966fc5b9d5f5ca08dc77748 WHIRLPOOL b246e35c93bf8001b7b7519c811cf7bda3cf669ace008e8f7ba4ee26e88b764468d326c9c145709a626a11e8358368dda2440a0fcf60587d22dbd6bce8825655
diff --git a/dev-python/isodate/isodate-0.5.0.ebuild b/dev-python/isodate/isodate-0.5.0.ebuild
new file mode 100644
index 000000000000..cb9722cb8900
--- /dev/null
+++ b/dev-python/isodate/isodate-0.5.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ISO 8601 date/time/duration parser and formater"
+HOMEPAGE="http://pypi.python.org/pypi/isodate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local test
+ pushd "${BUILD_DIR}"/lib/
+ for test in ${PN}/tests/test_*.py
+ do
+ if ! "${PYTHON}" $test; then
+ die "Test $test failed under ${EPYTHON}"
+ fi
+ done
+ # Give some order to the output salad
+ einfo "Testsuite passed under ${EPYTHON}";einfo ""
+}
diff --git a/dev-python/isodate/isodate-0.5.1.ebuild b/dev-python/isodate/isodate-0.5.1.ebuild
new file mode 100644
index 000000000000..cb9722cb8900
--- /dev/null
+++ b/dev-python/isodate/isodate-0.5.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ISO 8601 date/time/duration parser and formater"
+HOMEPAGE="http://pypi.python.org/pypi/isodate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ local test
+ pushd "${BUILD_DIR}"/lib/
+ for test in ${PN}/tests/test_*.py
+ do
+ if ! "${PYTHON}" $test; then
+ die "Test $test failed under ${EPYTHON}"
+ fi
+ done
+ # Give some order to the output salad
+ einfo "Testsuite passed under ${EPYTHON}";einfo ""
+}
diff --git a/dev-python/isodate/metadata.xml b/dev-python/isodate/metadata.xml
new file mode 100644
index 000000000000..1a5711f648c5
--- /dev/null
+++ b/dev-python/isodate/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ This module implements ISO 8601 date, time and duration
+ parsing. The implementation follows ISO8601:2004 standard, and
+ implements only date/time representations mentioned in the standard. If
+ something is not mentioned there, then it is treated as non existent,
+ and not as an allowed option.
+ As this module maps ISO 8601 dates/times to standard Python data types,
+ like date, time, datetime and timedelta, it is not possible to convert
+ all possible ISO 8601 dates/times. For instance, dates before 0001-01-01
+ are not allowed by the Python date and datetime classes. Additionally
+ fractional seconds are limited to microseconds. That means if the parser
+ finds for instance nanoseconds it will round it to microseconds.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">isodate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/itsdangerous/Manifest b/dev-python/itsdangerous/Manifest
new file mode 100644
index 000000000000..ea9abc4c17c6
--- /dev/null
+++ b/dev-python/itsdangerous/Manifest
@@ -0,0 +1,4 @@
+DIST itsdangerous-0.21.tar.gz 8595 SHA256 c760381fc09dc120e4b459f5ba39ed55ea21fd77ac9f4d4101c0c237d8fc9d9e SHA512 5164dda9d38d0d1c880f7782db12fe74b7f305057fa5507d788d6af2d49068a870313280ece6e4b019d0e5ba01f945ae7a54b205f289efda2602bad12cd401cd WHIRLPOOL 1359b8625a7865a590fd2d3d8fd667f6ad0b74d5b4bb90b9afd4b38e41479ed0e1f56f92ff55d57c24edc486711dbca36a6ee778b70b766ea6ba32c22793eadc
+DIST itsdangerous-0.22.tar.gz 9460 SHA256 9e63500ef4c2f30be66a69cd0def95966db889c32e7b4fe4dd8fc9c7ebe3f3fc SHA512 48a72c27d9eb9537efac8de5bd59a870d9b6b4622f02ea8247cc24f5c48ce186e32c0a2d438f2cadb000d06059b8f693afa51c85d5c2fcf30a16caf33da95aad WHIRLPOOL 68d9653eec7ba615361097e4bcef27387626c8de91970322b9964ac509417dbf437bcb9fb0e38c2777466d3303027a7f732a4015f912bc506bac798f2acf9326
+DIST itsdangerous-0.23.tar.gz 46176 SHA256 71c0bf6bde4dcc93d838415e728a961a7b16f324b8ae182525fbdadde9f55d62 SHA512 dbffc5c5b4f902a461dd51c2ea8f84916f3b383eefeaaae249a76b22335db464a399d3c16943d3c0f031a874fd91d2f971fa80016fdbedb06b161a65d789359f WHIRLPOOL 5f297ea18f2c0539a5e1d337da34ed361564efb3b6162b431864e681d9fefd5a2e54844e5c7756bb452380635dbfa555c4c19321500d1ff808dce4f68cde3e02
+DIST itsdangerous-0.24.tar.gz 46541 SHA256 cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519 SHA512 2863b6e5fda178db59bd214c6d24d04422c1021bb41bf11598aba1cbc43053aff3bb1e0539940b5769de04b68c03e8bd01d728dcbfc4bd0ba05867688574a297 WHIRLPOOL 44338b9c489506b972c33bafa1437042c17f452e65095d3b7dc85bf1cbfa26fcc45b097a7e899ae5ccfa4e3727e9c0ea285e254f6318c74a61217da910a63a83
diff --git a/dev-python/itsdangerous/itsdangerous-0.21.ebuild b/dev-python/itsdangerous/itsdangerous-0.21.ebuild
new file mode 100644
index 000000000000..b9d69691b568
--- /dev/null
+++ b/dev-python/itsdangerous/itsdangerous-0.21.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pythonhosted.org/itsdangerous/ http://pypi.python.org/pypi/itsdangerous"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/itsdangerous/itsdangerous-0.22.ebuild b/dev-python/itsdangerous/itsdangerous-0.22.ebuild
new file mode 100644
index 000000000000..2ab929532a04
--- /dev/null
+++ b/dev-python/itsdangerous/itsdangerous-0.22.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
+HOMEPAGE="http://pythonhosted.org/itsdangerous/ http://pypi.python.org/pypi/itsdangerous"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/itsdangerous/itsdangerous-0.23.ebuild b/dev-python/itsdangerous/itsdangerous-0.23.ebuild
new file mode 100644
index 000000000000..61841f131259
--- /dev/null
+++ b/dev-python/itsdangerous/itsdangerous-0.23.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
+HOMEPAGE="http://pythonhosted.org/itsdangerous/ http://pypi.python.org/pypi/itsdangerous"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# Required for running tests.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -f unicode -nw --no-diffs tests.py
+ fi
+ "${PYTHON}" tests.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/itsdangerous/itsdangerous-0.24.ebuild b/dev-python/itsdangerous/itsdangerous-0.24.ebuild
new file mode 100644
index 000000000000..0d1114fca770
--- /dev/null
+++ b/dev-python/itsdangerous/itsdangerous-0.24.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
+HOMEPAGE="http://pythonhosted.org/itsdangerous/ http://pypi.python.org/pypi/itsdangerous"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# Required for running tests.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -f unicode -nw --no-diffs tests.py
+ fi
+ "${PYTHON}" tests.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/itsdangerous/metadata.xml b/dev-python/itsdangerous/metadata.xml
new file mode 100644
index 000000000000..d204c07a0838
--- /dev/null
+++ b/dev-python/itsdangerous/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">itsdangerous</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaraco-utils/Manifest b/dev-python/jaraco-utils/Manifest
new file mode 100644
index 000000000000..f4d1a14ca9a6
--- /dev/null
+++ b/dev-python/jaraco-utils/Manifest
@@ -0,0 +1 @@
+DIST jaraco.util-10.0.2.zip 83375 SHA256 da136010c98f1ceaaa02ab1a201da45d3b2d59348fac8e3c7b1ddb61825ca872 SHA512 9522d0923db0637b605a11014104fbf6d86fc014fa1d065610df0cf8fe18dc5f962c8f4e4a3822c9223b434fbd252a99ac1949e52f7c9774642244f7a25e12e1 WHIRLPOOL 5dc4bdcf744e0fda210a3f1b5de6f5c8ff73c179586873b28cab309f320c662591442c63ae3cbdd2b3187ab56bb9d541839e40525baf1b15d79719015ebf20bc
diff --git a/dev-python/jaraco-utils/jaraco-utils-10.0.2.ebuild b/dev-python/jaraco-utils/jaraco-utils-10.0.2.ebuild
new file mode 100644
index 000000000000..623b881956b7
--- /dev/null
+++ b/dev-python/jaraco-utils/jaraco-utils-10.0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="jaraco.util"
+DESCRIPTION="General utility modules that supply commonly-used functionality"
+HOMEPAGE="http://pypi.python.org/pypi/jaraco.util"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/hgtools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )
+ "
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/jaraco-utils/metadata.xml b/dev-python/jaraco-utils/metadata.xml
new file mode 100644
index 000000000000..f4ade42c4e56
--- /dev/null
+++ b/dev-python/jaraco-utils/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jaraco.utils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaxml/Manifest b/dev-python/jaxml/Manifest
new file mode 100644
index 000000000000..af9ca9360c43
--- /dev/null
+++ b/dev-python/jaxml/Manifest
@@ -0,0 +1 @@
+DIST jaxml-3.02.tar.gz 27718 SHA256 7c6693cf2a200dcc81939e648f7d8ec59ac0b9106e6134aba4e7bbc8e3f3e019 SHA512 e23b4026dfb7b7d08cfa7ebdda11b66ad7dfd5a158495d90d73988e9b9d5ccb898cc7df112a78c6f3724dd04a0fdef24129e3c115b230e56b184acd28f844597 WHIRLPOOL a1d28cb4f49100a2eb2b3a34719936c99f749baab2bc443de08924d3eb6eddcdd594de17b6b619c774aa0c9acc743a2af5783030f02a749bd4b815df5d9bf93d
diff --git a/dev-python/jaxml/jaxml-3.02-r1.ebuild b/dev-python/jaxml/jaxml-3.02-r1.ebuild
new file mode 100644
index 000000000000..bf72e5814828
--- /dev/null
+++ b/dev-python/jaxml/jaxml-3.02-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="XML generator written in Python"
+HOMEPAGE="http://www.librelogiciel.com/software/jaxml/action_Presentation http://pypi.python.org/pypi/jaxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ia64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/jaxml/metadata.xml b/dev-python/jaxml/metadata.xml
new file mode 100644
index 000000000000..9b498c17fdc6
--- /dev/null
+++ b/dev-python/jaxml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jaxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jdcal/Manifest b/dev-python/jdcal/Manifest
new file mode 100644
index 000000000000..9e7b9df15689
--- /dev/null
+++ b/dev-python/jdcal/Manifest
@@ -0,0 +1 @@
+DIST jdcal-1.0.tar.gz 5677 SHA256 133220a36c533bae02355aca7f507de7b33e57e9467d33cea7d5673ba354a3e6 SHA512 5e9f865a3c9a123a56d084c9ddd325cfe6c246e1a9162bb8f000abaf7cdf376b1e38f7c2a97f14a13d2f4b3f3de4e7e3773a903f905685ce76f541b50134a408 WHIRLPOOL d09da7dbcaea2ae10fd992b20ce5c7203cd020443ed685e5dba6183cd1296e824ba66fb06e317f1598302cb17fe5cf914ff0e7e31dd626029ed6e8c292717c9b
diff --git a/dev-python/jdcal/jdcal-1.0.ebuild b/dev-python/jdcal/jdcal-1.0.ebuild
new file mode 100644
index 000000000000..4469630ce778
--- /dev/null
+++ b/dev-python/jdcal/jdcal-1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Julian dates from proleptic Gregorian and Julian calendars"
+HOMEPAGE="http://github.com/phn/jdcal"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+SLOT="0"
diff --git a/dev-python/jdcal/metadata.xml b/dev-python/jdcal/metadata.xml
new file mode 100644
index 000000000000..d52cdc2e6871
--- /dev/null
+++ b/dev-python/jdcal/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jdcal</remote-id>
+ <remote-id type="github">phn/jdcal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jedi/Manifest b/dev-python/jedi/Manifest
new file mode 100644
index 000000000000..f0778650d9b0
--- /dev/null
+++ b/dev-python/jedi/Manifest
@@ -0,0 +1,2 @@
+DIST jedi-0.8.1.tar.gz 304088 SHA256 4d23ae457cec14cedb71fb56f0ed51d75798f2fd74e91f6e5134b09a4a78eba8 SHA512 2188bf0eede9d78a298c0cd6071060e74b0531ebd3c21d4e831c77202b7e338452f0ab10b693902e5b0da8095f394e5c67e055f1cde3a476fc2566b627bb6d9f WHIRLPOOL ecc131bd7a9ee046200ebe089cb37b7afe6b9bfd9522329b96418f34383fbf7f60957cba8deb9799bff804783c7b5a909159717f382da9d979d13c57c8f92066
+DIST jedi-0.9.0.tar.gz 334204 SHA256 3b4c19fba31bdead9ab7350fb9fa7c914c59b0a807dcdd5c00a05feb85491d31 SHA512 fa60861bde0afb63c90b0e14b252d33b68d5e83255d662ef727884c91bd530b5a76f0306965ed9620d7d42a92f177feb2524a7b088ade786fb486d62d6912e57 WHIRLPOOL a6233ed19129f129cd97778f1c01bdc1e0747ec1da3611164c50815c77ab57ca1c8d7bec824b00d105cac62d32f53981a54e72b80ddfef00a77cd9316aef94aa
diff --git a/dev-python/jedi/jedi-0.8.1-r2.ebuild b/dev-python/jedi/jedi-0.8.1-r2.ebuild
new file mode 100644
index 000000000000..47c34d6699e8
--- /dev/null
+++ b/dev-python/jedi/jedi-0.8.1-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Awesome autocompletion library for python"
+HOMEPAGE="https://github.com/davidhalter/jedi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="
+ app-arch/xz-utils
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ PYTHONPATH="${PYTHONPATH%:}${PYTHONPATH+:}${S}/test" py.test test || die "Tests failed under ${EPYTHON}"
+}
+
+src_compile() {
+ if use doc ; then
+ emake -C docs html
+ fi
+ distutils-r1_src_compile
+}
+
+python_install_all() {
+ use doc && dohtml -r "${S}"/docs/_build/html/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jedi/jedi-0.9.0.ebuild b/dev-python/jedi/jedi-0.9.0.ebuild
new file mode 100644
index 000000000000..0c0b29a0f32f
--- /dev/null
+++ b/dev-python/jedi/jedi-0.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Awesome autocompletion library for python"
+HOMEPAGE="https://github.com/davidhalter/jedi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ app-arch/xz-utils
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ PYTHONPATH="${PYTHONPATH%:}${PYTHONPATH+:}${S}/test" py.test test || die "Tests failed under ${EPYTHON}"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && dohtml -r "${S}"/docs/_build/html/*
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jedi/metadata.xml b/dev-python/jedi/metadata.xml
new file mode 100644
index 000000000000..8fd43766e8bd
--- /dev/null
+++ b/dev-python/jedi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jedi</remote-id>
+ <remote-id type="github">davidhalter/jedi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jellyfish/Manifest b/dev-python/jellyfish/Manifest
new file mode 100644
index 000000000000..7bda4475518f
--- /dev/null
+++ b/dev-python/jellyfish/Manifest
@@ -0,0 +1 @@
+DIST jellyfish-0.5.1.tar.gz 21766 SHA256 e297b7a5d00579b0da0474a89273fff759f305de88e05d6a1d0ebd4cb58c49e8 SHA512 2cb72651664c7314dba01659315fcdc1248e519f04171056d29fe57c6ef4a7eb9f7c8224827aa982aa52d4216a20b3ad8bd0dbb097f0e844ce292dbb3c963753 WHIRLPOOL 280b5fad06b8098c40d953ce3b524db08787ea12cb335daf6b2d627fea20bf3fdc69af60b6f4ab1a6732157716237b1b6bf5dce65812422fadf3c2228588c172
diff --git a/dev-python/jellyfish/jellyfish-0.5.1.ebuild b/dev-python/jellyfish/jellyfish-0.5.1.ebuild
new file mode 100644
index 000000000000..1a107edabdae
--- /dev/null
+++ b/dev-python/jellyfish/jellyfish-0.5.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
+HOMEPAGE="https://github.com/jamesturk/jellyfish http://pypi.python.org/pypi/jellyfish"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/jellyfish/metadata.xml b/dev-python/jellyfish/metadata.xml
new file mode 100644
index 000000000000..57ab8724c126
--- /dev/null
+++ b/dev-python/jellyfish/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="pypi">jellyfish</remote-id>
+ <remote-id type="github">jamesturk/jellyfish</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jenkins-autojobs/Manifest b/dev-python/jenkins-autojobs/Manifest
new file mode 100644
index 000000000000..9780cfefc993
--- /dev/null
+++ b/dev-python/jenkins-autojobs/Manifest
@@ -0,0 +1,3 @@
+DIST jenkins-autojobs-0.14.3.tar.gz 151992 SHA256 ceb7fab28421c34b01015116cc64428ed3bf672381de759ae3d029500fe1b161 SHA512 1db2d02bf6f1c2d52d0197ffc21e80e5ccd48f6e2020bbe4618ab06792ea3988a42089c1fe1e6d277e30ea6ecf58078d8138da0c463862a063583c119e67e805 WHIRLPOOL 465057f18207fbb1d4d5fe48b06151dca2cc683ae4ba72c92ebc3a4e8548aa4018605189f4f1c353d048230c5a70eaf2bde41648cd0a84e1213f834db59d7f68
+DIST jenkins-autojobs-0.14.3_git_1.1.21.hpi 2108607 SHA256 bed6ad5ee68ab126139dc0a889d04d31541bbeb0063e05734d34a3586fe98124 SHA512 6fa6386f0292cfc61f44dca11860146b7c35df46adefdfec547789b75145fbff61e620195e5f756ae8902211117b4cd2cd7d616dfe51204e563ad38154a67d88 WHIRLPOOL af70f74034cbd6205f4a3518ae1273500b8f526378a02963437f4e92c6594faea8b59a5d1ff0035e9fa90bad328074f5eeb37c815997a25291105b599641478a
+DIST jenkins-autojobs-0.14.3_mercurial_1.41.hpi 107202 SHA256 944a83d115171affdbd4d7e227cb234d01aaecbff90b49bd54800c93b820eff6 SHA512 76d24c9964d7d4590f128bf1577f54a0a4b799d275a0e7874aee95aa20c3ed0313b96bb6fb4e7f9603a4433db68e4d0caeb4ca22394cdc24a436fcc3b32b8d67 WHIRLPOOL 2b32cf6aa2bc23f62e1ec173ad8a16debf7c313902ab8eaf5f41ecae870e0c81fa095756d6c78af9b0106a2042f3f5a5fa9d5b9743c53d09d586d28c4bc9925f
diff --git a/dev-python/jenkins-autojobs/files/local_jenkins.patch b/dev-python/jenkins-autojobs/files/local_jenkins.patch
new file mode 100644
index 000000000000..96bab635ffe8
--- /dev/null
+++ b/dev-python/jenkins-autojobs/files/local_jenkins.patch
@@ -0,0 +1,26 @@
+--- tests/bin/start-jenkins.sh.orig 2015-01-02 23:10:17.000000000 +0100
++++ tests/bin/start-jenkins.sh 2015-01-30 16:35:27.058035074 +0100
+@@ -19,6 +19,8 @@
+ echo 0 | nc $jenkins_addr $jenkins_cport
+ }
+
++cp -v /opt/jenkins/jenkins.war $jenkins_war
++
+ if [[ ! -e $jenkins_war ]]; then
+ echo "Downloading jenkins.war ..."
+ curl -L $jenkins_war_url > $jenkins_war
+@@ -31,7 +33,6 @@
+
+ if [[ $(unzip -l $jenkins_war | egrep "plugins/(mercurial)|(git).hpi" | wc -l) -ne 2 ]]; then
+ echo "Adding git and hg plugins to jenkins.war ..."
+- wget -c $hg_hpi_url $git_hpi_url -P "${here}/../tmp/WEB-INF/plugins"
+ (cd ${here}/../tmp && zip jenkins.war ./WEB-INF/plugins/*.hpi)
+ fi
+
+@@ -57,4 +58,4 @@
+
+ [[ $jenkins_running -ne 0 ]] && exit 1
+
+-wait $java_pid
++#wait $java_pid
+
diff --git a/dev-python/jenkins-autojobs/jenkins-autojobs-0.14.3.ebuild b/dev-python/jenkins-autojobs/jenkins-autojobs-0.14.3.ebuild
new file mode 100644
index 000000000000..558ee4a192c6
--- /dev/null
+++ b/dev-python/jenkins-autojobs/jenkins-autojobs-0.14.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MERCURIAL_PV="1.41"
+GIT_PV="1.1.21"
+
+DESCRIPTION="Scripts for automatically creating Jenkins jobs from scm branches"
+HOMEPAGE="https://github.com/gvalkov/jenkins-autojobs"
+SRC_URI="https://github.com/gvalkov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ http://updates.jenkins-ci.org/download/plugins/mercurial/${MERCURIAL_PV}/mercurial.hpi -> ${P}_mercurial_${MERCURIAL_PV}.hpi
+ http://updates.jenkins-ci.org/download/plugins/git/${GIT_PV}/git.hpi -> ${P}_git_${GIT_PV}.hpi"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+RDEPEND=">dev-python/jenkins-webapi-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.2.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.0[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-util/jenkins-bin
+ net-analyzer/netcat
+ dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? ( >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/alabaster-0.6.1[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}/local_jenkins.patch" )
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ if use test; then
+ mkdir -p ${P}/tests/tmp/WEB-INF/plugins/
+
+ cp -v "${DISTDIR}"/${P}_mercurial_${MERCURIAL_PV}.hpi ${P}/tests/tmp/WEB-INF/plugins/mercurial.hpi
+ cp -v "${DISTDIR}"/${P}_git_${GIT_PV}.hpi ${P}/tests/tmp/WEB-INF/plugins/git.hpi
+ fi
+}
+
+python_test() {
+ # Test phase works with the limitation that it need be run as root in portage
+ # starts jenkins
+ ./tests/bin/start-jenkins.sh
+
+ py.test || die "Failed with ${EPYTHON}"
+
+ # kills jenkins
+ echo 0 | nc 127.0.0.1 60887
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jenkins-autojobs/metadata.xml b/dev-python/jenkins-autojobs/metadata.xml
new file mode 100644
index 000000000000..08e838d6acb5
--- /dev/null
+++ b/dev-python/jenkins-autojobs/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gvalkov/jenkins-autojobs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jenkins-webapi/Manifest b/dev-python/jenkins-webapi/Manifest
new file mode 100644
index 000000000000..353444b1171a
--- /dev/null
+++ b/dev-python/jenkins-webapi/Manifest
@@ -0,0 +1,2 @@
+DIST jenkins-webapi-0.3.2.tar.gz 14831 SHA256 8f67d86c1f95edb79928af9b3b7c60ef9a63bfbfd19b6fe0a892ef4039f25500 SHA512 2ac59c90bba48406cc9fe5595505d5836eab1147869fbc8c06577767891d37904bffa5516316af0cb25f7f9193ae5277c0219ecc9daf5e0efa093fd449d1f4f0 WHIRLPOOL e4562a1857d7c526aec8c5ecc35f6a0644c48bf69fad4bdfef20f0708fdc0dfb5595c428acdc03e1df02c3d21669d47c89e0f3a99c1ee09a9741f9e21ab83b48
+DIST jenkins-webapi-0.4.0.tar.gz 16149 SHA256 7515b1e0503e07d50088e32205873146eda3b1132d8a6508e28f4e935c41e8b2 SHA512 ae40366e6fb6414391287ffa42ec92fba1971f070ac718d521c5b10f6e47d14ceea15a8c71f559380356530fdb2f826e08a6c611813b407dad73dab39fcddfeb WHIRLPOOL 30abf44c7d1ec6884baa3481c9d2f234f46f812d5ee6a8d9e49de8bc367ffef9c58f7653dcd30c24a308372cb8f6211e51f40e441e17f9ef15abd222de5d775b
diff --git a/dev-python/jenkins-webapi/files/local_jenkins_war.patch b/dev-python/jenkins-webapi/files/local_jenkins_war.patch
new file mode 100644
index 000000000000..c41f5bb51ce3
--- /dev/null
+++ b/dev-python/jenkins-webapi/files/local_jenkins_war.patch
@@ -0,0 +1,12 @@
+--- tests/install.py.orig 2014-11-23 21:21:29.000000000 +0100
++++ tests/install.py 2015-01-28 18:29:42.750933314 +0100
+@@ -23,7 +23,7 @@
+ self.destdir = destdir
+
+ self.logfile = logfile if logfile else pjoin(self.destdir, 'jenkins.log')
+- self.jenkinswar = pjoin(self.destdir, 'jenkins.war')
++ self.jenkinswar = pjoin('/opt/jenkins', 'jenkins.war')
+ self.jenkinscli = pjoin(self.destdir, 'jenkins-cli.jar')
+ self.homedir = pjoin(self.destdir, 'home')
+
+
diff --git a/dev-python/jenkins-webapi/files/tests_py27.patch b/dev-python/jenkins-webapi/files/tests_py27.patch
new file mode 100644
index 000000000000..5a6e8c9ddf69
--- /dev/null
+++ b/dev-python/jenkins-webapi/files/tests_py27.patch
@@ -0,0 +1,7 @@
+--- tests/conftest.py.orig 2014-11-23 21:21:29.000000000 +0100
++++ tests/conftest.py 2015-01-28 18:37:25.388067816 +0100
+@@ -1,3 +1,4 @@
++# -*- coding: utf-8 -*-
+ import re
+ import time
+ import pytest
diff --git a/dev-python/jenkins-webapi/jenkins-webapi-0.3.2.ebuild b/dev-python/jenkins-webapi/jenkins-webapi-0.3.2.ebuild
new file mode 100644
index 000000000000..5b7490481cad
--- /dev/null
+++ b/dev-python/jenkins-webapi/jenkins-webapi-0.3.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for interacting with the Jenkins CI server"
+HOMEPAGE="https://github.com/gvalkov/jenkins-webapi"
+SRC_URI="https://github.com/gvalkov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/requests-2.4.3[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-util/jenkins-bin
+ >=dev-python/pytest-2.6.3[${PYTHON_USEDEP}]
+ >=dev-python/termcolor-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/httmock-1.2.2[${PYTHON_USEDEP}] )
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/alabaster-0.6.1[${PYTHON_USEDEP}] )
+ "
+
+PATCHES=(
+ "${FILESDIR}"/local_jenkins_war.patch
+ "${FILESDIR}"/tests_py27.patch
+ )
+
+python_test() {
+ emake test
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jenkins-webapi/jenkins-webapi-0.4.0-r1.ebuild b/dev-python/jenkins-webapi/jenkins-webapi-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..acadf5dce8b5
--- /dev/null
+++ b/dev-python/jenkins-webapi/jenkins-webapi-0.4.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for interacting with the Jenkins CI server"
+HOMEPAGE="https://github.com/gvalkov/jenkins-webapi"
+SRC_URI="http://dev.gentoo.org/~idella4/tarballs/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+RESTRICT="mirror"
+
+RDEPEND=">=dev-python/requests-2.4.3[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-util/jenkins-bin
+ >=dev-python/pytest-2.6.3[${PYTHON_USEDEP}]
+ >=dev-python/termcolor-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/httmock-1.2.2[${PYTHON_USEDEP}] )
+ doc? (
+ >=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/alabaster-0.6.1[${PYTHON_USEDEP}] )
+ "
+PATCHES=( "${FILESDIR}"/local_jenkins_war.patch )
+
+python_test() {
+ emake test
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jenkins-webapi/metadata.xml b/dev-python/jenkins-webapi/metadata.xml
new file mode 100644
index 000000000000..469d770d7eb8
--- /dev/null
+++ b/dev-python/jenkins-webapi/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer and target for any bugs</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gvalkov/jenkins-webapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jenkinsapi/Manifest b/dev-python/jenkinsapi/Manifest
new file mode 100644
index 000000000000..9fcafbe1cec6
--- /dev/null
+++ b/dev-python/jenkinsapi/Manifest
@@ -0,0 +1 @@
+DIST jenkinsapi-0.2.26.tar.gz 76598 SHA256 68118e5abad7e5cd4191e1b20b08a950e5e563e816e3ba25e2f4ed994ba945f2 SHA512 5c04450bd285e2f576bcdd933ec8bd9df840f3fdcae9999305f96ea3f2e85bced4dfc5f961c763cd9137c2bfc2c9b79e032dc451978b6fc04a2fe8cb6e98d030 WHIRLPOOL 025d6c8cee081068d77350b7ffd6e03441dc2758be6b761d6ef6f00007c99ac41032ce3e1be3cf01496f6e59913e8b2f7a22ab9d66d5a8aeeca5c24922d4175b
diff --git a/dev-python/jenkinsapi/files/local_jenkins_war.patch b/dev-python/jenkinsapi/files/local_jenkins_war.patch
new file mode 100644
index 000000000000..811ca4cb9c22
--- /dev/null
+++ b/dev-python/jenkinsapi/files/local_jenkins_war.patch
@@ -0,0 +1,12 @@
+--- a/jenkinsapi_tests/systests/__init__.py 2015-01-27 14:14:43.632779039 +0100
++++ b/jenkinsapi_tests/systests/__init__.py 2015-01-27 15:08:52.521438293 +0100
+@@ -11,7 +11,7 @@
+
+ def setUpPackage():
+ systests_dir, _ = os.path.split(__file__)
+- war_path = os.path.join(systests_dir, 'jenkins.war')
++ war_path = os.path.join('/opt/jenkins', 'jenkins.war')
+ state['launcher'] = JenkinsLancher(war_path, PLUGIN_DEPENDENCIES,
+ jenkins_url=os.getenv('JENKINS_URL', None))
+ state['launcher'].start()
+
diff --git a/dev-python/jenkinsapi/jenkinsapi-0.2.26.ebuild b/dev-python/jenkinsapi/jenkinsapi-0.2.26.ebuild
new file mode 100644
index 000000000000..78875e42a10a
--- /dev/null
+++ b/dev-python/jenkinsapi/jenkinsapi-0.2.26.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="API to access resources on a Jenkins continuous-integration server"
+HOMEPAGE="https://github.com/salimfadhley/jenkinsapi"
+SRC_URI="https://github.com/salimfadhley/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/pytz-2014.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.3.0[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-util/jenkins-bin
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ )"
+
+# use jenkins.war from jenkins-bin instead of downloading
+PATCHES=( "${FILESDIR}"/local_jenkins_war.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/jenkinsapi/metadata.xml b/dev-python/jenkinsapi/metadata.xml
new file mode 100644
index 000000000000..6cfdf9a485e4
--- /dev/null
+++ b/dev-python/jenkinsapi/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>hydrapolic@gmail.com</email>
+ <name>Tomas Mozes</name>
+ <description>Proxy maintainer and target for all bugs</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">salimfadhley/jenkinsapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jingo/Manifest b/dev-python/jingo/Manifest
new file mode 100644
index 000000000000..4e90a0e9360f
--- /dev/null
+++ b/dev-python/jingo/Manifest
@@ -0,0 +1,2 @@
+DIST jingo-0.7.1.tar.gz 9982 SHA256 c495a8dfd0a9c1d3d8ed02121bbb28b6c9d34d4da30aa93a7e639c0f3d7b0639 SHA512 153d87f3017b34bb66bddffadb059d0089a48fbdb07bf4881499679c134232be2fe259da95de5a65f6339c1e72a3afb12f4daa1d91ef61f9294bd89899929929 WHIRLPOOL 5fa6af5c5d63766b381413147cc2a0f218693f14350e07f7d8f3e2189fceebd4f6678955aa8fda4ee09799318fc84f533dcc2af761fa0b1a7bb109fbc5dae103
+DIST jingo-0.7.tar.gz 9365 SHA256 a3bd5051dd17e9d50e8a9f2d362508e82d7063010fdc06d5e07ce3608e780fe6 SHA512 7358c20371d761ad147aaa2991056d1789d6a80d645741d816c38369abc469911ca6a1ab4324e7b1243832605fd80cdb3df89610106d2a850f634f1595da254d WHIRLPOOL 5c3c17a287a2cb1469d187387064b8c55accbd240105aa3f09f9fb671512dfb394b3be2529d227181c302070c83c73c1c0556a9885f8cf32ba4dbe31039cfb4d
diff --git a/dev-python/jingo/jingo-0.7.1.ebuild b/dev-python/jingo/jingo-0.7.1.ebuild
new file mode 100644
index 000000000000..1f1c922c242b
--- /dev/null
+++ b/dev-python/jingo/jingo-0.7.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An adapter for using Jinja2 templates with Django"
+HOMEPAGE="http://github.com/jbalogh/jingo/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]"
diff --git a/dev-python/jingo/jingo-0.7.ebuild b/dev-python/jingo/jingo-0.7.ebuild
new file mode 100644
index 000000000000..2ab2dd2cf875
--- /dev/null
+++ b/dev-python/jingo/jingo-0.7.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An adapter for using Jinja2 templates with Django"
+HOMEPAGE="http://github.com/jbalogh/jingo/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]"
diff --git a/dev-python/jingo/metadata.xml b/dev-python/jingo/metadata.xml
new file mode 100644
index 000000000000..122dccb9144f
--- /dev/null
+++ b/dev-python/jingo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jingo</remote-id>
+ <remote-id type="github">jbalogh/jingo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jinja/Manifest b/dev-python/jinja/Manifest
new file mode 100644
index 000000000000..e01678447717
--- /dev/null
+++ b/dev-python/jinja/Manifest
@@ -0,0 +1,2 @@
+DIST Jinja2-2.7.3.tar.gz 378470 SHA256 2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb SHA512 2810db2b52fe800e2a4a47ea41a07f997b1647a2b7ad05fe564f9d554d6a402283c84c4e2491e5dad8d22acd83d3ca420f0983ed2effc732f6d79600a846071b WHIRLPOOL ece9b68dff414739103eac202b5903d96802939f5742a2bf3ff421d87ef49043ed9a4b2a3a6bf0c2f3d9be0d8295b73c47b253553731b44912cb58add8f233c0
+DIST Jinja2-2.8.tar.gz 357055 SHA256 bc1ff2ff88dbfacefde4ddde471d1417d3b304e8df103a7a9437d47269201bf4 SHA512 2e80d6d9ad10dafcce1e6dd24493f5dffc43a17f71a30a650415638e12d3a3891738ebacc569701129214026d062d91a2b10e4f7a2c7b85d801dde26ded1bebb WHIRLPOOL 31adc38738848aa224cceb0d0afb2b85eb080d166ed84f145eb0576eeedfb91cf8d99d7c98b6a6cc6ab4fedf33fdbe3171c80fd559df48036a7441232702e749
diff --git a/dev-python/jinja/files/jinja-2.6-python3.3.patch b/dev-python/jinja/files/jinja-2.6-python3.3.patch
new file mode 100644
index 000000000000..29bd38ead6df
--- /dev/null
+++ b/dev-python/jinja/files/jinja-2.6-python3.3.patch
@@ -0,0 +1,15 @@
+diff --git a/jinja2/environment.py b/jinja2/environment.py
+index ebb5454..1b5dc40 100644
+--- a/jinja2/environment.py
++++ b/jinja2/environment.py
+@@ -570,6 +570,10 @@ class Environment(object):
+ py_header = imp.get_magic() + \
+ u'\xff\xff\xff\xff'.encode('iso-8859-15')
+
++ # Python 3.3 added a source filesize to the header
++ if sys.version_info >= (3, 3):
++ py_header += u'\x00\x00\x00\x00'.encode('iso-8859-15')
++
+ def write_file(filename, data, mode):
+ if zip:
+ info = ZipInfo(filename)
diff --git a/dev-python/jinja/files/jinja-2.7-docs.patch b/dev-python/jinja/files/jinja-2.7-docs.patch
new file mode 100644
index 000000000000..d543f54d6cd7
--- /dev/null
+++ b/dev-python/jinja/files/jinja-2.7-docs.patch
@@ -0,0 +1,53 @@
+From da94a8b504d981cb5f877219811d169823a2095e Mon Sep 17 00:00:00 2001
+From: Armin Ronacher <armin.ronacher@active-4.com>
+Date: Mon, 20 May 2013 14:06:59 +0100
+Subject: [PATCH] Fixed docs not building
+
+---
+ docs/faq.rst | 2 +-
+ docs/jinjaext.py | 2 +-
+ docs/templates.rst | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/docs/faq.rst b/docs/faq.rst
+index 4db5079..00a4d0d 100644
+--- a/docs/faq.rst
++++ b/docs/faq.rst
+@@ -157,7 +157,7 @@ Python 2.3 support you either have to use `Jinja 1`_ or other templating
+ engines that still support 2.3.
+
+ My Macros are overridden by something
+-------------------------------------
++-------------------------------------
+
+ In some situations the Jinja scoping appears arbitrary:
+
+diff --git a/docs/jinjaext.py b/docs/jinjaext.py
+index 8395a55..3c217f8 100644
+--- a/docs/jinjaext.py
++++ b/docs/jinjaext.py
+@@ -23,7 +23,7 @@
+ from pygments.token import Keyword, Name, Comment, String, Error, \
+ Number, Operator, Generic
+ from jinja2 import Environment, FileSystemLoader
+-from jinja2.utils import next
++from jinja2._compat import next
+
+
+ def parse_rst(state, content_offset, doc):
+diff --git a/docs/templates.rst b/docs/templates.rst
+index e0a19fa..4a6a379 100644
+--- a/docs/templates.rst
++++ b/docs/templates.rst
+@@ -579,7 +579,7 @@ Inside of a for-loop block you can access some special variables:
+ | `loop.depth` | Indicates how deep in deep in a recursive loop |
+ | | the rendering currently is. Starts at level 1 |
+ +-----------------------+---------------------------------------------------+
+-| `loop.depth0 | Indicates how deep in deep in a recursive loop |
++| `loop.depth0` | Indicates how deep in deep in a recursive loop |
+ | | the rendering currently is. Starts at level 0 |
+ +-----------------------+---------------------------------------------------+
+
+--
+1.8.1.6
+
diff --git a/dev-python/jinja/jinja-2.7.3.ebuild b/dev-python/jinja/jinja-2.7.3.ebuild
new file mode 100644
index 000000000000..5dfca3cc0651
--- /dev/null
+++ b/dev-python/jinja/jinja-2.7.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit eutils distutils-r1
+
+MY_PN=Jinja2
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A small but fast and easy to use stand-alone template engine written in pure Python"
+HOMEPAGE="http://jinja.pocoo.org/ http://pypi.python.org/pypi/Jinja2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+IUSE="doc examples"
+
+RDEPEND="dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ !dev-python/jinja:compat"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# XXX: handle Babel better?
+
+S=${WORKDIR}/${MY_P}
+PATCHES=( "${FILESDIR}/jinja-2.7-docs.patch" )
+
+wrap_opts() {
+ local mydistutilsargs=()
+
+ if [[ ${EPYTHON} == python* ]]; then
+ mydistutilargs+=( --with-debugsupport )
+ fi
+
+ "${@}"
+}
+
+python_compile() {
+ wrap_opts distutils-r1_python_compile
+ if [[ ${EPYTHON} == python3.2 ]]; then
+ 2to3 --no-diffs -n -w -f unicode "${BUILD_DIR}/lib" || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins ext/Vim/*
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/jinja/jinja-2.8.ebuild b/dev-python/jinja/jinja-2.8.ebuild
new file mode 100644
index 000000000000..e77e0da8195a
--- /dev/null
+++ b/dev-python/jinja/jinja-2.8.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit eutils distutils-r1
+
+MY_PN=Jinja2
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A small but fast and easy to use stand-alone template engine written in pure Python"
+HOMEPAGE="http://jinja.pocoo.org/ http://pypi.python.org/pypi/Jinja2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+IUSE="doc examples"
+
+RDEPEND="dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ !dev-python/jinja:compat"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# XXX: handle Babel better?
+
+S=${WORKDIR}/${MY_P}
+
+wrap_opts() {
+ local mydistutilsargs=()
+
+ if [[ ${EPYTHON} == python* ]]; then
+ mydistutilargs+=( --with-debugsupport )
+ fi
+
+ "${@}"
+}
+
+python_compile() {
+ wrap_opts distutils-r1_python_compile
+ if [[ ${EPYTHON} == python3.2 ]]; then
+ 2to3 --no-diffs -n -w -f unicode "${BUILD_DIR}/lib" || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins ext/Vim/*
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/jinja/metadata.xml b/dev-python/jinja/metadata.xml
new file mode 100644
index 000000000000..45bb8cf511c3
--- /dev/null
+++ b/dev-python/jinja/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Jinja2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jmespath/Manifest b/dev-python/jmespath/Manifest
new file mode 100644
index 000000000000..ef4e7118232b
--- /dev/null
+++ b/dev-python/jmespath/Manifest
@@ -0,0 +1,2 @@
+DIST jmespath-0.5.0.tar.gz 18175 SHA256 c3243fb93f914df1852cc3699115c87982009860290b60910c1b2715bec238c2 SHA512 7ea11fa1f011585065a53a8b5286bab0c2422b1c553e89f1c3d543c3018d7d532d44b021e2654a1cd32e4bfbc384897b35f35a30b9b7439e9834135428bc9647 WHIRLPOOL fd1aa83c7a224b7f9d8bea513e83fb2e3ee54656c8661a1b36b1db1c24b0c59ea3de9adaf64cf17d1dfeffd333aa8895dd3ce8f8ec9e6f53e4260ec283d1da51
+DIST jmespath-0.7.1.tar.gz 19696 SHA256 cd5a12ee3dfa470283a020a35e69e83b0700d44fe413014fd35ad5584c5f5fd1 SHA512 66f3e1bd084c090c8a2bb11ecf873066464834b515a421e1c832b1de26e8de8ea875d9ec3e9bf471c1a2170b102206f2b9e59ec09bba1bbecb278e2713f2446f WHIRLPOOL a571e8f83ca57e9742e819a5154f77f483ef96984ffe04dcaed3629c0a63b8094bfa18526c06688981a626a52fd96f95b777ec5f8209f0db60a5adaeb2ff3eaf
diff --git a/dev-python/jmespath/jmespath-0.5.0.ebuild b/dev-python/jmespath/jmespath-0.5.0.ebuild
new file mode 100644
index 000000000000..962375bbc9d3
--- /dev/null
+++ b/dev-python/jmespath/jmespath-0.5.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSON Matching Expressions"
+HOMEPAGE="https://github.com/boto/jmespath https://pypi.python.org/pypi/jmespath"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="test"
+
+DEPEND="
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/jmespath/jmespath-0.7.1.ebuild b/dev-python/jmespath/jmespath-0.7.1.ebuild
new file mode 100644
index 000000000000..58c2e6ef429b
--- /dev/null
+++ b/dev-python/jmespath/jmespath-0.7.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSON Matching Expressions"
+HOMEPAGE="https://github.com/boto/jmespath https://pypi.python.org/pypi/jmespath"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/jmespath/metadata.xml b/dev-python/jmespath/metadata.xml
new file mode 100644
index 000000000000..d1bd75aebfc7
--- /dev/null
+++ b/dev-python/jmespath/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ <description>Python team can take the package if they wish.</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">jmespath</remote-id>
+ <remote-id type="github">boto/jmespath</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/joblib/Manifest b/dev-python/joblib/Manifest
new file mode 100644
index 000000000000..5fad6195bab0
--- /dev/null
+++ b/dev-python/joblib/Manifest
@@ -0,0 +1,5 @@
+DIST joblib-0.8.0.tar.gz 309866 SHA256 b0f628f878ee808cb8987ac7fd82abdb7a2a6e3252c65d7ed28e26b806d82a45 SHA512 5dc5f89bea0204975765d88ef5e1f1faac6541a71845a74865e10c23ca3363ee8f39f62eb35b7cd944b0768a85f44f5d9d7deb02a17df80bec36f9e75f071aba WHIRLPOOL 15f65fdd838287c130da28c27989c998b4eccdc2dc899cecb277cf829345ad56a3e7fa39e61e4669e3afcc2ba96ca6624a50d1f5fd10ed7a7d60d96b510e3fd4
+DIST joblib-0.8.1.tar.gz 310038 SHA256 0a8d9707d7f28ee155c1ec174868548ad2ae88f5f8ca08c629ce41c0c96bd36f SHA512 a67521a0e73c38d045031f6b189bcc8d2cda3f3364f229177bed84ddb344e266e7faff0e5acd8b9dbf4463625dd5b1049d29176f447e8e2ea04e05096d271f23 WHIRLPOOL ca2d79a943ffa263c8c1ca45c5bb5a0deaa16d7a48859971ef52f2de96f097b7e3720fef053ad069411493fd17320a8e82e26feee4889dbd0777eb3327b32682
+DIST joblib-0.8.2.tar.gz 311162 SHA256 6434f2855be83796626185be474f06833cea2fd6fc65be765dc3ec39d6e620fc SHA512 63995559346aa032dc256c5995efe071fa5033b4fddaf9bafa45cb783ed74798e331e7bda2641163a8037ea044b8fee372af60860722e824a2f4cb161d7ceeb3 WHIRLPOOL a3892746ff382a2c64d49ed68f50b84b5b838f3a1f21c563646845e9265928946e59c22af2100e2a5f06c7a2b11d8603417075d6edf8bc9fc599d44b9b6fb766
+DIST joblib-0.8.3.tar.gz 317569 SHA256 f163790e4c08b52c3c37db132c0528c3041da9e1d0095199bebd0c9876e1fcd6 SHA512 2f8279e753ad5d6d0001f399b19fcbe602511b43926d94b1d80f0dcff266e249779e8bdf88be9c976a12a8416e677497c18ca7a5c9019cdde4415e9a8d97d3aa WHIRLPOOL 1aa9e0a6c5ca0184674d0df76ba05bb2c435319c60edda1880037acf8f9b9fe514b14b111da85c5be548f9d98c350b30d69b95eb0b5b7f96f7a13979f766f852
+DIST joblib-0.8.4.tar.gz 314213 SHA256 f185b87199525e0805281960f9f91c4f2e382e5834f05678cfcfa8ec666a4d2b SHA512 37d9a107c0f8f80c30cbcf7e4520a571eb925efdfb8729ca681fb12b3ec79cfd63c4b53660e560bbb3bc162664f79ab1d9fa7207f3dac00b5d5cddcdc12169c9 WHIRLPOOL f887c0153b4fa691e2289a9d3237a1b9ee51fabd7f6f3a54c7914f4296e23d50010ba822846723566fac5bcfd40c7b23c458121b6eff18d8ce15d6317ae5e638
diff --git a/dev-python/joblib/joblib-0.8.0.ebuild b/dev-python/joblib/joblib-0.8.0.ebuild
new file mode 100644
index 000000000000..8ab7950fee80
--- /dev/null
+++ b/dev-python/joblib/joblib-0.8.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="http://pythonhosted.org/joblib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+# Usual; req'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/ doc/ doc/html || die "docs failed installation"
+ fi
+}
+
+python_test() {
+ # https://github.com/joblib/joblib/issues/143
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_func_inspect_errors:_&:' -i ${PN}/test/test_func_inspect.py || die
+ sed -e 's:test_parallel_pickling:_&:' -i ${PN}/test/test_parallel.py || die
+ fi
+
+ nosetests -w ${PN}/test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/joblib/joblib-0.8.1.ebuild b/dev-python/joblib/joblib-0.8.1.ebuild
new file mode 100644
index 000000000000..8ab7950fee80
--- /dev/null
+++ b/dev-python/joblib/joblib-0.8.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="http://pythonhosted.org/joblib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+# Usual; req'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/ doc/ doc/html || die "docs failed installation"
+ fi
+}
+
+python_test() {
+ # https://github.com/joblib/joblib/issues/143
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_func_inspect_errors:_&:' -i ${PN}/test/test_func_inspect.py || die
+ sed -e 's:test_parallel_pickling:_&:' -i ${PN}/test/test_parallel.py || die
+ fi
+
+ nosetests -w ${PN}/test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/joblib/joblib-0.8.2.ebuild b/dev-python/joblib/joblib-0.8.2.ebuild
new file mode 100644
index 000000000000..8ab7950fee80
--- /dev/null
+++ b/dev-python/joblib/joblib-0.8.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="http://pythonhosted.org/joblib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+# Usual; req'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/ doc/ doc/html || die "docs failed installation"
+ fi
+}
+
+python_test() {
+ # https://github.com/joblib/joblib/issues/143
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_func_inspect_errors:_&:' -i ${PN}/test/test_func_inspect.py || die
+ sed -e 's:test_parallel_pickling:_&:' -i ${PN}/test/test_parallel.py || die
+ fi
+
+ nosetests -w ${PN}/test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/joblib/joblib-0.8.3.ebuild b/dev-python/joblib/joblib-0.8.3.ebuild
new file mode 100644
index 000000000000..71da91646695
--- /dev/null
+++ b/dev-python/joblib/joblib-0.8.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="http://pythonhosted.org/joblib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+# Usual; req'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/ doc/ doc/html || die "docs failed installation"
+ fi
+}
+
+python_test() {
+ # https://github.com/joblib/joblib/issues/143
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_func_inspect_errors:_&:' -i ${PN}/test/test_func_inspect.py || die
+ sed -e 's:test_parallel_pickling:_&:' -i ${PN}/test/test_parallel.py || die
+ fi
+
+ nosetests -w ${PN}/test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/joblib/joblib-0.8.4.ebuild b/dev-python/joblib/joblib-0.8.4.ebuild
new file mode 100644
index 000000000000..bc974373ad0f
--- /dev/null
+++ b/dev-python/joblib/joblib-0.8.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="http://pythonhosted.org/joblib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+# Usual; req'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build -b html -c doc/ doc/ doc/html || die "docs failed installation"
+ fi
+}
+
+python_test() {
+ # https://github.com/joblib/joblib/issues/143
+ if [[ "${EPYTHON}" == pypy ]]; then
+ sed -e 's:test_func_inspect_errors:_&:' -i ${PN}/test/test_func_inspect.py || die
+ sed -e 's:test_parallel_pickling:_&:' -i ${PN}/test/test_parallel.py || die
+ fi
+
+ nosetests -w ${PN}/test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/joblib/metadata.xml b/dev-python/joblib/metadata.xml
new file mode 100644
index 000000000000..6be052e4dbd1
--- /dev/null
+++ b/dev-python/joblib/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+ Joblib is a set of tools to provide lightweight pipelining in
+ Python. In particular, joblib offers:
+ * transparent disk-caching of the output values and lazy
+ re-evaluation (memoize pattern)
+ * easy simple parallel computing
+ * logging and tracing of the execution
+ Joblib is optimized to be fast and robust in particular on large,
+ long-running functions and has specific optimizations for numpy arrays.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">joblib</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/jonpy/Manifest b/dev-python/jonpy/Manifest
new file mode 100644
index 000000000000..142ad248f2b1
--- /dev/null
+++ b/dev-python/jonpy/Manifest
@@ -0,0 +1,2 @@
+DIST jonpy-0.10.tar.gz 51672 SHA256 33f43845b6403a2596d89e2210ba043d73facd39937e04eb59d0b7ef683b9456 SHA512 2dcea6798e186a1bfd767f3a0b331ee5ca56e2c0df63b8ac1f3ac53c9906ca98387a0d47166c11057cee62dc669de0771eba6e72d59d5ecd0e88b2fcd5b70281 WHIRLPOOL 8a9e7334d31f822bab462cee321bb520922f070ca569588881ed741ebf0580967d2222f1caf521941a3db3bd8b801f825e485c11dd481a5c66975e293878666f
+DIST jonpy-0.11.tar.gz 51496 SHA256 983f0af78c6a4cdf843da8449a297681be358476764a06ccdd0cb838a6979a7c SHA512 9fa925259a5d56347b71845fc0ed00f16f4b411b350a08f0779f8f867fc34d0c6164cb0dc107410b6b88d1565fc504cabd102a0c7fcbb86e7163319a235d89ee WHIRLPOOL f3166d7cf06c64cde822baee35c15449eedf31b342a5eea5786eb5ee83645fcc6a93537ec0654e5d851ab9ab5880a17039eaa367708ee13df0d36208bc0cba86
diff --git a/dev-python/jonpy/jonpy-0.10-r1.ebuild b/dev-python/jonpy/jonpy-0.10-r1.ebuild
new file mode 100644
index 000000000000..27ae37d2abdd
--- /dev/null
+++ b/dev-python/jonpy/jonpy-0.10-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Powerful multi-threaded object-oriented CGI/FastCGI/mod_python/html-templating facilities"
+HOMEPAGE="http://jonpy.sourceforge.net/ http://pypi.python.org/pypi/jonpy"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jonpy/jonpy-0.11.ebuild b/dev-python/jonpy/jonpy-0.11.ebuild
new file mode 100644
index 000000000000..29a2699ceeff
--- /dev/null
+++ b/dev-python/jonpy/jonpy-0.11.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Powerful multi-threaded object-oriented CGI/FastCGI/mod_python/html-templating facilities"
+HOMEPAGE="http://jonpy.sourceforge.net/ http://pypi.python.org/pypi/jonpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jonpy/metadata.xml b/dev-python/jonpy/metadata.xml
new file mode 100644
index 000000000000..42e1741985c7
--- /dev/null
+++ b/dev-python/jonpy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jonpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsmin/Manifest b/dev-python/jsmin/Manifest
new file mode 100644
index 000000000000..0b552cb4a8f5
--- /dev/null
+++ b/dev-python/jsmin/Manifest
@@ -0,0 +1,3 @@
+DIST jsmin-2.0.9.tar.gz 7898 SHA256 04b6b05dd05b3ec27066f4274ed94e65f2f092017ee9c376a01f83de0d376dab SHA512 01478173a44ba1372a6f294f0e8b1744cce21216d8da36285735a87743c48f14415a3ac41b124aa5ca0ebc07594361d458989c1930a1cbf9c3894a594f7f9261 WHIRLPOOL 47cd4ad6b7f54f497f062b0dca16c39760e69cd3f06bde693486988d2b8744221461d588ff9ca472a4c68823aa820c7d21f4ef43aad96b1ec6605473759bac8a
+DIST jsmin-2.1.1.tar.gz 9783 SHA256 582f70f5fef561c8d561271206f45258d0c420eec31a8628914e87c73a2192e1 SHA512 1f889bb6a2916da21c315b5aff468cb8c479cbaedb99dfb4bb9298de6414615f274a4f37eeaee108a5f136ceea6893bddc5f564375bb2b2e7f14836a7f1d3dc1 WHIRLPOOL 941453d4765e983ca1b6d65a7f3afc390f967070fa8962a62ac783428071f2af70b42f5e80a4aea60dc8b0e724f490281a502cb13c58653035b34715dfe2f701
+DIST jsmin-2.1.2.tar.gz 9995 SHA256 5e710e9db14f210dfd55ebec43bca5c812d34c5b6179dbcba2e61d9f965bf4e1 SHA512 9723e2ff2feb243b84d3b8d1869a6591bbf1f3224d6f706eb7264293ed083508560586ee4466a4da370bcb4a611a48e9c78d1c25ede363312cafe9189ff97e5d WHIRLPOOL 41896e65703f45bacd0793b2ffb16c12eef4d4f012aa9c12d7282566efeafd49b3c26668c9ba2157a6112bc17d35f66f9f60430618f99dddc69e2be04be45809
diff --git a/dev-python/jsmin/jsmin-2.0.9.ebuild b/dev-python/jsmin/jsmin-2.0.9.ebuild
new file mode 100644
index 000000000000..5228709d0f35
--- /dev/null
+++ b/dev-python/jsmin/jsmin-2.0.9.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="JavaScript minifier"
+HOMEPAGE="https://bitbucket.org/dcs/jsmin/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="doc"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -m ${PN}.test || die
+ popd > /dev/null
+}
diff --git a/dev-python/jsmin/jsmin-2.1.1.ebuild b/dev-python/jsmin/jsmin-2.1.1.ebuild
new file mode 100644
index 000000000000..5b69befb33fb
--- /dev/null
+++ b/dev-python/jsmin/jsmin-2.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="JavaScript minifier"
+HOMEPAGE="https://bitbucket.org/dcs/jsmin/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -m ${PN}.test || die
+ popd > /dev/null
+}
diff --git a/dev-python/jsmin/jsmin-2.1.2.ebuild b/dev-python/jsmin/jsmin-2.1.2.ebuild
new file mode 100644
index 000000000000..8c1963425862
--- /dev/null
+++ b/dev-python/jsmin/jsmin-2.1.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="JavaScript minifier"
+HOMEPAGE="https://bitbucket.org/dcs/jsmin/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" -m ${PN}.test || die
+}
diff --git a/dev-python/jsmin/metadata.xml b/dev-python/jsmin/metadata.xml
new file mode 100644
index 000000000000..a4bede9eb394
--- /dev/null
+++ b/dev-python/jsmin/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jsmin</remote-id>
+ <remote-id type="bitbucket">dcs/jsmin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/json-rpc/Manifest b/dev-python/json-rpc/Manifest
new file mode 100644
index 000000000000..85fea585e7d9
--- /dev/null
+++ b/dev-python/json-rpc/Manifest
@@ -0,0 +1,3 @@
+DIST json-rpc-1.10.1.tar.gz 25410 SHA256 3edffc0905a08090edb4036f8767a08826ec618f9f02717251fd2eb3e1c6983b SHA512 bb69cbb12c0a64286fb1e98db21ca75cb19daf20c6d6f5721f82891a17e44d2cda172e73bd389a02077d094b8f6deb0959952b0498b0c1b4a0acfaa5e3ba3922 WHIRLPOOL c08c465be4951055a12979de5bca056cf56e35c874f491ba4891125e9fbfcc985f85d120c2a5fcb1d8b8264487af90efb34e0316981ccf546190421df5fdc885
+DIST json-rpc-1.7.0.tar.gz 21699 SHA256 9961113fc66bb4e34abd4fa6e8eb2086d14aee88c789e00a023751b5c84dd34b SHA512 f89ae1c2da9f0fa3e3a6552ea89a13ef1806b1a5d4d03ab7c420a1648dde6980af6743a5c70d500224ad5d0d8a5aa6b74ad7de43ea3aeefb1cba0e5dc6cc5fa4 WHIRLPOOL 02bd37b82b6259b9b8fb513615499b1105a0cbbea8b4e6e37800560b6114beb237efa397bf6f50312a26e500eedd0ddc89bf798162742788200f51a563a713ab
+DIST json-rpc-1.9.2.tar.gz 25100 SHA256 42414af4aeab786bb9643c88238f91253251ce301e5f3cdbf385f778ad9b6399 SHA512 9e43c96c54dc07f1cf3d6167e978dc9cab94fd45759148302c13d665384bbc9373d588edae1a17aa06d4804b4c176900165c401ef9801c6af88f7d1af1e0b7ec WHIRLPOOL 8299a1c928394a4fd3bb8e47c535d2d749984fef7fe421d733320dde6e370dc0f2267365a252af083d324f914a6c52f8b1690bb07096e46c0ef847d09af86b9b
diff --git a/dev-python/json-rpc/json-rpc-1.10.1.ebuild b/dev-python/json-rpc/json-rpc-1.10.1.ebuild
new file mode 100644
index 000000000000..1981501d570a
--- /dev/null
+++ b/dev-python/json-rpc/json-rpc-1.10.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSON-RPC transport implementation for python"
+HOMEPAGE="https://github.com/pavlov99/json-rpc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/json-rpc/json-rpc-1.7.0.ebuild b/dev-python/json-rpc/json-rpc-1.7.0.ebuild
new file mode 100644
index 000000000000..c23d740d2bc4
--- /dev/null
+++ b/dev-python/json-rpc/json-rpc-1.7.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_{3,4}})
+
+inherit distutils-r1
+
+DESCRIPTION="JSON-RPC transport implementation for python"
+HOMEPAGE="https://github.com/pavlov99/json-rpc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/json-rpc/json-rpc-1.9.2.ebuild b/dev-python/json-rpc/json-rpc-1.9.2.ebuild
new file mode 100644
index 000000000000..45e2d772905d
--- /dev/null
+++ b/dev-python/json-rpc/json-rpc-1.9.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSON-RPC transport implementation for python"
+HOMEPAGE="https://github.com/pavlov99/json-rpc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/json-rpc/metadata.xml b/dev-python/json-rpc/metadata.xml
new file mode 100644
index 000000000000..99af37920dca
--- /dev/null
+++ b/dev-python/json-rpc/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol.
+ Primarily this specification defines several data structures and the rules
+ around their processing. It is transport agnostic in that the concepts can
+ be used within the same process, over sockets, over http, or in many various
+ message passing environments. It uses JSON (RFC 4627) as data format.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">json-rpc</remote-id>
+ <remote-id type="github">pavlov99/json-rpc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/json-tools/Manifest b/dev-python/json-tools/Manifest
new file mode 100644
index 000000000000..9590204d8513
--- /dev/null
+++ b/dev-python/json-tools/Manifest
@@ -0,0 +1,2 @@
+DIST json_tools-0.3.3.tar.gz 8093 SHA256 d651d10326447b7a039305661b0fa6c44bb54ca2313494e20dda1e4c8c63b7d6 SHA512 34bb34d52f7f230a13071a9a5c3de79f2c76de6b4a8ce60d0acb4447f68893faeb79ee9a98133ba72f1c1acebd9e8beb34dba0953242aee97799e8b97fcf6537 WHIRLPOOL 203666696b13d95b4c918c604c8b968ac1b64603f3559fec4251c2d80792c1d0674fd7a7a086e4536110f241c93fe28457921023183daa3697bf7deee352a11f
+DIST json_tools-0.4.0.tar.gz 7277 SHA256 ec704468805d898da89c5c88157e8aa6559df0cfdcf29ed60a1076a45f79d19a SHA512 b3f86493d17f97eeaecec6572adfc6e16c113c1755f49655863e84f17467c9dae9a57911d66639eb6e6d8548a99887adc827ff28bd26b6180e523b145bba2d5b WHIRLPOOL aaac4a58404a77043cd977c198b5ffe71ec9be9fe0a7fb727bd2efb94802861b961355ce52c0b515456c404a3c855d5a38d4c15a9d9e03cdd9fb4d8bb4989cc5
diff --git a/dev-python/json-tools/json-tools-0.3.3.ebuild b/dev-python/json-tools/json-tools-0.3.3.ebuild
new file mode 100644
index 000000000000..582d0cd73c72
--- /dev/null
+++ b/dev-python/json-tools/json-tools-0.3.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+MY_PN="json_tools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A set of tools to manipulate JSON: diff, patch, and pretty-printing"
+HOMEPAGE="https://pypi.python.org/pypi/json_tools https://bitbucket.org/vadim_semenov/json_tools"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/json-tools/json-tools-0.4.0.ebuild b/dev-python/json-tools/json-tools-0.4.0.ebuild
new file mode 100644
index 000000000000..4b5d1f103220
--- /dev/null
+++ b/dev-python/json-tools/json-tools-0.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# 'Programming Language :: ... in setup.py requires updating"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+MY_PN="json_tools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A set of tools to manipulate JSON: diff, patch, and pretty-printing"
+HOMEPAGE="https://pypi.python.org/pypi/json_tools https://bitbucket.org/vadim_semenov/json_tools"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/json-tools/metadata.xml b/dev-python/json-tools/metadata.xml
new file mode 100644
index 000000000000..3212f3c37437
--- /dev/null
+++ b/dev-python/json-tools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">json_tools</remote-id>
+ <remote-id type="bitbucket">vadim_semenov/json_tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonfield/Manifest b/dev-python/jsonfield/Manifest
new file mode 100644
index 000000000000..3ffb026adcd7
--- /dev/null
+++ b/dev-python/jsonfield/Manifest
@@ -0,0 +1 @@
+DIST jsonfield-1.0.3.tar.gz 7950 SHA256 7e7f73a675c518712badd783279e26d164140f3fc2ed7a32102c3d08a6a2a4a7 SHA512 b69b783266f593d40b588f8deb42828b36fe31f62aba0a80286a24fd788bbea543c74b0566a70fb336fb80105f488a16932bab417a01d3730fa89201f542deb0 WHIRLPOOL 456205636a57171ab952172233204e249b786138d2afc2be60e603399d6802122d19acdcad3fa2cb5df981368144b610668b12e14f9e51fff0994ce8e7e2c661
diff --git a/dev-python/jsonfield/jsonfield-1.0.3.ebuild b/dev-python/jsonfield/jsonfield-1.0.3.ebuild
new file mode 100644
index 000000000000..91fe456e6aaa
--- /dev/null
+++ b/dev-python/jsonfield/jsonfield-1.0.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Reusable Django field that allows you to store validated JSON in your model"
+HOMEPAGE="https://pypi.python.org/pypi/jsonfield https://github.com/bradjasper/django-jsonfield"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="test? ( dev-python/django[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/jsonfield/metadata.xml b/dev-python/jsonfield/metadata.xml
new file mode 100644
index 000000000000..a5c5877f4b14
--- /dev/null
+++ b/dev-python/jsonfield/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">jsonfield</remote-id>
+ <remote-id type="github">bradjasper/django-jsonfield</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonmerge/Manifest b/dev-python/jsonmerge/Manifest
new file mode 100644
index 000000000000..d8611c680f87
--- /dev/null
+++ b/dev-python/jsonmerge/Manifest
@@ -0,0 +1 @@
+DIST jsonmerge-1.1.0.tar.gz 12556 SHA256 2ae73a058474e75f27d4ac2595d9da28084ae42be506f04d077ccea3a853b921 SHA512 52ca9d17098533ada09365caddaaa92b0e0ac696c99b92db6aabc8942183a6d9e06ebf002213d8cebbd25d4905a6a7bfa17ad9d296c838b0019b9f30e403ce94 WHIRLPOOL 610597ffb82cc1cf92d40e2c54fe4877c6e38431611855328a6dba5246f2e12420cf7994e00b296a7880588cc4976df62e359e78b6402ec74275d4f343d8618a
diff --git a/dev-python/jsonmerge/jsonmerge-1.1.0.ebuild b/dev-python/jsonmerge/jsonmerge-1.1.0.ebuild
new file mode 100644
index 000000000000..bcd01c68b3d6
--- /dev/null
+++ b/dev-python/jsonmerge/jsonmerge-1.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="Merge a series of JSON documents."
+HOMEPAGE="https://github.com/omergertel/jsonmerge/ https://pypi.python.org/pypi/jsonmerge/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REPEND="dev-python/jsonschema[${PYTHON_USEDEP}]"
+DEPEND="${REPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ PYTHONPATH="${PWD}" python -m unittest \
+ $(find tests -name 'test_*.py' | LC_ALL=C sort | sed -e 's:/:.:' -e 's:.py$::') || die
+}
diff --git a/dev-python/jsonmerge/metadata.xml b/dev-python/jsonmerge/metadata.xml
new file mode 100644
index 000000000000..890e2ec8780a
--- /dev/null
+++ b/dev-python/jsonmerge/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">jsonmerge</remote-id>
+ <remote-id type="github">omergertel/jsonmerge</remote-id>
+ </upstream>
+ <maintainer>
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/jsonpatch/Manifest b/dev-python/jsonpatch/Manifest
new file mode 100644
index 000000000000..b707bfb1cc26
--- /dev/null
+++ b/dev-python/jsonpatch/Manifest
@@ -0,0 +1,2 @@
+DIST jsonpatch-1.11.tar.gz 14317 SHA256 22d0bc0f5522a4a03dd9fb4c4cdf7c1f03256546c88be4c61e5ceabd22280e47 SHA512 516b6d8c32e97056af3c8d89eb49445d334ddc5588238d062476cb942d919436ea390449fa8e98332c571242a8f10aabd0fe7da3a00698ec3fd98e53f286c821 WHIRLPOOL fe1c97acf820bb72246e98728ba2be42aef4748be28abcd359966ad24220f68f6eca54de6e7a8cf27c8a2ff1538db2aa28b883130c4603468196273362942324
+DIST jsonpatch-1.9.tar.gz 14275 SHA256 e997076450992aa7af2f4ae6c3e7767d390ddb6746979c74fd2092bb8fbdf5b2 SHA512 9f27def8519677dbc6d45287b6938ccfb9179f7a315871adeb7198e1568876a391625c060c7901b7acd51af0ed10427a61d54d899719ef1a073b2e93591904ed WHIRLPOOL a7ee28b9cefa8ddebb060867b260b388cd44ce96f0f2a76698091f55d41be44cd690b32d26b1363218c474fc1dd9cfe8eed3c0d939e9e9d8d4c2214e1b08786b
diff --git a/dev-python/jsonpatch/jsonpatch-1.11.ebuild b/dev-python/jsonpatch/jsonpatch-1.11.ebuild
new file mode 100644
index 000000000000..2de74312c877
--- /dev/null
+++ b/dev-python/jsonpatch/jsonpatch-1.11.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Apply JSON-Patches according to
+ http://tools.ietf.org/html/draft-pbryan-json-patch-04"
+HOMEPAGE="https://github.com/stefankoegl/python-json-patch"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=">=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_test() {
+ "${PYTHON}" tests.py || die "Tests of tests.py fail with ${EPYTHON}"
+ "${PYTHON}" ext_tests.py || die "Tests of ext_tests.py fail with ${EPYTHON}"
+}
diff --git a/dev-python/jsonpatch/jsonpatch-1.9.ebuild b/dev-python/jsonpatch/jsonpatch-1.9.ebuild
new file mode 100644
index 000000000000..9217cf1e5c7d
--- /dev/null
+++ b/dev-python/jsonpatch/jsonpatch-1.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Apply JSON-Patches according to
+ http://tools.ietf.org/html/draft-pbryan-json-patch-04"
+HOMEPAGE="https://github.com/stefankoegl/python-json-patch"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/jsonpointer-1.5[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+ "${PYTHON}" ext_tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/jsonpatch/metadata.xml b/dev-python/jsonpatch/metadata.xml
new file mode 100644
index 000000000000..813d431e479c
--- /dev/null
+++ b/dev-python/jsonpatch/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python library to apply JSON Patches according to
+ http://tools.ietf.org/html/draft-ietf-appsawg-json-patch-08
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">jsonpatch</remote-id>
+ <remote-id type="github">stefankoegl/python-json-patch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonpickle/Manifest b/dev-python/jsonpickle/Manifest
new file mode 100644
index 000000000000..44bfe6558a57
--- /dev/null
+++ b/dev-python/jsonpickle/Manifest
@@ -0,0 +1,3 @@
+DIST jsonpickle-0.8.0.tar.gz 53246 SHA256 fbdff63cad3af5313b186bd44b0977a28fa0aa7d0fc1677e440b5512bea1f99a SHA512 955da4cf18cd76b5fc7777f74babe820b02bc79438e51e606d24f98ed8f655510293f77db5b7919d9f3607431a2c5a76fb6710a97a23f7a041392c1b3d3b65b6 WHIRLPOOL b61ce4a55ac57d8a5e5f8621ccb4404a9a1b6d73291945007bec1625a06f8ea84d229e05ddde023b4ce1d6d9cc21f34494fa94e0554db19f13d01602cd662070
+DIST jsonpickle-0.9.1.tar.gz 59008 SHA256 3ba4f8949e1988b7d786b6bd25a30c2a538e84247fd8fa3cae4ad7cf8f3bae65 SHA512 55eb5607a9beb9d0db17c96e96c80a76fd8fbd4bc28657a655af1bad936a9026677ef7ce46014c6d6032e22e442ad3b99fb77ae1c1785682f0fbdb786657d9d9 WHIRLPOOL 9e4d9f74880746d2e96eca58bc19b623010c332456fc00c5ac4ffdd13a69e04fecadfbdf885a575366c60c923a60ef4d0180ca0e6e31c0f161d12f6c4baff31f
+DIST jsonpickle-0.9.2.tar.gz 59816 SHA256 09bf1978d1d004943c2a359009fb5d09b67277bbaaf9aed281856b3c063979e7 SHA512 bfb4110bf98cb8976cffaa47b40aa2c057b7111e99a4676e09bf127c6dada9e01214aba36e7f46be28dc4ec854e30049d1e153414ee7878ed32ea518d3b48ede WHIRLPOOL 6e82ab4ee090b3f3ab319ff40daa67ba0826722dfecb9c2527cea4e63ee87d27176cb2ad3f1340b8995bf5143626b5690e0e612da007aac0fc1949504cb05b0b
diff --git a/dev-python/jsonpickle/files/0.9.0-drop-broken-backend.patch b/dev-python/jsonpickle/files/0.9.0-drop-broken-backend.patch
new file mode 100644
index 000000000000..92f1a650e6d1
--- /dev/null
+++ b/dev-python/jsonpickle/files/0.9.0-drop-broken-backend.patch
@@ -0,0 +1,11 @@
+diff -ur jsonpickle-0.9.0.orig/tests/thirdparty_test.py jsonpickle-0.9.0/tests/thirdparty_test.py
+--- tests/thirdparty_test.py 2014-09-08 15:28:09.000000000 +0800
++++ tests/thirdparty_test.py 2015-02-07 15:55:51.962308731 +0800
+@@ -61,6 +61,7 @@
+ def setUp(self):
+ try:
+ import feedparser
++ feedparser.PREFERRED_XML_PARSERS.remove('drv_libxml2')
+ except ImportError:
+ if hasattr(self, 'skipTest'):
+ doit = self.skipTest
diff --git a/dev-python/jsonpickle/files/jsonpickle-0.6.1-drop-brocken-backend.patch b/dev-python/jsonpickle/files/jsonpickle-0.6.1-drop-brocken-backend.patch
new file mode 100644
index 000000000000..be8dc9c26e67
--- /dev/null
+++ b/dev-python/jsonpickle/files/jsonpickle-0.6.1-drop-brocken-backend.patch
@@ -0,0 +1,15 @@
+ tests/thirdparty_tests.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/thirdparty_tests.py b/tests/thirdparty_tests.py
+index 6d2d150..f085f57 100644
+--- a/tests/thirdparty_tests.py
++++ b/tests/thirdparty_tests.py
+@@ -60,6 +60,7 @@ class FeedParserTest(unittest.TestCase):
+ def setUp(self):
+ try:
+ import feedparser
++ feedparser.PREFERRED_XML_PARSERS.remove('drv_libxml2')
+ except ImportError as e:
+ self.fail("feedparser module not available, please install")
+ self.doc = feedparser.parse(RSS_DOC)
diff --git a/dev-python/jsonpickle/jsonpickle-0.8.0.ebuild b/dev-python/jsonpickle/jsonpickle-0.8.0.ebuild
new file mode 100644
index 000000000000..6416b1cc24fd
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-0.8.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
+HOMEPAGE="http://jsonpickle.github.com/ http://pypi.python.org/pypi/jsonpickle"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+# There are optional json backends in addition to those selected here
+# jsonlib, demjson, yajl, jsonlib
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND} )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/sphinxtogithub[${PYTHON_USEDEP}]' python2_7) )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.1-drop-brocken-backend.patch )
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c docs/source/ docs/source/ docs/source/html
+}
+
+python_test() {
+ einfo "testsuite has optional tests for package demjson"
+ ${PYTHON} tests/runtests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jsonpickle/jsonpickle-0.9.1.ebuild b/dev-python/jsonpickle/jsonpickle-0.9.1.ebuild
new file mode 100644
index 000000000000..366eab860b3a
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-0.9.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
+HOMEPAGE="https://github.com/jsonpickle/jsonpickle/ http://pypi.python.org/pypi/jsonpickle"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+# There are optional json backends serializer/deserializers in addition to those selected here
+# jsonlib, yajl. demjson added
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/demjson[${PYTHON_USEDEP}]
+ "
+DEPEND="test? ( ${RDEPEND} )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/sphinxtogithub[${PYTHON_USEDEP}]' python2_7) )"
+
+PATCHES=( "${FILESDIR}"/0.9.0-drop-broken-backend.patch )
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c docs/source/ docs/source/ docs/source/html
+}
+
+python_test() {
+ # An apparent regression in tests
+ # https://github.com/jsonpickle/jsonpickle/issues/124
+ einfo "testsuite has optional tests for package demjson"
+ ${PYTHON} tests/runtests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jsonpickle/jsonpickle-0.9.2.ebuild b/dev-python/jsonpickle/jsonpickle-0.9.2.ebuild
new file mode 100644
index 000000000000..d00588435851
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-0.9.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
+HOMEPAGE="https://github.com/jsonpickle/jsonpickle/ http://pypi.python.org/pypi/jsonpickle"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+# There are optional json backends serializer/deserializers in addition to those selected here
+# jsonlib, yajl. demjson added
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/demjson[${PYTHON_USEDEP}]
+ "
+DEPEND="test? ( ${RDEPEND} )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/sphinxtogithub[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c docs/source/ docs/source/ docs/source/html
+}
+
+python_test() {
+ # An apparent regression in tests
+ # https://github.com/jsonpickle/jsonpickle/issues/124
+ einfo "testsuite has optional tests for package demjson"
+ ${PYTHON} tests/runtests.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/jsonpickle/metadata.xml b/dev-python/jsonpickle/metadata.xml
new file mode 100644
index 000000000000..c2c1d1d9b4be
--- /dev/null
+++ b/dev-python/jsonpickle/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">jsonpickle</remote-id>
+ <remote-id type="github">jsonpickle/jsonpickle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonpointer/Manifest b/dev-python/jsonpointer/Manifest
new file mode 100644
index 000000000000..e8ca3b2b7ef7
--- /dev/null
+++ b/dev-python/jsonpointer/Manifest
@@ -0,0 +1,2 @@
+DIST jsonpointer-1.7.tar.gz 8187 SHA256 46b2016b5e4f2b5cd2edf07c60ca8fe7dd91204ca848f98964be61b3c4760f5e SHA512 26b25f31fb98fe7c7d926dcc492fe7889f2462430f959645e498fc47367d23243fb3b528da7af026827dffb30d7c5fe2ffb31843a8f2c9064647bebb313de9bb WHIRLPOOL 8539c4bb40cb2c1042f76d91e127da31d742ea55f8b2ba51abcc0e2d3319bf2ab2380e3ee2cd4195d8cc563b2d36a1eff56a6e72e2f3a8c171692bb66bfa3558
+DIST jsonpointer-1.9.tar.gz 7662 SHA256 39403b47a71aa782de6d80db3b78f8a5f68ad8dfc9e674ca3bb5b32c15ec7308 SHA512 872367c1a75f8022c07a52191d3f9491dd62767f58c4fa2c2fdcd1bf139858f73e7a5ad495943f1cb35b759d7919a807f8bccc052f6c35831e8091b5fda31b40 WHIRLPOOL bfe55984774502e8e91471d00d4d63bb3bf224cc3e677c1d20ee1e060962b7c9962577bbbdaba5c18647d588878820dc1f7b21ad206da019acf79ad9ba289e84
diff --git a/dev-python/jsonpointer/jsonpointer-1.7.ebuild b/dev-python/jsonpointer/jsonpointer-1.7.ebuild
new file mode 100644
index 000000000000..5a70a32ce7c7
--- /dev/null
+++ b/dev-python/jsonpointer/jsonpointer-1.7.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Identify specific nodes in a JSON document (according to draft 08)"
+HOMEPAGE="https://github.com/stefankoegl/python-json-pointer https://pypi.python.org/pypi/jsonpointer/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/jsonpointer/jsonpointer-1.9.ebuild b/dev-python/jsonpointer/jsonpointer-1.9.ebuild
new file mode 100644
index 000000000000..0c784a0711d2
--- /dev/null
+++ b/dev-python/jsonpointer/jsonpointer-1.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Identify specific nodes in a JSON document (according to draft 08)"
+HOMEPAGE="https://github.com/stefankoegl/python-json-pointer https://pypi.python.org/pypi/jsonpointer/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/jsonpointer/metadata.xml b/dev-python/jsonpointer/metadata.xml
new file mode 100644
index 000000000000..4682e7f37ec5
--- /dev/null
+++ b/dev-python/jsonpointer/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Identify specific nodes in a JSON document (according to draft 08)
+ http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">jsonpointer</remote-id>
+ <remote-id type="github">stefankoegl/python-json-pointer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonrpclib/Manifest b/dev-python/jsonrpclib/Manifest
new file mode 100644
index 000000000000..89517e2d2795
--- /dev/null
+++ b/dev-python/jsonrpclib/Manifest
@@ -0,0 +1,2 @@
+DIST jsonrpclib-0_pre20110820.tar.bz2 14608 SHA256 a31ce391e8f430f2434c538dedb012e879296628a7b2968f1aa41cb36207369d SHA512 80864890982c4a11996cd9fae21029cdf40b089eb6c2d265c645f52fe0a6e858b3405c5d899d2a5908527da04263d93064f365c5308adda1791105bf32329b71 WHIRLPOOL d7ad4277ea5bcb3451728a36f42a76e965256ac6239269e12125c1a19f9dbbeb9dfe69b58738b42e7823a687ad195f8a782aa2e0fe4797a59743b5230f598365
+DIST jsonrpclib-0_pre20150305.tar.xz 14948 SHA256 392ad1643d5455f3b9d08414ca3827edad7b4d189376203c2ccc2980e807aba1 SHA512 091bb753469b5983d68631d8acebea6e9b208b01758a08f948a63b9d022ab2ce072ceee259a6747645dadf9a02ca77185fd5cdde3d1635addedc402629e1c381 WHIRLPOOL 6d2967d4f5c6decd24c27dbc9f298e550a99873d1657618ed4742f4f9aefe1e9ca1cc660702a786d42463d3853df0cd0644d972810c7369cf56d309925df6780
diff --git a/dev-python/jsonrpclib/files/jsonrpclib-fix-nested-imports.patch b/dev-python/jsonrpclib/files/jsonrpclib-fix-nested-imports.patch
new file mode 100644
index 000000000000..39e0463c91e7
--- /dev/null
+++ b/dev-python/jsonrpclib/files/jsonrpclib-fix-nested-imports.patch
@@ -0,0 +1,31 @@
+From 865a813078c1b447713aeb1f1bb860c441a88365 Mon Sep 17 00:00:00 2001
+From: Jon Salz <jsalz@chromium.org>
+Date: Fri, 20 Apr 2012 02:41:50 +0800
+Subject: [PATCH] Fix importing of nested modules.
+
+https://github.com/joshmarshall/jsonrpclib/issues/15
+---
+ jsonrpclib/jsonclass.py | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/jsonrpclib/jsonclass.py b/jsonrpclib/jsonclass.py
+index 298c3da..1d86d5f 100644
+--- a/jsonrpclib/jsonclass.py
++++ b/jsonrpclib/jsonclass.py
+@@ -129,6 +129,13 @@ def load(obj):
+ except ImportError:
+ raise TranslationError('Could not import %s from module %s.' %
+ (json_class_name, json_module_tree))
++
++ # The returned class is the top-level module, not the one we really
++ # want. (E.g., if we import a.b.c, we now have a.) Walk through other
++ # path components to get to b and c.
++ for i in json_module_parts[1:]:
++ temp_module = getattr(temp_module, i)
++
+ json_class = getattr(temp_module, json_class_name)
+ # Creating the object...
+ new_obj = None
+--
+1.7.3.4
+
diff --git a/dev-python/jsonrpclib/jsonrpclib-0_pre20110820-r1.ebuild b/dev-python/jsonrpclib/jsonrpclib-0_pre20110820-r1.ebuild
new file mode 100644
index 000000000000..fd26d3b99f9d
--- /dev/null
+++ b/dev-python/jsonrpclib/jsonrpclib-0_pre20110820-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/joshmarshall/jsonrpclib.git"
+ inherit git-2
+else
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="amd64 arm x86"
+fi
+
+DESCRIPTION="python implementation of the JSON-RPC spec (1.0 and 2.0)"
+HOMEPAGE="https://github.com/joshmarshall/jsonrpclib"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/simplejson"
diff --git a/dev-python/jsonrpclib/jsonrpclib-0_pre20150305.ebuild b/dev-python/jsonrpclib/jsonrpclib-0_pre20150305.ebuild
new file mode 100644
index 000000000000..101ea1209ee4
--- /dev/null
+++ b/dev-python/jsonrpclib/jsonrpclib-0_pre20150305.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/joshmarshall/jsonrpclib.git"
+ inherit git-2
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~mips ~x86"
+fi
+
+DESCRIPTION="python implementation of the JSON-RPC spec (1.0 and 2.0)"
+HOMEPAGE="https://github.com/joshmarshall/jsonrpclib"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/simplejson"
diff --git a/dev-python/jsonrpclib/jsonrpclib-9999.ebuild b/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
new file mode 100644
index 000000000000..101ea1209ee4
--- /dev/null
+++ b/dev-python/jsonrpclib/jsonrpclib-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/joshmarshall/jsonrpclib.git"
+ inherit git-2
+else
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~mips ~x86"
+fi
+
+DESCRIPTION="python implementation of the JSON-RPC spec (1.0 and 2.0)"
+HOMEPAGE="https://github.com/joshmarshall/jsonrpclib"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/simplejson"
diff --git a/dev-python/jsonrpclib/metadata.xml b/dev-python/jsonrpclib/metadata.xml
new file mode 100644
index 000000000000..93833cfa1fae
--- /dev/null
+++ b/dev-python/jsonrpclib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ <description>make whatever changes you want</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">joshmarshall/jsonrpclib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jsonschema/Manifest b/dev-python/jsonschema/Manifest
new file mode 100644
index 000000000000..91c16cd0ec49
--- /dev/null
+++ b/dev-python/jsonschema/Manifest
@@ -0,0 +1,2 @@
+DIST jsonschema-2.3.0.tar.gz 43115 SHA256 a79dcee3769d7cf749836da840966a83cd2e33e361264e77b74df9490ffe5c89 SHA512 8c39c47c236904d3deb3893d43fd1a9332896e8a1883901ef6040607575250b0d661b010d94be6b0d52515b42e2c7924c93d352ca9b209cec54514e856d95c75 WHIRLPOOL 7f61838ac7173ac2d0dde16f83a864b8dcd82905d139c4de8d7b698ce022f1a63003ff45be53cf134a30747533cb034d2d5d944559a1b6990a37d8073b38d0ea
+DIST jsonschema-2.4.0.tar.gz 48293 SHA256 1298a2f1b2f4c4a7b921cccd159e4e42f6d7b0fb75c86c0cdecfc71f061833fa SHA512 111d60f6b490c016a69bed6b0b22cc6395c949d4510fdcb530757d6e61720cd2e1e3346293a5dd1b6501b262b36510ec08ab4ed76dc7484065e692e041232a93 WHIRLPOOL 1bcec6c3e09f72ad314db49e73d92f854e5f69c490e9ad46b4d0e31564392fb27bf387eec6d376237735396a7da989dcd601e33e2a43e35ed2559fc83b7ebf63
diff --git a/dev-python/jsonschema/jsonschema-2.3.0.ebuild b/dev-python/jsonschema/jsonschema-2.3.0.ebuild
new file mode 100644
index 000000000000..f8a5a6a1ca28
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-2.3.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_{3,4}} pypy)
+inherit distutils-r1
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="http://pypi.python.org/pypi/jsonschema"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+python_test() {
+ local runner=( "${PYTHON}" -m unittest )
+ if [[ ${EPYTHON} == python2.6 || ${EPYTHON} == python3.1 ]]; then
+ unset PYTHONPATH
+ runner=( unit2.py )
+ fi
+ "${runner[@]}" discover || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/jsonschema/jsonschema-2.4.0.ebuild b/dev-python/jsonschema/jsonschema-2.4.0.ebuild
new file mode 100644
index 000000000000..2a51cbaebb8c
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-2.4.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="http://pypi.python.org/pypi/jsonschema"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/jsonschema/metadata.xml b/dev-python/jsonschema/metadata.xml
new file mode 100644
index 000000000000..31179ec4c84f
--- /dev/null
+++ b/dev-python/jsonschema/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <longdescription lang="en">
+jsonschema is an implementation of JSON Schema (currently in Draft 3) for
+Python (supporting 2.6+ including Python 3).
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">jsonschema</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kaa-base/Manifest b/dev-python/kaa-base/Manifest
new file mode 100644
index 000000000000..5e12c9aea8be
--- /dev/null
+++ b/dev-python/kaa-base/Manifest
@@ -0,0 +1 @@
+DIST kaa-base-0.6.0.tar.gz 346849 SHA256 04fb0f610ec19a1aad1698d20829fb8caa34a97fe9cd4d9acf9f4f9f918d79b0 SHA512 685bfbab9ccdfed529ce17185f50700f8b090c0ca2f5f8e937609c9f03efd19536cc8c2ae8218415eea3ccd89269c92aa4d9bfe88ca3e951d7546ea4ce91cd6f WHIRLPOOL 4887fd6af4cfbf16701a604aacf4f78aedeb96db50c6955a7fbb15d45fd5824288b76f5aa372358fd7c0983b7ca0ea55390334a301c55bcd0e219d777ebf546e
diff --git a/dev-python/kaa-base/kaa-base-0.6.0-r1.ebuild b/dev-python/kaa-base/kaa-base-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..4a25d6f3a4bf
--- /dev/null
+++ b/dev-python/kaa-base/kaa-base-0.6.0-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite?,threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Basic Framework for all Kaa Python Modules"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="avahi sqlite tls lirc"
+
+DEPEND=">=dev-libs/glib-2.4.0
+ avahi? ( net-dns/avahi[python] )
+ sqlite? ( dev-python/dbus-python[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}
+ dev-python/pynotifier[${PYTHON_USEDEP}]
+ lirc? ( dev-python/pylirc[${PYTHON_USEDEP}] )
+ tls? ( dev-python/tlslite[${PYTHON_USEDEP}] )"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i -e 's:from pysqlite2 import dbapi2:import sqlite3:' \
+ src/db.py || die
+
+ rm -fr src/pynotifier
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ distutils-r1_python_compile
+}
diff --git a/dev-python/kaa-base/metadata.xml b/dev-python/kaa-base/metadata.xml
new file mode 100644
index 000000000000..4fbeabc7eaf8
--- /dev/null
+++ b/dev-python/kaa-base/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ Kaa-base provides the base Kaa framework and is an implicit
+ dependency for all kaa modules. The kaa framework includes a
+ mainloop facility with an API for signals and callbacks, timers,
+ process and thread management, file descriptor monitoring (with
+ INotify support), inter-process communication, as well as a
+ rich, practically magical API for asynchronous programming.
+ </longdescription>
+ <use>
+ <flag name="tls">SSL/TLS support via <pkg>dev-python/tlslite</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">freevo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kaa-display/Manifest b/dev-python/kaa-display/Manifest
new file mode 100644
index 000000000000..2bc596be7a88
--- /dev/null
+++ b/dev-python/kaa-display/Manifest
@@ -0,0 +1 @@
+DIST kaa-display-0.1.0.tar.gz 40263 SHA256 72cfe231feae7b860b9e00fb2d83e1cb54f0d38719267a4701818c4c8aa6e922 SHA512 dec20eb8830567b07248fd4733d7576c9dfbe4f8577d4326e82baf434034e2b6105d3a6cf561f074fcf29b328d2daf6faf6a18dc467b030a3814d953b44a0b1b WHIRLPOOL 6da8fb77f155c8814e1af60364a89955330dd78238748aded1b0e64e503e38994f597462f0b3eeddfd7654f049fb8a7d03853e7174d11217916ea4074760ec1c
diff --git a/dev-python/kaa-display/kaa-display-0.1.0-r1.ebuild b/dev-python/kaa-display/kaa-display-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..d8d57e617f07
--- /dev/null
+++ b/dev-python/kaa-display/kaa-display-0.1.0-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API providing Low level support for various displays, such as X11 or framebuffer"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/kaa-base-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/kaa-imlib2-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygame-1.6.0[${PYTHON_USEDEP}]
+ media-libs/imlib2[X]
+ >=x11-libs/libX11-1.0.0"
+RDEPEND="${DEPEND}"
+DISTUTILS_IN_SOURCE_BUILD=1
diff --git a/dev-python/kaa-display/kaa-display-0.1.0.ebuild b/dev-python/kaa-display/kaa-display-0.1.0.ebuild
new file mode 100644
index 000000000000..b7669f01f18c
--- /dev/null
+++ b/dev-python/kaa-display/kaa-display-0.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.5"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 3.* *-jython 2.7-pypy-*"
+
+inherit distutils
+
+DESCRIPTION="Python API providing Low level support for various displays, such as X11 or framebuffer"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=">=dev-python/kaa-base-0.3.0
+ >=dev-python/kaa-imlib2-0.2.0
+ >=dev-python/pygame-1.6.0
+ media-libs/imlib2[X]
+ >=x11-libs/libX11-1.0.0"
+RDEPEND="${DEPEND}"
+
+PYTHON_MODNAME="kaa/display"
diff --git a/dev-python/kaa-display/metadata.xml b/dev-python/kaa-display/metadata.xml
new file mode 100644
index 000000000000..b64cc34153e2
--- /dev/null
+++ b/dev-python/kaa-display/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">freevo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kaa-imlib2/Manifest b/dev-python/kaa-imlib2/Manifest
new file mode 100644
index 000000000000..500e52abdf54
--- /dev/null
+++ b/dev-python/kaa-imlib2/Manifest
@@ -0,0 +1 @@
+DIST kaa-imlib2-0.2.3.tar.gz 30671 SHA256 44eec202450edadfdac91a44be191b7fbba6225e90a6595443c422d1928f39c6 SHA512 417e473befba7360160db8296fb20de9689f6620bf0940b35e68b4abf00ec49ffadf95f62b7c6baaf1465b6c69c2d14b149d9ff3a4a8450e5966cf53f160a5a0 WHIRLPOOL 480d3e0b51cb93c4c53c6734844e6fddbfba3ed81e0d4b40493e254c39375276e3d52c108cef488f8551d58e73a196d8bb3a3e73a48e9fcf98d1158106c10e9d
diff --git a/dev-python/kaa-imlib2/files/kaa-imlib2-remove-png-dep.patch b/dev-python/kaa-imlib2/files/kaa-imlib2-remove-png-dep.patch
new file mode 100644
index 000000000000..0db6fefa9ca8
--- /dev/null
+++ b/dev-python/kaa-imlib2/files/kaa-imlib2-remove-png-dep.patch
@@ -0,0 +1,11 @@
+--- setup.py.old 2008-07-12 01:43:30.700296071 +0200
++++ setup.py 2008-07-12 01:43:57.441547566 +0200
+@@ -39,7 +39,7 @@
+ sys.exit(1)
+
+ files = [ 'src/imlib2.c', 'src/image.c', 'src/font.c', 'src/rawformats.c' ]
+-libraries = [ 'png']
++libraries = []
+ if not os.uname()[0] in ('FreeBSD', 'Darwin'):
+ libraries.append('rt')
+ imlib2so = Extension('kaa.imlib2._Imlib2module', files,
diff --git a/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r1.ebuild b/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r1.ebuild
new file mode 100644
index 000000000000..d787a39d3a96
--- /dev/null
+++ b/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.5"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 3.* 2.7-pypy-* *-jython"
+
+inherit distutils eutils
+
+DESCRIPTION="Imlib2 wrapper for Python"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=">=dev-python/kaa-base-0.3.0
+ dev-libs/libxml2[python]
+ media-libs/imlib2"
+RDEPEND="${DEPEND}"
+
+PYTHON_MODNAME="kaa"
+
+src_prepare() {
+ distutils_src_prepare
+ epatch "${FILESDIR}/kaa-imlib2-remove-png-dep.patch"
+}
diff --git a/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r2.ebuild b/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r2.ebuild
new file mode 100644
index 000000000000..8a5d9aace534
--- /dev/null
+++ b/dev-python/kaa-imlib2/kaa-imlib2-0.2.3-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Imlib2 wrapper for Python"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/kaa-base-0.3.0[${PYTHON_USEDEP}]
+ dev-libs/libxml2[python]
+ media-libs/imlib2"
+RDEPEND="${DEPEND}"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/kaa-imlib2-remove-png-dep.patch" )
diff --git a/dev-python/kaa-imlib2/metadata.xml b/dev-python/kaa-imlib2/metadata.xml
new file mode 100644
index 000000000000..1a1352521491
--- /dev/null
+++ b/dev-python/kaa-imlib2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ Kaa-Imlib2 is a python module for Imlib2.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">freevo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kaa-metadata/Manifest b/dev-python/kaa-metadata/Manifest
new file mode 100644
index 000000000000..5eae05799f2a
--- /dev/null
+++ b/dev-python/kaa-metadata/Manifest
@@ -0,0 +1 @@
+DIST kaa-metadata-0.7.7.tar.gz 257513 SHA256 7466058f1f69e40a9e26c8e6219c13c3a4f1b5228effc88035d9f4fe287cf450 SHA512 a6ac02e4887cc0489903cf57f55666b30e1351a958572117a867285f34639bcd7302450177f0471cc4bf0ad02d8a42d1f015cd237948610357bdc2e2fb9cc131 WHIRLPOOL 2116f304b826e906ce150ee4b321085b1f2d10ed5c929d8a333c9a5b0d63304e56a3cf91212ab100d78f0a7eda0991ba3824c687f1ddebaa9b8f76626c73088c
diff --git a/dev-python/kaa-metadata/kaa-metadata-0.7.7-r1.ebuild b/dev-python/kaa-metadata/kaa-metadata-0.7.7-r1.ebuild
new file mode 100644
index 000000000000..56e5c534b1c7
--- /dev/null
+++ b/dev-python/kaa-metadata/kaa-metadata-0.7.7-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit distutils-r1
+
+DESCRIPTION="Powerful media metadata parser for media files in Python, successor of MMPython"
+HOMEPAGE="http://freevo.sourceforge.net/kaa/"
+SRC_URI="mirror://sourceforge/freevo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="css dvd"
+
+DEPEND=">=dev-python/kaa-base-0.3.0[${PYTHON_USEDEP}]
+ css? ( media-libs/libdvdcss )
+ dvd? ( media-libs/libdvdread )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # Disable experimental exiv2 parser which fails to build.
+ sed -e "s/-lexiv2/&_nonexistent/" -i setup.py || die "sed setup.py failed"
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/kaa-metadata/metadata.xml b/dev-python/kaa-metadata/metadata.xml
new file mode 100644
index 000000000000..7c977ff801b9
--- /dev/null
+++ b/dev-python/kaa-metadata/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ A powerful media metadata parser in Python. It can extract
+ metadata (such as id3 tags, for example) from a wide range of
+ media files. Attributes like codec, length, resolution,
+ audio/video/subtitle tracks, and chapters are also returned.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">freevo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kazoo/Manifest b/dev-python/kazoo/Manifest
new file mode 100644
index 000000000000..3a3b5e6c31cb
--- /dev/null
+++ b/dev-python/kazoo/Manifest
@@ -0,0 +1,3 @@
+DIST kazoo-1.3.1.zip 138816 SHA256 51c6dec001b0ffabeab2f1516c92999e1554d0072e517a5a39d4428decf4d7c8 SHA512 fa93210a361086ca40c2b2eebeb0062e055420cf4de4fecb94c96b9cddc5b0404135b0344cce37d7e91462c3022f348a5b007a6ec20c4bb29e1817335f1fbcc3 WHIRLPOOL 8f2ce9b9db8450bb011d59b956997406a672a38331a86b2a79b5270da1a733d086b1f88a10acf75803f64f1781bcd8f2645ab34b4daf3d397a4b8ecf1ffcc740
+DIST kazoo-2.0.zip 145663 SHA256 f0c42cc7752a331ba59269827bd19cb271210399a9dcab32b6a91465b4431a18 SHA512 99ea48e5c763adc18f579a6066a63b55b615e5bf0350e60b8e2ec1e6bb8608cbf0acf67fe7937ff6d68cb79ace765806fed38ecaf8ace600a0c20166be8d8ef4 WHIRLPOOL 00aa5257b9061c0477feac00c1ee1a92a26700cee7ab0c6ca5702a3ca03907b69f66437dbf61896ee3a95a9eb06beee85650c9f9bdf1bd9a2b3c4ba11433180f
+DIST kazoo-2.2.1.tar.gz 108037 SHA256 525a9959b98a1203530bee01446b365a9f7f1caa69399af0151127178941eb82 SHA512 a2590441a9e3bfb3d14913051453e195d275b82bd6a4ce5e32d0a7bbc09b00e475ffac68fd06cb065aa439ea580b61bbeaa3ccfefa413723e46f4b1d3ce05707 WHIRLPOOL 6e43b27683382f4fb4054b85017e94e4fddd2d1416eea1566b87fc4cbc3edce37093e8c001211d324162d35f4c0f0da3632de1cf543eef2b171971a0f05b7357
diff --git a/dev-python/kazoo/kazoo-1.3.1.ebuild b/dev-python/kazoo/kazoo-1.3.1.ebuild
new file mode 100644
index 000000000000..e303d9ee761e
--- /dev/null
+++ b/dev-python/kazoo/kazoo-1.3.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python library that makes it easier to use Apache Zookeeper"
+HOMEPAGE="https://kazoo.readthedocs.org/ https://github.com/python-zk/kazoo/ https://pypi.python.org/pypi/kazoo/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gevent test"
+
+RDEPEND="
+ >=dev-python/zope-interface-3.8.0[${PYTHON_USEDEP}]
+ gevent? ( dev-python/gevent[$(python_gen_usedep 'python2*')] )
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/repoze-sphinx-autointerface[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )
+"
+
+# not all test deps are in the tree
+RESTRICT="test"
+
+python_compile_all() {
+ use doc && { sphinx-build -b html docs docs/_build/html || die; }
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ local DOCS=( {CHANGES,CONTRIBUTING,README}.rst )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kazoo/kazoo-2.0.ebuild b/dev-python/kazoo/kazoo-2.0.ebuild
new file mode 100644
index 000000000000..37cba7e9eef9
--- /dev/null
+++ b/dev-python/kazoo/kazoo-2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python library that makes it easier to use Apache Zookeeper"
+HOMEPAGE="https://kazoo.readthedocs.org/ https://github.com/python-zk/kazoo/ https://pypi.python.org/pypi/kazoo/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc gevent test"
+
+RDEPEND="
+ gevent? ( dev-python/gevent[$(python_gen_usedep 'python2*')] )
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )
+"
+
+# not all test deps are in the tree
+RESTRICT="test"
+
+python_compile_all() {
+ use doc && { sphinx-build -b html docs docs/_build/html || die; }
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ local DOCS=( {CHANGES,CONTRIBUTING,README}.rst )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kazoo/kazoo-2.2.1.ebuild b/dev-python/kazoo/kazoo-2.2.1.ebuild
new file mode 100644
index 000000000000..c6b13e776cc8
--- /dev/null
+++ b/dev-python/kazoo/kazoo-2.2.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python library that makes it easier to use Apache Zookeeper"
+HOMEPAGE="https://kazoo.readthedocs.org/ https://github.com/python-zk/kazoo/ https://pypi.python.org/pypi/kazoo/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gevent test"
+
+RDEPEND="
+ gevent? ( dev-python/gevent[$(python_gen_usedep 'python2*')] )
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )
+"
+
+# not all test deps are in the tree
+RESTRICT="test"
+
+python_compile_all() {
+ use doc && { sphinx-build -b html docs docs/_build/html || die; }
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ local DOCS=( {CHANGES,CONTRIBUTING,README}.rst )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kazoo/metadata.xml b/dev-python/kazoo/metadata.xml
new file mode 100644
index 000000000000..59a2b478a979
--- /dev/null
+++ b/dev-python/kazoo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="gevent">Enable support for the gevent based handler</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">kazoo</remote-id>
+ <remote-id type="github">python-zk/kazoo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/keepassx/Manifest b/dev-python/keepassx/Manifest
new file mode 100644
index 000000000000..7571f43ccbae
--- /dev/null
+++ b/dev-python/keepassx/Manifest
@@ -0,0 +1,2 @@
+DIST keepassx-0.0.3.tar.gz 15041 SHA256 d8cada98caf2aa77472de67efbec9818e5eb9c4e7a2d39a58ac02e5c2553c5ba SHA512 97ca5b00f8f565595ea78f43a152c752e7ae868ba15d8d3c48f3b75e56d266e28e99d1e61badec646f585bdeca42c49c0d2e19efd46bd79e9838d54293f5e784 WHIRLPOOL 89091f89248f0f4bb525e5dc47ccf228d401524968a76cf6605a790b86983ab9cbe0195dd4b067441975ebd9c58067ed4200f689bc3564427fc07d4620567797
+DIST keepassx-0.1.0.tar.gz 37022 SHA256 deba28c48e2400860095447143f4db840e312b3fd8961043023b7303edf91e9f SHA512 635f98d2a95a1e5cc4a5c08f8d261cdf5be9e5656df28c070250aed2dbc058c85b9d7ad81e69de1d9b095b0aac5e3c6bf3a6a54b0b4de9b5664348ca42bdc755 WHIRLPOOL 0be496ef696fc198755ec6c0e3f76743896ba44e72c443bd04eff25efdca481590ec51acbb655d7897b6d581f7cb344c00922c1530d73d81387fc2bb0d34f9e8
diff --git a/dev-python/keepassx/keepassx-0.0.3.ebuild b/dev-python/keepassx/keepassx-0.0.3.ebuild
new file mode 100644
index 000000000000..36e6f4b5c633
--- /dev/null
+++ b/dev-python/keepassx/keepassx-0.0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API and CLI for KeePassX"
+HOMEPAGE="https://github.com/jamesls/python-keepassx https://pypi.python.org/pypi/keepassx"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ py.test keepassx || die
+}
diff --git a/dev-python/keepassx/keepassx-0.1.0.ebuild b/dev-python/keepassx/keepassx-0.1.0.ebuild
new file mode 100644
index 000000000000..c3dee17179b5
--- /dev/null
+++ b/dev-python/keepassx/keepassx-0.1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API and CLI for KeePassX"
+HOMEPAGE="https://github.com/jamesls/python-keepassx https://pypi.python.org/pypi/keepassx"
+SRC_URI="https://github.com/jamesls/python-keepassx/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+S=${WORKDIR}/python-${P}
+
+RDEPEND="
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}] )
+"
+python_test() {
+ py.test tests || die
+}
diff --git a/dev-python/keepassx/metadata.xml b/dev-python/keepassx/metadata.xml
new file mode 100644
index 000000000000..016bb1fcf2e5
--- /dev/null
+++ b/dev-python/keepassx/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">keepassx</remote-id>
+ <remote-id type="github">jamesls/python-keepassx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/keyczar/Manifest b/dev-python/keyczar/Manifest
new file mode 100644
index 000000000000..b338c60e1b2b
--- /dev/null
+++ b/dev-python/keyczar/Manifest
@@ -0,0 +1,2 @@
+DIST python-keyczar-0.715.tar.gz 242151 SHA256 f43f9f15b0b719de94cab2754dcf78ef63b40ee2a12cea296e7af788b28501bb SHA512 e0733ad488db2a2803227db6f140c5f316425782a780070e6fd4227d3b88d523e2c41743cd3a6e14e535c7dbdf7b50b428d15d26ca5cfb35e2841a5f71b709f3 WHIRLPOOL b93ec173970f4857e1991e0fe08e3e0ac9c8243dad2f5d63b362711f100da2861c878ea0b5ee44aae54594404d9e77d4d8420c9b54004d3019d6b00995535354
+DIST python-keyczar-0.71c.tar.gz 237244 SHA256 37707db2af3dde1c7e087b8a8f72ce3bef376889a3a358a72fe66e83318fb0a2 SHA512 7123d84701d245bbd51c9760fccb49f6664d93337433054f2deb95ca0428ed994b77494465b93a142e6778f9bcd968e99d93a2805dd5368fd34d2bb2abaf1d58 WHIRLPOOL 5d78934d080294b22d3785739edf76e8dde6579a207de2cfacf7b0d6e33ba490a647a2857a0b927563f0e97f006bf806347082cf586859a155dc46af355b7ab7
diff --git a/dev-python/keyczar/keyczar-0.715.ebuild b/dev-python/keyczar/keyczar-0.715.ebuild
new file mode 100644
index 000000000000..feab47b8d9aa
--- /dev/null
+++ b/dev-python/keyczar/keyczar-0.715.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 ) #appears py2 friendly only
+
+inherit distutils-r1
+
+MY_PN=python-${PN}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Toolkit for safe and simple cryptography"
+HOMEPAGE="http://www.keyczar.org https://pypi.python.org/pypi/python-keyczar/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ >=dev-python/pycrypto-2.0[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ cd tests/keyczar_tests
+ ${PYTHON} alltests.py || die "tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && dodoc doc/pycrypt*
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/keyczar/keyczar-0.71c.ebuild b/dev-python/keyczar/keyczar-0.71c.ebuild
new file mode 100644
index 000000000000..3ec65224c840
--- /dev/null
+++ b/dev-python/keyczar/keyczar-0.71c.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=python-${PN}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Toolkit for safe and simple cryptography"
+HOMEPAGE="http://www.keyczar.org https://pypi.python.org/pypi/python-keyczar/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ >=dev-python/pycrypto-2.0[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ cd "${S}"/tests/keyczar_tests
+ ${PYTHON} alltests.py || die "tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/keyczar/metadata.xml b/dev-python/keyczar/metadata.xml
new file mode 100644
index 000000000000..0a3e6626ed64
--- /dev/null
+++ b/dev-python/keyczar/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-keyczar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
new file mode 100644
index 000000000000..ad86b24db359
--- /dev/null
+++ b/dev-python/keyring/Manifest
@@ -0,0 +1,7 @@
+DIST keyring-1.0.zip 61370 SHA256 628070bfb2daa080c98ddb3057a2f802cd1d15720ca40e54bdb2aa39d97485f9 SHA512 6b5002b06c5aa420786e4114c3fdaa75eb79ff72af460dcefba5909224bded2ccd9bd19a7a3847395403283f29d2108ba7679adbc97af5717a539c9f14439dd0 WHIRLPOOL 670e6420001defecbf17f1430fd62b48196d89d5ac4f5bf585c5116fec06bc028ca0c18f64fcf5d0c4dcc10e77674d17e75ce3ba29fb5e14877fa61c4f05ffd0
+DIST keyring-1.5.zip 80478 SHA256 e7065e8584d3b9724413eaa42198f0b6433a3c097b620bb176fd1e340cfb9dda SHA512 4c283bf7ae64bd38d846b7ff8c74cae6ad59f684c65c130b7dda726e337295cf9c31ad51ad2ef1bd4011e5f92cbd96f7dfd9606f62bcdf6a61e36ee6b3385606 WHIRLPOOL 58c751504e55c40eaea93cdc6abf64ea0c9791f72efef239da3904762d4022f3f993f3816e293a548da58a5c091da18f5eba50e39ef85344b90fa6fa9fa81b2a
+DIST keyring-1.6.1.zip 80183 SHA256 720a53234749edf0c103e61abe07a16b2ad48b46295c96f58fb804158a739a04 SHA512 2a533cc35476e5748338431ec7b2e97c17a4f6ea66e05425586abadbd7997506cd09dae4bf9156e2747d14754c35b150013d7b0a2d62c47c84ed3094ca7dad6a WHIRLPOOL 92cf707be5c759132ad4a658de8857162c6f505f7269d918acef8a22c2f19a4b999596ee1655ffa17412bc2c3685e81abd8c1e9eb60c6811fbdc60a93aec816e
+DIST keyring-3.1.zip 84216 SHA256 4aa49fa03e6d7b79e1490278c7610f6ff224f58ea8dd90b07541b69d0d178fa0 SHA512 79cb5b6932a7c9d0952893286f2c3e817fde3bfadcd42119a72adf2514d628f78aa0b5f13157c4eea31b49928b44dd1b646f62dc6b6da8958c3b95203a21a27f WHIRLPOOL 1cf8556f24e1c0b078914023ed9670eea879ab85f149d0ca4f9189642e18be5f4e5ac7a7f7ccf464fd87e1bd21bf3dd3715249b8959993899f0af2b446a3038f
+DIST keyring-3.3.zip 86419 SHA256 b42e0d335102cb2cace64289c86faa6686b6addad803b032bf564046e24d1936 SHA512 32845546328969ddd2179e83bfeacccf5ef60e20919258f4bf6e938cffa6dbfa66b9b0cd64d26d8df636c41d387e6b87aaa1645fd6d86aecb3de937f3acccc8c WHIRLPOOL fe6a0f4209e1df5fa0f4d681cdc6f14e83c658604690e9f27e88f4eccb695aea0c7da0219704ab0f024deaaabc38d6666410f04f9ccbd1ce910d797d3bcf1b29
+DIST keyring-3.7.zip 89249 SHA256 e187358e6a9b8e63cc2e223f6f9d4c40c972c0076f4aa0d65b8c9eb75edbea02 SHA512 7343d40566484b33e3f265d874d75fcf502dbc0abfd653db65536ca4d475fc5596ba23a6472467b88b589fca740f62860a39d18ad7a285696b4cc2c79abe2729 WHIRLPOOL 79967660e4db75f4a89ebc462ee4cb73b3b261bdfc9666979f7a08cfcac6a04b2cbe975b0467155b8b159c630bdf938afcc5d9a3ab25928abfaf54cf6b233844
+DIST keyring-4.0.zip 83738 SHA256 ea93c3cd9666c648263df4daadc5f34aeb27415dbf8e4d76579a8a737f1741cf SHA512 e16fe24e9dfa897ecf05c5b269fd490abff654a885c8cf928d133943648fef436555832e3a364698fe7615be609e8b13808ebe6a758612c12d9067dbe6286bd1 WHIRLPOOL 4ff17622cb9d0bbb3af44947cab2436931f5738c3d4e9ddab36923b2c005c66f27f795acf0614d8d37a6cc148bb74124d9f2ae24a9727ea9a4e71db120a56ab8
diff --git a/dev-python/keyring/files/setup-1.0.patch b/dev-python/keyring/files/setup-1.0.patch
new file mode 100644
index 000000000000..d510c6376aaf
--- /dev/null
+++ b/dev-python/keyring/files/setup-1.0.patch
@@ -0,0 +1,32 @@
+--- setup.py 2012-11-29 11:01:22.000000000 -0500
++++ setup.py.wanted 2012-12-27 23:55:56.679344322 -0500
+@@ -39,17 +39,6 @@
+ return True
+
+
+-test_requirements = [
+- 'pytest',
+-]
+-"dependencies for running tests"
+-
+-if sys.version_info < (2, 7) or (
+- sys.version_info >= (3, 0) and sys.version_info < (3, 1)):
+- # Require unittest2 for Python which doesn't contain the new unittest
+- # module (appears in Python 2.7 and Python 3.1)
+- test_requirements.append('unittest2')
+-
+ setup_params = dict(
+ name = 'keyring',
+ version = "1.0",
+@@ -74,11 +63,6 @@
+ platforms = ["Many"],
+ packages = ['keyring', 'keyring.tests', 'keyring.util',
+ 'keyring.backends'],
+- extras_require = {'test': test_requirements},
+- tests_require = test_requirements,
+- setup_requires = [
+- 'pytest-runner',
+- ],
+ )
+
+
diff --git a/dev-python/keyring/keyring-1.0.ebuild b/dev-python/keyring/keyring-1.0.ebuild
new file mode 100644
index 000000000000..d14466b2d866
--- /dev/null
+++ b/dev-python/keyring/keyring-1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}/setup-1.0.patch"
+)
+
+python_test() {
+ # test_backend.py and test_core.py access keyring backends
+ # which may spawn password prompts and do other damage.
+
+ # XXX: leave out the harmless tests (dummy backends?)
+
+ for t in test_{cli,util}.py; do
+ "${PYTHON}" "${BUILD_DIR}"/lib/${PN}/tests/${t} \
+ || die "${t} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/keyring/keyring-1.5-r1.ebuild b/dev-python/keyring/keyring-1.5-r1.ebuild
new file mode 100644
index 000000000000..4ce5c23800a4
--- /dev/null
+++ b/dev-python/keyring/keyring-1.5-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 pypy )
+#tests restricted due to unpackaged dependancies
+RESTRICT="test"
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ dev-python/pytest-runner[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=(
+)
+# "${FILESDIR}/setup-1.0.patch"
+
+python_test() {
+ # test_backend.py and test_core.py access keyring backends
+ # which may spawn password prompts and do other damage.
+
+ # XXX: leave out the harmless tests (dummy backends?)
+
+ for t in test_{cli,util}.py; do
+ "${PYTHON}" "${BUILD_DIR}"/lib/${PN}/tests/${t} \
+ || die "${t} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/keyring/keyring-1.5.ebuild b/dev-python/keyring/keyring-1.5.ebuild
new file mode 100644
index 000000000000..04f515036099
--- /dev/null
+++ b/dev-python/keyring/keyring-1.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 pypy )
+#tests restricted due to unpackaged dependancies
+RESTRICT="test"
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ app-arch/unzip"
+RDEPEND=""
+
+PATCHES=(
+)
+# "${FILESDIR}/setup-1.0.patch"
+
+python_test() {
+ # test_backend.py and test_core.py access keyring backends
+ # which may spawn password prompts and do other damage.
+
+ # XXX: leave out the harmless tests (dummy backends?)
+
+ for t in test_{cli,util}.py; do
+ "${PYTHON}" "${BUILD_DIR}"/lib/${PN}/tests/${t} \
+ || die "${t} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/keyring/keyring-1.6.1.ebuild b/dev-python/keyring/keyring-1.6.1.ebuild
new file mode 100644
index 000000000000..8007fe7727a2
--- /dev/null
+++ b/dev-python/keyring/keyring-1.6.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/pytest-runner[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_prepare_all() {
+ sed -e s':from .py30compat:from keyring.tests.py30compat:' -i keyring/tests/test_util.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_backend.py and test_core.py access keyring backends
+ # which may spawn password prompts and do other damage.
+
+ # XXX: leave out the harmless tests (dummy backends?)
+ for t in test_{cli,util}.py; do
+ py.test "${BUILD_DIR}"/lib/${PN}/tests/${t} \
+ || die "${t} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/keyring/keyring-3.1.ebuild b/dev-python/keyring/keyring-3.1.ebuild
new file mode 100644
index 000000000000..04f515036099
--- /dev/null
+++ b/dev-python/keyring/keyring-3.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 pypy )
+#tests restricted due to unpackaged dependancies
+RESTRICT="test"
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ app-arch/unzip"
+RDEPEND=""
+
+PATCHES=(
+)
+# "${FILESDIR}/setup-1.0.patch"
+
+python_test() {
+ # test_backend.py and test_core.py access keyring backends
+ # which may spawn password prompts and do other damage.
+
+ # XXX: leave out the harmless tests (dummy backends?)
+
+ for t in test_{cli,util}.py; do
+ "${PYTHON}" "${BUILD_DIR}"/lib/${PN}/tests/${t} \
+ || die "${t} fails with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/keyring/keyring-3.3.ebuild b/dev-python/keyring/keyring-3.3.ebuild
new file mode 100644
index 000000000000..9e502ea3f5bc
--- /dev/null
+++ b/dev-python/keyring/keyring-3.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 pypy)
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/pytest-runner[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pycrypto[$(python_gen_usedep 'python2*' 'python3*')] )"
+RDEPEND=""
+
+python_test() {
+ py.test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/keyring/keyring-3.7.ebuild b/dev-python/keyring/keyring-3.7.ebuild
new file mode 100644
index 000000000000..bb3c242999ad
--- /dev/null
+++ b/dev-python/keyring/keyring-3.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} pypy)
+
+inherit distutils-r1
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/pytest-runner[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pycrypto[$(python_gen_usedep 'python2*' 'python3*')] )"
+RDEPEND=""
+
+python_test() {
+ py.test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/keyring/keyring-4.0.ebuild b/dev-python/keyring/keyring-4.0.ebuild
new file mode 100644
index 000000000000..b3c8d2896fc6
--- /dev/null
+++ b/dev-python/keyring/keyring-4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="https://bitbucket.org/kang/python-keyring-lib"
+SRC_URI="mirror://pypi/k/${PN}/${P}.zip"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pycrypto[$(python_gen_usedep 'python2*' 'python3*')]
+ )"
+RDEPEND=""
+
+python_test() {
+ py.test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/keyring/metadata.xml b/dev-python/keyring/metadata.xml
new file mode 100644
index 000000000000..ef2f5eba9e84
--- /dev/null
+++ b/dev-python/keyring/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Provides a easy way to access the system keyring service from python.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">keyring</remote-id>
+ <remote-id type="bitbucket">kang/python-keyring-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/keystonemiddleware/Manifest b/dev-python/keystonemiddleware/Manifest
new file mode 100644
index 000000000000..a0353304ec6c
--- /dev/null
+++ b/dev-python/keystonemiddleware/Manifest
@@ -0,0 +1,2 @@
+DIST keystonemiddleware-1.5.0.tar.gz 176315 SHA256 73e98aab8bceb7843b6cc8aba2cbff824a379428519e2f9ffbb8e32578b38fe8 SHA512 365643f7eba633587d8055204df04cfb40bdcc28c57d7ecf8c4ed67803b9b027b6334f868a1bc634d9beefd7410d74da08a7ed599637ec1656e6ef6196043dab WHIRLPOOL da7014869d3fc1ac5339671344542e33c22ac07adfb76ad00144cdcf4e1e26c60eea7ca7867cea6c6e105af1d05be64eff7d55ae1b3cf5114597da966b756b55
+DIST keystonemiddleware-1.5.2.tar.gz 176172 SHA256 5f443162157946d2f33c4729d0bde55291f12963b0f1ee553984aedd8a509d51 SHA512 172143f2e80860de3d89f53667bf670c1986cfc63a21392bf977b3beaa5669db76f46997d6939952856cb4abc970b57920810980d00db7e7cd711bdbede5908e WHIRLPOOL 99a4553778b5dae07a710e78f816c8b30def42bfc7024cac7d6be8d8b6f76326383ed72935c6526758ac65fb26945937869985cba167d8804fe3a7cf2e3c4208
diff --git a/dev-python/keystonemiddleware/files/cve-2015-1852-master-keystonemiddleware.patch b/dev-python/keystonemiddleware/files/cve-2015-1852-master-keystonemiddleware.patch
new file mode 100644
index 000000000000..6ea8f99d5c3c
--- /dev/null
+++ b/dev-python/keystonemiddleware/files/cve-2015-1852-master-keystonemiddleware.patch
@@ -0,0 +1,63 @@
+diff --git a/keystonemiddleware/s3_token.py b/keystonemiddleware/s3_token.py
+index d56482f..3fe13f9 100644
+--- a/keystonemiddleware/s3_token.py
++++ b/keystonemiddleware/s3_token.py
+@@ -35,6 +35,7 @@ import logging
+ import webob
+
+ from oslo_serialization import jsonutils
++from oslo_utils import strutils
+ import requests
+ import six
+ from six.moves import urllib
+@@ -116,7 +117,7 @@ class S3Token(object):
+ auth_port)
+
+ # SSL
+- insecure = conf.get('insecure', False)
++ insecure = strutils.bool_from_string(conf.get('insecure', False))
+ cert_file = conf.get('certfile')
+ key_file = conf.get('keyfile')
+
+diff --git a/keystonemiddleware/tests/test_s3_token_middleware.py b/keystonemiddleware/tests/test_s3_token_middleware.py
+index fdadb76..4b910a6 100644
+--- a/keystonemiddleware/tests/test_s3_token_middleware.py
++++ b/keystonemiddleware/tests/test_s3_token_middleware.py
+@@ -124,7 +124,7 @@ class S3TokenMiddlewareTestGood(S3TokenMiddlewareTestBase):
+ @mock.patch.object(requests, 'post')
+ def test_insecure(self, MOCK_REQUEST):
+ self.middleware = (
+- s3_token.filter_factory({'insecure': True})(FakeApp()))
++ s3_token.filter_factory({'insecure': 'True'})(FakeApp()))
+
+ text_return_value = jsonutils.dumps(GOOD_RESPONSE)
+ if six.PY3:
+@@ -142,6 +142,28 @@ class S3TokenMiddlewareTestGood(S3TokenMiddlewareTestBase):
+ mock_args, mock_kwargs = MOCK_REQUEST.call_args
+ self.assertIs(mock_kwargs['verify'], False)
+
++ def test_insecure_option(self):
++ # insecure is passed as a string.
++
++ # Some non-secure values.
++ true_values = ['true', 'True', '1', 'yes']
++ for val in true_values:
++ config = {'insecure': val, 'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertIs(False, middleware._verify)
++
++ # Some "secure" values, including unexpected value.
++ false_values = ['false', 'False', '0', 'no', 'someweirdvalue']
++ for val in false_values:
++ config = {'insecure': val, 'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertEqual('false_ind', middleware._verify)
++
++ # Default is secure.
++ config = {'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertIs('false_ind', middleware._verify)
++
+
+ class S3TokenMiddlewareTestBad(S3TokenMiddlewareTestBase):
+ def setUp(self):
diff --git a/dev-python/keystonemiddleware/keystonemiddleware-1.5.0.ebuild b/dev-python/keystonemiddleware/keystonemiddleware-1.5.0.ebuild
new file mode 100644
index 000000000000..4b9fb446c441
--- /dev/null
+++ b/dev-python/keystonemiddleware/keystonemiddleware-1.5.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A middleware for the OpenStack Keystone API"
+HOMEPAGE="https://github.com/openstack/keystonemiddleware"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/oslo-messaging[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-memcached-1.48[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycadf-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
+
+PATCHES=(
+"${FILESDIR}/cve-2015-1852-master-keystonemiddleware.patch"
+)
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 ${PN/python-/}/tests || die "run over tests folder by flake8 drew error"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/.)
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/keystonemiddleware/keystonemiddleware-1.5.2.ebuild b/dev-python/keystonemiddleware/keystonemiddleware-1.5.2.ebuild
new file mode 100644
index 000000000000..79052bafeb5b
--- /dev/null
+++ b/dev-python/keystonemiddleware/keystonemiddleware-1.5.2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+#PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A middleware for the OpenStack Keystone API"
+HOMEPAGE="https://github.com/openstack/keystonemiddleware"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-memcached-1.48[$(python_gen_usedep 'python2*')]
+ )"
+
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycadf-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pycadf-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
+
+PATCHES=(
+
+)
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 ${PN/python-/}/tests || die "run over tests folder by flake8 drew error"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/.)
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/keystonemiddleware/metadata.xml b/dev-python/keystonemiddleware/metadata.xml
new file mode 100644
index 000000000000..3f4361b8b56c
--- /dev/null
+++ b/dev-python/keystonemiddleware/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenStack Identity (Keystone) Middleware
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">keystonemiddleware</remote-id>
+ <remote-id type="github">openstack/keystonemiddleware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kid/Manifest b/dev-python/kid/Manifest
new file mode 100644
index 000000000000..97af099e5505
--- /dev/null
+++ b/dev-python/kid/Manifest
@@ -0,0 +1 @@
+DIST kid-0.9.6.tar.gz 268602 SHA256 d4c84b3de0a0584b33db489e5dde82f9c2c8832f40dad0413bce309e16813ab9 SHA512 56f87f5fdb9d692ced4b19c13705ee872058279084f49efd2e2515c28240e36833c7dfbecf084f504d6fef45f2cc60185decf0c9f18517d255ba469486aa3ae8 WHIRLPOOL 3dd2203c0b9c1e9a065729a2d8fe73cb5525ec99fcae73f3541cba7c1182355241057d9996eaab4b2d3fa91566c644db7a43cba61b3ed1c9ce15acf5ca97b4a5
diff --git a/dev-python/kid/kid-0.9.6-r1.ebuild b/dev-python/kid/kid-0.9.6-r1.ebuild
new file mode 100644
index 000000000000..2bec8d682429
--- /dev/null
+++ b/dev-python/kid/kid-0.9.6-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple and Pythonic XML template language"
+HOMEPAGE="http://www.kid-templating.org/ http://pypi.python.org/pypi/kid"
+SRC_URI="http://www.kid-templating.org/dist/${PV}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/docutils[${PYTHON_USEDEP}] )"
+
+DOCS=( README doc/{guide.txt,index.txt,notes.txt} )
+
+python_compile_all() {
+ use doc && emake -C doc
+}
+
+python_test() {
+ py.test -xl || die
+}
+
+python_install_all() {
+# dobin bin/*
+
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kid/metadata.xml b/dev-python/kid/metadata.xml
new file mode 100644
index 000000000000..4813d7da1baf
--- /dev/null
+++ b/dev-python/kid/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+Kid is a simple template language for XML based vocabularies written
+in Python. The syntax was inspired by a number of existing template
+languages, namely XSLT, TAL, and PHP.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/kivy-garden/Manifest b/dev-python/kivy-garden/Manifest
new file mode 100644
index 000000000000..939f770f6e5a
--- /dev/null
+++ b/dev-python/kivy-garden/Manifest
@@ -0,0 +1 @@
+DIST kivy-garden-0.1.1.tar.gz 5789 SHA256 bea618e978f962bc0a2bfc3890fafe6c1bc2fa7aaf8a1cd3c8c70a682f33d79f SHA512 d551e8fdb08c7c1810972df04b024fb59554a94b9d6dc98a1438620541c13152e8c7de4cc603efed4df00e3d681d8545939ab417266459e26e116ff6660d8013 WHIRLPOOL 79a5db5b0e854ae2d2cf4bbb2c9d4733bf1a4c772a38e7c4e65cfc050bfb4494712b04095e89e026bd282851f562c4df6f5c1ec25e6a5b5e30f53f5a1c503fcc
diff --git a/dev-python/kivy-garden/files/remove_bat.patch b/dev-python/kivy-garden/files/remove_bat.patch
new file mode 100644
index 000000000000..0d310d4fce88
--- /dev/null
+++ b/dev-python/kivy-garden/files/remove_bat.patch
@@ -0,0 +1,10 @@
+--- setup.py.orig 2014-04-02 08:48:05.906881843 +0200
++++ setup.py 2014-04-02 08:48:16.650214908 +0200
+@@ -8,6 +8,6 @@
+ version='0.1.1',
+ license='MIT',
+ packages=['garden'],
+- scripts=['bin/garden', 'bin/garden.bat'],
++ scripts=['bin/garden'],
+ install_requires=['requests'],
+ )
diff --git a/dev-python/kivy-garden/kivy-garden-0.1.1.ebuild b/dev-python/kivy-garden/kivy-garden-0.1.1.ebuild
new file mode 100644
index 000000000000..5fb696ac8856
--- /dev/null
+++ b/dev-python/kivy-garden/kivy-garden-0.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Kivys Garden tool to manage flowers"
+HOMEPAGE="http://kivy-garden.github.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/garden-${PV}"
+
+PATCHES=( "${FILESDIR}/remove_bat.patch" )
diff --git a/dev-python/kivy-garden/metadata.xml b/dev-python/kivy-garden/metadata.xml
new file mode 100644
index 000000000000..4a08065cce7c
--- /dev/null
+++ b/dev-python/kivy-garden/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Tool to manage the installation, removal of flowers at http://github.com/kivy-garden/
+ They are a set of user maintained widgets, extensions, tools for kivy(http://kivy.org) framework.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">kivy-garden</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kiwi/Manifest b/dev-python/kiwi/Manifest
new file mode 100644
index 000000000000..20efe8a7c6dc
--- /dev/null
+++ b/dev-python/kiwi/Manifest
@@ -0,0 +1,2 @@
+DIST kiwi-gtk-1.9.39.2.tar.gz 678242 SHA256 6992d278883ca4ca7bdf3e908e8f091c8fe9b61fdbdd0f0a33c4ba015dbf8458 SHA512 fa54623bb95a7ebe03e87c10d3bb271bd98fa4f40f7244f399cf2f86bf9b2e257666fc58caa4cc83d91a3c7fcf06817886ef5cab1baff58c8cbfdf6cfd12a554 WHIRLPOOL 907c50d89b8a534ba6712137f00214426e937f74d8ba6b49a247113ec7a9a60534a1cfa26d8337e382190bb3901d17d3d555333a7ed1b36cb167194167697e7d
+DIST kiwi-gtk-1.9.40.tar.gz 675794 SHA256 368e65e915f1ea8f69a174b13a116dee95318ca23a4c631f7f0879b4584748e1 SHA512 1fa210bcf00eeb8513f1b3fde968a212ac79c286a50a09427b0e3dffc5e78d739e70101ba4a0086d2002ac6907bc40b0103604f486b72e1bec36c9912ae6f2b6 WHIRLPOOL f7ce0189760c6ed3387ae2f0e1a4df82ffd7a692718d3ddf092ec616cf2403c7aa5781b1c6b26908d44ac13f230fc874da685bebfceb026a6a291022c1420b29
diff --git a/dev-python/kiwi/kiwi-1.9.39.2.ebuild b/dev-python/kiwi/kiwi-1.9.39.2.ebuild
new file mode 100644
index 000000000000..c663480a5477
--- /dev/null
+++ b/dev-python/kiwi/kiwi-1.9.39.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator virtualx
+
+DESCRIPTION="Kiwi is a pure Python framework and set of enhanced PyGTK widgets"
+HOMEPAGE="http://www.async.com.br/projects/kiwi/
+ https://launchpad.net/kiwi
+ http://pypi.python.org/pypi/kiwi-gtk"
+MY_PN="${PN}-gtk"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND=">=dev-python/setuptools-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.24[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s:share/doc/kiwi:share/doc/${PF}:g" -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testing() {
+ "${PYTHON}" -m unittest discover || die "tests failed"
+ }
+ VIRTUALX_COMMAND=virtualmake testing
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+ rmdir "${D}"usr/share/doc/${PF}/{api,howto} || die
+}
diff --git a/dev-python/kiwi/kiwi-1.9.40.ebuild b/dev-python/kiwi/kiwi-1.9.40.ebuild
new file mode 100644
index 000000000000..70c22713579d
--- /dev/null
+++ b/dev-python/kiwi/kiwi-1.9.40.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator virtualx
+
+DESCRIPTION="Kiwi is a pure Python framework and set of enhanced PyGTK widgets"
+HOMEPAGE="http://www.async.com.br/projects/kiwi/
+ https://launchpad.net/kiwi
+ http://pypi.python.org/pypi/kiwi-gtk"
+MY_PN="${PN}-gtk"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND=">=dev-python/setuptools-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.24[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s:share/doc/kiwi:share/doc/${PF}:g" -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # There is one fail of a test repeated 3 times in tests/test_ui.py however
+ # they are shy with their bug tracker. The fail is not a failing of the package's core modules
+ testing() {
+ "${PYTHON}" -m unittest discover || die "tests failed"
+ }
+ VIRTUALX_COMMAND=virtualmake testing
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+ rmdir "${D}"usr/share/doc/${PF}/{api,howto} || die
+}
diff --git a/dev-python/kiwi/metadata.xml b/dev-python/kiwi/metadata.xml
new file mode 100644
index 000000000000..2c9d990566e6
--- /dev/null
+++ b/dev-python/kiwi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">kiwi-gtk</remote-id>
+ <remote-id type="launchpad">kiwi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kiwisolver/Manifest b/dev-python/kiwisolver/Manifest
new file mode 100644
index 000000000000..0dbf693db400
--- /dev/null
+++ b/dev-python/kiwisolver/Manifest
@@ -0,0 +1 @@
+DIST kiwisolver-0.1.3.zip 48696 SHA256 bbcd6470dd8518ec8d2d0daec96551291e2e17f0e910ec2502a2ecc1c7c98b44 SHA512 ce5ccf03da88743f091aba7e01ec3d7f4d7a83cb1d2e33b52a4a825bc4b9919329e73bb85a05effc83f6cc449082c5534a036a8d639937229fc7bedcc90d5089 WHIRLPOOL 355e8347010cd7cbb018f22e91fc9117cbd71a9cb68fd0c8c2b7f4f2fd146ce6453c5be7d0948b07b13e4b0750e13c8a78643ac2b9c268229f98701dee618838
diff --git a/dev-python/kiwisolver/kiwisolver-0.1.3.ebuild b/dev-python/kiwisolver/kiwisolver-0.1.3.ebuild
new file mode 100644
index 000000000000..7303e4b639c8
--- /dev/null
+++ b/dev-python/kiwisolver/kiwisolver-0.1.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An efficient C++ implementation of the Cassowary constraint solving algorithm"
+HOMEPAGE="https://github.com/nucleic/kiwi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="Clear-BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/kiwisolver/metadata.xml b/dev-python/kiwisolver/metadata.xml
new file mode 100644
index 000000000000..cca89313e8b0
--- /dev/null
+++ b/dev-python/kiwisolver/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>aaron@flappyport.com</email>
+ <name>Arron Bauman</name>
+ <description>proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">kiwisolver</remote-id>
+ <remote-id type="github">nucleic/kiwi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
new file mode 100644
index 000000000000..66ee5ee9ee0c
--- /dev/null
+++ b/dev-python/kombu/Manifest
@@ -0,0 +1,4 @@
+DIST kombu-2.5.16.tar.gz 307515 SHA256 feab7f4384e2420bed19b8323150059d4b12e8eacbd581f62776ad5878d433c2 SHA512 48a6297726835552188cf09de424d88df333d4c8d1744d423b9ea6d8b75068b806d7220cfe070395924a3c2ff271940db6f14ad9c38b830442e798ad5c8a866c WHIRLPOOL a58e7f94bfdbf4b4f03b5495d08dfe399b66316fae156d82d0a69f6c094d40494c9e80909e8200287453a9593d924644241169b47db82426cfed09d01cc1b7e2
+DIST kombu-3.0.23.tar.gz 343923 SHA256 448c3e3ce671a10f00ee03979ba3c7866b4bfce49f65edec9f93a0cefa87ec16 SHA512 239ffbeb3c901227de7fb44f7c0b5ca611b8648eea81cd0c371bdadc1cd855a0f19001556aaa62abf7cb610b26dc182058251b97d85c8529a42a2e675edd0aaf WHIRLPOOL 0842ff10715b45c92d43923b32a3c81b5216a9c5fe0b6432d3790b1e08a02388f3631d380b7234cb050e8c8b711ab0ecb8aab676499f576b14d1a3b90844688f
+DIST kombu-3.0.24.tar.gz 374539 SHA256 b9ff0437607113aea701fd5122c2afa40c05dff6f1da4f58b2f1ea18d9f2bf8d SHA512 fdc42073d37c0888f564ae3feec517212e3cadd534cae2a0893f799c6fea7c217aa979617ec73b63466a7b5a3dbb836b57422ce514087d4e4821e88eec5e4ffa WHIRLPOOL 8513cbe9df4337fe3545cc2a2ff3cec3c9f28b60f200aff5395b2acb484c6b75fe710b5227df6eb3fd41a6faeb49a0aaf968618e66594e9e87c20c448475d27c
+DIST kombu-3.0.26.tar.gz 375553 SHA256 1f565abd44c4b7dfaa4dd543d52f982d2f006aba0a2b3830542b4d25a801fe09 SHA512 71656cc8f44101700c5489e0b0a66918a00cf8ff39e65feab1090865e3c8d50b6dd2458f95d48fb58cc4387de954530fe27a5713838509d51123bac7009631a2 WHIRLPOOL d706dcd752e24eebc3a1091a8a2ba91a0b6adf30fa9be4d9d1a95b5c008f8036eb518f03ccb1d3393502488120c9ad2ad2f2e01c41b59beb3576389b3f9c000f
diff --git a/dev-python/kombu/files/kombu-3.0.26-pymongo-test-fix.patch b/dev-python/kombu/files/kombu-3.0.26-pymongo-test-fix.patch
new file mode 100644
index 000000000000..b2e1185b7ca8
--- /dev/null
+++ b/dev-python/kombu/files/kombu-3.0.26-pymongo-test-fix.patch
@@ -0,0 +1,40 @@
+https://github.com/celery/kombu/commit/8e6aed9fcf978b6c34108c0d37b720bd125f0352
+diff --git a/kombu/tests/transport/test_mongodb.py b/kombu/tests/transport/test_mongodb.py
+index b4d10fc..58c92e7 100644
+--- a/kombu/tests/transport/test_mongodb.py
++++ b/kombu/tests/transport/test_mongodb.py
+@@ -64,12 +64,12 @@ def test_custom_credentials(self):
+
+ @skip_if_not_module('pymongo')
+ def test_options(self):
+- url = 'mongodb://localhost,localhost2:29017/dbname?safe=true'
++ url = 'mongodb://localhost,localhost2:29017/dbname?tz_aware=true'
+ c = self._get_connection(url)
+
+ hostname, dbname, options = c.channels[0]._parse_uri()
+
+- self.assertEqual(options['safe'], True)
++ self.assertEqual(options['tz_aware'], True)
+
+ @skip_if_not_module('pymongo')
+ def test_real_connections(self):
+diff --git a/kombu/transport/mongodb.py b/kombu/transport/mongodb.py
+index 9137132..40b00ff 100644
+--- a/kombu/transport/mongodb.py
++++ b/kombu/transport/mongodb.py
+@@ -176,9 +176,14 @@ def _parse_uri(self, scheme='mongodb://'):
+
+ return hostname, dbname, options
+
++ def _prepare_client_options(self, options):
++ if pymongo.version_tuple >= (3, ):
++ options.pop('auto_start_request', None)
++
+ def _open(self, scheme='mongodb://'):
+ hostname, dbname, options = self._parse_uri(scheme=scheme)
+
++ self._prepare_client_options(options)
+ mongoconn = MongoClient(
+ host=hostname, ssl=options['ssl'],
+ auto_start_request=options['auto_start_request'],
+
diff --git a/dev-python/kombu/files/kombu-NA-tests-fix.patch b/dev-python/kombu/files/kombu-NA-tests-fix.patch
new file mode 100644
index 000000000000..a4bcda6e292d
--- /dev/null
+++ b/dev-python/kombu/files/kombu-NA-tests-fix.patch
@@ -0,0 +1,16 @@
+https://github.com/celery/kombu/commit/828ba134105eeb4c6df52cb4441cf90c297b77e3
+Fixes NA bug with amqplib.
+diff --git a/kombu/transport/amqplib.py b/kombu/transport/amqplib.py
+index feedee7..f57e28c 100644
+--- a/kombu/transport/amqplib.py
++++ b/kombu/transport/amqplib.py
+@@ -17,6 +17,9 @@ class SSLError(Exception): # noqa
+ pass
+ from struct import unpack
+
++class NA(object):
++ pass
++
+ try:
+ from amqplib import client_0_8 as amqp
+ from amqplib.client_0_8 import transport
diff --git a/dev-python/kombu/kombu-2.5.16.ebuild b/dev-python/kombu/kombu-2.5.16.ebuild
new file mode 100644
index 000000000000..eb01f2cc0561
--- /dev/null
+++ b/dev-python/kombu/kombu-2.5.16.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://pypi.python.org/pypi/kombu https://github.com/celery/kombu"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="amqplib doc examples test"
+
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/py-amqp-2.0[${PYTHON_USEDEP}]
+ amqplib? ( >=dev-python/amqplib-1.0.2[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/beanstalkc[$(python_gen_usedep python2_7)]
+ dev-python/couchdb-python[$(python_gen_usedep python2_7)]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html || die "kombu docs failed installation"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kombu/kombu-3.0.23.ebuild b/dev-python/kombu/kombu-3.0.23.ebuild
new file mode 100644
index 000000000000..b086686f3a73
--- /dev/null
+++ b/dev-python/kombu/kombu-3.0.23.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://pypi.python.org/pypi/kombu https://github.com/celery/kombu"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="amqplib doc examples msgpack sqs test"
+
+PY27_GEN_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-1.4.6[${PYTHON_USEDEP}]
+ <dev-python/py-amqp-2.0[${PYTHON_USEDEP}]
+ dev-python/pyro:4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ amqplib? ( >=dev-python/amqplib-1.0.2[${PYTHON_USEDEP}] )
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_GEN_USEDEP}] )
+ msgpack? ( >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-0.7[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/mock-0.7.0[${PY27_GEN_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.6.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/beanstalkc[${PY27_GEN_USEDEP}]
+ dev-python/couchdb-python[${PY27_GEN_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}] )"
+
+# pyyaml is an optional package for tests, so also kazoo and sqlalchemy.
+# Refrain for now, no established demand for it form users
+
+# Req'd for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="sqs? ( ${PY27_REQUSE} )
+ doc? ( ${PY27_REQUSE} amqplib sqs )" # 2 deps in doc build are only py2 capable
+
+PATCHES=( "${FILESDIR}"/${PN}-NA-tests-fix.patch )
+
+python_prepare_all() {
+ https://github.com/celery/kombu/issues/246
+ sed -e 's:kombu.transports:kombu.transport:' -i funtests/tests/test_django.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Doc build must be done by py2.7
+ # Doc build misses and skips only content re librabbitmq which is not in portage
+ if use doc; then
+ emake -C docs html || die "kombu docs failed installation"
+ fi
+}
+
+python_test() {
+ export DJANGO_SETTINGS_MODULE="django.conf"
+ if python_is_python3; then
+ 2to3 --no-diffs -w build/lib/kombu/transport/
+ nosetests --py3where=build/lib kombu/tests || die "Tests failed under ${EPYTHON}"
+ else
+ nosetests "${S}"/kombu/tests || die "Tests failed under ${EPYTHON}"
+ # funtests appears to be coded only for py2, a kind of 2nd tier. pypy fails 6.
+ # https://github.com/celery/kombu/issues/411
+ if [[ "${EPYTHON}" == python2.7 ]]; then
+ pushd funtests > /dev/null
+ esetup.py test
+ popd > /dev/null
+ fi
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kombu/kombu-3.0.24.ebuild b/dev-python/kombu/kombu-3.0.24.ebuild
new file mode 100644
index 000000000000..16063e821d81
--- /dev/null
+++ b/dev-python/kombu/kombu-3.0.24.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://pypi.python.org/pypi/kombu https://github.com/celery/kombu"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="amqplib doc examples msgpack sqs test"
+
+PY27_GEN_USEDEP=$(python_gen_usedep python2_7)
+PYPY_GEN_USEDEP=$(python_gen_usedep python2_7 pypy)
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-1.4.6[${PYTHON_USEDEP}]
+ <dev-python/py-amqp-2.0[${PYTHON_USEDEP}]
+ dev-python/pyro:4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ amqplib? ( >=dev-python/amqplib-1.0.2[${PYTHON_USEDEP}] )
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_GEN_USEDEP}] )
+ msgpack? ( >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-0.7[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.5.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-0.7.0[${PYPY_GEN_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-2.6.2[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/beanstalkc[${PY27_GEN_USEDEP}]
+ dev-python/couchdb-python[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}] )"
+
+# kazoo and sqlalchemy are optional packages for tests.
+# Refrain for now, no established demand for it from users
+
+# Req'd for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="sqs? ( ${PY27_REQUSE} )
+ doc? ( ${PY27_REQUSE} amqplib sqs )" # 2 deps in doc build are only py2 capable
+
+PATCHES=( "${FILESDIR}"/${PN}-NA-tests-fix.patch )
+
+python_prepare_all() {
+ https://github.com/celery/kombu/issues/246
+ sed -e 's:kombu.transports:kombu.transport:' -i funtests/tests/test_django.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Doc build must be done by py2.7
+ # Doc build misses and skips only content re librabbitmq which is not in portage
+ if use doc; then
+ emake -C docs html || die "kombu docs failed installation"
+ fi
+}
+
+python_test() {
+ export DJANGO_SETTINGS_MODULE="django.conf"
+ if python_is_python3; then
+ 2to3 --no-diffs -w build/lib/kombu/transport/
+ nosetests --py3where=build/lib kombu/tests || die "Tests failed under ${EPYTHON}"
+ else
+ nosetests "${S}"/kombu/tests || die "Tests failed under ${EPYTHON}"
+ # funtests appears to be coded only for py2, a kind of 2nd tier. pypy fails 6.
+ # https://github.com/celery/kombu/issues/411
+ if [[ "${EPYTHON}" == python2.7 ]]; then
+ pushd funtests > /dev/null
+ esetup.py test
+ popd > /dev/null
+ fi
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kombu/kombu-3.0.26.ebuild b/dev-python/kombu/kombu-3.0.26.ebuild
new file mode 100644
index 000000000000..0cf37f183a70
--- /dev/null
+++ b/dev-python/kombu/kombu-3.0.26.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="http://pypi.python.org/pypi/kombu https://github.com/celery/kombu"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="amqplib doc examples msgpack sqs test"
+
+# couchdb backend support possible via dev-python/couchdb-python
+# ditto dev-python/kazoo(>=1.3.1) and dev-python/beanstalkc
+PY27_GEN_USEDEP=$(python_gen_usedep python2_7)
+PYPY_GEN_USEDEP=$(python_gen_usedep python2_7 pypy)
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-1.4.6[${PYTHON_USEDEP}]
+ <dev-python/py-amqp-2.0[${PYTHON_USEDEP}]
+ dev-python/pyro:4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/pyzmq-13.1.0[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ amqplib? ( >=dev-python/amqplib-1.0.2[${PYTHON_USEDEP}] )
+ sqs? ( >=dev-python/boto-2.13.3[${PY27_GEN_USEDEP}] )
+ msgpack? ( >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}] )"
+# Fix to https://github.com/celery/kombu/issues/474 obliges dev-python/pymongo to >=-3.0.2
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-0.7[${PYTHON_USEDEP}]
+ test? ( >=dev-python/unittest2-0.5.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-0.7.0[${PYPY_GEN_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/beanstalkc[${PY27_GEN_USEDEP}]
+ dev-python/couchdb-python[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}] )"
+
+# kazoo and sqlalchemy are optional packages for tests.
+# Refrain for now, no established demand for it from users
+
+# Req'd for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PY27_REQUSE="$(python_gen_useflags 'python2.7')"
+REQUIRED_USE="sqs? ( ${PY27_REQUSE} )
+ doc? ( ${PY27_REQUSE} amqplib sqs )" # 2 deps in doc build are py2 capable only
+
+PATCHES=( "${FILESDIR}"/${PN}-NA-tests-fix.patch \
+ "${FILESDIR}"/${P}-pymongo-test-fix.patch )
+
+python_prepare_all() {
+ https://github.com/celery/kombu/issues/246
+ sed -e 's:kombu.transports:kombu.transport:' -i funtests/tests/test_django.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Doc build must be done by py2.7
+ # Doc build misses and skips only content re librabbitmq which is not in portage
+ if use doc; then
+ emake -C docs html || die "kombu docs failed installation"
+ fi
+}
+
+python_test() {
+ export DJANGO_SETTINGS_MODULE="django.conf"
+ # https://github.com/celery/kombu/issues/474
+ # tests need </pymongo-3.0; known to cause some breakage
+ if python_is_python3; then
+ 2to3 --no-diffs -w build/lib/kombu/transport/
+ nosetests --py3where=build/lib kombu/tests || die "Tests failed under ${EPYTHON}"
+ else
+ nosetests "${S}"/kombu/tests || die "Tests failed under ${EPYTHON}"
+ # funtests appears to be coded only for py2, a kind of 2nd tier. pypy fails 6.
+ # https://github.com/celery/kombu/issues/411
+ # Fix to https://github.com/celery/kombu/issues/474 breaks the
+ # funtests under >=dev-python/pymongo-3.0.2
+# if [[ "${EPYTHON}" == python2.7 ]]; then
+# pushd funtests > /dev/null
+# esetup.py test
+# popd > /dev/null
+# fi
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/kombu/metadata.xml b/dev-python/kombu/metadata.xml
new file mode 100644
index 000000000000..d9cbb330499e
--- /dev/null
+++ b/dev-python/kombu/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">kombu</remote-id>
+ <remote-id type="github">celery/kombu</remote-id>
+ </upstream>
+ <use>
+ <flag name="amqplib">Enable amqplib support</flag>
+ <flag name="sqs">Enables Amazon SQS transport module for Kombu</flag>
+ <flag name="msgpack">Enables MessagePack (de)serializer for Python</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/larch/Manifest b/dev-python/larch/Manifest
new file mode 100644
index 000000000000..72734e08b213
--- /dev/null
+++ b/dev-python/larch/Manifest
@@ -0,0 +1,2 @@
+DIST python-larch_1.20130808.orig.tar.gz 88271 SHA256 f64599ebd5247bc79ed69cdc853ae08cc3d0d8648fa7737ad2854854cc843045 SHA512 84bab884e3ff8e27cc43e2520eb10fb7a38d99eddb06b9163e174329d69552e678ef81d606fa041f894794f0ba3bdf59ace3081f71596869e1167a0e23d56c85 WHIRLPOOL ff86df6db0d0dac024ba086e2264028abd74b45f73cae773c5c8a7b91ad9df54ab8f092fa85b277f27f7d17b50391037059624c533e04ef97108751d7c2f3013
+DIST python-larch_1.20131130.orig.tar.gz 86509 SHA256 2717e851bde45b66e8b2d44181861f24135d185abab8111119857943d3b5cac1 SHA512 e661fa29043a5254eb3615f0eb54f6afbaf59020607bb72f621083e9f6acfbe92b1c978ce2be73336d8984a4a64ce6d0153556f0af0ca63ad53aff40f785d052 WHIRLPOOL ca777fd5a23270918dc83e92e321413f8bdfee58228ce1224deddbd0d6ae854d1b28b945282fd290053f3cb3b240e6e795eb28c8d687726f2c18f5fda5b716c1
diff --git a/dev-python/larch/larch-1.20130808.ebuild b/dev-python/larch/larch-1.20130808.ebuild
new file mode 100644
index 000000000000..c045d93ddcf8
--- /dev/null
+++ b/dev-python/larch/larch-1.20130808.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Copy-on-write B-tree data structure"
+HOMEPAGE="http://liw.fi/larch/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+#RESTRICT="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/CoverageTestRunner dev-util/cmdtest )"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-python/cliapp
+ dev-python/tracing
+ dev-python/ttystatus"
+
+src_test() {
+ addwrite /proc/self/comm
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/larch/larch-1.20131130.ebuild b/dev-python/larch/larch-1.20131130.ebuild
new file mode 100644
index 000000000000..c045d93ddcf8
--- /dev/null
+++ b/dev-python/larch/larch-1.20131130.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Copy-on-write B-tree data structure"
+HOMEPAGE="http://liw.fi/larch/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+#RESTRICT="test"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/CoverageTestRunner dev-util/cmdtest )"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-python/cliapp
+ dev-python/tracing
+ dev-python/ttystatus"
+
+src_test() {
+ addwrite /proc/self/comm
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/larch/metadata.xml b/dev-python/larch/metadata.xml
new file mode 100644
index 000000000000..ea7bd021a21e
--- /dev/null
+++ b/dev-python/larch/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/ldap3/Manifest b/dev-python/ldap3/Manifest
new file mode 100644
index 000000000000..46c62066fb95
--- /dev/null
+++ b/dev-python/ldap3/Manifest
@@ -0,0 +1,4 @@
+DIST ldap3-0.9.8.2.tar.gz 258084 SHA256 6fb841bdbef66b2f98ed1ceda5603af879f54bfc05964a37c1c8f97e2812baab SHA512 d9bd77c9de2e4cca223db39d04f03a438e77cccb77e75c44b53bbeeb3dceb573208dfbd9c0cb3f5f5865682331f3d37f87f9fdf3244b4f2ffd410b6e9058b625 WHIRLPOOL 8c4b0f91582330f2f3dcdbcc849d1db4a0f45ebbed01be512202998a0682585c6c1e9e9bebcd239f682dd71b274a92ccd2e2de48abf646eb326af839292cbce3
+DIST ldap3-0.9.8.4.tar.gz 263317 SHA256 d9efa7f6d4bd4e83201229c6200dcac852e61f23272840065c6ef23b115a0c6a SHA512 cff846ec4e1f7fd8aa086615e517e3a1552d71cd071566baca9ac1e9d90243c435b03f600836c59b49a9e7365127569196a44d51934ec3d6e81332b664f655de WHIRLPOOL 594eb0d2755ceb9204eaff07eff06f430340ef561710274d0e55aaf6fda97caf503a64bd9c62c2e49330447b511b4929a438154b863ec30b5a81fd2b541ffac0
+DIST ldap3-0.9.8.6.tar.gz 263664 SHA256 aa932ca208cc46c2a3b3ec5dc7cbe681bb9661b823779e9bf27cffa3eba96c16 SHA512 74fa3a16b23442ae56cfe087b014fddaa5e7e697c0812e3a5bfd7960c5d867e096f8d0f089be77408c358b53e153b071fd5f27da6992931f964c3895f402ef98 WHIRLPOOL 886466c8d653a01da84a506d2bc28e9b24bbf5b7147ee9816301bce4a8a59e7e3381063814540bd230c20c71794f1b8c49bcd0b99bedfef397a2aa67884dad4a
+DIST ldap3-0.9.8.7.tar.gz 264738 SHA256 19c6de07d9a6e72c9efb19628612cd474e7ea18b62557539ce88eb9c66ec8ee8 SHA512 8238bf2f9b1d59b5b5eca4b271b856eaee9e91dc4d40cca67ac9022706c21df74bd465d4f0ce47cc98a6e5c54cc42d62ca4743be40f278a1e839e24df7b86940 WHIRLPOOL 6335fd361c77172c87b758a57c9c9c3ddd4fae3f3c01aa0edbea3c72b58c023ac352b8f04ec0ad20504603922ea95ff40a9c904910c1a2bd3b4b4304b2b2da46
diff --git a/dev-python/ldap3/ldap3-0.9.8.2.ebuild b/dev-python/ldap3/ldap3-0.9.8.2.ebuild
new file mode 100644
index 000000000000..57a537499b85
--- /dev/null
+++ b/dev-python/ldap3/ldap3-0.9.8.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
+HOMEPAGE="https://github.com/cannatag/ldap3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ldap3/ldap3-0.9.8.4.ebuild b/dev-python/ldap3/ldap3-0.9.8.4.ebuild
new file mode 100644
index 000000000000..2552291b7006
--- /dev/null
+++ b/dev-python/ldap3/ldap3-0.9.8.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
+HOMEPAGE="https://github.com/cannatag/ldap3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ldap3/ldap3-0.9.8.6.ebuild b/dev-python/ldap3/ldap3-0.9.8.6.ebuild
new file mode 100644
index 000000000000..2552291b7006
--- /dev/null
+++ b/dev-python/ldap3/ldap3-0.9.8.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
+HOMEPAGE="https://github.com/cannatag/ldap3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/ldap3/ldap3-0.9.8.7.ebuild b/dev-python/ldap3/ldap3-0.9.8.7.ebuild
new file mode 100644
index 000000000000..700d8ef8deaf
--- /dev/null
+++ b/dev-python/ldap3/ldap3-0.9.8.7.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
+HOMEPAGE="https://github.com/cannatag/ldap3 https://pypi.python.org/pypi/ldap3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.8[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v -s test || die
+}
diff --git a/dev-python/ldap3/metadata.xml b/dev-python/ldap3/metadata.xml
new file mode 100644
index 000000000000..658dcd90272e
--- /dev/null
+++ b/dev-python/ldap3/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ ldap3 is a strictly RFC 4511 conforming LDAP V3 pure Python client. The same codebase works with Python, Python 3, PyPy and PyPy3.
+ This project was formerly named python3-ldap. The name has been changed to avoid confusion with the python-ldap library.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">ldap3</remote-id>
+ <remote-id type="github">cannatag/ldap3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ldappool/Manifest b/dev-python/ldappool/Manifest
new file mode 100644
index 000000000000..68a11769c06a
--- /dev/null
+++ b/dev-python/ldappool/Manifest
@@ -0,0 +1 @@
+DIST ldappool-1.0.tar.gz 6795 SHA256 1fc36c617ffa6195a738ca99ae7f2178271ebe30a5ee6d41abdb49168afb75aa SHA512 081dc08833d95bb0d3ce396cbbe697252e2b483cc3703e87f00f8af0513f9fdca4ff9c97295fb439ff1fcd404027d5922c2a6337665cfad526be3c6b83acfa53 WHIRLPOOL e5cb9b61848cb3fa7314eeeb25fd9bed89ec7e4dca50eb501f80f952ca3aab78017962c85359efbe6d741ec9b38450d78a06a287aee8e7e935db391c3856a68a
diff --git a/dev-python/ldappool/ldappool-1.0.ebuild b/dev-python/ldappool/ldappool-1.0.ebuild
new file mode 100644
index 000000000000..8517f0c5fc1c
--- /dev/null
+++ b/dev-python/ldappool/ldappool-1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/python-ldap[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/ldappool/metadata.xml b/dev-python/ldappool/metadata.xml
new file mode 100644
index 000000000000..5df08f8da794
--- /dev/null
+++ b/dev-python/ldappool/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A simple connector pool for python-ldap.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">ldappool</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lesscpy/Manifest b/dev-python/lesscpy/Manifest
new file mode 100644
index 000000000000..e84ec02b436d
--- /dev/null
+++ b/dev-python/lesscpy/Manifest
@@ -0,0 +1,2 @@
+DIST lesscpy-0.10.2.tar.gz 159031 SHA256 ccad1ad2a89ced1875c5ca4e16e5478b791d31fb187fe29f1541859318ed9055 SHA512 9da17a3f5819566c081b94be016ff53a51f8251d7ab55e32fe469eb298a65378fb0db22b34abcf0192b2ba7ad092c2c41dc4a56b01403e1a8e43b107e4fd16bc WHIRLPOOL 600a744534fa284e7978340f773ebb2addeeac4f79ae7a9442271d482f0e5950ac9abe9f7d5f0079e44a5ed446fd710cd3ec3b4ab3c827dc4dd311c6591edebd
+DIST lesscpy-0.9j.tar.gz 32061 SHA256 fa01d435a1ab3abafba683519bdc7aca5e19399e96225e1a8bc1d660b566364d SHA512 9063b89a1ca8dc8424b3b1989bdf7c31de74e26ab8ab5ede1664f53d1ff1946308d9add65236cd5fabc58efcaf1cb5789fa73f0775a83cb70ea9a73d25207a73 WHIRLPOOL 3e885dc03138a2b693c94af775e4386bc8c2bcecb8b6202a5f80ec5b8435798cb0d06934d7e9eb39e0a54c9861c009a673d6ee7990050f1164e239157047140a
diff --git a/dev-python/lesscpy/lesscpy-0.10.2.ebuild b/dev-python/lesscpy/lesscpy-0.10.2.ebuild
new file mode 100644
index 000000000000..b88fccbc3a9b
--- /dev/null
+++ b/dev-python/lesscpy/lesscpy-0.10.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A compiler written in Python for the LESS language"
+HOMEPAGE="https://pypi.python.org/pypi/lesscpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+
+python_test() {
+ # https://github.com/lesscpy/lesscpy/issues/74
+ esetup.py test
+ # This is equally effective
+ # nosetests -v || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/lesscpy/lesscpy-0.9j.ebuild b/dev-python/lesscpy/lesscpy-0.9j.ebuild
new file mode 100644
index 000000000000..5ed205722884
--- /dev/null
+++ b/dev-python/lesscpy/lesscpy-0.9j.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A compiler written in Python for the LESS language"
+HOMEPAGE="https://pypi.python.org/pypi/lesscpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} lesscpy/test/__main__.py || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/lesscpy/metadata.xml b/dev-python/lesscpy/metadata.xml
new file mode 100644
index 000000000000..45e0253a5f96
--- /dev/null
+++ b/dev-python/lesscpy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A compiler written in Python for the LESS language.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">lesscpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libasyncns-python/Manifest b/dev-python/libasyncns-python/Manifest
new file mode 100644
index 000000000000..993cfeeb089b
--- /dev/null
+++ b/dev-python/libasyncns-python/Manifest
@@ -0,0 +1 @@
+DIST libasyncns-python-0.7.1.tar.bz2 20276 SHA256 0ff757f8d9bf1f07054ab7ad2d03434de4cfa6b9d6cb4bba29072728563894e0 SHA512 ac8bd46cb842e40bc0f3720a789fe17a6488d80bf68f5f60b3093708d9e5f91d8b0082255a77d37c1814232d46a4c44c58abe971ddbe54f881d8e6a78937f489 WHIRLPOOL 6b8cf9db88512fb273514617975ec18f639ff9f1443f7cfab267f34381d0ca9405842688fcd2f40d272f398c0970358c8852df21de8f9d24a9d3900d53ef4bc9
diff --git a/dev-python/libasyncns-python/libasyncns-python-0.7.1-r1.ebuild b/dev-python/libasyncns-python/libasyncns-python-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..0b0a6384b671
--- /dev/null
+++ b/dev-python/libasyncns-python/libasyncns-python-0.7.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for libasyncns"
+HOMEPAGE="https://launchpad.net/libasyncns-python/"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=net-libs/libasyncns-0.4"
+RDEPEND="${DEPEND}"
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+# Tests are network-dependent
diff --git a/dev-python/libasyncns-python/metadata.xml b/dev-python/libasyncns-python/metadata.xml
new file mode 100644
index 000000000000..c378bf7e585c
--- /dev/null
+++ b/dev-python/libasyncns-python/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">libasyncns-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libbonobo-python/Manifest b/dev-python/libbonobo-python/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/libbonobo-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/libbonobo-python/libbonobo-python-2.28.1-r1.ebuild b/dev-python/libbonobo-python/libbonobo-python-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..92bbcff05077
--- /dev/null
+++ b/dev-python/libbonobo-python/libbonobo-python-2.28.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python"
+G_PY_BINDINGS=( bonobo bonoboui bonobo_activation )
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the Bonobo framework"
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples"
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ >=dev-python/pyorbit-2.24.0[${PYTHON_USEDEP}]
+ >=gnome-base/libbonobo-2.24.0
+ >=gnome-base/libbonoboui-2.24.0
+ >=dev-python/libgnomecanvas-python-${PV}[${PYTHON_USEDEP}]
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/bonobo/. )
diff --git a/dev-python/libbonobo-python/metadata.xml b/dev-python/libbonobo-python/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/libbonobo-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/libcloud/Manifest b/dev-python/libcloud/Manifest
new file mode 100644
index 000000000000..d08a5e6cded5
--- /dev/null
+++ b/dev-python/libcloud/Manifest
@@ -0,0 +1,3 @@
+DIST apache-libcloud-0.14.1.tar.bz2 546545 SHA256 8562fd79c8afc63dabc8f62b08f13a1b1f71644c08e47f913f8c942d2f48c1d0 SHA512 cb338e63aa1b3949ac16eee77df53499797c92ea9e30dccb2ed0c823636f8adda62673131c25bc5138839da2b7a3a8c895d0acaadeff087c756e43b9ae23f5d9 WHIRLPOOL 7e3d5991487ceb3312d46b54bb7e525431c611d003d19c3f05ef4261257127622f0787d55fe08dfd1b0419cc85820ad3c2d1d8f3228aa31e475f4242a1452be0
+DIST apache-libcloud-0.15.0.tar.bz2 571365 SHA256 fcfea13c73279aaa846bbc6a22dad37864b2314b8497a3a4994b2b0632cf0633 SHA512 b0e85dba0a70701784903510e6eed1ada082b02e989a6af43122e3eaaaeee1cbd5da59660e1e78877219798b50f395d02d0738ae983bd1665eba0984d737e16c WHIRLPOOL eae1dd98b931ea88431d34b18325a3f62ab076d52fbeedc9ee9507234133fc1d99eed4cd24a3411e50870008aad3233f5d715341e3c2444aac29c6c3e35299ed
+DIST apache-libcloud-0.15.1.tar.bz2 570953 SHA256 557e3f29e0ab1f19a31e858a8e802c822cb7f07df5edce029a1c67d2b0f30d15 SHA512 0cbc02c955cb91e135d73a5198ad216d0f91fa942b88dd1ffc1c46a487190f45500f003d2825cdb4f6c96c4ca7e5cf2681709769b0c2d8801b08e5a41b3d69b0 WHIRLPOOL 0143a7d2c337603f769bb2d3fd4fb98df18c82dfaa09c12fe481f18eb300c65d9efd4e18756d0c75a691b6d755fff0f62d41ccda3c9006955870fb8631d8366d
diff --git a/dev-python/libcloud/libcloud-0.14.1.ebuild b/dev-python/libcloud/libcloud-0.14.1.ebuild
new file mode 100644
index 000000000000..1730f1e01a69
--- /dev/null
+++ b/dev-python/libcloud/libcloud-0.14.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py3 dropped due to failing tests once lockfile installed
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Unified Interface to the Cloud - python support libs"
+HOMEPAGE="http://libcloud.apache.org/index.html"
+SRC_URI="mirror://apache/${PN}/apache-${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=""
+DEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/apache-${P}"
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples
+ mv example_*.py examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/libcloud/libcloud-0.15.0.ebuild b/dev-python/libcloud/libcloud-0.15.0.ebuild
new file mode 100644
index 000000000000..1730f1e01a69
--- /dev/null
+++ b/dev-python/libcloud/libcloud-0.15.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py3 dropped due to failing tests once lockfile installed
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Unified Interface to the Cloud - python support libs"
+HOMEPAGE="http://libcloud.apache.org/index.html"
+SRC_URI="mirror://apache/${PN}/apache-${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=""
+DEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/apache-${P}"
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples
+ mv example_*.py examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/libcloud/libcloud-0.15.1.ebuild b/dev-python/libcloud/libcloud-0.15.1.ebuild
new file mode 100644
index 000000000000..5c8a4977c6b8
--- /dev/null
+++ b/dev-python/libcloud/libcloud-0.15.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py3 dropped due to failing tests once lockfile installed
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Unified Interface to the Cloud - python support libs"
+HOMEPAGE="http://libcloud.apache.org/index.html"
+SRC_URI="mirror://apache/${PN}/apache-${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples test"
+
+RDEPEND=""
+DEPEND="test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/lockfile[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/apache-${P}"
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples
+ mv example_*.py examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/libcloud/metadata.xml b/dev-python/libcloud/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/libcloud/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/libextractor-python/Manifest b/dev-python/libextractor-python/Manifest
new file mode 100644
index 000000000000..4b368a2a7b20
--- /dev/null
+++ b/dev-python/libextractor-python/Manifest
@@ -0,0 +1 @@
+DIST libextractor-python-0.6.tar.gz 4086 SHA256 9a4f9a7049765bbc253be324cab2f774848e1bbb5542868f3b3686934139d9e9 SHA512 38300177fc55183fb70068d9af69f0530b8729ca92056ebd77f06d11e855e983aaf9fe28c0f9a77ffe2d6375ae769dafba847d959809fd43892f518c4ecf2d18 WHIRLPOOL 2383be0860a2977f307f37206390a51db2bea2fd63013dbc3f0dd12eb0bb6ddd26de51c038d9cb73e6fa4aabe1b7c695c5ce00299fe69fcb830f8e7bcef198cb
diff --git a/dev-python/libextractor-python/libextractor-python-0.6-r1.ebuild b/dev-python/libextractor-python/libextractor-python-0.6-r1.ebuild
new file mode 100644
index 000000000000..a90a5857bf74
--- /dev/null
+++ b/dev-python/libextractor-python/libextractor-python-0.6-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library used to extract metadata from files of arbitrary type"
+HOMEPAGE="http://www.gnu.org/software/libextractor/"
+SRC_URI="mirror://gnu/libextractor/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+RDEPEND=">=media-libs/libextractor-0.6.3"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/Extractor-${PV}
diff --git a/dev-python/libextractor-python/metadata.xml b/dev-python/libextractor-python/metadata.xml
new file mode 100644
index 000000000000..accefe08c311
--- /dev/null
+++ b/dev-python/libextractor-python/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>net-p2p</herd>
+ <maintainer>
+ <email>ssuominen@gentoo.org</email>
+ <name>Samuli Suominen</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/libgnome-python/Manifest b/dev-python/libgnome-python/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/libgnome-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/libgnome-python/libgnome-python-2.28.1-r1.ebuild b/dev-python/libgnome-python/libgnome-python-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..96942545ea9e
--- /dev/null
+++ b/dev-python/libgnome-python/libgnome-python-2.28.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python"
+G_PY_BINDINGS=( gnome gnomeui )
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for essential GNOME libraries"
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples"
+
+RDEPEND=">=gnome-base/libgnome-2.24.1
+ >=gnome-base/libgnomeui-2.24.0
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ >=dev-python/pyorbit-2.24.0[${PYTHON_USEDEP}]
+ >=dev-python/libbonobo-python-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/gnome-vfs-python-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/libgnomecanvas-python-${PV}[${PYTHON_USEDEP}]
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/. )
diff --git a/dev-python/libgnome-python/metadata.xml b/dev-python/libgnome-python/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/libgnome-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/libgnomecanvas-python/Manifest b/dev-python/libgnomecanvas-python/Manifest
new file mode 100644
index 000000000000..a5edcb54102c
--- /dev/null
+++ b/dev-python/libgnomecanvas-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-2.28.1.tar.bz2 562220 SHA256 759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8 SHA512 632d91d416f8209c2bc8d576d1229069e00f2cfeedb3441a5f151e12973ed740c0bb26d18d5c16cfeeb64ca35933537997277450001cffd96d8d5077027d45f2 WHIRLPOOL cd4ea19fabd26c55866d8789628fdc3c834e73932381431216d65c5e9b42ad529e83f74d498951f07f060d3049f1739b6db99dbdbe34575eed469ceb23a51c5b
diff --git a/dev-python/libgnomecanvas-python/libgnomecanvas-python-2.28.1-r1.ebuild b/dev-python/libgnomecanvas-python/libgnomecanvas-python-2.28.1-r1.ebuild
new file mode 100644
index 000000000000..ee6ec288a3e2
--- /dev/null
+++ b/dev-python/libgnomecanvas-python/libgnomecanvas-python-2.28.1-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python"
+G_PY_BINDINGS="gnomecanvas"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the Gnome Canvas library"
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="examples"
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ >=gnome-base/libgnomecanvas-2.8.0
+ !<dev-python/gnome-python-2.22.1"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/canvas/. )
diff --git a/dev-python/libgnomecanvas-python/metadata.xml b/dev-python/libgnomecanvas-python/metadata.xml
new file mode 100644
index 000000000000..888e60bf6a90
--- /dev/null
+++ b/dev-python/libgnomecanvas-python/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/liblarch/Manifest b/dev-python/liblarch/Manifest
new file mode 100644
index 000000000000..40d53a519aba
--- /dev/null
+++ b/dev-python/liblarch/Manifest
@@ -0,0 +1 @@
+DIST liblarch-2.1.0.tar.gz 26829 SHA256 f55b8ce2c6350b614f46acf826c323b03bd64890288dd25b31cda3ccdb59d49b SHA512 fd6a6c48142e434f49fb49d9dee874b88f013775c280dd2dc929ed5fff4df7bd3743bf915b09dac4329f894cac24e466d78366a072136de389725bc5ed985ec1 WHIRLPOOL b2e34e15d5dd523597cc369fbfec6c02a8785b34c6fec1035a0995714aecde2c4dfe92ead1b1b60cfed81a725f85af7e604eda25fa46028ab36d0b8e73bd8485
diff --git a/dev-python/liblarch/liblarch-2.1.0.ebuild b/dev-python/liblarch/liblarch-2.1.0.ebuild
new file mode 100644
index 000000000000..f8d30a58f559
--- /dev/null
+++ b/dev-python/liblarch/liblarch-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to handle directed acyclic graphs"
+HOMEPAGE="http://live.gnome.org/liblarch"
+SRC_URI="http://gtg.fritalk.com/publique/gtg.fritalk.com/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+# This is what should be run if tarball included testsuite
+#python_test() {
+# ${PYTHON} "${S}"/run-tests
+#}
diff --git a/dev-python/liblarch/metadata.xml b/dev-python/liblarch/metadata.xml
new file mode 100644
index 000000000000..3d3428dce28d
--- /dev/null
+++ b/dev-python/liblarch/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>eva@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>leio@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>steev@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Liblarch is a python library built to easily handle data structure such are lists, trees and directed acyclic graphs (tree where nodes can have multiple parents). There's also a liblarch-gtk binding that will allow you to use your data structure in a Gtk.Treeview.
+
+ Liblarch supports multiple views of one data structure and complex filtering. That way, you have a clear separation between your data themselves (Model) and how they are displayed (View).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">liblarch/liblarch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libnacl/Manifest b/dev-python/libnacl/Manifest
new file mode 100644
index 000000000000..4682a7f693cc
--- /dev/null
+++ b/dev-python/libnacl/Manifest
@@ -0,0 +1,2 @@
+DIST libnacl-1.4.0.tar.gz 28233 SHA256 fee644e684472b307e864db0d01d81915e7fc2c9fd4a64c15a35e4883102d7d5 SHA512 5f28ae4f0a2dc482ad5ea9a87431dc0fee42664a77a69ee3328265225c2e0d736869d7a9e3927f530ca00148be36d32ffb72fafe4471302c71ea7e0ff7534643 WHIRLPOOL 89ffc84ec52e676434477fe25d6133a8d4b8c7d0ecf4096ddab585f9150f506ccc4c3802ac477307ad4c6e42ae4d8ba4b4fc8ae45cabd8b5f7aac2cdfcb75349
+DIST libnacl-1.4.3.tar.gz 28777 SHA256 873614913c90c4011f791a8fd1448f6bb3ab7dc8cdd329d1baaa65e7e1d1a929 SHA512 92b7d5e8856e69404e8d5b9eee9f87374a4ba251b040c00f78b4c9e8094f5306241be0632c82f7c4edd88a9dd654cdd6323674a7789392d87064bd86cfbe66f2 WHIRLPOOL b5561c233f8cf0dc4f2b979c86b9a5bb76c49a730399ee6bfc5946150523057228f1503fefed728675c5286da3afaad7649d2956d832f866576e0820d893d217
diff --git a/dev-python/libnacl/libnacl-1.4.0.ebuild b/dev-python/libnacl/libnacl-1.4.0.ebuild
new file mode 100644
index 000000000000..4e2a2ec0e7ea
--- /dev/null
+++ b/dev-python/libnacl/libnacl-1.4.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Python ctypes wrapper for libsodium"
+HOMEPAGE="https://libnacl.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-libs/libsodium"
+
+python_test() {
+ ${EPYTHON} tests/runtests.py || die
+}
diff --git a/dev-python/libnacl/libnacl-1.4.3.ebuild b/dev-python/libnacl/libnacl-1.4.3.ebuild
new file mode 100644
index 000000000000..b04448e38ccc
--- /dev/null
+++ b/dev-python/libnacl/libnacl-1.4.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Python ctypes wrapper for libsodium"
+HOMEPAGE="https://libnacl.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-libs/libsodium"
+
+python_test() {
+ ${EPYTHON} tests/runtests.py || die
+}
diff --git a/dev-python/libnacl/metadata.xml b/dev-python/libnacl/metadata.xml
new file mode 100644
index 000000000000..91d2d7777dba
--- /dev/null
+++ b/dev-python/libnacl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">libnacl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libnatpmp/Manifest b/dev-python/libnatpmp/Manifest
new file mode 100644
index 000000000000..045c38793d7f
--- /dev/null
+++ b/dev-python/libnatpmp/Manifest
@@ -0,0 +1,3 @@
+DIST libnatpmp-20130911.tar.gz 18744 SHA256 a30d83b9175585cc0f5bff753ce7eb5d83aaecb6222ccac670ed759fea595d7d SHA512 e7dfb3955ccc2c30e7c74c1085bc71bd9318f6171b84fbad2d8ae8bd5a227f7ceed3f60ecb49bd10e6fb838d8be3325bbf467467bf0d04e46883e3a19fa14a2d WHIRLPOOL fafb32c930e21afd8c3e10528638be4b31d03a2bcfdc481b4f2ea682ae4b7fd0cf943f32b8a395f03ceeecf42a41370fcd49a6026bc3cd449b6e4fba39cf191f
+DIST libnatpmp-20140401.tar.gz 23302 SHA256 b2ce5e626a21c795cba2d118f26e54aaa89de29d4611c440fafc49a2a5bedabb SHA512 12616f07b0a096046a35079954b8a34d474e672d7836ddac9da993a47178902aa2d781786ac76c55c5f16cfdf6a7e7258f92fec3850714ad9cd50208d854c4c2 WHIRLPOOL c12bfbc83d1f30f20162c3fddd5452f53d6ef556452845c6303420718a92568c8e8174939a3ef2702045d7c2061f5aff57bfe81c3516452d84172ef6ecf08849
+DIST libnatpmp-20150609.tar.gz 24392 SHA256 e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0 SHA512 e50b1f68ce9254bb2f068ddc37417a3c417b80f7b3fb3d84e3e9af4a144d89e204ab993b54c01657335e855d0124a8fcbbf96ce78db7b9ae0b03b6eb79de2e09 WHIRLPOOL 27243e13e445a8bbe592257e1029264c3535ef1c71ccaf476708e91c8ead39b778a2d07e6bc42500444b910a005d5be092c5a453df225a556975e97f4184b7c7
diff --git a/dev-python/libnatpmp/files/link-against-system-lib.patch b/dev-python/libnatpmp/files/link-against-system-lib.patch
new file mode 100644
index 000000000000..cdb64a9ce12b
--- /dev/null
+++ b/dev-python/libnatpmp/files/link-against-system-lib.patch
@@ -0,0 +1,12 @@
+diff -Naur libnatpmp-20110715.orig//setup.py libnatpmp-20110715/setup.py
+--- libnatpmp-20110715.orig//setup.py 2009-06-04 17:37:06.000000000 -0400
++++ libnatpmp-20110715/setup.py 2011-08-03 06:55:11.000000000 -0400
+@@ -8,7 +8,7 @@
+ setup(name="libnatpmp", version="1.0",
+ ext_modules=[
+ Extension(name="libnatpmp", sources=["libnatpmpmodule.c"],
+- extra_objects=["libnatpmp.a"],
++ libraries=["natpmp"],
+ define_macros=[('ENABLE_STRNATPMPERR', None)]
+ )]
+ )
diff --git a/dev-python/libnatpmp/libnatpmp-20130911.ebuild b/dev-python/libnatpmp/libnatpmp-20130911.ebuild
new file mode 100644
index 000000000000..7133f6adb2a7
--- /dev/null
+++ b/dev-python/libnatpmp/libnatpmp-20130911.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for libnatpmp, an alternative protocol to UPnP IGD"
+HOMEPAGE="http://miniupnp.free.fr/libnatpmp.html"
+SRC_URI="http://miniupnp.free.fr/files/download.php?file=${P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="=net-libs/${P}"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/link-against-system-lib.patch
+
+ #These are installed by net-libs/libnatpmp
+ rm -f Changelog.txt README || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/libnatpmp/libnatpmp-20140401-r1.ebuild b/dev-python/libnatpmp/libnatpmp-20140401-r1.ebuild
new file mode 100644
index 000000000000..7c09cbaee154
--- /dev/null
+++ b/dev-python/libnatpmp/libnatpmp-20140401-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for libnatpmp, an alternative protocol to UPnP IGD"
+HOMEPAGE="http://miniupnp.free.fr/libnatpmp.html"
+SRC_URI="http://miniupnp.free.fr/files/download.php?file=${P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="~net-libs/${P}"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/link-against-system-lib.patch
+
+ #These are installed by net-libs/libnatpmp
+ rm -f Changelog.txt README || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/libnatpmp/libnatpmp-20150609.ebuild b/dev-python/libnatpmp/libnatpmp-20150609.ebuild
new file mode 100644
index 000000000000..7c09cbaee154
--- /dev/null
+++ b/dev-python/libnatpmp/libnatpmp-20150609.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for libnatpmp, an alternative protocol to UPnP IGD"
+HOMEPAGE="http://miniupnp.free.fr/libnatpmp.html"
+SRC_URI="http://miniupnp.free.fr/files/download.php?file=${P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="~net-libs/${P}"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/link-against-system-lib.patch
+
+ #These are installed by net-libs/libnatpmp
+ rm -f Changelog.txt README || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/libnatpmp/metadata.xml b/dev-python/libnatpmp/metadata.xml
new file mode 100644
index 000000000000..1e7587374fdf
--- /dev/null
+++ b/dev-python/libnatpmp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/librharris/Manifest b/dev-python/librharris/Manifest
new file mode 100644
index 000000000000..810d7404d7e3
--- /dev/null
+++ b/dev-python/librharris/Manifest
@@ -0,0 +1 @@
+DIST lib_rharris-0.1.14.tar.gz 12895 SHA256 4127cf6bb45aa4bfba9f3b96c551f1e7779711e76e5577b651832d166365b551 SHA512 24e8be3a0508bcac30261a0c05652ca452c09b0ce23e3a8341d702a6e3516284d65f21b5b8bca3e6bd5db39de90fc697f11943ce86cce2e849a4d9c44eb2bc85 WHIRLPOOL 896f6567f5cd218d0d627ea8bc9f5fca2814296c08bafc6da78bcd494e398f67c1d4d337b09879962b391253810b5b88a1bbb016371cb1858296bf4c593cb546
diff --git a/dev-python/librharris/librharris-0.1.14-r1.ebuild b/dev-python/librharris/librharris-0.1.14-r1.ebuild
new file mode 100644
index 000000000000..6f9fa0af4965
--- /dev/null
+++ b/dev-python/librharris/librharris-0.1.14-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="lib_rharris"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Internet Programming Library"
+HOMEPAGE="http://pypi.python.org/pypi/lib_rharris"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/librharris/metadata.xml b/dev-python/librharris/metadata.xml
new file mode 100644
index 000000000000..acd281e0fe7b
--- /dev/null
+++ b/dev-python/librharris/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">lib_rharris</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/librsvg-python/Manifest b/dev-python/librsvg-python/Manifest
new file mode 100644
index 000000000000..b3c5fb4b1ca1
--- /dev/null
+++ b/dev-python/librsvg-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-desktop-2.32.0.tar.bz2 621277 SHA256 09dbd580bf3b0ef60f91b090eafe6d08ddcc50a609e2b425a7f8eca46d4e0ee9 SHA512 51beefd21fa3aa6242ba4c66e57d940372fbf4a84ffe34063339f6e7e7c22e76d281b25d5f113de3780a0dbf733c7e07142f05a285056cda26736323b4185d18 WHIRLPOOL 5713353291a34e0a03152ad76c46391e3ab246efc17b63193fc0b26b02176eb78ce134c8d0cabcb3480bd2dbb3446b7b6b301cffbfac3ce915e21a974947e37e
diff --git a/dev-python/librsvg-python/librsvg-python-2.32.0-r1.ebuild b/dev-python/librsvg-python/librsvg-python-2.32.0-r1.ebuild
new file mode 100644
index 000000000000..9f36b6aa7418
--- /dev/null
+++ b/dev-python/librsvg-python/librsvg-python-2.32.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python-desktop"
+G_PY_BINDINGS="rsvg"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1
+
+DESCRIPTION="Python bindings for the librsvg library"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=gnome-base/librsvg-2.13.93:2
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ !<dev-python/gnome-python-desktop-2.22.0-r10"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/rsvg/. )
diff --git a/dev-python/librsvg-python/metadata.xml b/dev-python/librsvg-python/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-python/librsvg-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
new file mode 100644
index 000000000000..dc949655c8e0
--- /dev/null
+++ b/dev-python/libvirt-python/Manifest
@@ -0,0 +1,3 @@
+DIST libvirt-python-1.2.15.tar.gz 166128 SHA256 9a6dfbd487d49f887a41aca4bfb1b4e043fd9fbdfc041252cae84023f5c387ba SHA512 5687308c2f16199ecc4ec935719da1e2d34d0fb3752437a4c662d7c83d972f49ee5e852daf7233fa9aa29f25bbaed1c26d17740faf56c1771bbc2134bcb8958b WHIRLPOOL d2173060d5d3763ba367fbf3140800d6534c27f36b91d7a944ff2f5ce36f9ac54bd86fb6df1399cfa8610ef62c0b0b87427fc68dc1e0be77b0c7b3f94f7d9e30
+DIST libvirt-python-1.2.17.tar.gz 170511 SHA256 f4d3db4012a800a2519e62bbef4ce14a37e030a20ab18f5b66759533a39b36ed SHA512 bd77558bc59f2abedb55582fed56bb73b33089cfa5de4a109c145bb087dfaa258ad4b022ca00b30fbac5c09f53f7a60fc270e658afd1cc57e618568b89adbfcd WHIRLPOOL a6e5c11401ebf66acadf075dbe360d43607b238b29f090cb822e7ae019d0a6a9ed5f80fa0d86b5f0b09cfcc103ee3ba77b49efdf0bbd18037df29450ee7306f6
+DIST libvirt-python-1.2.18.tar.gz 171009 SHA256 204535ef160c9d10600b5fc3417f00f382e74b137a85b33774b97eb36d8a3638 SHA512 bf9f246d8bc2e55dc0cdeb22901b2dd2858b058c0616a2d5db3ca4a700c3430c9cd1f904ec3090cab7c3db1d40195a6365fed3b7b18fbd1d975fdca5fa57ce29 WHIRLPOOL a1e684360341b896bd96d6a313320ddb7ad455c64e4d1577076713e4913c95d2bd6f9222a6ac45b735a33d8e7fff06b40327e298d21e214857db17c859fb4849
diff --git a/dev-python/libvirt-python/libvirt-python-1.2.15.ebuild b/dev-python/libvirt-python/libvirt-python-1.2.15.ebuild
new file mode 100644
index 000000000000..1f38cff44f52
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-1.2.15.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+AUTOTOOLIZE=yes
+
+MY_P="${P/_rc/-rc}"
+
+inherit eutils distutils-r1
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://libvirt.org/libvirt-python.git"
+ SRC_URI=""
+ KEYWORDS=""
+ RDEPEND="app-emulation/libvirt:=[-python(-)]"
+else
+ SRC_URI="http://libvirt.org/sources/python/${MY_P}.tar.gz"
+ KEYWORDS="amd64 x86"
+ RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="http://www.libvirt.org"
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="test"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+# testsuite is currently not included in upstream tarball
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/libvirt-python/libvirt-python-1.2.17.ebuild b/dev-python/libvirt-python/libvirt-python-1.2.17.ebuild
new file mode 100644
index 000000000000..cc59d1ba63b0
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-1.2.17.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+AUTOTOOLIZE=yes
+
+MY_P="${P/_rc/-rc}"
+
+inherit eutils distutils-r1
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://libvirt.org/libvirt-python.git"
+ SRC_URI=""
+ KEYWORDS=""
+ RDEPEND="app-emulation/libvirt:=[-python(-)]"
+else
+ SRC_URI="http://libvirt.org/sources/python/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="http://www.libvirt.org"
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="test"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+# testsuite is currently not included in upstream tarball
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/libvirt-python/libvirt-python-1.2.18.ebuild b/dev-python/libvirt-python/libvirt-python-1.2.18.ebuild
new file mode 100644
index 000000000000..cc59d1ba63b0
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-1.2.18.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+AUTOTOOLIZE=yes
+
+MY_P="${P/_rc/-rc}"
+
+inherit eutils distutils-r1
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://libvirt.org/libvirt-python.git"
+ SRC_URI=""
+ KEYWORDS=""
+ RDEPEND="app-emulation/libvirt:=[-python(-)]"
+else
+ SRC_URI="http://libvirt.org/sources/python/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="http://www.libvirt.org"
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="test"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+# testsuite is currently not included in upstream tarball
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/libvirt-python/libvirt-python-9999.ebuild b/dev-python/libvirt-python/libvirt-python-9999.ebuild
new file mode 100644
index 000000000000..39f9c7ccf481
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+AUTOTOOLIZE=yes
+
+MY_P="${P/_rc/-rc}"
+
+inherit eutils distutils-r1
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://libvirt.org/libvirt-python.git"
+ SRC_URI=""
+ KEYWORDS=""
+ RDEPEND="app-emulation/libvirt:=[-python(-)]"
+else
+ SRC_URI="http://libvirt.org/sources/python/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ RDEPEND="app-emulation/libvirt:0/${PV}"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="libvirt Python bindings"
+HOMEPAGE="http://www.libvirt.org"
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="test"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/libvirt-python/metadata.xml b/dev-python/libvirt-python/metadata.xml
new file mode 100644
index 000000000000..0349051772f9
--- /dev/null
+++ b/dev-python/libvirt-python/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <herd>virtualization</herd>
+</pkgmetadata>
diff --git a/dev-python/libwnck-python/Manifest b/dev-python/libwnck-python/Manifest
new file mode 100644
index 000000000000..b3c5fb4b1ca1
--- /dev/null
+++ b/dev-python/libwnck-python/Manifest
@@ -0,0 +1 @@
+DIST gnome-python-desktop-2.32.0.tar.bz2 621277 SHA256 09dbd580bf3b0ef60f91b090eafe6d08ddcc50a609e2b425a7f8eca46d4e0ee9 SHA512 51beefd21fa3aa6242ba4c66e57d940372fbf4a84ffe34063339f6e7e7c22e76d281b25d5f113de3780a0dbf733c7e07142f05a285056cda26736323b4185d18 WHIRLPOOL 5713353291a34e0a03152ad76c46391e3ab246efc17b63193fc0b26b02176eb78ce134c8d0cabcb3480bd2dbb3446b7b6b301cffbfac3ce915e21a974947e37e
diff --git a/dev-python/libwnck-python/files/libwnck-python-2.30.2-flagsfix.patch b/dev-python/libwnck-python/files/libwnck-python-2.30.2-flagsfix.patch
new file mode 100644
index 000000000000..0be84c96b533
--- /dev/null
+++ b/dev-python/libwnck-python/files/libwnck-python-2.30.2-flagsfix.patch
@@ -0,0 +1,30 @@
+diff -up gnome-python-desktop-2.30.0/wnck/wnck.defs.flagsfix gnome-python-desktop-2.30.0/wnck/wnck.defs
+--- gnome-python-desktop-2.30.0/wnck/wnck.defs.flagsfix 2010-04-20 11:27:20.119491538 -0400
++++ gnome-python-desktop-2.30.0/wnck/wnck.defs 2010-04-20 11:28:34.715491536 -0400
+@@ -100,7 +100,7 @@
+ )
+ )
+
+-(define-enum WindowState
++(define-flags WindowState
+ (in-module "Wnck")
+ (c-name "WnckWindowState")
+ (gtype-id "WNCK_TYPE_WINDOW_STATE")
+@@ -121,7 +121,7 @@
+ )
+ )
+
+-(define-enum WindowActions
++(define-flags WindowActions
+ (in-module "Wnck")
+ (c-name "WnckWindowActions")
+ (gtype-id "WNCK_TYPE_WINDOW_ACTIONS")
+@@ -184,7 +184,7 @@
+ )
+ )
+
+-(define-enum WindowMoveResizeMask
++(define-flags WindowMoveResizeMask
+ (in-module "Wnck")
+ (c-name "WnckWindowMoveResizeMask")
+ (gtype-id "WNCK_TYPE_WINDOW_MOVE_RESIZE_MASK")
diff --git a/dev-python/libwnck-python/libwnck-python-2.32.0-r1.ebuild b/dev-python/libwnck-python/libwnck-python-2.32.0-r1.ebuild
new file mode 100644
index 000000000000..90d0ec27af95
--- /dev/null
+++ b/dev-python/libwnck-python/libwnck-python-2.32.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GNOME_ORG_MODULE="gnome-python-desktop"
+G_PY_BINDINGS="wnck"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome-python-common-r1 eutils
+
+DESCRIPTION="Python bindings for the libwnck library"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=x11-libs/libwnck-2.19.3:1
+ !<dev-python/gnome-python-desktop-2.22.0-r10"
+DEPEND="${RDEPEND}"
+
+EXAMPLES=( examples/wnck_example.py )
+
+src_prepare() {
+ # Fix three enum items that should be flags, upstream bug #616306
+ epatch "${FILESDIR}/${PN}-2.30.2-flagsfix.patch"
+ gnome-python-common-r1_src_prepare
+}
diff --git a/dev-python/libwnck-python/metadata.xml b/dev-python/libwnck-python/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-python/libwnck-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/linecache2/Manifest b/dev-python/linecache2/Manifest
new file mode 100644
index 000000000000..b0af3daac29c
--- /dev/null
+++ b/dev-python/linecache2/Manifest
@@ -0,0 +1 @@
+DIST linecache2-1.0.0.tar.gz 11013 SHA256 4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c SHA512 e585a6e4c054c1965bc4241a1e36b57cb04f32b2d778df0ae4381975700497975251f509354d3622e36c82973c726a207b815f8b12060d9d583b6669a9eb279e WHIRLPOOL 2968c4d82a8655bd91d487c814eef00f0edfdbb2c41642fcce78826efb467554f06e9951ce6bf6a9b2ed92ce4cf3edbaa77fe3b51c557aae561c486a62dabbb0
diff --git a/dev-python/linecache2/linecache2-1.0.0.ebuild b/dev-python/linecache2/linecache2-1.0.0.ebuild
new file mode 100644
index 000000000000..5c0076826588
--- /dev/null
+++ b/dev-python/linecache2/linecache2-1.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Backports of the linecache module"
+HOMEPAGE="https://github.com/testing-cabal/linecache2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE="test"
+
+DEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" -m unittest2 discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/linecache2/metadata.xml b/dev-python/linecache2/metadata.xml
new file mode 100644
index 000000000000..97a308fc857f
--- /dev/null
+++ b/dev-python/linecache2/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">linecache2</remote-id>
+ <remote-id type="github">testing-cabal/linecache2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/livereload/Manifest b/dev-python/livereload/Manifest
new file mode 100644
index 000000000000..5efc59e56cbb
--- /dev/null
+++ b/dev-python/livereload/Manifest
@@ -0,0 +1,2 @@
+DIST livereload-2.3.2.tar.gz 24119 SHA256 fa2959005a134d767409c129cbf94528a0eb5022c915da9c685e14f1adb81b63 SHA512 59dc5be184d80a8b3aa6f98a6bc12f98f2efe00a0497deadfe5275222be2e0865e182cf0d83fc7a6e5f7297a7bf26a30c3ad9af5eeb2517af8b7ab3946e4bb1d WHIRLPOOL acf0c4ffa017a65d67423bb28b36cfd4e8acec59c47cc845f98669a3368920fa1e4e33b4c86e00082aeb416225066091305adcf1e8919071825a192ab5127180
+DIST livereload-2.4.0.tar.gz 25258 SHA256 a3f162357d886710a317f6f8c0595ac1db176bd9db171f0ca751c4954c29b5e2 SHA512 9b961ed41224359e986873973840fae43387af1b773328ab1262d095879aeff98090d736d696abdfcd9b2f1c127a061a29d044df7cfa15ba218b0162576093a3 WHIRLPOOL 268d274d57b1e7f7587fd690dac2bae7051dde2d1b110a8953a84eea6e08017488d4ee0e59fbc1bb0a9468d7925913ca8cb28a74c13c291fd7e004a5322160cf
diff --git a/dev-python/livereload/files/fix-tests.patch b/dev-python/livereload/files/fix-tests.patch
new file mode 100644
index 000000000000..2c9208ad17aa
--- /dev/null
+++ b/dev-python/livereload/files/fix-tests.patch
@@ -0,0 +1,77 @@
+diff --git a/tests/test_watcher.py b/tests/test_watcher.py
+index fa0ae41..5310bdc 100644
+--- a/tests/test_watcher.py
++++ b/tests/test_watcher.py
+@@ -3,18 +3,22 @@
+ import os
+ import time
+ import shutil
++import unittest
+ from livereload.watcher import Watcher
+
+ tmpdir = os.path.join(os.path.dirname(__file__), 'tmp')
+
+
+-class TestWatcher(object):
++class TestWatcher(unittest.TestCase):
+
+ def setUp(self):
+ if os.path.isdir(tmpdir):
+ shutil.rmtree(tmpdir)
+ os.mkdir(tmpdir)
+
++ def tearDown(self):
++ shutil.rmtree(tmpdir)
++
+ def test_watch_dir(self):
+ os.mkdir(os.path.join(tmpdir, '.git'))
+ os.mkdir(os.path.join(tmpdir, '.hg'))
+@@ -25,6 +29,9 @@ class TestWatcher(object):
+ watcher.watch(tmpdir)
+ assert watcher.is_changed(tmpdir) is False
+
++ # sleep 1 second so that mtime will be different
++ time.sleep(1)
++
+ with open(os.path.join(tmpdir, 'foo'), 'w') as f:
+ f.write('')
+
+@@ -35,6 +42,9 @@ class TestWatcher(object):
+ watcher = Watcher()
+ watcher.count = 0
+
++ # sleep 1 second so that mtime will be different
++ time.sleep(1)
++
+ filepath = os.path.join(tmpdir, 'foo')
+ with open(filepath, 'w') as f:
+ f.write('')
+@@ -51,22 +61,24 @@ class TestWatcher(object):
+ with open(filepath, 'w') as f:
+ f.write('')
+
+- assert watcher.examine() == os.path.abspath(filepath)
++ rv = watcher.examine()
++ assert rv[0] == os.path.abspath(filepath)
+ assert watcher.count == 1
+
+ def test_watch_glob(self):
+ watcher = Watcher()
+ watcher.watch(tmpdir + '/*')
+- assert watcher.examine() is None
++ assert watcher.examine() == (None, None)
+
+ with open(os.path.join(tmpdir, 'foo.pyc'), 'w') as f:
+ f.write('')
+
+- assert watcher.examine() is None
++ assert watcher.examine() == (None, None)
+
+ filepath = os.path.join(tmpdir, 'foo')
+
+ with open(filepath, 'w') as f:
+ f.write('')
+
+- assert watcher.examine() == os.path.abspath(filepath)
++ rv = watcher.examine()
++ assert rv[0] == os.path.abspath(filepath)
diff --git a/dev-python/livereload/livereload-2.3.2.ebuild b/dev-python/livereload/livereload-2.3.2.ebuild
new file mode 100644
index 000000000000..84e37d988a58
--- /dev/null
+++ b/dev-python/livereload/livereload-2.3.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python LiveReload is an awesome tool for web developers"
+HOMEPAGE="https://github.com/lepture/python-livereload"
+SRC_URI="https://github.com/lepture/python-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+RDEPEND="www-servers/tornado[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/fix-tests.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/livereload/livereload-2.4.0.ebuild b/dev-python/livereload/livereload-2.4.0.ebuild
new file mode 100644
index 000000000000..0290484c93fc
--- /dev/null
+++ b/dev-python/livereload/livereload-2.4.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python LiveReload is an awesome tool for web developers"
+HOMEPAGE="https://github.com/lepture/python-livereload"
+SRC_URI="https://github.com/lepture/python-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples test"
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/six[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/livereload/metadata.xml b/dev-python/livereload/metadata.xml
new file mode 100644
index 000000000000..a7af8704e22c
--- /dev/null
+++ b/dev-python/livereload/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">lepture/python-livereload</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/llfuse/Manifest b/dev-python/llfuse/Manifest
new file mode 100644
index 000000000000..8caa5844e344
--- /dev/null
+++ b/dev-python/llfuse/Manifest
@@ -0,0 +1,2 @@
+DIST llfuse-0.39.tar.bz2 250931 SHA256 4d9029efd461b7da099904d1cba193bd11964613263c38e97e9027174424995c SHA512 e75b4f22b256c05473531c6ee2aebcfd001cfb1f55e54c1f11405b3a958c1845912660e107adcc2b785dbb3fd54f683b7a6695cc33e0b53a563fad019b5e703a WHIRLPOOL 91b3ab7ce5fe6b1aebf78e9bf16d06995920fab30e79ce5006a2077663ae56b180c28939ba15d0599a4eec833a9c361bacfe8f8b9becff5a9a57cc7cce7746a1
+DIST llfuse-0.40.tar.bz2 454032 SHA256 ee8b1125a6f2ab904d617d7602d86c0e3f69e40316cb1ae3abc33c218d3da857 SHA512 b568d14e181c316d592d01b7879d2b04c717759124d9462b7f848c251322a6a376881050d209d4cf3d0d6c5218ec1880cb64f19bd64b73f09fd06818447f3dfd WHIRLPOOL 3cfcd75a41ab39036b867e625248472a709ffdc61a588cbac47572455a6e3029f3d6592cbeb8e2b555a8c6f59729587a54c3373d3053e20f71a9b4f747ab87dc
diff --git a/dev-python/llfuse/llfuse-0.39.ebuild b/dev-python/llfuse/llfuse-0.39.ebuild
new file mode 100644
index 000000000000..f9e00c5cfb61
--- /dev/null
+++ b/dev-python/llfuse/llfuse-0.39.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the low-level FUSE API"
+HOMEPAGE="http://python-llfuse.googlecode.com/ http://pypi.python.org/pypi/llfuse"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND=">=sys-fs/fuse-2.8.0"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+python_prepare_all() {
+ # use system setuptools
+ sed -i '/use_setuptools/d' setup.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llfuse/llfuse-0.40.ebuild b/dev-python/llfuse/llfuse-0.40.ebuild
new file mode 100644
index 000000000000..b61799676d8b
--- /dev/null
+++ b/dev-python/llfuse/llfuse-0.40.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the low-level FUSE API"
+HOMEPAGE="http://python-llfuse.googlecode.com/ http://pypi.python.org/pypi/llfuse"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+RDEPEND=">=sys-fs/fuse-2.8.0"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+python_prepare_all() {
+ # use system setuptools
+ sed -i '/use_setuptools/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llfuse/metadata.xml b/dev-python/llfuse/metadata.xml
new file mode 100644
index 000000000000..6749cd70eb50
--- /dev/null
+++ b/dev-python/llfuse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">llfuse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/llvmlite/Manifest b/dev-python/llvmlite/Manifest
new file mode 100644
index 000000000000..cb671e0df77b
--- /dev/null
+++ b/dev-python/llvmlite/Manifest
@@ -0,0 +1,4 @@
+DIST llvmlite-0.2.1.tar.gz 67340 SHA256 48c9217db60d496ffef9d15bcb493b84757fc08b95b0332ca418a21344fd3f6b SHA512 d2b705ec275bfd6ed87b0b536eb0223d9aba53bf77227ed54b43a7efa1ea5df44a10624613bcb724a7520df77d1417b96567d41efe5825a5bde217343816263c WHIRLPOOL c59c1d5af1f8f7c22dd28d54619e6385a56e1d12fcbe4af2dd18be82ea1d841348ccd9c01b8e3efd144d5e36326b627f46a65b84e0d0bd5be789da20d3d0cb13
+DIST llvmlite-0.2.2.tar.gz 75171 SHA256 5771189d07da7774446e1ac6c586d31ea4293ef1c2bfb9dbe0c570bcf971b4a1 SHA512 7eeea5c0bd5287415d6cc39fb2e546366de42d3b2b99cf57655036c9fd2bf526398cc51ea79d062504cdfdd927ce5be22997a54c5d79cc2e4de3168317f35fcf WHIRLPOOL aac97a187e341a67a5ee1771480deb6598d921cfce098aec6ca20927d6173c1f984de0b8e1985e2c7db55e393e65f4bd471c5d57bb8fd0da21cb2ad4faf0a3dc
+DIST llvmlite-0.5.0.tar.gz 74434 SHA256 616b0f16366dd1eec197b7067f4618c6c5183db852e7f4203862c0343ebdd31c SHA512 aec69c841a8166896a6632a4204a53df1f19a42514c335a3dc21a9c7e7610c110a5d00b293d7013dfe497cc7c1e3ffbaedf0a80ee16970f5f33f0043bacd6aec WHIRLPOOL 737a53017e160a04f371e87abf24eb923f17b101d3b2394c276ae0d47787c617aa496428b268ee86301a2ed33a0a93b0b5d3fbc0fb293e295d38742d8a5b98e8
+DIST llvmlite-0.6.0.tar.gz 74834 SHA256 0ed6bbf850578dc99c06be3060a1067ea4993474392137760d1c020f7188a236 SHA512 7db3f774d7cff903e4a5a476eee3efd1c6f107443433ab47543eae4e28918a385534225a23e0cd000cfab65b5ebeb0a5c38d6b963090ee0943c65fb61879fc7b WHIRLPOOL 3bed14fef8defac3f217b9ecdb5a2b4d1c68cd9e19078292cc792f375345a87b4daf63ee9c6429954d5156e7c73b5ea85b3bff54c60f78fbc982067411f2eb40
diff --git a/dev-python/llvmlite/llvmlite-0.2.1.ebuild b/dev-python/llvmlite/llvmlite-0.2.1.ebuild
new file mode 100644
index 000000000000..ea2ddc68714d
--- /dev/null
+++ b/dev-python/llvmlite/llvmlite-0.2.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="https://pypi.python.org/pypi/llvmlite"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="=sys-devel/llvm-3.5*:=[multitarget]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/llvmlite/llvmlite-0.2.2.ebuild b/dev-python/llvmlite/llvmlite-0.2.2.ebuild
new file mode 100644
index 000000000000..ae0357941d44
--- /dev/null
+++ b/dev-python/llvmlite/llvmlite-0.2.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="https://pypi.python.org/pypi/llvmlite"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="=sys-devel/llvm-3.5*:=[multitarget]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/llvmlite/llvmlite-0.5.0.ebuild b/dev-python/llvmlite/llvmlite-0.5.0.ebuild
new file mode 100644
index 000000000000..ba86b96a9d26
--- /dev/null
+++ b/dev-python/llvmlite/llvmlite-0.5.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="https://pypi.python.org/pypi/llvmlite"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="
+ =sys-devel/llvm-3.5*:=[multitarget]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3)
+ "
+DEPEND="${RDEPEND}"
+
+python_prepare_all() {
+ # disable test using installed instance to read version info
+ sed -e 's:test_version:_&:' -i llvmlite/tests/test_binding.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m "llvmlite.tests" || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmlite/llvmlite-0.6.0.ebuild b/dev-python/llvmlite/llvmlite-0.6.0.ebuild
new file mode 100644
index 000000000000..6e422ed343f8
--- /dev/null
+++ b/dev-python/llvmlite/llvmlite-0.6.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="https://pypi.python.org/pypi/llvmlite"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="
+ =sys-devel/llvm-3.6*:=[multitarget]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 python3_3)
+ "
+DEPEND="${RDEPEND}"
+
+python_prepare_all() {
+ # disable test using installed instance to read version info
+ sed -e 's:test_version:_&:' -i llvmlite/tests/test_binding.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m "llvmlite.tests" || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmlite/metadata.xml b/dev-python/llvmlite/metadata.xml
new file mode 100644
index 000000000000..a384c2f3ddc8
--- /dev/null
+++ b/dev-python/llvmlite/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">llvmlite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/llvmmath/Manifest b/dev-python/llvmmath/Manifest
new file mode 100644
index 000000000000..dca80d6215c1
--- /dev/null
+++ b/dev-python/llvmmath/Manifest
@@ -0,0 +1 @@
+DIST llvmmath-0.1.2.tar.gz 46693 SHA256 6664988134572340eb01591c92f74b0ecf39a8e892a81c76274862b80944bda3 SHA512 7ac7a58d0c76d4badaa67b71ec852d9d87411edc3e0c16283741ba183fcee4b6c775d9e61c66b7c6bab24939796abecff6fe5ed06028e5635d8883dbb16d2f6c WHIRLPOOL 674be56ec12298c19e8ae7e0aa3cf33f72a7dda3e851c165eecf3d529cafa50d1991854fe199a3b8b467eb7a365931327a94545ca1e643af098a66f20a80428c
diff --git a/dev-python/llvmmath/llvmmath-0.1.2.ebuild b/dev-python/llvmmath/llvmmath-0.1.2.ebuild
new file mode 100644
index 000000000000..8851209d1c7d
--- /dev/null
+++ b/dev-python/llvmmath/llvmmath-0.1.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="LLVM math library for Python"
+HOMEPAGE="https://github.com/ContinuumIO/llvmmath"
+SRC_URI="https://github.com/ContinuumIO/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/llvmpy[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c 'import sys,llvmmath; sys.exit(llvmmath.test())' || die
+}
diff --git a/dev-python/llvmmath/metadata.xml b/dev-python/llvmmath/metadata.xml
new file mode 100644
index 000000000000..3a2c2a56ccf3
--- /dev/null
+++ b/dev-python/llvmmath/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The purpose of this project is to provide portable math functions,
+ many of which are in C99 and not available on all platforms. It is
+ based on NumPy's umath and tries to support all floating point and
+ complex types.
+ The library can be compiled with any C compiler, or to LLVM assembly
+ using Clang, to be linked into modules containing functions for jitting.
+</longdescription>
+ <upstream>
+ <remote-id type="github">ContinuumIO/llvmmath</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/llvmpy/Manifest b/dev-python/llvmpy/Manifest
new file mode 100644
index 000000000000..e923217ae9e4
--- /dev/null
+++ b/dev-python/llvmpy/Manifest
@@ -0,0 +1,6 @@
+DIST llvmpy-0.12.2.tar.gz 570250 SHA256 fd619c872d4c516111fc36c814f6c0112fb3764f02be258c920818ab405484ca SHA512 5a988e994c5c3ab2c00edd4d9df1ec3dcef8774bb10bcc789f7540f88f4a0fd2f7c0374fd96b7ed4e2a923781834b3b1f0aba52bc5fd828553cddf07767e9c82 WHIRLPOOL 3aa4de9e28e6a748300f85f1ddfe63f15df65ad83e67dcbdbd21d0aa923c55ac659813bbc375b68931ba86e4831842d5c5d5463ec4b523821c751953c018fb1c
+DIST llvmpy-0.12.3.tar.gz 570289 SHA256 864e4a216e2f68b4f05b7a9e41ed200599b9396216b3ed76612b9d4a1cf98ffe SHA512 7155c900f70aef6522cb975f1be6a90cccb1c5c0f2b5a70369757eafe7562ae4324d08cd2f161ddea9af9dfd48c9d0b3049b703cfb4c4dbf0a5a88e50d8999a7 WHIRLPOOL f01fff9b04fa19a2ade70db13bfef23e83637861efd209d82fb1060888c0ec181498fc290d437ea4fff9056a7586c1fceade2bf25ddddf3ebc98715f2551f663
+DIST llvmpy-0.12.4.tar.gz 570572 SHA256 7f09e1626e890b5ebe916278ed13be0da1dfb66d9cda33acc2c61e91e06da806 SHA512 4efc8f040b68d729387f211b9cdd02d705abaae2f20a283da3f617f7417fcc0181319fcc3cf673ad9c6df6907c705932802eb0b7e0fff1bc3c9d32480d8270c1 WHIRLPOOL 68c6af1288407f7237cd526e9d30782e47e891ef951dc68a8f6d0611fb781706df68c542de9c953efd09d88fe03340fe88f9c7e16625c3eb4ef2bdb18b4d7101
+DIST llvmpy-0.12.5.tar.gz 570612 SHA256 b95c5c633c8475c1b7a63eda2759fb255a46e064ef2174841a7e75400091a387 SHA512 9d77c3ca5603580a2e0c5944d859424fa85801986ecf53ec8d6fd0386dab77b9936e9af369e7d231d9b31bc658ffdbeece0b273111965fbda33f7cf2d7de5b67 WHIRLPOOL 47982d39076de86415c160acc3498e9236020097af2402bbfecdd348af3306ed9176af72afc68273fcc599c591664058bfd176886a8603ffb68adf7b6c87bc34
+DIST llvmpy-0.12.6.tar.gz 571494 SHA256 1433062ac890bdb13651dc1bc4f0ee366f4b13789bf9ff18c3520fc5f9862cf5 SHA512 22cc3ac77e7d7d61ece24ccb26f8f19746683252b8cd0eeb5f9751e1177f8a882be43fb21d99ce225c93ef450dcffa83cc63bff3972faa252841fd2ef659f1c4 WHIRLPOOL d232ac61fb9ff3caa160deabc453ca1f1a32db0920cc98b8f2ec03876820dd15713060ae83f18a1b4c22b5f5455a94d14bea95bd39bd6a311813171c27b98cf2
+DIST llvmpy-0.12.7.tar.gz 573314 SHA256 e11eee8094351497785672365eb5a2d2171d7a753e307356f40605412fc3e408 SHA512 87fb8451e9f38ff2f4e195087ca046de157c5081b45570801051b5ea25b0d00829dc8b633fc90cdb925958ccba7cf70e182a2df6f39d1870bdf2653a62db0fcd WHIRLPOOL ccaa2d4e815fa6ddbdfd9d7df415082e792728a1c07250a6037b76eb04f77b12216999f35d16e907b980a8a2c6252735aef987e2172d4ff2e2b7927bc954b4bb
diff --git a/dev-python/llvmpy/files/llvmpy-0.12.2-return-type.patch b/dev-python/llvmpy/files/llvmpy-0.12.2-return-type.patch
new file mode 100644
index 000000000000..2fcb2beab7ad
--- /dev/null
+++ b/dev-python/llvmpy/files/llvmpy-0.12.2-return-type.patch
@@ -0,0 +1,13 @@
+gentoo qa: type conversion on return triggered by gcc warnings
+bicatali - feb 2014
+--- llvmpy/include/llvm_binding/conversion.h.orig 2014-02-10 08:45:29.516304878 -0800
++++ llvmpy/include/llvm_binding/conversion.h 2014-02-10 08:45:58.190474249 -0800
+@@ -101,7 +101,7 @@
+ val = PyInt_AsLong(intobj);
+ }
+ if (PyErr_Occurred()){
+- return NULL;
++ return 1;
+ }
+ // success
+ return 1;
diff --git a/dev-python/llvmpy/llvmpy-0.12.2.ebuild b/dev-python/llvmpy/llvmpy-0.12.2.ebuild
new file mode 100644
index 000000000000..361ba3da4653
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+PATCHES=( "${FILESDIR}"/${P}-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/llvmpy-0.12.3.ebuild b/dev-python/llvmpy/llvmpy-0.12.3.ebuild
new file mode 100644
index 000000000000..ac171154fae3
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.2-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/llvmpy-0.12.4.ebuild b/dev-python/llvmpy/llvmpy-0.12.4.ebuild
new file mode 100644
index 000000000000..ac171154fae3
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.2-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/llvmpy-0.12.5.ebuild b/dev-python/llvmpy/llvmpy-0.12.5.ebuild
new file mode 100644
index 000000000000..ac171154fae3
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.2-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/llvmpy-0.12.6.ebuild b/dev-python/llvmpy/llvmpy-0.12.6.ebuild
new file mode 100644
index 000000000000..1068a7eb07d1
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Usual; req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.2-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/llvmpy-0.12.7.ebuild b/dev-python/llvmpy/llvmpy-0.12.7.ebuild
new file mode 100644
index 000000000000..705b92ae1080
--- /dev/null
+++ b/dev-python/llvmpy/llvmpy-0.12.7.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="http://llvmpy.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+# fails with llvm-3.4
+RDEPEND="=sys-devel/llvm-3.3*:=[multitarget]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Usual; req'd for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${PN}-0.12.2-return-type.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ export CXXFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import llvm; llvm.test()" || die
+}
+
+python_install() {
+ if ! python_is_python3; then
+ local CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ export CXXFLAGS
+ fi
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/llvmpy/metadata.xml b/dev-python/llvmpy/metadata.xml
new file mode 100644
index 000000000000..73f8aae9c57b
--- /dev/null
+++ b/dev-python/llvmpy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ llvmpy is a Python wrapper around the LLVM C++ library which allows
+ simple access to compiler tools.
+</longdescription>
+ <upstream>
+ <remote-id type="github">llvmpy/llvmpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lockfile/Manifest b/dev-python/lockfile/Manifest
new file mode 100644
index 000000000000..e1bb4de6d544
--- /dev/null
+++ b/dev-python/lockfile/Manifest
@@ -0,0 +1,2 @@
+DIST lockfile-0.10.2.tar.gz 20662 SHA256 9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1 SHA512 7d70bcf7c343228f144687dd2cbc47a525034a68134fa626077d08308e6abce80559e36e9f65859d4c46873c712f62e1d6bb2aeec422d337332b65caf2e430a8 WHIRLPOOL d23a0b99da2304d9c884e69df7fbae4e507d7bab35fe450f2062aba44b4c85fd2c1585012cd02a56c886b50c44fb5a470afe13546f828297c498c3a8551eda86
+DIST lockfile-0.9.1.tar.gz 16949 SHA256 88d8ea8d435ee5691117a87d1ca8fed2f8da881eb145295bf6895ac2c416e95d SHA512 1f7e2b13c42df730339e653a361bf4b85a289d62ed9277f159ab454b1e951d922884086299912472236ce0772d5eceebab7e0c6407590bb2ccbe9c56b664de05 WHIRLPOOL 543bc9ad7e937feba52c6132eee3356a9a229c8866f4f605f8399343a676fc98f62bf33f121c4f8dcbac8e18f38168561d34119efea5e30b53427a7e7283055d
diff --git a/dev-python/lockfile/files/py3-support.patch b/dev-python/lockfile/files/py3-support.patch
new file mode 100644
index 000000000000..ca6349a75a20
--- /dev/null
+++ b/dev-python/lockfile/files/py3-support.patch
@@ -0,0 +1,107 @@
+# https://github.com/smontanaro/pylockfile/commit/379fa0b6131995f96f5bd048906fc0bd3c2527f7
+# https://github.com/smontanaro/pylockfile/commit/eeead7d35e9a97b457b90edd241fd031df68d57b
+# https://github.com/smontanaro/pylockfile/commit/bf2627a5b9f83e1bbcf1b5030a693acb6236a211
+--- a/lockfile/__init__.py
++++ b/lockfile/__init__.py
+@@ -1,4 +1,3 @@
+-
+ """
+ lockfile.py - Platform-independent advisory file locks.
+
+@@ -50,6 +49,8 @@ Exceptions:
+ NotMyLock - File was locked but not by the current thread/process
+ """
+
++from __future__ import absolute_import
++
+ import sys
+ import socket
+ import os
+@@ -257,7 +258,7 @@ def LinkFileLock(*args, **kwds):
+ Do not use in new code. Instead, import LinkLockFile from the
+ lockfile.linklockfile module.
+ """
+- import linklockfile
++ from . import linklockfile
+ return _fl_helper(linklockfile.LinkLockFile, "lockfile.linklockfile",
+ *args, **kwds)
+
+@@ -267,7 +268,7 @@ def MkdirFileLock(*args, **kwds):
+ Do not use in new code. Instead, import MkdirLockFile from the
+ lockfile.mkdirlockfile module.
+ """
+- import mkdirlockfile
++ from . import mkdirlockfile
+ return _fl_helper(mkdirlockfile.MkdirLockFile, "lockfile.mkdirlockfile",
+ *args, **kwds)
+
+@@ -277,7 +278,7 @@ def SQLiteFileLock(*args, **kwds):
+ Do not use in new code. Instead, import SQLiteLockFile from the
+ lockfile.mkdirlockfile module.
+ """
+- import sqlitelockfile
++ from . import sqlitelockfile
+ return _fl_helper(sqlitelockfile.SQLiteLockFile, "lockfile.sqlitelockfile",
+ *args, **kwds)
+
+@@ -306,10 +307,10 @@ def locked(path, timeout=None):
+ return decor
+
+ if hasattr(os, "link"):
+- import linklockfile as _llf
++ from . import linklockfile as _llf
+ LockFile = _llf.LinkLockFile
+ else:
+- import mkdirlockfile as _mlf
++ from . import mkdirlockfile as _mlf
+ LockFile = _mlf.MkdirLockFile
+
+ FileLock = LockFile
+diff --git a/lockfile/pidlockfile.py b/lockfile/pidlockfile.py
+index 3fc8f63..a965ba8 100644
+--- a/lockfile/pidlockfile.py
++++ b/lockfile/pidlockfile.py
+@@ -78,7 +78,7 @@ class PIDLockFile(LockBase):
+ while True:
+ try:
+ write_pid_to_pidfile(self.path)
+- except OSError, exc:
++ except OSError as exc:
+ if exc.errno == errno.EEXIST:
+ # The lock creation failed. Maybe sleep a bit.
+ if timeout is not None and time.time() > end_time:
+@@ -159,7 +159,7 @@ def write_pid_to_pidfile(pidfile_path):
+
+ """
+ open_flags = (os.O_CREAT | os.O_EXCL | os.O_WRONLY)
+- open_mode = 0644
++ open_mode = 0o644
+ pidfile_fd = os.open(pidfile_path, open_flags, open_mode)
+ pidfile = os.fdopen(pidfile_fd, 'w')
+
+@@ -186,7 +186,7 @@ def remove_existing_pidfile(pidfile_path):
+ """
+ try:
+ os.remove(pidfile_path)
+- except OSError, exc:
++ except OSError as exc:
+ if exc.errno == errno.ENOENT:
+ pass
+ else:
+diff --git a/lockfile/sqlitelockfile.py b/lockfile/sqlitelockfile.py
+index ec75490..d596229 100644
+--- a/lockfile/sqlitelockfile.py
++++ b/lockfile/sqlitelockfile.py
+@@ -3,6 +3,11 @@ from __future__ import absolute_import, division
+ import time
+ import os
+
++try:
++ unicode
++except NameError:
++ unicode = str
++
+ from . import LockBase, NotLocked, NotMyLock, LockTimeout, AlreadyLocked
+
+ class SQLiteLockFile(LockBase):
+
diff --git a/dev-python/lockfile/lockfile-0.10.2.ebuild b/dev-python/lockfile/lockfile-0.10.2.ebuild
new file mode 100644
index 000000000000..5e13652981d9
--- /dev/null
+++ b/dev-python/lockfile/lockfile-0.10.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Platform-independent file locking module"
+HOMEPAGE="http://launchpad.net/pylockfile http://pypi.python.org/pypi/lockfile"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/pbr[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+DOCS=( ACKS README RELEASE-NOTES )
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ emake -C doc/source html || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ # "${PYTHON}" test/test_lockfile.py yeilds no informative coverage output
+ nosetests || die "test_lockfile failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lockfile/lockfile-0.9.1-r1.ebuild b/dev-python/lockfile/lockfile-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..d5270533c457
--- /dev/null
+++ b/dev-python/lockfile/lockfile-0.9.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py2.5 dropped; Test file reveals py2.5 can't support a core file
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Platform-independent file locking module"
+HOMEPAGE="http://code.google.com/p/pylockfile/ http://pypi.python.org/pypi/lockfile http://smontanaro.dyndns.org/python/"
+SRC_URI="http://pylockfile.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~sparc x86"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+DOCS=( ACKS README RELEASE-NOTES )
+
+PATCHES=( "${FILESDIR}"/py3-support.patch )
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ emake -C doc html || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ # "${PYTHON}" test/test_lockfile.py yeilds no informative coverage output
+ nosetests || die "test_lockfile failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lockfile/metadata.xml b/dev-python/lockfile/metadata.xml
new file mode 100644
index 000000000000..45e559da998a
--- /dev/null
+++ b/dev-python/lockfile/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">lockfile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/locustio/Manifest b/dev-python/locustio/Manifest
new file mode 100644
index 000000000000..8b8e036b6746
--- /dev/null
+++ b/dev-python/locustio/Manifest
@@ -0,0 +1 @@
+DIST locustio-0.7.3.tar.gz 89300 SHA256 220e1f97ece2def3454aeecc5070419518e4e16c5aa39d21eb509a38f47847ec SHA512 fe2434691218be0749c0bf7c2c26b6b3172b7dd69898667441aa98a67ac5e5fbb513aebd27bd54c10f423da452f734c2d6ab7a52f4641755439cd3b81a82eee4 WHIRLPOOL f7e485f9bbfbf30dbe9d55c7642dbb10df3616d5f7c11612218adea4113b519a4a0b084f35f32de73181150edddc6e5d7f698eb453462987c727c1d5dc9b0661
diff --git a/dev-python/locustio/locustio-0.7.3.ebuild b/dev-python/locustio/locustio-0.7.3.ebuild
new file mode 100644
index 000000000000..689b743c6a72
--- /dev/null
+++ b/dev-python/locustio/locustio-0.7.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7)
+inherit distutils-r1
+
+DESCRIPTION="A python utility for doing easy, distributed load testing of a web site"
+HOMEPAGE="http://locust.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="test? (
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/gevent-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4.1[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.2"[${PYTHON_USEDEP}]
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/locustio/metadata.xml b/dev-python/locustio/metadata.xml
new file mode 100644
index 000000000000..7474427bba31
--- /dev/null
+++ b/dev-python/locustio/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">locustio</remote-id>
+ <remote-id type="github">locustio/locust</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/log4py/Manifest b/dev-python/log4py/Manifest
new file mode 100644
index 000000000000..89935fe41717
--- /dev/null
+++ b/dev-python/log4py/Manifest
@@ -0,0 +1 @@
+DIST log4py-1.3.tar.gz 14926 SHA256 dc80ab6048b0f727c96b7fd9f0d279543e6f716fb08c32cdeaf96ac91675290b SHA512 683352f00c2cbb3afdd938d7b30a524f543db6b336c69a6a10acecdab08febba384fcc7a55b0d55a56c389dfd6b74c5e6f26345680fc7b4e29adcbe66f45e9ad WHIRLPOOL 2d709bb7a7f31368f5a8fc0509234451fc24ded075582675013975628aea3b1cdb6c4cb8e78077537683b82875c57b3af582a7652a5c80adfaeadb0d45d8cc9d
diff --git a/dev-python/log4py/log4py-1.3-r1.ebuild b/dev-python/log4py/log4py-1.3-r1.ebuild
new file mode 100644
index 000000000000..0bead44c2c0d
--- /dev/null
+++ b/dev-python/log4py/log4py-1.3-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python logging module similar to log4j"
+HOMEPAGE="http://www.its4you.at/english/log4py.html"
+SRC_URI="http://www.its4you.at/downloads/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc sparc x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+DOCS="doc/AUTHORS doc/ChangeLog database/* log4py-test.py"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install
+ insinto /etc
+ doins log4py.conf
+}
diff --git a/dev-python/log4py/metadata.xml b/dev-python/log4py/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/log4py/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/logbook/Manifest b/dev-python/logbook/Manifest
new file mode 100644
index 000000000000..131e8a166e7a
--- /dev/null
+++ b/dev-python/logbook/Manifest
@@ -0,0 +1,2 @@
+DIST logbook-0.10.0.tar.gz 107284 SHA256 ff227d9a48dcd539f25bdab26d36dd2ba1459bcc5ebce2926e92fecc917e5d26 SHA512 121fb5ed24a2c53b357d17d31c63c6d305014f5c9aa248df2b251e0c15ce1e7052be380b3032c3bdec0b767278b0b5d4a3f998ac596336f681ac6d353e0ed533 WHIRLPOOL 79700e9165b6c1f9ffe2f118c1033ce713a364b15ca3c1798f80c4f535411464fb329cd639ec0fb1887c542601554be444dd9e6f7b828f6bcc315af4d287f453
+DIST logbook-0.9.1.tar.gz 106615 SHA256 e2f49e922c7836a58418b1cb2680e71492f45150cb968afced9f6a98222e3524 SHA512 d136dd5a7219a23a50db857919d794e7b721cc629443ac2bf92374aef68889d8a7146886fc4484c6d0dea56ec5c1c1ccca3f0b20310c2e12dba9d40dcac9c188 WHIRLPOOL adfb8bd28565ec97904c63631c55ee17613fdf2259d039baa0351df870bfa1658ebc52c8dbf69c8b94b0230577f287b215324d95b186cf38cc4d68bb1040d502
diff --git a/dev-python/logbook/files/logbook-0.4.2-objectsinv.patch b/dev-python/logbook/files/logbook-0.4.2-objectsinv.patch
new file mode 100644
index 000000000000..28b26f0bc9a3
--- /dev/null
+++ b/dev-python/logbook/files/logbook-0.4.2-objectsinv.patch
@@ -0,0 +1,11 @@
+Prevent unwanted d'loading of un-needed objects.inv files
+diff -ur logbook-0.4.2.orig/docs/conf.py logbook-0.4.2/docs/conf.py
+--- docs/conf.py 2013-06-02 19:31:32.000000000 +0800
++++ docs/conf.py 2013-06-30 10:50:38.604402792 +0800
+@@ -219,6 +219,3 @@
+ [u'Armin Ronacher, Georg Brandl'], 1)
+ ]
+
+-intersphinx_mapping = {
+- 'http://docs.python.org': None
+-}
diff --git a/dev-python/logbook/files/logbook-0.5-pypy-test-fix.patch b/dev-python/logbook/files/logbook-0.5-pypy-test-fix.patch
new file mode 100644
index 000000000000..9f691a1811f0
--- /dev/null
+++ b/dev-python/logbook/files/logbook-0.5-pypy-test-fix.patch
@@ -0,0 +1,50 @@
+From 41dc7b9af1841b0005051ad81ab36ed2e062d663 Mon Sep 17 00:00:00 2001
+From: Rotem Yaari <vmalloc@gmail.com>
+Date: Sat, 17 Aug 2013 22:43:39 +0300
+Subject: [PATCH] #91: Fix broken tests on pypy
+
+---
+ .travis.yml | 1 +
+ tests/test_logbook.py | 2 +-
+ tox.ini | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index ee3f457..b0aaea6 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -3,6 +3,7 @@ python:
+ - "2.6"
+ - "2.7"
+ - "3.3"
++ - "pypy"
+
+ install:
+ # this fixes SemLock issues on travis
+diff --git a/tests/test_logbook.py b/tests/test_logbook.py
+index 6d1a301..a1da11c 100644
+--- a/tests/test_logbook.py
++++ b/tests/test_logbook.py
+@@ -99,7 +99,7 @@ def make_record():
+
+ errormsg = str(caught.exception)
+ self.assertRegexpMatches(errormsg,
+- "Could not format message with provided arguments: Invalid (?:format specifier)|(?:conversion specification)")
++ "Could not format message with provided arguments: Invalid (?:format specifier)|(?:conversion specification)|(?:format spec)")
+ self.assertIn("msg='Hello {foo:invalid}'", errormsg)
+ self.assertIn('args=()', errormsg)
+ self.assertIn("kwargs={'foo': 42}", errormsg)
+diff --git a/tox.ini b/tox.ini
+index 694cd51..2b52a28 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -1,5 +1,5 @@
+ [tox]
+-envlist=py26,py27,py33,docs
++envlist=py26,py27,py33,pypy,docs
+
+ [testenv]
+ commands=
+--
+1.8.1.6
+
diff --git a/dev-python/logbook/logbook-0.10.0.ebuild b/dev-python/logbook/logbook-0.10.0.ebuild
new file mode 100644
index 000000000000..104e68c8937a
--- /dev/null
+++ b/dev-python/logbook/logbook-0.10.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A logging replacement for Python"
+HOMEPAGE="http://packages.python.org/Logbook/ http://pypi.python.org/pypi/Logbook"
+SRC_URI="https://github.com/mitsuhiko/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? ( >=dev-python/sphinx-1.1.3-r3[${PYTHON_USEDEP}] )"
+RDEPEND="
+ dev-python/redis-py[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.4.2-objectsinv.patch )
+
+python_prepare_all() {
+ # Delete test file requiring local conncetion to redis server
+ rm tests/test_queues.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/logbook/logbook-0.9.1.ebuild b/dev-python/logbook/logbook-0.9.1.ebuild
new file mode 100644
index 000000000000..4e8a47c7fb1a
--- /dev/null
+++ b/dev-python/logbook/logbook-0.9.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A logging replacement for Python"
+HOMEPAGE="http://packages.python.org/Logbook/ http://pypi.python.org/pypi/Logbook"
+SRC_URI="https://github.com/mitsuhiko/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? ( >=dev-python/sphinx-1.1.3-r3[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/redis-py[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.4.2-objectsinv.patch )
+
+python_prepare_all() {
+ # Delete test file requiring local connection to redis server
+ rm tests/test_queues.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test tests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/logbook/metadata.xml b/dev-python/logbook/metadata.xml
new file mode 100644
index 000000000000..d7c3f72cb386
--- /dev/null
+++ b/dev-python/logbook/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Logbook</remote-id>
+ <remote-id type="github">mitsuhiko/logbook</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/logilab-common/Manifest b/dev-python/logilab-common/Manifest
new file mode 100644
index 000000000000..c2329b0c8df9
--- /dev/null
+++ b/dev-python/logilab-common/Manifest
@@ -0,0 +1,4 @@
+DIST logilab-common-0.61.0.tar.gz 199322 SHA256 80fba5ba4908983580a0003fee0c12c270b379e2a21038b609ce8eda4dd3cee7 SHA512 2229fcc8549e9adc87a7d6a47b3e966a16b61ae78a2253ea314d72d180a0cc7eae0fc444aefb3bf00995ead902eecf9fcabb7f494dafbdde9c7fdded3c4f35b1 WHIRLPOOL 942e1d2216ba9b09371fc77fd9e6f4463da260d174d2e0a0fd083adf4181ee9ce5a77845468b60aa85a869b90755b6668afe3a1274c21a77f0b40d0188d3ff5e
+DIST logilab-common-0.62.1.tar.gz 199594 SHA256 02745f8416faabba65b5cb188f849ef48ea787a1e62c7af16d4db4f361fb67a9 SHA512 56b2777a186c64bea9135a2aa85b158b60bf3d5be6cdd89e4449bd0b31bca4766ac678c080f36a4d0710a933ea02f946b8dac728c85da9a5319f96011462e443 WHIRLPOOL 88605edb80105453003c767417f7619a33410a565024808691a9164cc9298cc2880c04a498b0a7d639f5524e27546dd9ac8fea661c4761bfbf5742da29e670cd
+DIST logilab-common-0.63.2.tar.gz 196789 SHA256 603ba00c9bb09219a3bd2906c214d9455481110dacc472f450b53d5ae90f28e7 SHA512 e4b089387ab7d5d039ec719e736711f54af8d722be4ea0a933014375fe353045528c3c74c3feb6868aefe4a867223c483985fb1415aabe25dba1d333d1afbdb9 WHIRLPOOL d937ebb1f20c2bb040552bf32afc767f4238c21cb995583f9f19404c9a22bec634889a684a9fecfb70b2a17803cd4df6507dc5a74b6ae9ee4d04759d724bb687
+DIST logilab-common-1.0.2.tar.gz 190912 SHA256 3f847b36f6c03ffc8521ed61e691501c9713f8654964b90201f2056742d38300 SHA512 12caab49851ee1f335b9de19892ad26a1459308f9b8ad7b1270d4563d6afa05138be5cc7b21c7d4ff311d7da5348bf2929042d4db4e0e629413236ae4432f54b WHIRLPOOL 44ba64f36b89aa6fd8acce39944f5f3eaa438b9a923e322a8f19464b28b7b5c2d0692f49e382e8281cae093e18a102879e18b5f647d267749165e8904be19b64
diff --git a/dev-python/logilab-common/files/logilab-common-0.59.1-zipsafe.patch b/dev-python/logilab-common/files/logilab-common-0.59.1-zipsafe.patch
new file mode 100644
index 000000000000..6807c5544c83
--- /dev/null
+++ b/dev-python/logilab-common/files/logilab-common-0.59.1-zipsafe.patch
@@ -0,0 +1,13 @@
+Make sure setuptools does not create a zip file in python_test; this is buggy
+and causes tests to fail.
+
+--- a/setup.py
++++ b/setup.py
+@@ -179,6 +179,7 @@
+ ext_modules = ext_modules,
+ cmdclass = {'install_lib': MyInstallLib,
+ 'build_py': MyBuildPy},
++ zip_safe = False,
+ **kwargs
+ )
+
diff --git a/dev-python/logilab-common/files/logilab-common-0.60.0-skip-doctest.patch b/dev-python/logilab-common/files/logilab-common-0.60.0-skip-doctest.patch
new file mode 100644
index 000000000000..019ce619ac6a
--- /dev/null
+++ b/dev-python/logilab-common/files/logilab-common-0.60.0-skip-doctest.patch
@@ -0,0 +1,13 @@
+http://www.logilab.org/ticket/174440
+diff --git a/textutils.py b/textutils.py
+--- a/textutils.py
++++ b/textutils.py
+@@ -287,7 +287,7 @@
+ >>> text_to_dict('''multiple=1
+ ... multiple= 2
+ ... single =3
+- ... ''')
++ ... ''') # doctest: +SKIP
+ {'single': '3', 'multiple': ['1', '2']}
+
+ """
diff --git a/dev-python/logilab-common/logilab-common-0.61.0.ebuild b/dev-python/logilab-common/logilab-common-0.61.0.ebuild
new file mode 100644
index 000000000000..249dbe1d90fb
--- /dev/null
+++ b/dev-python/logilab-common/logilab-common-0.61.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Useful miscellaneous modules used by Logilab projects"
+HOMEPAGE="http://www.logilab.org/project/logilab-common http://pypi.python.org/pypi/logilab-common"
+SRC_URI="ftp://ftp.logilab.org/pub/common/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# egenix-mx-base tests are optional and supports python2 only.
+DEPEND="${RDEPEND}
+ test? ( $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7) )
+ doc? ( $(python_gen_cond_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' python2_7) )"
+
+PATCHES=(
+ # Make sure setuptools does not create a zip file in python_test;
+ # this is buggy and causes tests to fail.
+ "${FILESDIR}/${PN}-0.59.1-zipsafe.patch"
+
+ # Depends on order of dictionary keys
+ "${FILESDIR}/logilab-common-0.60.0-skip-doctest.patch"
+)
+# Req'd for impl specific failures in the testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e 's:(CURDIR):{S}/${P}:' -i doc/makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # Based on the doc build in Arfrever's ebuild. It works
+ pushd doc > /dev/null
+ mkdir -p apidoc || die
+ epydoc --parse-only -o apidoc --html -v --no-private --exclude=__pkginfo__ --exclude=setup --exclude=test \
+ -n "Logilab's common library" "$(ls -d ../build/lib/logilab/common/)" build \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ # https://www.logilab.org/ticket/149345
+ # Prevent timezone related failure.
+ export TZ=UTC
+
+ # Make sure that the tests use correct modules.
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ if python_is_python3; then
+ # http://www.logilab.org/ticket/241813, 241807
+ # The suite can be made to pass under py3.4 by disabling the class MxDateTC in unittest_date.py
+ # These are covered by issue 241813. Any and all methods to disable them temporarily
+ # (assuming they will ever be fixed) are simply cumbersome in the extreme, thus impractical.
+ # The failures are specific to py3.4's unittest's parameters in _addSkip and not the package itself.
+ if [[ "${EPYTHON}" == "python3.4" ]]; then
+ sed -e 's:test_any:_&:' \
+ -i $(find . -name unittest_compat.py) || die
+ sed -e 's:test_add_days_worked:_&:' \
+ -i $(find . -name unittest_date.py) || die
+ fi
+ # Returns a clean run under py3.3
+ rm $(find . -name unittest_umessage.py) || die
+ fi
+ "${TEST_DIR}"/scripts/pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman doc/pytest.1
+ use doc && dohtml -r doc/apidoc/.
+}
diff --git a/dev-python/logilab-common/logilab-common-0.62.1.ebuild b/dev-python/logilab-common/logilab-common-0.62.1.ebuild
new file mode 100644
index 000000000000..4c8e43f80255
--- /dev/null
+++ b/dev-python/logilab-common/logilab-common-0.62.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Useful miscellaneous modules used by Logilab projects"
+HOMEPAGE="http://www.logilab.org/project/logilab-common http://pypi.python.org/pypi/logilab-common"
+SRC_URI="ftp://ftp.logilab.org/pub/common/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# egenix-mx-base tests are optional and supports python2 only.
+DEPEND="${RDEPEND}
+ dev-python/six[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7) )
+ doc? ( $(python_gen_cond_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' python2_7) )"
+
+PATCHES=(
+ # Make sure setuptools does not create a zip file in python_test;
+ # this is buggy and causes tests to fail.
+ "${FILESDIR}/${PN}-0.59.1-zipsafe.patch"
+
+ # Depends on order of dictionary keys
+ "${FILESDIR}/logilab-common-0.60.0-skip-doctest.patch"
+)
+# Req'd for impl specific failures in the testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e 's:(CURDIR):{S}/${P}:' -i doc/makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # Based on the doc build in Arfrever's ebuild. It works
+ pushd doc > /dev/null
+ mkdir -p apidoc || die
+ epydoc --parse-only -o apidoc --html -v --no-private --exclude=__pkginfo__ --exclude=setup --exclude=test \
+ -n "Logilab's common library" "$(ls -d ../build/lib/logilab/common/)" build \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ # https://www.logilab.org/ticket/149345
+ # Prevent timezone related failure.
+ export TZ=UTC
+
+ # Make sure that the tests use correct modules.
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ if python_is_python3; then
+ # http://www.logilab.org/ticket/241813, 241807
+ # The suite can be made to pass under py3.4 by disabling the class MxDateTC in unittest_date.py
+ # These are covered by issue 241813. Any and all methods to disable them temporarily
+ # (assuming they will ever be fixed) are simply cumbersome in the extreme, thus impractical.
+ # The failures are specific to py3.4's unittest's parameters in _addSkip and not the package itself.
+ if [[ "${EPYTHON}" == "python3.4" ]]; then
+ sed -e 's:test_any:_&:' \
+ -i $(find . -name unittest_compat.py) || die
+ sed -e 's:test_add_days_worked:_&:' \
+ -i $(find . -name unittest_date.py) || die
+ fi
+ # Still one related failure under py3.4
+ # Returns a clean run under py3.3, though leaving fails exposed in this bump of 0.62.1
+ # https://www.logilab.org/ticket/269904
+ # Also unittest_date.py known to fail related to absence of installed egenix-mx-base
+ # rm $(find . -name unittest_umessage.py) || die
+ fi
+ "${TEST_DIR}"/scripts/pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman doc/pytest.1
+ use doc && dohtml -r doc/apidoc/.
+}
diff --git a/dev-python/logilab-common/logilab-common-0.63.2.ebuild b/dev-python/logilab-common/logilab-common-0.63.2.ebuild
new file mode 100644
index 000000000000..30d7f87c5a7b
--- /dev/null
+++ b/dev-python/logilab-common/logilab-common-0.63.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Useful miscellaneous modules used by Logilab projects"
+HOMEPAGE="http://www.logilab.org/project/logilab-common http://pypi.python.org/pypi/logilab-common"
+SRC_URI="ftp://ftp.logilab.org/pub/common/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# egenix-mx-base tests are optional and supports python2 only.
+DEPEND="${RDEPEND}
+ dev-python/six[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pytz[${PYTHON_USEDEP}] )
+ doc? ( $(python_gen_cond_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' python2_7) )"
+
+PATCHES=(
+ # Make sure setuptools does not create a zip file in python_test;
+ # this is buggy and causes tests to fail.
+ "${FILESDIR}/${PN}-0.59.1-zipsafe.patch"
+)
+# Req'd for impl specific failures in the testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e 's:(CURDIR):{S}/${P}:' -i doc/makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # Based on the doc build in Arfrever's ebuild. It works
+ pushd doc > /dev/null
+ mkdir -p apidoc || die
+ epydoc --parse-only -o apidoc --html -v --no-private --exclude=__pkginfo__ --exclude=setup --exclude=test \
+ -n "Logilab's common library" "$(ls -d ../build/lib/logilab/common/)" build \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ # https://www.logilab.org/ticket/149345
+ # Prevent timezone related failure.
+ export TZ=UTC
+
+ # Make sure that the tests use correct modules.
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+ "${TEST_DIR}"/scripts/pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman doc/pytest.1
+ use doc && dohtml -r doc/apidoc/.
+}
diff --git a/dev-python/logilab-common/logilab-common-1.0.2.ebuild b/dev-python/logilab-common/logilab-common-1.0.2.ebuild
new file mode 100644
index 000000000000..14ea1278ebf7
--- /dev/null
+++ b/dev-python/logilab-common/logilab-common-1.0.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Useful miscellaneous modules used by Logilab projects"
+HOMEPAGE="http://www.logilab.org/project/logilab-common http://pypi.python.org/pypi/logilab-common"
+SRC_URI="ftp://ftp.logilab.org/pub/common/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# egenix-mx-base tests are optional and supports python2 only.
+DEPEND="${RDEPEND}
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/egenix-mx-base[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pytz[${PYTHON_USEDEP}] )
+ doc? ( $(python_gen_cond_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' python2_7) )"
+
+# Req'd for impl specific failures in the testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e 's:(CURDIR):{S}/${P}:' -i doc/makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ # Based on the doc build in Arfrever's ebuild. It works
+ pushd doc > /dev/null
+ mkdir -p apidoc || die
+ epydoc --parse-only -o apidoc --html -v --no-private --exclude=__pkginfo__ --exclude=setup --exclude=test \
+ -n "Logilab's common library" "$(ls -d ../build/lib/logilab/common/)" build \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ # https://www.logilab.org/ticket/149345
+ # Prevent timezone related failure.
+ export TZ=UTC
+
+ # Make sure that the tests use correct modules.
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+ "${TEST_DIR}"/scripts/pytest || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman doc/pytest.1
+ use doc && dohtml -r doc/apidoc/.
+}
diff --git a/dev-python/logilab-common/metadata.xml b/dev-python/logilab-common/metadata.xml
new file mode 100644
index 000000000000..2c6b0c6b32ab
--- /dev/null
+++ b/dev-python/logilab-common/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">logilab-common</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/logilab-constraint/Manifest b/dev-python/logilab-constraint/Manifest
new file mode 100644
index 000000000000..99fa280cb880
--- /dev/null
+++ b/dev-python/logilab-constraint/Manifest
@@ -0,0 +1 @@
+DIST logilab-constraint-0.5.0.tar.gz 48395 SHA256 ba291c988dcc5d4457cd3414994bddfe1f19b7e20b735e179ba0095294d8f511 SHA512 b1ccc6e7400eacb7c446c1904f5e2b0129104482e312929292c6ca7c9c18bf4e1fa0d0e78fce61527a97e00d85c4e2a5c1bb8cce7c18792cd5d2a295449e435c WHIRLPOOL b529175f81d846714bf6f9a810bfc6aeb5c11be344ca79e21d3b510663aefedf9a00489d964d71ad3ecd87e40c1698d0a270a2aea3de17799bf8138c68152c40
diff --git a/dev-python/logilab-constraint/logilab-constraint-0.5.0-r1.ebuild b/dev-python/logilab-constraint/logilab-constraint-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..3497e2abf4c4
--- /dev/null
+++ b/dev-python/logilab-constraint/logilab-constraint-0.5.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A finite domain constraints solver written in 100% pure Python"
+HOMEPAGE="http://www.logilab.org/project/logilab-constraint"
+SRC_URI="ftp://ftp.logilab.org/pub/constraint/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 sparc x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/logilab-common[${PYTHON_USEDEP}]"
+
+DOCS=( doc/CONTRIBUTORS )
+
+python_install() {
+ # Avoid collisions with dev-python/logilab-common.
+ distutils-r1_python_install
+ rm -f "${D}$(python_get_sitedir)/logilab/__init__.py" || die
+}
+
+python_install_all() {
+ use doc && dohtml doc/documentation.html
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/logilab-constraint/metadata.xml b/dev-python/logilab-constraint/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/logilab-constraint/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/louie/Manifest b/dev-python/louie/Manifest
new file mode 100644
index 000000000000..881d76787cd2
--- /dev/null
+++ b/dev-python/louie/Manifest
@@ -0,0 +1 @@
+DIST Louie-1.1.tar.gz 22306 SHA256 75f33f2978e9a7ba1f541c594d8e93d0c4a965a706db688fd11a77f4049e5a5b SHA512 4f5426da4bfbf7a5928007a82e155414e7db9d466397eb9cba6a5fcfddccf4bd162071e5d551fb6ffd41f0b780097a89eea6c268e2d4fb32264683f796d85ec0 WHIRLPOOL e3b6ac3769ec7097914e4b73b9064fa2be6d4be358a661087c0d002a472e36435e0ec1665958e56857f581ce8b88f0827c84d68c966d18184d403109bc6e2746
diff --git a/dev-python/louie/louie-1.1-r1.ebuild b/dev-python/louie/louie-1.1-r1.ebuild
new file mode 100644
index 000000000000..fe1b263c3e77
--- /dev/null
+++ b/dev-python/louie/louie-1.1-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Louie"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Signal dispatching mechanism for Python"
+HOMEPAGE="http://pypi.python.org/pypi/Louie"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "/'nose >= 0.8.3'/d" -i setup.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/louie/louie-1.1.ebuild b/dev-python/louie/louie-1.1.ebuild
new file mode 100644
index 000000000000..71b311c42655
--- /dev/null
+++ b/dev-python/louie/louie-1.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+DISTUTILS_SRC_TEST="nosetests"
+
+inherit distutils
+
+MY_PN="Louie"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Signal dispatching mechanism for Python"
+HOMEPAGE="http://pypi.python.org/pypi/Louie"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ distutils_src_prepare
+ sed -e "/'nose >= 0.8.3'/d" -i setup.py || die "sed failed"
+}
diff --git a/dev-python/louie/metadata.xml b/dev-python/louie/metadata.xml
new file mode 100644
index 000000000000..4053af5244ec
--- /dev/null
+++ b/dev-python/louie/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Louie</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lp_solve/Manifest b/dev-python/lp_solve/Manifest
new file mode 100644
index 000000000000..294a0bf207bb
--- /dev/null
+++ b/dev-python/lp_solve/Manifest
@@ -0,0 +1 @@
+DIST lp_solve_5.5.2.0_Python_source.tar.gz 58017 SHA256 79683bc262e9da5b2fa7338ba190a9cd10559b9f2dbcb8f3bf07e2a81083ac51 SHA512 eaf732a1f3497c27e40a037be21b2e1552c3aec6cc7801c47d68a439be556ac45c2f1bb90e403d1a4b8bd42b0be0b323b8c3364363e6d51ecb0ad0934902444c WHIRLPOOL c40af8a5abacc98981a723d3d988e8921c35f988261d6a55da3f635aa920150b96186e35de4dcc3fe452b920041a161a24e40f5b5ec59db5a1ccb303967ccd7b
diff --git a/dev-python/lp_solve/files/lp_solve-5.5.2.0-setup.patch b/dev-python/lp_solve/files/lp_solve-5.5.2.0-setup.patch
new file mode 100644
index 000000000000..a28b8179d261
--- /dev/null
+++ b/dev-python/lp_solve/files/lp_solve-5.5.2.0-setup.patch
@@ -0,0 +1,50 @@
+--- setup.py.orig 2012-01-07 20:27:45.072840503 +0000
++++ setup.py 2012-01-07 20:24:22.127570128 +0000
+@@ -1,26 +1,25 @@
+ from distutils.core import setup, Extension
+ from os import getenv
+ import sys
+-import os
+-p = sys.prefix
+-NUMPYPATH = '.'
+-if os.path.isdir(p + '/include/numpy'):
+- NUMPY = 'NUMPY'
+-elif os.path.isdir(p + '/Lib/site-packages/numpy/core/include/numpy'):
+- NUMPY = 'NUMPY'
+- NUMPYPATH = p + '/Lib/site-packages/numpy/core/include'
+-else:
++import os, os.path
++
++try:
++ import numpy
++ NUMPY = 'NUMPY'
++ NUMPYPATH = numpy.get_include()
++except:
+ NUMPY = 'NONUMPY'
+-print 'numpy: ' + NUMPY
++ NUMPYPATH = '.'
++
+ windir = getenv('windir')
+ if windir == None:
+ WIN32 = 'NOWIN32'
+- LPSOLVE55 = '../../lpsolve55/bin/ux32'
++ LPSOLVEINC = os.path.join(sys.prefix,'include','lpsolve')
+ else:
+ WIN32 = 'WIN32'
+ LPSOLVE55 = '../../lpsolve55/bin/win32'
+ setup (name = "lpsolve55",
+- version = "5.5.0.9",
++ version = "5.5.2.0",
+ description = "Linear Program Solver, Interface to lpsolve",
+ author = "Peter Notebaert",
+ author_email = "lpsolve@peno.be",
+@@ -29,8 +28,7 @@
+ ext_modules = [Extension("lpsolve55",
+ ["lpsolve.c", "hash.c", "pythonmod.c"],
+ define_macros=[('PYTHON', '1'), (WIN32, '1'), ('NODEBUG', '1'), ('DINLINE', 'static'), (NUMPY, '1'), ('_CRT_SECURE_NO_WARNINGS', '1')],
+- include_dirs=['../..', NUMPYPATH],
+- library_dirs=[LPSOLVE55],
++ include_dirs=[LPSOLVEINC, NUMPYPATH],
+ libraries = ["lpsolve55"])
+ ]
+ )
diff --git a/dev-python/lp_solve/lp_solve-5.5.2.0-r1.ebuild b/dev-python/lp_solve/lp_solve-5.5.2.0-r1.ebuild
new file mode 100644
index 000000000000..4941a9c6d42a
--- /dev/null
+++ b/dev-python/lp_solve/lp_solve-5.5.2.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python wrappers for lpsolve linear programming library"
+HOMEPAGE="http://lpsolve.sourceforge.net/5.5/Python.htm"
+SRC_URI="mirror://sourceforge/lpsolve/${PN}_${PV}_Python_source.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-mathematics/lpsolve"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${PN}_5.5/extra/Python/"
+
+PATCHES=( "${FILESDIR}"/${P}-setup.patch )
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples || die
+ mv ex*py examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" lpdemo.py || die
+}
+
+python_install_all() {
+ dodoc changes
+ use doc && dohtml Python.htm
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lp_solve/metadata.xml b/dev-python/lp_solve/metadata.xml
new file mode 100644
index 000000000000..71f0f27b3d6f
--- /dev/null
+++ b/dev-python/lp_solve/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ Python wrapper modules for the linear programming library lpsolve.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">lpsolve</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lupy/Manifest b/dev-python/lupy/Manifest
new file mode 100644
index 000000000000..b6ff7a260c5c
--- /dev/null
+++ b/dev-python/lupy/Manifest
@@ -0,0 +1 @@
+DIST Lupy-0.2.1.tar.gz 52269 SHA256 f0ced0b331c99b59d82b8ebc2fb23445e31dc3df339489b4b9811d9d25d42ba3 SHA512 3ecfaced8ea8005e2fdb57f87546e9128eaf2174d27109b3e3ffbd32cf4f2dd23d2568eac7ff4b3f93a05f4efc19a6eb7f89811f1d6d1441e66f6f955184ff64 WHIRLPOOL 980a8a3f38b44d95f6f712327b44dfe16c04fedb88518e99432f299e79d446a45e07e4d4eb4e7a0d6ff3f490c285b813443c96cd79775359306c0d5cab85fa1a
diff --git a/dev-python/lupy/lupy-0.2.1-r2.ebuild b/dev-python/lupy/lupy-0.2.1-r2.ebuild
new file mode 100644
index 000000000000..00900b7369a9
--- /dev/null
+++ b/dev-python/lupy/lupy-0.2.1-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Lupy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Lupy is a is a full-text indexer and search engine written in Python"
+HOMEPAGE="http://divmod.org/projects/lupy http://pypi.python.org/pypi/Lupy"
+SRC_URI="mirror://sourceforge/lupy/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ~s390 x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="changelog.txt releasenotes.txt"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lupy/metadata.xml b/dev-python/lupy/metadata.xml
new file mode 100644
index 000000000000..25857ab459f4
--- /dev/null
+++ b/dev-python/lupy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>lordvan@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">lupy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
new file mode 100644
index 000000000000..9799c2f0fd23
--- /dev/null
+++ b/dev-python/lxml/Manifest
@@ -0,0 +1,5 @@
+DIST lxml-3.3.5.tar.gz 3467344 SHA256 6ad6949dc7eea744a30fba77a968dd5910f545220e58bcc813b9df5c793e318a SHA512 b6692565e95ae8856347a2cbef4d1a1614cbc34aa47fbea10cfb49f5d5690a21e577e53e7cfbe73db18190a6919a1055fe5ee5ccaf1d03dc2bc0c5cf2c81ef2e WHIRLPOOL f9e875085701264128d37458f5c03a1e6dfb0a6d3e49f88cfc90031a40f17dfb06ff57151729bb03f96d2959b1bae40b0617076ace7d695433fcd857d13ec697
+DIST lxml-3.4.1.tar.gz 3524523 SHA256 069594837d0376a1bacf5cc42aa9a1be2e1c1396dc62f7d07f7358afecd34adf SHA512 ab669d1f9833e43b43ece4ef2481eebe22e9084ab07139f5c5c1fa6ea478177069d6ce96ece7eddef86982da418ec55a3785c4b78958f49f6ed415dc63af45ed WHIRLPOOL 5390f23aec3b7c07b9541f85ee5c674f267b99a9ef035cc5024d5f6defe6ee8ded500703b97b3f742f7630d25dbc538534654c8a3cddafb1ff37f5c5494bffb5
+DIST lxml-3.4.2.tar.gz 3526862 SHA256 c7d5990298af6ffb00312973a25f0cc917a6368126dd40eaab41d78d3e1ea25d SHA512 de57da48813cb6920937b23a82cf8fe389e0f215e3e5c4a873fae7a223d8df7fe693d835163cccedd23b538857ed8e5eb3f0d8e4e2c5ed33065c6fbb74604f10 WHIRLPOOL 0601d6474dad0b2dc6c47a906acc546e91e72b3e15bbf3d56d7f6c1ad2d46ae9e4007d775911ce2fef71ff06dba01d70d671379a079c92191aad13600a4e6a31
+DIST lxml-3.4.3.tar.gz 3541740 SHA256 6ce4a11ab485a67a899aa3e080c97b22a9df40c7077bd9146a821d3872cf2037 SHA512 9ce34fef03e19b13fd78f13562dba570018c6588c187452fa1a0e3db441c5583333e85386a56c243db6f0f03875b4be514f4e6084a386aa83a6e436fec992e4f WHIRLPOOL cfebfaa0a1cdb4cf9e451b0d3c7246fbf104bccd0511d4f4060862fdd88bd0699ce2b4e604afc5ae65cc037182565d8590cfe451c361ddecc4177fe09db0ffd7
+DIST lxml-3.4.4.tar.gz 3537508 SHA256 b3d362bac471172747cda3513238f115cbd6c5f8b8e6319bf6a97a7892724099 SHA512 94453ff0562fc18a4b43555271e2469556255b69daf5f801d1a0f1ff29fd73f4b46d4faba9bfe86b42cfdac31005a0d3cfcbf230e0c7593dd5fc6461afcad906 WHIRLPOOL 6debafb391c94bd57510498c8261a511759f52feb3065c8bdf3103b177b1ddcbad54968f1eceac07b97e42087a1c59a060a3719f9ea9d25a662da34bf314b89e
diff --git a/dev-python/lxml/files/lxml-3.3.x-test_etree.py.patch b/dev-python/lxml/files/lxml-3.3.x-test_etree.py.patch
new file mode 100644
index 000000000000..3c8667a4f497
--- /dev/null
+++ b/dev-python/lxml/files/lxml-3.3.x-test_etree.py.patch
@@ -0,0 +1,14 @@
+--- build/lib/lxml/tests/test_etree.py.orig 2015-03-15 17:01:51.337909343 +0100
++++ build/lib/lxml/tests/test_etree.py 2015-03-15 17:04:25.059318388 +0100
+@@ -1225,6 +1225,11 @@
+ root[0].attrib, {'default': 'valueB'})
+
+ def test_resolve_filename_dtd_relative(self):
++ # This test is broken as it tries to resolve a file path
++ # with the file:// path convention and will fail.
++ # So let's not waste our time here and return straight away.
++ return
++
+ parse = self.etree.parse
+ parser = self.etree.XMLParser(attribute_defaults=True)
+ assertEqual = self.assertEqual
diff --git a/dev-python/lxml/files/lxml-3.4.4-cross-compile.patch b/dev-python/lxml/files/lxml-3.4.4-cross-compile.patch
new file mode 100644
index 000000000000..7d1ed178d615
--- /dev/null
+++ b/dev-python/lxml/files/lxml-3.4.4-cross-compile.patch
@@ -0,0 +1,36 @@
+use pkg-config to find libxml2/libxslt details rather than xxx-config scripts
+
+--- a/setupinfo.py
++++ b/setupinfo.py
+@@ -87,19 +87,6 @@ def ext_modules(static_include_dirs, static_library_dirs,
+ source_extension = ".c"
+ print("Building without Cython.")
+
+- lib_versions = get_library_versions()
+- versions_ok = True
+- if lib_versions[0]:
+- print("Using build configuration of libxml2 %s and libxslt %s" %
+- lib_versions)
+- versions_ok = check_min_version(lib_versions[0], (2, 7, 0), 'libxml2')
+- else:
+- print("Using build configuration of libxslt %s" %
+- lib_versions[1])
+- versions_ok |= check_min_version(lib_versions[1], (1, 1, 23), 'libxslt')
+- if not versions_ok:
+- raise RuntimeError("Dependency missing")
+-
+ _include_dirs = include_dirs(static_include_dirs)
+ _library_dirs = library_dirs(static_library_dirs)
+ _cflags = cflags(static_cflags)
+@@ -310,8 +297,9 @@ def get_library_versions():
+
+
+ def flags(option):
+- xml2_flags = run_command(find_xml2_config(), "--%s" % option)
+- xslt_flags = run_command(find_xslt_config(), "--%s" % option)
++ pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config')
++ xml2_flags = run_command(pkg_config, 'libxml-2.0', '--%s' % option)
++ xslt_flags = run_command(pkg_config, 'libxxlt', '--%s' % option)
+
+ flag_list = xml2_flags.split()
+ for flag in xslt_flags.split():
diff --git a/dev-python/lxml/lxml-3.3.5.ebuild b/dev-python/lxml/lxml-3.3.5.ebuild
new file mode 100644
index 000000000000..b0be3b77fa09
--- /dev/null
+++ b/dev-python/lxml/lxml-3.3.5.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+inherit distutils-r1 eutils flag-o-matic
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="http://lxml.de/ http://pypi.python.org/pypi/lxml/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="beautifulsoup3 doc examples +threads"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.7.2
+ >=dev-libs/libxslt-1.1.15
+ beautifulsoup3? (
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-3[${PYTHON_USEDEP}]' 'python3*')
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# lxml tarball contains files pregenerated by Cython.
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ OLDPWD=$(pwd)
+ cd "${BUILD_DIR}" || die "can't cd into ${BUILD_DIR}"
+
+ # Patching test files has to happen at this precise moment.
+ # Not before, not after but now.
+ epatch "${FILESDIR}"/lxml-3.3.x-test_etree.py.patch
+
+ cd "${OLDPWD}"
+
+ local test
+ for test in test.py selftest.py selftest2.py; do
+ einfo "Running ${test}"
+ "${PYTHON}" ${test} || die "Test ${test} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/lxml-3.4.1.ebuild b/dev-python/lxml/lxml-3.4.1.ebuild
new file mode 100644
index 000000000000..7dc44a45465c
--- /dev/null
+++ b/dev-python/lxml/lxml-3.4.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="http://lxml.de/ http://pypi.python.org/pypi/lxml/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="beautifulsoup3 doc examples +threads"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.7.2
+ >=dev-libs/libxslt-1.1.23
+ beautifulsoup3? (
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-3[${PYTHON_USEDEP}]' 'python3*')
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# lxml tarball contains files pregenerated by Cython.
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ local test
+ for test in test.py selftest.py selftest2.py; do
+ einfo "Running ${test}"
+ "${PYTHON}" ${test} || die "Test ${test} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/lxml-3.4.2.ebuild b/dev-python/lxml/lxml-3.4.2.ebuild
new file mode 100644
index 000000000000..3613c2984a88
--- /dev/null
+++ b/dev-python/lxml/lxml-3.4.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="http://lxml.de/ http://pypi.python.org/pypi/lxml/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~arm64"
+IUSE="beautifulsoup3 doc examples +threads"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.7.2
+ >=dev-libs/libxslt-1.1.23
+ beautifulsoup3? (
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-3[${PYTHON_USEDEP}]' 'python3*')
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# lxml tarball contains files pregenerated by Cython.
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ local test
+ for test in test.py selftest.py selftest2.py; do
+ einfo "Running ${test}"
+ "${PYTHON}" ${test} || die "Test ${test} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/lxml-3.4.3.ebuild b/dev-python/lxml/lxml-3.4.3.ebuild
new file mode 100644
index 000000000000..4f01a17ab02a
--- /dev/null
+++ b/dev-python/lxml/lxml-3.4.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="http://lxml.de/ http://pypi.python.org/pypi/lxml/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~arm64"
+IUSE="beautifulsoup3 doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.7.2
+ >=dev-libs/libxslt-1.1.23
+ beautifulsoup3? (
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-3[${PYTHON_USEDEP}]' 'python3*')
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+# lxml tarball contains files pregenerated by Cython.
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ # seems to be broken
+ rm src/lxml/tests/test_elementpath.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ local test
+ for test in test.py selftest.py selftest2.py; do
+ einfo "Running ${test}"
+ "${PYTHON}" ${test} -vv -p || die "Test ${test} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/lxml-3.4.4.ebuild b/dev-python/lxml/lxml-3.4.4.ebuild
new file mode 100644
index 000000000000..f0540097307c
--- /dev/null
+++ b/dev-python/lxml/lxml-3.4.4.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="http://lxml.de/ http://pypi.python.org/pypi/lxml/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris ~arm64"
+IUSE="beautifulsoup3 doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.7.2
+ >=dev-libs/libxslt-1.1.23
+ beautifulsoup3? (
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep 'dev-python/beautifulsoup:python-3[${PYTHON_USEDEP}]' 'python3*')
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+# lxml tarball contains files pregenerated by Cython.
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/${P}-cross-compile.patch
+
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ # seems to be broken
+ rm src/lxml/tests/test_elementpath.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ local test
+ for test in test.py selftest.py selftest2.py; do
+ einfo "Running ${test}"
+ "${PYTHON}" ${test} -vv -p || die "Test ${test} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/lxml/metadata.xml b/dev-python/lxml/metadata.xml
new file mode 100644
index 000000000000..f6f0b1f4433b
--- /dev/null
+++ b/dev-python/lxml/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="beautifulsoup3">Enable support for Beautiful Soup 3</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">lxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest
new file mode 100644
index 000000000000..b88f127de41c
--- /dev/null
+++ b/dev-python/lz4/Manifest
@@ -0,0 +1,2 @@
+DIST lz4-0.6.1.tar.gz 19830 SHA256 590d1dca53b743e7fc38190fa674b20eea87d793a70910984ff58a6f6cf20160 SHA512 c41f02f9ba855256e057141db7f11b0097f373cfcbf7bb9cf3b9337aebcd30bfe36ae3d643f3e5f594351f97d3e80c75b15c7ce1e3e2c7536f6daab811a642d8 WHIRLPOOL 1b7e081fe9994fe478965b9522b20146f097bdac7ff5bd491d4d05c0f8854eaff4144fe31089f8689d27b6dc3b6728bf00aa58e8ddd7bf0d4806dea52f27b736
+DIST lz4-0.7.0.tar.gz 26786 SHA256 cd225744298568fd217577fc14a326a24835412374dadb5060db48f1af43eb48 SHA512 fd7adc4919e70259e5b23b15919c4932354a4518360315a8d6c15c58cdccf21257fb6069bdf20e86a2461f254b50f4abd7296330fd77647ecc2ca49500eedd11 WHIRLPOOL 51e2200e72b3a5d222d6f9e5ec3ed14fc9f026a62943088d237a60c0b3d61f9862450aa63cfcacf2a7c5fb506025da82c34102c25bf54ad8e8fb938bfe570773
diff --git a/dev-python/lz4/lz4-0.6.1.ebuild b/dev-python/lz4/lz4-0.6.1.ebuild
new file mode 100644
index 000000000000..0359e1a6c2fc
--- /dev/null
+++ b/dev-python/lz4/lz4-0.6.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="LZ4 Bindings for Python"
+HOMEPAGE="https://pypi.python.org/pypi/lz4 https://github.com/steeve/python-lz4"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed \
+ -e '/nose/d' \
+ -e 's:"-O4"::g' \
+ -i setup.py || die
+}
diff --git a/dev-python/lz4/lz4-0.7.0.ebuild b/dev-python/lz4/lz4-0.7.0.ebuild
new file mode 100644
index 000000000000..5e4d293b9f0e
--- /dev/null
+++ b/dev-python/lz4/lz4-0.7.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="LZ4 Bindings for Python"
+HOMEPAGE="https://pypi.python.org/pypi/lz4 https://github.com/steeve/python-lz4"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# Tests still excluded by upstream
diff --git a/dev-python/lz4/metadata.xml b/dev-python/lz4/metadata.xml
new file mode 100644
index 000000000000..95bfd3828047
--- /dev/null
+++ b/dev-python/lz4/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">lz4</remote-id>
+ <remote-id type="github">steeve/python-lz4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
new file mode 100644
index 000000000000..5ceb0d416957
--- /dev/null
+++ b/dev-python/m2crypto/Manifest
@@ -0,0 +1 @@
+DIST M2Crypto-0.22.3.tar.gz 74795 SHA256 6071bfc817d94723e9b458a010d565365104f84aa73f7fe11919871f7562ff72 SHA512 c179d3cf03ced77aed24285ca3f1527d5e05bbfe091a1522bff94a940fd390213fbb9b83d7ccd43ceae49626b427ae8790782cf93ead85be1e063bc4121c62e0 WHIRLPOOL 66a9a6e7c9b195814048a1bcecf6ef71a269bebb9dbda73801c88b3ba27330b555a46d05c53bbd0778f9c1e1bb5f9c6e7e860de443bf16baffc2072ee5996e31
diff --git a/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch b/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch
new file mode 100644
index 000000000000..9ddd5509fdf6
--- /dev/null
+++ b/dev-python/m2crypto/files/0.22.3-Use-swig-generated-python-loader.patch
@@ -0,0 +1,138 @@
+From 803188070e486030cb1d2e53692b39305c742b17 Mon Sep 17 00:00:00 2001
+From: Joe Julian <jjulian@io.com>
+Date: Tue, 19 May 2015 23:54:08 -0700
+Subject: [PATCH] Use swig generated python loader
+
+---
+ .gitignore | 6 +++++-
+ M2Crypto/__init__.py | 4 ++--
+ M2Crypto/m2.py | 4 +---
+ SWIG/_m2crypto.def | 2 +-
+ SWIG/_m2crypto.i | 2 +-
+ setup.py | 25 +++++++++++++++++++++----
+ 6 files changed, 31 insertions(+), 12 deletions(-)
+
+diff --git a/M2Crypto/__init__.py b/M2Crypto/__init__.py
+index 647e057..38dbbd5 100644
+--- a/M2Crypto/__init__.py
++++ b/M2Crypto/__init__.py
+@@ -19,7 +19,7 @@ Copyright 2008-2011 Heikki Toivonen. All rights reserved.
+ version_info = (0, 22)
+ version = '.'.join([str(_v) for _v in version_info])
+
+-import __m2crypto
++import m2crypto
+ import m2
+ import ASN1
+ import AuthCookie
+@@ -47,4 +47,4 @@ import m2xmlrpclib
+ import threading
+ import util
+
+-__m2crypto.lib_init()
++m2crypto.lib_init()
+diff --git a/M2Crypto/m2.py b/M2Crypto/m2.py
+index e4bb695..516cadb 100644
+--- a/M2Crypto/m2.py
++++ b/M2Crypto/m2.py
+@@ -25,7 +25,5 @@ Portions created by Open Source Applications Foundation (OSAF) are
+ Copyright (C) 2004 OSAF. All Rights Reserved.
+ """
+
+-from __m2crypto import *
++from m2crypto import *
+ lib_init()
+-
+-
+diff --git a/SWIG/_m2crypto.def b/SWIG/_m2crypto.def
+index 753db2c..3e9d5bc 100644
+--- a/SWIG/_m2crypto.def
++++ b/SWIG/_m2crypto.def
+@@ -1,2 +1,2 @@
+ EXPORTS
+-init__m2crypto
++init_m2crypto
+diff --git a/SWIG/_m2crypto.i b/SWIG/_m2crypto.i
+index 50be5c3..e491222 100644
+--- a/SWIG/_m2crypto.i
++++ b/SWIG/_m2crypto.i
+@@ -8,7 +8,7 @@
+ *
+ */
+
+-%module(threads=1) _m2crypto
++%module(threads=1) m2crypto
+ /* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere.
+ Disable threadallow as well, only enable it for operations likely to
+ block. */
+diff --git a/setup.py b/setup.py
+index bac6f9f..fc89513 100644
+--- a/setup.py
++++ b/setup.py
+@@ -17,9 +17,22 @@ import os, sys, platform
+ from setuptools import setup
+ from setuptools.command import build_ext
+
++from distutils.util import get_platform
+ from distutils.core import Extension
+ from distutils.spawn import find_executable
+
++from distutils.command.build import build
++from setuptools.command.install import install
++
++class CustomBuild(build):
++ def run(self):
++ self.run_command('build_ext')
++ build.run(self)
++
++class CustomInstall(install):
++ def run(self):
++ self.run_command('build_ext')
++ self.do_egg_install()
+
+ class _M2CryptoBuildExt(build_ext.build_ext):
+ '''Specialization of build_ext to enable swig_opts to inherit any
+@@ -70,11 +83,12 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+
+ self.add_multiarch_paths()
+
+- opensslIncludeDir = os.path.join(self.openssl, 'include')
++ includeDir = os.path.join(self.openssl, 'include')
++ opensslIncludeDir = os.path.join(self.openssl, 'include', 'openssl')
+ opensslLibraryDir = os.path.join(self.openssl, 'lib')
+
+ self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
+- [opensslIncludeDir, os.path.join(opensslIncludeDir, "openssl")]]
++ [opensslIncludeDir, includeDir]]
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
+
+@@ -85,6 +99,9 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ elif platform.architecture()[0] == '32bit':
+ self.swig_opts.append('-D__i386__')
+
++ self.swig_opts.append('-outdir')
++ self.swig_opts.append(os.path.join(os.getcwd(),'M2Crypto'))
++
+ self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
+ os.path.join(os.getcwd(), 'SWIG')]
+
+@@ -103,7 +120,7 @@ if sys.platform == 'darwin':
+ else:
+ my_extra_compile_args = []
+
+-m2crypto = Extension(name = 'M2Crypto.__m2crypto',
++m2crypto = Extension(name = 'M2Crypto._m2crypto',
+ sources = ['SWIG/_m2crypto.i'],
+ extra_compile_args = ['-DTHREADING'] + my_extra_compile_args,
+ #extra_link_args = ['-Wl,-search_paths_first'], # Uncomment to build Universal Mac binaries
+@@ -145,5 +162,5 @@ interface.''',
+
+ ext_modules = [m2crypto],
+ test_suite='tests.alltests.suite',
+- cmdclass = {'build_ext': _M2CryptoBuildExt}
++ cmdclass = {'build': CustomBuild, 'install': CustomInstall, 'build_ext': _M2CryptoBuildExt}
+ )
+--
+2.4.1
+
diff --git a/dev-python/m2crypto/files/0.22.3-packaging.patch b/dev-python/m2crypto/files/0.22.3-packaging.patch
new file mode 100644
index 000000000000..26952a4e78e8
--- /dev/null
+++ b/dev-python/m2crypto/files/0.22.3-packaging.patch
@@ -0,0 +1,69 @@
+From 0f2c82f097cf6d3722b7793fe1159160f3f52725 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Mon, 25 May 2015 12:08:47 -0400
+Subject: [PATCH] Gentoo-specific packaging fixes
+
+Fix cross-compiles
+EPREFIX support
+---
+ setup.py | 20 ++++----------------
+ 1 file changed, 4 insertions(+), 16 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index fc89513..8360e7e 100644
+--- a/setup.py
++++ b/setup.py
+@@ -32,7 +32,7 @@ class CustomBuild(build):
+ class CustomInstall(install):
+ def run(self):
+ self.run_command('build_ext')
+- self.do_egg_install()
++ install.run(self)
+
+ class _M2CryptoBuildExt(build_ext.build_ext):
+ '''Specialization of build_ext to enable swig_opts to inherit any
+@@ -81,29 +81,19 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+
+ build_ext.build_ext.finalize_options(self)
+
+- self.add_multiarch_paths()
+-
+ includeDir = os.path.join(self.openssl, 'include')
+ opensslIncludeDir = os.path.join(self.openssl, 'include', 'openssl')
+ opensslLibraryDir = os.path.join(self.openssl, 'lib')
+
+- self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
+- [opensslIncludeDir, includeDir]]
++ eprefix = os.getenv('EPREFIX', '')
++ self.swig_opts = ['-I' + eprefix + '/usr/include']
+ self.swig_opts.append('-includeall')
+ self.swig_opts.append('-modern')
+
+- # Fedora does hat tricks.
+- if platform.linux_distribution()[0] in ['Fedora', 'CentOS']:
+- if platform.architecture()[0] == '64bit':
+- self.swig_opts.append('-D__x86_64__')
+- elif platform.architecture()[0] == '32bit':
+- self.swig_opts.append('-D__i386__')
+-
+ self.swig_opts.append('-outdir')
+ self.swig_opts.append(os.path.join(os.getcwd(),'M2Crypto'))
+
+- self.include_dirs += [os.path.join(self.openssl, opensslIncludeDir),
+- os.path.join(os.getcwd(), 'SWIG')]
++ self.include_dirs += [os.path.join(os.getcwd(), 'SWIG')]
+
+ if sys.platform == 'cygwin':
+ # Cygwin SHOULD work (there's code in distutils), but
+@@ -113,8 +103,6 @@ class _M2CryptoBuildExt(build_ext.build_ext):
+ # Someday distutils will be fixed and this won't be needed.
+ self.library_dirs += [os.path.join(self.openssl, 'bin')]
+
+- self.library_dirs += [os.path.join(self.openssl, opensslLibraryDir)]
+-
+ if sys.platform == 'darwin':
+ my_extra_compile_args = ["-Wno-deprecated-declarations"]
+ else:
+--
+2.4.1
+
diff --git a/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild b/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild
new file mode 100644
index 000000000000..edb855f4c05b
--- /dev/null
+++ b/dev-python/m2crypto/m2crypto-0.22.3-r4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_PN="M2Crypto"
+
+DESCRIPTION="M2Crypto: A Python crypto and SSL toolkit"
+HOMEPAGE="https://github.com/martinpaljak/M2Crypto http://pypi.python.org/pypi/M2Crypto"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-libs/openssl-0.9.8:0="
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.28:0
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Tests access network, and fail randomly. Bug #431458.
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/0.22.3-Use-swig-generated-python-loader.patch
+ "${FILESDIR}"/0.22.3-packaging.patch
+)
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/m2crypto/metadata.xml b/dev-python/m2crypto/metadata.xml
new file mode 100644
index 000000000000..63966d0bad92
--- /dev/null
+++ b/dev-python/m2crypto/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">M2Crypto</remote-id>
+ <remote-id type="github">martinpaljak/M2Crypto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/m2secret/Manifest b/dev-python/m2secret/Manifest
new file mode 100644
index 000000000000..864fe0573813
--- /dev/null
+++ b/dev-python/m2secret/Manifest
@@ -0,0 +1 @@
+DIST m2secret-0.1.1.tar.gz 5032 SHA256 4174f4967b378d751e758894d6c394db506c4f8753d1db66494320c31667d8a0 SHA512 8fd66fdf9f255eedaeaeb514dc3af812358cdac2744cccfe65bfd0d85258c2b3ec851fd1972d1cd5604becfb8e54cd2b933bd9c0fb53e7317b03d7f09a8f16b7 WHIRLPOOL df3c4469a6c6c504d07fa1017c3277c4f3b36a810d4f014a1771cbfedc5fb9ae2b18579bc2175b48a22262f9cb3b73710fceb52d63e3d9a255794178ed766997
diff --git a/dev-python/m2secret/m2secret-0.1.1-r1.ebuild b/dev-python/m2secret/m2secret-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..11b13f21c42e
--- /dev/null
+++ b/dev-python/m2secret/m2secret-0.1.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Encryption and decryption module and CLI utility"
+HOMEPAGE="http://www.heikkitoivonen.net/m2secret http://pypi.python.org/pypi/m2secret"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ >=dev-python/m2crypto-0.18[${PYTHON_USEDEP}]"
diff --git a/dev-python/m2secret/metadata.xml b/dev-python/m2secret/metadata.xml
new file mode 100644
index 000000000000..905c86f17a63
--- /dev/null
+++ b/dev-python/m2secret/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">m2secret</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/maintboot/Manifest b/dev-python/maintboot/Manifest
new file mode 100644
index 000000000000..eb42a0915fd4
--- /dev/null
+++ b/dev-python/maintboot/Manifest
@@ -0,0 +1 @@
+DIST maintboot-0.1.0.tar.gz 2090 SHA256 4a1f09ab8e6e7222eebd9ade69a32e4d76d3099a36fcdbc3fc0dcbc29e1c2d51 SHA512 dc63c59718a3c66a2128f36ad495c42d94bba08d6b16c40f470b0a0cc00388b5ec5977326ac258c858113e4d6c3f1ff246c5a1dfbd3d417aea181d381d7ae28f WHIRLPOOL d78786a8b1b0538764dfa2e9b1eac0ee3482be3a04d1a6705a26e465268b61cc8f5f6e4cf1d82ee3680ba26c9135197b63340afb9fee633dcdfbc82991670771
diff --git a/dev-python/maintboot/maintboot-0.1.0.ebuild b/dev-python/maintboot/maintboot-0.1.0.ebuild
new file mode 100644
index 000000000000..52aa68c71350
--- /dev/null
+++ b/dev-python/maintboot/maintboot-0.1.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Run maintenance tasks outside the OS"
+HOMEPAGE="https://pypi.python.org/pypi/maintboot"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/maintboot/metadata.xml b/dev-python/maintboot/metadata.xml
new file mode 100644
index 000000000000..8dbffb6acd59
--- /dev/null
+++ b/dev-python/maintboot/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">maintboot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest
new file mode 100644
index 000000000000..5553b56b85ee
--- /dev/null
+++ b/dev-python/mako/Manifest
@@ -0,0 +1,2 @@
+DIST Mako-0.7.3.tar.gz 401787 SHA256 5e1d17fbd1aed57ebeea74ee3809015b121e142d73069066a113a125a4ec2ef5 SHA512 3134a05fcacb5d8e41ebab3bedb6c1a31eec94afb56f2c8319fee4b749930fcc7df5ed86e0de26cafbaea966b920921e29788f1c6ba5810eedb4d98f322085f9 WHIRLPOOL 8d3011b472a4bd04c4ef0ddad4767357bd1c570228702e900c956582c2e1e7e668765a34e4e450e18b8a1e0562d9b024ee1ae8b82efc891023154cf442f16d8a
+DIST Mako-1.0.0.tar.gz 470006 SHA256 a3cd72cfef507204b50f74ffcbfcfde7e856437891d3f6cfe780866986d006fe SHA512 81a6b7637e26d561350a591e3490e7140db218ae7f6b43fec8fca5b767fc6e57d0e8cc901d28fecb9863b2170c824a35c578a94579f991359fa0873f62ec578a WHIRLPOOL aa27b63e3832f03120312fbfec939b05606081e67a5cb4c9a056c27259631c2e159cf7506292d44e2c17c5950d7e4255d19f4beba78502bdbb52fbf11e1a872c
diff --git a/dev-python/mako/files/test-fix.patch b/dev-python/mako/files/test-fix.patch
new file mode 100644
index 000000000000..3792e3e30f5b
--- /dev/null
+++ b/dev-python/mako/files/test-fix.patch
@@ -0,0 +1,11 @@
+diff -ur Mako-0.7.0.orig/test/test_template.py Mako-0.7.0/test/test_template.py
+--- test/test_template.py 2012-03-31 07:52:02.000000000 +0800
++++ test/test_template.py 2012-04-11 20:25:23.797168875 +0800
+@@ -1,5 +1,5 @@
+ # -*- coding: utf-8 -*-
+-
++from __future__ import with_statement
+ from mako.template import Template, ModuleTemplate
+ from mako.lookup import TemplateLookup
+ from mako.ext.preprocessors import convert_comments
+
diff --git a/dev-python/mako/mako-0.7.3-r1.ebuild b/dev-python/mako/mako-0.7.3-r1.ebuild
new file mode 100644
index 000000000000..c5f436781470
--- /dev/null
+++ b/dev-python/mako/mako-0.7.3-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="Mako-${PV}"
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="http://www.makotemplates.org/ http://pypi.python.org/pypi/Mako"
+SRC_URI="http://www.makotemplates.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/beaker-1.1[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/test-fix.patch"
+)
+
+python_test() {
+ cp -r -l test "${BUILD_DIR}"/ || die
+
+ if [[ ${EPYTHON} == python3.* ]]; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/test || die
+ fi
+
+ cd "${BUILD_DIR}"/test || die
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ rm -rf doc/build
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mako/mako-0.7.3-r2.ebuild b/dev-python/mako/mako-0.7.3-r2.ebuild
new file mode 100644
index 000000000000..f0ccf6fb51a7
--- /dev/null
+++ b/dev-python/mako/mako-0.7.3-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit readme.gentoo versionator distutils-r1
+
+MY_P="Mako-${PV}"
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="http://www.makotemplates.org/ http://pypi.python.org/pypi/Mako"
+SRC_URI="http://www.makotemplates.org/downloads/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/test-fix.patch"
+)
+
+DOC_CONTENTS="
+${PN} can be enchanced with caching by dev-python/beaker"
+
+python_test() {
+ cp -r -l test "${BUILD_DIR}"/ || die
+
+ if [[ ${EPYTHON} == python3.* ]]; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/test || die
+ fi
+
+ cd "${BUILD_DIR}"/test || die
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ rm -rf doc/build
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 0.7.3-r2 $v; then
+ ewarn "dev-python/beaker is no longer hard dependency of ${P}"
+ ewarn "If you rely on it, you should add beaker to your world"
+ ewarn "file:"
+ ewarn "# emerge --noreplace beaker"
+ break
+ fi
+ done
+}
diff --git a/dev-python/mako/mako-1.0.0.ebuild b/dev-python/mako/mako-1.0.0.ebuild
new file mode 100644
index 000000000000..266b64d5d7a4
--- /dev/null
+++ b/dev-python/mako/mako-1.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit readme.gentoo versionator distutils-r1
+
+MY_PN="Mako"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="http://www.makotemplates.org/ http://pypi.python.org/pypi/Mako"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOC_CONTENTS="
+${PN} can be enhanced with caching by dev-python/beaker"
+
+python_test() {
+ nosetests "${S}"/test || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ rm -rf doc/build
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 0.7.3-r2 $v; then
+ ewarn "dev-python/beaker is no longer hard dependency of ${P}"
+ ewarn "If you rely on it, you should add beaker to your world"
+ ewarn "file:"
+ ewarn "# emerge --noreplace beaker"
+ break
+ fi
+ done
+}
diff --git a/dev-python/mako/metadata.xml b/dev-python/mako/metadata.xml
new file mode 100644
index 000000000000..baf06ef2b08a
--- /dev/null
+++ b/dev-python/mako/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mako</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mamba/Manifest b/dev-python/mamba/Manifest
new file mode 100644
index 000000000000..02d18f667f66
--- /dev/null
+++ b/dev-python/mamba/Manifest
@@ -0,0 +1,4 @@
+DIST mamba-0.6.tar.gz 12548 SHA256 94169b12141ba57bbcbc5a5fac810631102558450057e1b66b0631d521034b67 SHA512 1d29c90cb45d2a6881d3524517151b88c80acabeaecff42efa9c94a8257e726c4b53cc40aba0643e95ef4af7d2895cf49b6619df06e933aab88157105c98a8cb WHIRLPOOL 489769b4f4ae368d0fa9ce918b629ab661765e8e85f4de1fe609e6f85e19304ec2c3c41a278b47d205fbd42d44b625f8b16b09a223282031f0f317d622aa2481
+DIST mamba-0.8.2.tar.gz 13379 SHA256 4ece61321a90b904e8f2859f4966d3fd61b4161137e73d4a3f8015b6f1d944fd SHA512 3b8e824b5c84106462242404716a4b36c678878301a924c4118accedd1b6883e1102c3bc61ac200c78f64c3b6a6890ba0f5529c3cd4d6a2743189174aa2fd907 WHIRLPOOL 6a60c866c84140c82a57eec2341262fe9c8a3be900c4d8fecc3113c776b197ef9df378c73ef9c0e915ecf23f2ba31ec01c6e606cec30d7dcc0f9d7af6bc110a8
+DIST mamba-0.8.4.tar.gz 14781 SHA256 2fc3eb17a1d051438ca844ad9086f6ad8d27d7a262153cb9e740416b01b7d46d SHA512 31a58a6ee43500b6e059598ff45ffb0e89e385a10fc47a41222cce2a2fee3987bd84dc4484151d46a7062244437973afaddc2c74aa7df21c0e175a33ce8a630c WHIRLPOOL dc26692c8e46ab1f2226099b051fd1236fc7006b0f3ce93f70cca4a685c209e71de256ae6ed21695df9ccb299bf2edc1f9975c2f98ee906e8067ab3a9ccb2383
+DIST mamba-0.8.tar.gz 13192 SHA256 7e6488e41acecc08c8d729c18ef881a94119f575b1c7d365cc4ea3c3442aca63 SHA512 ac1c9342829d949bfbe99caa42403734a9965c6070fd95a7e427f7e2592c122d86eacd19b4c1ae566e7c3035a27a6c7e43ce0fb98d1a9b5c126ed75f1de314bc WHIRLPOOL 2d3b2895bbe4a6dd7e51d327e4e22a58874c4654ad52e589467c4f0eeda332855c1968d12fcfc32cdf28c8a9718fe3892b01b079b0efccc7efadd8e4a57d2ab7
diff --git a/dev-python/mamba/mamba-0.6.ebuild b/dev-python/mamba/mamba-0.6.ebuild
new file mode 100644
index 000000000000..bb85f66ee459
--- /dev/null
+++ b/dev-python/mamba/mamba-0.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1 vcs-snapshot
+
+EGIT_REPO_URI="https://github.com/nestorsalceda/mamba.git"
+
+DESCRIPTION="The definitive testing tool for Python. Born under the banner of Behavior Driven Development"
+HOMEPAGE="http://nestorsalceda.github.io/mamba"
+SRC_URI="https://github.com/nestorsalceda/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ test? (
+ >=dev-python/sure-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/doublex-1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-1.8.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ~dev-python/clint-0.3.1[${PYTHON_USEDEP}]
+ ~dev-python/coverage-3.7[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.6.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ ebegin 'patching requirements.txt'
+ sed \
+ -e '3s/==/>=/' \
+ -i requirements.txt
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ "${TEST_DIR}"/scripts/mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mamba/mamba-0.8.2.ebuild b/dev-python/mamba/mamba-0.8.2.ebuild
new file mode 100644
index 000000000000..0721779ad932
--- /dev/null
+++ b/dev-python/mamba/mamba-0.8.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="The definitive testing tool for Python. Born under the banner of Behavior Driven Development"
+HOMEPAGE="http://nestorsalceda.github.io/mamba"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/expects-0.4.2[${PYTHON_USEDEP}]
+ <dev-python/expects-0.5[${PYTHON_USEDEP}]
+ >=dev-python/doublex-expects-0.4[${PYTHON_USEDEP}]
+ <dev-python/doublex-expects-0.5[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ~dev-python/clint-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.7[${PYTHON_USEDEP}]
+ ~dev-python/watchdog-0.8.1[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ ebegin 'patching requirements.txt'
+ sed \
+ -e '2s/==/>=/' \
+ -i requirements.txt
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ "${TEST_DIR}"/scripts/mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mamba/mamba-0.8.4.ebuild b/dev-python/mamba/mamba-0.8.4.ebuild
new file mode 100644
index 000000000000..72dd8a4455a9
--- /dev/null
+++ b/dev-python/mamba/mamba-0.8.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="The definitive testing tool for Python. Born under the banner of Behavior Driven Development"
+HOMEPAGE="http://nestorsalceda.github.io/mamba"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/doublex-expects-0.4[${PYTHON_USEDEP}]
+ <dev-python/doublex-expects-0.5[${PYTHON_USEDEP}]
+ >=dev-python/expects-0.4.2[${PYTHON_USEDEP}]
+ <dev-python/expects-0.5[${PYTHON_USEDEP}]
+ ~dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ~dev-python/clint-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.7[${PYTHON_USEDEP}]
+ ~dev-python/watchdog-0.8.1[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ ebegin 'patching requirements.txt'
+ sed \
+ -e '2s/==/>=/' \
+ -i requirements.txt
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ "${TEST_DIR}"/scripts/mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mamba/mamba-0.8.ebuild b/dev-python/mamba/mamba-0.8.ebuild
new file mode 100644
index 000000000000..67dee3e6867e
--- /dev/null
+++ b/dev-python/mamba/mamba-0.8.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="The definitive testing tool for Python. Born under the banner of Behavior Driven Development"
+HOMEPAGE="http://nestorsalceda.github.io/mamba"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ~dev-python/expects-0.2.1[${PYTHON_USEDEP}]
+ ~dev-python/doublex-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-1.8.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ~dev-python/clint-0.3.1[${PYTHON_USEDEP}]
+ ~dev-python/coverage-3.7[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.6.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ ebegin 'patching requirements.txt'
+ sed \
+ -e '3s/==/>=/' \
+ -i requirements.txt
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -f "${HOME}"/.pydistutils.cfg || die "Couldn't remove pydistutils.cfg"
+
+ distutils_install_for_testing
+
+ "${TEST_DIR}"/scripts/mamba || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mamba/metadata.xml b/dev-python/mamba/metadata.xml
new file mode 100644
index 000000000000..308165e71014
--- /dev/null
+++ b/dev-python/mamba/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">mamba</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mando/Manifest b/dev-python/mando/Manifest
new file mode 100644
index 000000000000..46f86b9b5e8d
--- /dev/null
+++ b/dev-python/mando/Manifest
@@ -0,0 +1 @@
+DIST mando-0.3.2.tar.gz 22393 SHA256 9aeb48af6165370bbbfd5b0b32fedb772531d7a1db35b73ab955107a2f5e2af8 SHA512 57f5041ad175c4eca4c158d9d917dcb1f9c25978c60aa0e76322d0395b0edbc3fb7b062da7b9af871a97bbd46cfe7f81e634287f813baf15ef134be53150bd11 WHIRLPOOL 7c5ef43092ed81e427df5109b0c6706070a57eb1ea99608b19738b5ab20f685b09812e90babb97bc3b8cab6571e573d4a5374f931bc90e8ebb8c15753f603ff0
diff --git a/dev-python/mando/mando-0.3.2.ebuild b/dev-python/mando/mando-0.3.2.ebuild
new file mode 100644
index 000000000000..de590fec5f8b
--- /dev/null
+++ b/dev-python/mando/mando-0.3.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Create Python CLI apps with little to no effort at all!"
+HOMEPAGE="https://mando.readthedocs.org/"
+SRC_URI="https://github.com/rubik/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/paramunittest[${PYTHON_USEDEP}] )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" mando/tests/run.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mando/metadata.xml b/dev-python/mando/metadata.xml
new file mode 100644
index 000000000000..b18ed6c63abe
--- /dev/null
+++ b/dev-python/mando/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rubik/mando</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mantissa/Manifest b/dev-python/mantissa/Manifest
new file mode 100644
index 000000000000..d3147080028d
--- /dev/null
+++ b/dev-python/mantissa/Manifest
@@ -0,0 +1,3 @@
+DIST Mantissa-0.7.0.tar.gz 827087 SHA256 30bc3bb452810561e81e84bb73be00287d32c17fcdf4f0da837a63cbba7e7fa7 SHA512 a0ef58902d0d752f2643f0c9639d9338a0441651cc0a2c3b45493a79b81757c4b642a7adcc940e0228033280927b7dad460a345fac62da1dcb9d73babd981d8c WHIRLPOOL 283b02ebea0c7a0d6dd6a7345b473a9f9d0ab3f955c5424ed6090cf50d63f3df2a68b6ab07efe459828a75dc841e5e540a66313e9428bb8e88fb3a96762b6576
+DIST mantissa-0.8.0.tar.gz 828094 SHA256 bcc3908dfe9e8c3dd1a460b2194564d38521d53bcb601f12c9da0a8a936119f1 SHA512 8ca2b84c1c2715025db4a3cde4516c0a8604c8e40bda325d727ac28dbf1997ffb387439461d7b866ec77eb82ca192739355797123e55b7ad30c580b3c71dea9b WHIRLPOOL e4f8858940e87ef0ebbfda522e97da19024dcac18ad59a8d6bac7486aacf05ae728903e8330a845d3a9bc502f3455bb47fe1e6c742d2e09a78621e789c9b680a
+DIST mantissa-0.8.1.tar.gz 808299 SHA256 e0c536a257dad3ee231cc4e1c60bd170d2f2b54dd43cd54a57033d019755ffe3 SHA512 6c5896a0b6d07d0b3c836fcc961240625cca4fe037dd7cb0f105357762a5a5b0288438c39b0aa0521dd7b29a37bde49a739273d82f53c900692d0ea9a8e3db86 WHIRLPOOL 2c4f3c1fcd924afc929e42b74a6e54e6663a4ac82a43e2a3dfdafe2f4ecf6cbd08be96d7e012d3d4410770b0d231c75547ca69731b30e51d1ffde63ac1faa615
diff --git a/dev-python/mantissa/mantissa-0.7.0-r1.ebuild b/dev-python/mantissa/mantissa-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..cece32ac0ce4
--- /dev/null
+++ b/dev-python/mantissa/mantissa-0.7.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="An extensible, multi-protocol, multi-user, interactive application server"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodMantissa http://pypi.python.org/pypi/Mantissa"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/axiom-0.6.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/cssutils-0.9.10-r1[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/nevow-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2012j[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-mail[${PYTHON_USEDEP}]
+ >=dev-python/vertex-0.3.0-r1[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+TWISTED_PLUGINS=( axiom.plugins nevow.plugins xmantissa.plugins )
+
+python_install() {
+ distutils-r1_python_install
+
+ # remove foreign caches we don't want to own
+ find "${D}$(python_get_sitedir)" -name 'dropin.cache' -delete || die
+ # then our own one
+ touch "${D}$(python_get_sitedir)"/xmantissa/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ dodoc NAME.txt NEWS.txt
+
+ distutils-r1_python_install_all
+}
+
+python_test() {
+ trial xmantissa || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/mantissa/mantissa-0.8.0.ebuild b/dev-python/mantissa/mantissa-0.8.0.ebuild
new file mode 100644
index 000000000000..98ef1ecca4ac
--- /dev/null
+++ b/dev-python/mantissa/mantissa-0.8.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="${PN/m/M}"
+DESCRIPTION="An extensible, multi-protocol, multi-user, interactive application server"
+HOMEPAGE="https://github.com/twisted/mantissa"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/axiom-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/cssutils-0.9.5[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/nevow-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2012j[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-mail-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-conch-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/vertex-0.2[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+TWISTED_PLUGINS=( axiom.plugins nevow.plugins xmantissa.plugins )
+
+python_test() {
+ # https://github.com/twisted/mantissa/issues/27
+ einfo ""; einfo "suite currently lists 1 failure and 7 errors now known upstream";
+ einfo "A folder with required modules are absent form the source"
+ einfo "All are expected to be fixed in a next release consequent to the bug"
+ einfo "filed upstream, now expected very soon"; einfo ""
+ trial xmantissa || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # remove foreign caches we don't want to own
+ find "${D}$(python_get_sitedir)" -name 'dropin.cache' -delete || die
+ # then our own one
+ touch "${D}$(python_get_sitedir)"/xmantissa/plugins/dropin.cache || die
+}
diff --git a/dev-python/mantissa/mantissa-0.8.1.ebuild b/dev-python/mantissa/mantissa-0.8.1.ebuild
new file mode 100644
index 000000000000..296f013ae235
--- /dev/null
+++ b/dev-python/mantissa/mantissa-0.8.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="${PN/m/M}"
+DESCRIPTION="An extensible, multi-protocol, multi-user, interactive application server"
+HOMEPAGE="https://github.com/twisted/mantissa"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# https://github.com/twisted/mantissa/issues/27
+# Source still missing a folder 'doc' that has required modules and
+# the fail / error rate is far higher then in 0.8.0
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/axiom-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/cssutils-0.9.5[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/nevow-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2012j[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-mail-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-conch-14.0.0[${PYTHON_USEDEP}]
+ >=dev-python/vertex-0.2[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+TWISTED_PLUGINS=( axiom.plugins nevow.plugins xmantissa.plugins )
+
+python_test() {
+ # https://github.com/twisted/mantissa/issues/27
+
+ trial xmantissa || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # remove foreign caches we don't want to own
+ find "${D}$(python_get_sitedir)" -name 'dropin.cache' -delete || die
+ # then our own one
+ touch "${D}$(python_get_sitedir)"/xmantissa/plugins/dropin.cache || die
+}
diff --git a/dev-python/mantissa/metadata.xml b/dev-python/mantissa/metadata.xml
new file mode 100644
index 000000000000..52fe40b7484f
--- /dev/null
+++ b/dev-python/mantissa/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Mantissa is an application server. It provides integration between
+ the AxiomProject object database, and the TwistedFramework, as well
+ as web user-interface utilities.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Mantissa</remote-id>
+ <remote-id type="github">twisted/mantissa</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/manuel/Manifest b/dev-python/manuel/Manifest
new file mode 100644
index 000000000000..43cfad12c779
--- /dev/null
+++ b/dev-python/manuel/Manifest
@@ -0,0 +1 @@
+DIST manuel-1.7.1-20130316.tar.bz2 24910 SHA256 4b23c562c84fe771d897b1ce237ba065940ffd5a847bc23bb6ec81070e0d0824 SHA512 94dab56165b92761aa710aba057338ba3062faa375600885e9943e067726ced492493bee5d203883dad604d424f8599fab35fd605e024e2a4139fb5e1a32698e WHIRLPOOL 75909a8fb55f264198733b3b0b0344c5a8e2039e23e55daab2a3dc4aba67ab7d0226ec4197e588a3625cf38062940008ebf0ca8c72a42b8b5077e2e1c38f39dd
diff --git a/dev-python/manuel/files/manuel-1.7-rm_zope_test.patch b/dev-python/manuel/files/manuel-1.7-rm_zope_test.patch
new file mode 100644
index 000000000000..3487e5f9a9fa
--- /dev/null
+++ b/dev-python/manuel/files/manuel-1.7-rm_zope_test.patch
@@ -0,0 +1,92 @@
+diff -ur manuel-1.7.1.orig/src/manuel/tests.py manuel-1.7.1/src/manuel/tests.py
+--- src/manuel/tests.py 2012-04-17 03:08:54.000000000 +0800
++++ src/manuel/tests.py 2012-05-21 20:43:20.981722893 +0800
+@@ -9,16 +9,17 @@
+ import os.path
+ import re
+ import unittest
+-import zope.testing.renormalizing
+
+ doctest = manuel.absolute_import('doctest')
+
+ here = os.path.dirname(os.path.abspath(__file__))
+
+-checker = zope.testing.renormalizing.RENormalizing([
++try:
++ checker = zope.testing.renormalizing.RENormalizing([
+ (re.compile(r"<unittest\.result\.TestResult"), '<unittest.TestResult'),
+ ])
+-
++except:
++ pass
+
+ def turtle_on_the_bottom_test():
+ """We use manuel to test itself.
+@@ -52,7 +53,6 @@
+ optionflags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
+
+ m = manuel.ignore.Manuel()
+- m += manuel.doctest.Manuel(optionflags=optionflags, checker=checker)
+ m += manuel.codeblock.Manuel()
+ m += manuel.capture.Manuel()
+ m += manuel.testcase.SectionManuel()
+@@ -66,3 +66,6 @@
+ suite,
+ doctest.DocTestSuite(),
+ ))
++
++if __name__ == '__main__':
++ unittest.TextTestRunner().run(test_suite())
+diff -ur manuel-1.7.1.orig/setup.py manuel-1.7.1/setup.py
+--- setup.py 2013-02-14 10:07:38.000000000 +0800
++++ setup.py 2013-03-15 23:21:18.834849031 +0800
+@@ -21,8 +21,6 @@
+ + open('CHANGES.txt').read()
+ )
+
+-tests_require = ['zope.testing']
+-
+ setup(
+ name='manuel',
+ version='1.7.1',
+@@ -38,10 +36,6 @@
+ 'Programming Language :: Python :: 3',
+ ],
+ license='ZPL',
+- extras_require={
+- 'tests': tests_require,
+- },
+- tests_require = tests_require,
+ test_suite = 'manuel.tests.test_suite',
+ install_requires=[
+ 'setuptools',
+diff -ur manuel-1.7.1.orig/src/manuel/index.txt manuel-1.7.1/src/manuel/index.txt
+--- src/manuel/index.txt 2012-04-17 03:08:54.000000000 +0800
++++ src/manuel/index.txt 2012-04-28 05:43:26.918993769 +0800
+@@ -166,16 +166,16 @@
+
+ .. code-block:: python
+
+- import os.path
+- import manuel.testing
++ import os.path
++ import manuel.testing
+
+- class StripDirsTestCase(manuel.testing.TestCase):
+- def shortDescription(self):
++ class StripDirsTestCase(manuel.testing.TestCase):
++ def shortDescription(self):
+ return os.path.basename(str(self))
+- suite = manuel.testing.TestSuite(
+- m, path_to_test, TestCase=StripDirsTestCase)
++ suite = manuel.testing.TestSuite(
++ m, path_to_test, TestCase=StripDirsTestCase)
+
+- >>> list(suite)[0].shortDescription()
++ list(suite)[0].shortDescription()
+ 'bugs.txt'
+
+
+
+
+
diff --git a/dev-python/manuel/manuel-1.7.1.ebuild b/dev-python/manuel/manuel-1.7.1.ebuild
new file mode 100644
index 000000000000..21f997bf718b
--- /dev/null
+++ b/dev-python/manuel/manuel-1.7.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Manuel lets you build tested documentation"
+HOMEPAGE="https://github.com/benji-york/manuel/ http://pypi.python.org/pypi/manuel"
+# A snapshot was required since upstream missed out half the source
+SRC_URI="http://dev.gentoo.org/~idella4/tarballs/${P}-20130316.tar.bz2"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# Required to run tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( CHANGES.txt )
+
+PATCHES=( "${FILESDIR}"/${PN}-1.7-rm_zope_test.patch )
+
+python_test() {
+ PYTHONPATH=src/ esetup.py test
+}
diff --git a/dev-python/manuel/metadata.xml b/dev-python/manuel/metadata.xml
new file mode 100644
index 000000000000..b811e3f692ab
--- /dev/null
+++ b/dev-python/manuel/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">benji-york/manuel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
new file mode 100644
index 000000000000..43a78c806205
--- /dev/null
+++ b/dev-python/markdown/Manifest
@@ -0,0 +1,3 @@
+DIST Markdown-2.5.1.tar.gz 288970 SHA256 8f81ed12c18608a502828acb7d318f362c42f4eca97d01e93cadfc52c1e40b73 SHA512 27f0d3909d6aa1e0ae15403da1cdfafcbfd463d7a236e0ea0cf02c55efa8f863c2554d54e20b0d9f58d80502dbf333120431474f16c64883001e5a318866eeb0 WHIRLPOOL 88f76fcb744ad6b8429442de409275c655a85039475d6dab11031a141e148286cc56d7865f590b432bfcf91af4965963989dae9a68a01e6931f367f425f83420
+DIST Markdown-2.6.1.tar.gz 298074 SHA256 b5879b87e8e5c125c92ab8c8f3babce78ad4e840446eed73c5b6e2984648d2b1 SHA512 53e11c5d4feacdb8210427da65b6b09453e8c904e86b42095a80132a4b67e926ba974458769e5227bfeaddd3bba5f6bd7ca7e3385951982ec982f63989119d78 WHIRLPOOL 58b6d87354ee19aac7ad1567e10f2cdc99c1aa980d3bee2fee81a5ccb5e70f43d13750dfaf1df9a42c00f3d35664731b52bfa1246271907f5a3422281ede1cc6
+DIST Markdown-2.6.2.tar.gz 298231 SHA256 ee17d0d7dc091e645dd48302a2e21301cc68f188505c2069d8635f94554170bf SHA512 a69dabf65187f54d200f59191a149bfe2109f94ffc5d003e15c2e6333c0b5fdeebfc4136842d7be5a15bc903b7a22120a4ccba2722858194c43fd09cd8fbea16 WHIRLPOOL a3c74f150e6e140b0b0500d0694b89b8e6836adef66cd2c14a1ad5ff8d4dc202b35fae8a0c9683e53030fc80792885cd4b22c46729963a683ebbbb5101963dd7
diff --git a/dev-python/markdown/files/markdown-2.2.0-tests.patch b/dev-python/markdown/files/markdown-2.2.0-tests.patch
new file mode 100644
index 000000000000..ef05702c643b
--- /dev/null
+++ b/dev-python/markdown/files/markdown-2.2.0-tests.patch
@@ -0,0 +1,80 @@
+https://github.com/waylan/Python-Markdown/issues/112
+https://github.com/waylan/Python-Markdown/commit/5b3e724fb78da73ab87fb34e4ac9d9299773cfed
+
+--- markdown/__init__.py
++++ markdown/__init__.py
+@@ -37,6 +37,7 @@
+ import codecs
+ import sys
+ import logging
++import warnings
+ import util
+ from preprocessors import build_preprocessors
+ from blockprocessors import build_block_parser
+@@ -163,10 +164,10 @@
+ if isinstance(ext, basestring):
+ ext = self.build_extension(ext, configs.get(ext, []))
+ if isinstance(ext, Extension):
+- # might raise NotImplementedError, but that's the extension author's problem
+ ext.extendMarkdown(self, globals())
+ elif ext is not None:
+- raise ValueError('Extension "%s.%s" must be of type: "markdown.Extension".' \
++ raise TypeError(
++ 'Extension "%s.%s" must be of type: "markdown.Extension"'
+ % (ext.__class__.__module__, ext.__class__.__name__))
+
+ return self
+@@ -200,19 +201,22 @@
+ module_name_old_style = '_'.join(['mdx', ext_name])
+ try: # Old style (mdx_<extension>)
+ module = __import__(module_name_old_style)
+- except ImportError:
+- logger.warn("Failed loading extension '%s' from '%s' or '%s'"
+- % (ext_name, module_name, module_name_old_style))
+- # Return None so we don't try to initiate none-existant extension
+- return None
++ except ImportError, e:
++ message = "Failed loading extension '%s' from '%s' or '%s'" \
++ % (ext_name, module_name, module_name_old_style)
++ e.args = (message,) + e.args[1:]
++ raise
+
+ # If the module is loaded successfully, we expect it to define a
+ # function called makeExtension()
+ try:
+ return module.makeExtension(configs.items())
+ except AttributeError, e:
+- logger.warn("Failed to initiate extension '%s': %s" % (ext_name, e))
+- return None
++ message = e.args[0]
++ message = "Failed to initiate extension " \
++ "'%s': %s" % (ext_name, message)
++ e.args = (message,) + e.args[1:]
++ raise
+
+ def registerExtension(self, extension):
+ """ This gets called by the extension """
+--- tests/test_apis.py
++++ tests/test_apis.py
+@@ -245,18 +245,18 @@
+
+ def testLoadExtensionFailure(self):
+ """ Test failure of an extension to load. """
+- self.assertRaises(ValueError,
++ self.assertRaises(ImportError,
+ markdown.Markdown, extensions=['non_existant_ext'])
+
+ def testLoadBadExtension(self):
+ """ Test loading of an Extension with no makeExtension function. """
+ _create_fake_extension(name='fake', has_factory_func=False)
+- self.assertRaises(ValueError, markdown.Markdown, extensions=['fake'])
++ self.assertRaises(AttributeError, markdown.Markdown, extensions=['fake'])
+
+ def testNonExtension(self):
+ """ Test loading a non Extension object as an extension. """
+ _create_fake_extension(name='fake', is_wrong_type=True)
+- self.assertRaises(ValueError, markdown.Markdown, extensions=['fake'])
++ self.assertRaises(TypeError, markdown.Markdown, extensions=['fake'])
+
+ def testBaseExtention(self):
+ """ Test that the base Extension class will raise NotImplemented. """
diff --git a/dev-python/markdown/markdown-2.5.1.ebuild b/dev-python/markdown/markdown-2.5.1.ebuild
new file mode 100644
index 000000000000..1eec1250953c
--- /dev/null
+++ b/dev-python/markdown/markdown-2.5.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Markdown"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="http://www.freewisdom.org/projects/python-markdown http://pypi.python.org/pypi/Markdown"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test pygments"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+# source cites pytidylib however from testruns it appears optional
+RDEPEND="pygments? ( dev-python/pygments[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_docs
+}
+
+python_test() {
+ cp -r -l run-tests.py tests "${BUILD_DIR}"/ || die
+ pushd "${BUILD_DIR}" > /dev/null
+ "${PYTHON}" run-tests.py || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ # make use doc do a doc build
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/markdown/markdown-2.6.1.ebuild b/dev-python/markdown/markdown-2.6.1.ebuild
new file mode 100644
index 000000000000..482fedce7ff8
--- /dev/null
+++ b/dev-python/markdown/markdown-2.6.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Markdown"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="http://www.freewisdom.org/projects/python-markdown http://pypi.python.org/pypi/Markdown"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test pygments"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+# source cites pytidylib however from testruns it appears optional
+RDEPEND="pygments? ( dev-python/pygments[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_docs
+}
+
+python_test() {
+ cp -r -l run-tests.py tests "${BUILD_DIR}"/ || die
+ pushd "${BUILD_DIR}" > /dev/null
+ "${PYTHON}" run-tests.py || die "Tests fail with ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ # make use doc do a doc build
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/markdown/markdown-2.6.2.ebuild b/dev-python/markdown/markdown-2.6.2.ebuild
new file mode 100644
index 000000000000..c66101e15448
--- /dev/null
+++ b/dev-python/markdown/markdown-2.6.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Markdown"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="http://www.freewisdom.org/projects/python-markdown http://pypi.python.org/pypi/Markdown"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test pygments"
+
+DEPEND="
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+# source cites pytidylib however from testruns it appears optional
+RDEPEND="pygments? ( dev-python/pygments[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && esetup.py build_docs
+}
+
+python_test() {
+ cp -r -l run-tests.py tests "${BUILD_DIR}"/ || die
+ cd "${BUILD_DIR}" || die
+ "${PYTHON}" run-tests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ # make use doc do a doc build
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/markdown/metadata.xml b/dev-python/markdown/metadata.xml
new file mode 100644
index 000000000000..46571022df6a
--- /dev/null
+++ b/dev-python/markdown/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="pygments">Enable fancy pygments support</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">Markdown</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/markdown2/Manifest b/dev-python/markdown2/Manifest
new file mode 100644
index 000000000000..c4701abe248c
--- /dev/null
+++ b/dev-python/markdown2/Manifest
@@ -0,0 +1,3 @@
+DIST markdown2-2.2.1.zip 138508 SHA256 1e529b016e094402ba1a632f9db77eb168cd085d7cb81309a55b33c3e72999b9 SHA512 a97fbb80c7b7b7ebc7e3048e1eecc97f3df8052db4f5e7cf38b4f8e170c102dfe732070bcfe85de0331a27af8ea9fa4be81c7b80f37f3cbd5b11acc0489f1561 WHIRLPOOL 318a97e4a91d6054d3de6479f6ea5cd93a2f56f3e5e732bed70547e7594e11ffce3cb927e34530a79ed5996caf7900959f15da66ad1d1f12a3235ead6d9d39d8
+DIST markdown2-2.2.3.zip 142502 SHA256 30a5c7e814e0011b8a60e2efefc375af0734c36ed5acf2b971d0f446588850bf SHA512 2aed0cce3ed3c1d3e52d4836d296d56a16a7652f1cf5d19cbb4a1bb800424abd2f068655f06d9c4fc00fede312710d7ed558d71864cd3090ae0703d1e74bb8a1 WHIRLPOOL 94a0f3bc41919dad042a1c8ce06858b1c9be49c6159ccb26ed608279e39b6dc223911700d5776ce7b02197c4397ee66af92e0c4de49144bf242b538cadee2919
+DIST markdown2-2.3.0.zip 145194 SHA256 c8e29ba47a0e408bb92df75d5c6361c84268c54c5320d53ffd4961c546f77f1c SHA512 48bf8e26b34c48c0c12fc0f110b09d3232ea3394db3325d50639adf5cefb603344ee97b116e09b574f7c7414ab4a8293ddc37ca6706e41baaa14e399fa467d5f WHIRLPOOL 1ca759c7f08437d98304849de2259576fbb813845dee5282a54e0a8940b2b76ba9dd31912894ac63f336f1aecaa00a566c39d87ddcc48d11daee3f981fd933a0
diff --git a/dev-python/markdown2/markdown2-2.2.1.ebuild b/dev-python/markdown2/markdown2-2.2.1.ebuild
new file mode 100644
index 000000000000..c31b424ceb1c
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.2.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Markdown language reimplementation"
+SRC_URI="mirror://pypi/m/markdown2/${P}.zip"
+HOMEPAGE="http://github.com/trentm/python-markdown2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ rm -f test/tm-cases/issue52* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/markdown2/markdown2-2.2.3.ebuild b/dev-python/markdown2/markdown2-2.2.3.ebuild
new file mode 100644
index 000000000000..3c98cc58cee1
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Markdown language reimplementation"
+SRC_URI="mirror://pypi/m/markdown2/${P}.zip"
+HOMEPAGE="http://github.com/trentm/python-markdown2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ rm -f test/tm-cases/issue52* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/markdown2/markdown2-2.3.0.ebuild b/dev-python/markdown2/markdown2-2.3.0.ebuild
new file mode 100644
index 000000000000..8d34b7bad44c
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.3.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Markdown language reimplementation"
+SRC_URI="mirror://pypi/m/markdown2/${P}.zip"
+HOMEPAGE="http://github.com/trentm/python-markdown2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # [issue52, knownfailure]
+ rm -f test/tm-cases/issue52* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/markdown2/metadata.xml b/dev-python/markdown2/metadata.xml
new file mode 100644
index 000000000000..6031ef0e9e7a
--- /dev/null
+++ b/dev-python/markdown2/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <email/>
+ <name>Trent Mick</name>
+ </maintainer>
+ <bugs-to>http://github.com/trentm/python-markdown2/issues</bugs-to>
+ <remote-id type="pypi">markdown2</remote-id>
+ <remote-id type="github">trentm/python-markdown2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/markups/Manifest b/dev-python/markups/Manifest
new file mode 100644
index 000000000000..ee8e05c11e90
--- /dev/null
+++ b/dev-python/markups/Manifest
@@ -0,0 +1,3 @@
+DIST Markups-0.2.4.tar.gz 8827 SHA256 0aab138698035e699fad1c88bebb3fa5e90a1876bc7d8fefb3491513fe13f16b SHA512 369eda02474f723d694bc0518324afde9f5baef02719448abb420a77d58cf1543939e6d38aa1db531d4214dc4cd4c47b29d79fa7a23b33b4ae74b45ad2ec52c7 WHIRLPOOL 1118723f5b9725b68d052e2496ccee414782bd6cceaedc49f9c2918c4055145fb95d49cf962c46eb669ab7a3a8659b86ed54fa5b99f6ac91266cebc4ecf01b10
+DIST Markups-0.6.1.tar.gz 19116 SHA256 1f3d6f7b85ac9ddcb936b8b2b6fa15a42ddc9dfc22a075d83d9160b5d59f6d84 SHA512 f1354af48aadb43459e8f0c2013d283c4f6170f608c4ca4a2dd21e77c6fc2383bd6a1631efc9a8878c4a0ba59249528222ba01d1a38ed3f02c6890d42c6afdb9 WHIRLPOOL 2db23d6cb9a282eb461a6ff49b21d1e1a57b6bc970739413efe4bbffdff6bc55d076db4546f0ff458c9cd8b66c389daa21e9cad7341d614109891c9a2b46acc2
+DIST Markups-0.6.3.tar.gz 19285 SHA256 e3ff5de2be018240c526e017972b37181cb3d5dfb7c96ad14eae6639140f58ef SHA512 61b3921595628f577d335c9eb7e405435c1547a6d5d06396e4181a0f3ac0bce8f5a72b5c51568ceeec96c86524ec4baa1cbcb807f545a630a87d807b9e12c97b WHIRLPOOL 9aad9486e57831fbca7124cb06dc84fd69df3036d7f08e8168b9969e83b58a32250cb82c90b70344f60d30c03fb3c7171f698fb8ba6ea23f5c296bb6d8b80ba2
diff --git a/dev-python/markups/markups-0.2.4-r1.ebuild b/dev-python/markups/markups-0.2.4-r1.ebuild
new file mode 100644
index 000000000000..f2140c478e7d
--- /dev/null
+++ b/dev-python/markups/markups-0.2.4-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Markups"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A wrapper around various text markups"
+HOMEPAGE="http://pypi.python.org/pypi/Markups"
+SRC_URI="mirror://pypi/M/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+S="${WORKDIR}"/${MY_P}
+
+DEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ pushd tests > /dev/null
+ for test in test_*.py ; do
+ local testName="$(echo ${test} | sed 's/test_\(.*\).py/\1/g')"
+ einfo "Running test '${testName}' with '${EPYTHON}'."
+ ${EPYTHON} ${test} || die "Test '${testName}' with '${EPYTHON}' failed."
+ done
+ popd tests > /dev/null
+}
diff --git a/dev-python/markups/markups-0.6.1.ebuild b/dev-python/markups/markups-0.6.1.ebuild
new file mode 100644
index 000000000000..703b6cfcc322
--- /dev/null
+++ b/dev-python/markups/markups-0.6.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Markups"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A wrapper around various text markups"
+HOMEPAGE="http://pypi.python.org/pypi/Markups"
+SRC_URI="mirror://pypi/M/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}"/${MY_P}
+
+DEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ pushd tests > /dev/null
+ for test in test_*.py ; do
+ local testName="$(echo ${test} | sed 's/test_\(.*\).py/\1/g')"
+ if [[ ${testName} == "web" ]]; then
+ $(python_is_python3) || continue
+ fi
+ einfo "Running test '${testName}' with '${EPYTHON}'."
+ ${EPYTHON} ${test} || die "Test '${testName}' with '${EPYTHON}' failed."
+ done
+ popd tests > /dev/null
+}
diff --git a/dev-python/markups/markups-0.6.3.ebuild b/dev-python/markups/markups-0.6.3.ebuild
new file mode 100644
index 000000000000..703b6cfcc322
--- /dev/null
+++ b/dev-python/markups/markups-0.6.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Markups"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A wrapper around various text markups"
+HOMEPAGE="http://pypi.python.org/pypi/Markups"
+SRC_URI="mirror://pypi/M/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}"/${MY_P}
+
+DEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ pushd tests > /dev/null
+ for test in test_*.py ; do
+ local testName="$(echo ${test} | sed 's/test_\(.*\).py/\1/g')"
+ if [[ ${testName} == "web" ]]; then
+ $(python_is_python3) || continue
+ fi
+ einfo "Running test '${testName}' with '${EPYTHON}'."
+ ${EPYTHON} ${test} || die "Test '${testName}' with '${EPYTHON}' failed."
+ done
+ popd tests > /dev/null
+}
diff --git a/dev-python/markups/metadata.xml b/dev-python/markups/metadata.xml
new file mode 100644
index 000000000000..b871cab52806
--- /dev/null
+++ b/dev-python/markups/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Markups</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/markupsafe/Manifest b/dev-python/markupsafe/Manifest
new file mode 100644
index 000000000000..2107fc471338
--- /dev/null
+++ b/dev-python/markupsafe/Manifest
@@ -0,0 +1 @@
+DIST MarkupSafe-0.23.tar.gz 13416 SHA256 a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3 SHA512 4f1fd91ced5e7119584b56cf7b69cfe6fdd9613bd77412368a38e9ef5d1011ba5c76d1d3a0da3d60f9f474627e6c8c8b613a80a668b32d212f09072f8b1f5b28 WHIRLPOOL 8104a8a795ed2e6b63a126fcbe2c8361ba21f9fee10e00f2b80aeafc55ea52daaf03b849d0ddbcbe5c244dbfef744c6e30f0c4681bc9108e2791afd438fba8d1
diff --git a/dev-python/markupsafe/markupsafe-0.23.ebuild b/dev-python/markupsafe/markupsafe-0.23.ebuild
new file mode 100644
index 000000000000..468296b3115d
--- /dev/null
+++ b/dev-python/markupsafe/markupsafe-0.23.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3)
+inherit distutils-r1
+
+MY_PN="MarkupSafe"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
+HOMEPAGE="http://pypi.python.org/pypi/MarkupSafe"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile() {
+ distutils-r1_python_compile
+ if [[ ${EPYTHON} == python3.2 ]]; then
+ 2to3 --no-diffs -n -w -f unicode ${PN} || die
+ fi
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/markupsafe/metadata.xml b/dev-python/markupsafe/metadata.xml
new file mode 100644
index 000000000000..5eb521f7c15b
--- /dev/null
+++ b/dev-python/markupsafe/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">MarkupSafe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
new file mode 100644
index 000000000000..a73396a88671
--- /dev/null
+++ b/dev-python/matplotlib/Manifest
@@ -0,0 +1,2 @@
+DIST matplotlib-1.4.2.tar.gz 50139344 SHA256 17a3c7154f152d8dfed1f37517c0a8c5db6ade4f6334f684989c36dab84ddb54 SHA512 3525f4e6414042fabf8d18ce9041d61197465dc07c766730c187a512277907ba33f56d49d5a468d82f65bce57217e8eb48ecfa143e55152a15607b79a7b25adc WHIRLPOOL ce6e5a15676b939bda7ad1be0f27766314f60ed44ebfba1e73d2c3d00a31d5492722cde73f943de72da038772519068602e60c830af9ffdf52710a24ce98fe7a
+DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
new file mode 100644
index 000000000000..d5a4ae39bad5
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
@@ -0,0 +1,26 @@
+--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
++++ setupext.py 2013-08-02 09:40:14.785304342 +0200
+@@ -749,22 +749,7 @@
+ return str(e) + ' Using local copy.'
+
+ def add_flags(self, ext):
+- if self.found_external:
+- pkg_config.setup_extension(ext, 'libagg')
+- else:
+- ext.include_dirs.append('agg24/include')
+- agg_sources = [
+- 'agg_bezier_arc.cpp',
+- 'agg_curves.cpp',
+- 'agg_image_filters.cpp',
+- 'agg_trans_affine.cpp',
+- 'agg_vcgen_contour.cpp',
+- 'agg_vcgen_dash.cpp',
+- 'agg_vcgen_stroke.cpp',
+- 'agg_vpgen_segmentator.cpp'
+- ]
+- ext.sources.extend(
+- os.path.join('agg24', 'src', x) for x in agg_sources)
++ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
+
+
+ class FreeType(SetupPackage):
diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
new file mode 100644
index 000000000000..c27922eb11d6
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
@@ -0,0 +1,22 @@
+diff --git a/setupext.py b/setupext.py
+index 7b629b6..8131bb1 100644
+--- a/setupext.py
++++ b/setupext.py
+@@ -674,16 +674,9 @@ class CXX(SetupPackage):
+ name = 'pycxx'
+
+ def check(self):
+- if sys.version_info[0] >= 3:
+- # There is no version of PyCXX in the wild that will work
+- # with Python 3.x
+- self.__class__.found_external = False
+- return ("Official versions of PyCXX are not compatible with "
+- "Python 3.x. Using local copy")
+-
+ self.__class__.found_external = True
+ old_stdout = sys.stdout
+- sys.stdout = io.BytesIO()
++ #sys.stdout = io.BytesIO()
+ try:
+ import CXX
+ except ImportError:
diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
new file mode 100644
index 000000000000..065731441311
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
@@ -0,0 +1,50 @@
+https://github.com/matplotlib/matplotlib/pull/4430
+
+From 08d26a80859023963bc2ffb41a0b6aed942685a9 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Fri, 15 May 2015 03:36:45 -0400
+Subject: [PATCH 1/3] setupext: respect $PKG_CONFIG
+
+When cross-compiling, it is common to set the PKG_CONFIG env var to a
+custom pkg-config that knows about the target. Make sure we respect
+that just like the standard pkg-config tools suggest (pkg.m4). If it
+isn't set, we use the same default as today -- "pkg-config".
+---
+ setupext.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/setupext.py b/setupext.py
+index 80b2a6c..29cddf9 100755
+--- a/setupext.py
++++ b/setupext.py
+@@ -253,7 +253,8 @@ class PkgConfig(object):
+ self.has_pkgconfig = False
+ else:
+ self.set_pkgconfig_path()
+- status, output = getstatusoutput("pkg-config --help")
++ self.pkgconfig = os.environ.get('PKG_CONFIG', 'pkg-config')
++ status, output = getstatusoutput("%s --help" % self.pkgconfig)
+ self.has_pkgconfig = (status == 0)
+ if not self.has_pkgconfig:
+ print("IMPORTANT WARNING:")
+@@ -286,7 +287,7 @@ class PkgConfig(object):
+
+ executable = alt_exec
+ if self.has_pkgconfig:
+- executable = 'pkg-config {0}'.format(package)
++ executable = '%s %s' % (self.pkgconfig, package)
+
+ use_defaults = True
+
+@@ -330,7 +331,7 @@ class PkgConfig(object):
+ return None
+
+ status, output = getstatusoutput(
+- "pkg-config %s --modversion" % (package))
++ '%s %s --modversion' % (self.pkgconfig, package))
+ if status == 0:
+ return output
+ return None
+--
+2.4.0
+
diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
new file mode 100644
index 000000000000..9580c70b2ae9
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
@@ -0,0 +1,54 @@
+https://github.com/matplotlib/matplotlib/pull/4430
+
+From 3761303016cab0542891374032eca87e74d585bf Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Fri, 15 May 2015 03:43:17 -0400
+Subject: [PATCH 2/3] setupext: do not mess with PKG_CONFIG_PATH
+
+The current code always sets PKG_CONFIG_PATH to build paths in / which
+breaks cross-compiling -- things like /usr/lib are for the build system
+(e.g. x86) and not for the target (e.g. arm). Since we're adding paths
+that are already the default for pkg-config, there's no point in trying
+to be smart here. Just punt the code.
+
+This basically reverts commit 101beb975d3a1218350f02bf68dc2a43ac8ff148.
+---
+ setupext.py | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/setupext.py b/setupext.py
+index 29cddf9..57d80e7 100755
+--- a/setupext.py
++++ b/setupext.py
+@@ -252,7 +252,6 @@ class PkgConfig(object):
+ if sys.platform == 'win32':
+ self.has_pkgconfig = False
+ else:
+- self.set_pkgconfig_path()
+ self.pkgconfig = os.environ.get('PKG_CONFIG', 'pkg-config')
+ status, output = getstatusoutput("%s --help" % self.pkgconfig)
+ self.has_pkgconfig = (status == 0)
+@@ -262,20 +261,6 @@ class PkgConfig(object):
+ " pkg-config is not installed.\n"
+ " matplotlib may not be able to find some of its dependencies")
+
+- def set_pkgconfig_path(self):
+- pkgconfig_path = sysconfig.get_config_var('LIBDIR')
+- if pkgconfig_path is None:
+- return
+-
+- pkgconfig_path = os.path.join(pkgconfig_path, 'pkgconfig')
+- if not os.path.isdir(pkgconfig_path):
+- return
+-
+- try:
+- os.environ['PKG_CONFIG_PATH'] += ':' + pkgconfig_path
+- except KeyError:
+- os.environ['PKG_CONFIG_PATH'] = pkgconfig_path
+-
+ def setup_extension(self, ext, package, default_include_dirs=[],
+ default_library_dirs=[], default_libraries=[],
+ alt_exec=None):
+--
+2.4.0
+
diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
new file mode 100644
index 000000000000..21fdf128863c
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
@@ -0,0 +1,58 @@
+https://github.com/matplotlib/matplotlib/pull/4430
+
+From d077e49be318c851f6bbd64708efeed78a3ece3f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Fri, 15 May 2015 03:49:02 -0400
+Subject: [PATCH 3/3] setupext: do not hardcode system -I/-L paths
+
+The native compiler should already know the right paths to look for
+includes and libraries. Hardcoding a specific list of those paths
+breaks both cross-compiling and multilib. In the former, paths like
+/usr/include and /usr/lib are for x86 but when you want to build for
+arm, mixing them leads to bad failures. In the latter, paths like
+/usr/lib typically hold 32it libraries, but when you're building for
+64bit, you want the libs from /usr/lib64. This goes even further as
+there are other mixed ABIs like /usr/libx32 and /usr/lib32, neither
+of which are handled here.
+
+Instead, delete the code entirely and rely on the compiler being
+properly configured. If you want to use a misconfigured compiler,
+you can always set CFLAGS/CPPFLAGS/LDFLAGS to include the -I/-L
+that your system needs.
+---
+ setupext.py | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/setupext.py b/setupext.py
+index 57d80e7..7473e3a 100755
+--- a/setupext.py
++++ b/setupext.py
+@@ -216,9 +216,7 @@ sysconfig.customize_compiler = my_customize_compiler
+
+ def make_extension(name, files, *args, **kwargs):
+ """
+- Make a new extension. Automatically sets include_dirs and
+- library_dirs to the base directories appropriate for this
+- platform.
++ Make a new extension.
+
+ `name` is the name of the extension.
+
+@@ -228,14 +226,6 @@ def make_extension(name, files, *args, **kwargs):
+ `distutils.core.Extension` constructor.
+ """
+ ext = DelayedExtension(name, files, *args, **kwargs)
+- for dir in get_base_dirs():
+- include_dir = os.path.join(dir, 'include')
+- if os.path.exists(include_dir):
+- ext.include_dirs.append(include_dir)
+- for lib in ('lib', 'lib64'):
+- lib_dir = os.path.join(dir, lib)
+- if os.path.exists(lib_dir):
+- ext.library_dirs.append(lib_dir)
+ ext.include_dirs.append('.')
+
+ return ext
+--
+2.4.0
+
diff --git a/dev-python/matplotlib/matplotlib-1.4.2.ebuild b/dev-python/matplotlib/matplotlib-1.4.2.ebuild
new file mode 100644
index 000000000000..defc79b79f4b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-1.4.2.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils flag-o-matic virtualx
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="cairo doc excel examples fltk gtk gtk3 latex pyside qt4 test tk wxwidgets"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+COMMON_DEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ media-fonts/stix-fonts
+ >=media-libs/freetype-2.3
+ media-libs/libpng:0
+ media-libs/qhull
+ gtk? (
+ dev-libs/glib:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2=
+ dev-python/pygtk[${PY2_USEDEP}] )
+ wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/dvipng
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PY2_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ media-gfx/graphviz[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ cairo? (
+ || (
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ )
+ excel? ( dev-python/xlwt[${PY2_USEDEP}] )
+ fltk? ( dev-python/pyfltk[${PY2_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection] )
+ latex? (
+ virtual/latex-base
+ app-text/ghostscript-gpl
+ app-text/dvipng
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+ qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+ doc? ( ${PY2_FLAGS} )
+ excel? ( ${PY2_FLAGS} )
+ fltk? ( ${PY2_FLAGS} )
+ gtk? ( ${PY2_FLAGS} )
+ wxwidgets? ( ${PY2_FLAGS} )
+ test? (
+ cairo fltk latex pyside qt4 tk wxwidgets
+ || ( gtk gtk3 )
+ )"
+
+RESTRICT="mirror"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use ${1}; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ # suggested by upstream
+ sed \
+ -e '/tol/s:32:35:g' \
+ -i lib/matplotlib/tests/test_mathtext.py || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF
+ [directories]
+ basedirlist = "${EPREFIX}/usr"
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [gui_support]
+ agg = True
+ $(use_setup cairo)
+ $(use_setup pyside)
+ $(use_setup qt4)
+ $(use_setup tk)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+
+ if $(python_is_python3); then
+ cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
+ six = True
+ fltk = False
+ fltkagg = False
+ gtk = False
+ gtkagg = False
+ wx = False
+ wxagg = False
+ EOF
+ else
+ cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
+ six = False
+ $(use_setup fltk)
+ $(use_setup gtk)
+ $(use_setup gtk3)
+ $(use_setup wxwidgets wx)
+ EOF
+ fi
+}
+
+wrap_setup() {
+ local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+ export MPLSETUPCFG
+
+ # Note: remove build... if switching to out-of-source build
+ "${@}" build --build-lib="${BUILD_DIR}"/build/lib
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ "${PYTHON}" ./make.py --small html || die
+ fi
+}
+
+python_test() {
+ wrap_setup distutils_install_for_testing
+
+ cd "${TMPDIR}" || die
+ VIRTUALX_COMMAND="${PYTHON}"
+ virtualmake -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || \
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/matplotlib/matplotlib-1.4.3.ebuild b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
new file mode 100644
index 000000000000..df777aa8c329
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils flag-o-matic virtualx toolchain-funcs
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="cairo doc excel examples fltk gtk gtk3 latex pyside qt4 qt5 test tk wxwidgets"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+COMMON_DEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/qhull
+ gtk? (
+ dev-libs/glib:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ dev-python/pygtk[${PY2_USEDEP}] )
+ wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/dvipng
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PY2_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ media-gfx/graphviz[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ cairo? (
+ || (
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ )
+ excel? ( dev-python/xlwt[${PY2_USEDEP}] )
+ fltk? ( dev-python/pyfltk[${PY2_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection] )
+ latex? (
+ virtual/latex-base
+ app-text/ghostscript-gpl
+ app-text/dvipng
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+ qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
+ qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
+ "
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+ doc? ( ${PY2_FLAGS} )
+ excel? ( ${PY2_FLAGS} )
+ fltk? ( ${PY2_FLAGS} )
+ gtk? ( ${PY2_FLAGS} )
+ wxwidgets? ( ${PY2_FLAGS} )
+ test? (
+ cairo fltk latex pyside qt5 qt4 tk wxwidgets
+ || ( gtk gtk3 )
+ )"
+
+RESTRICT="mirror"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use ${1}; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ epatch "${FILESDIR}"/${PN}-1.4.3-cross-compile-{1,2,3}.patch
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ # suggested by upstream
+ sed \
+ -e '/tol/s:32:35:g' \
+ -i lib/matplotlib/tests/test_mathtext.py || die
+
+ sed \
+ -e "s:/usr/:${EPREFIX}/usr/:g" \
+ -i setupext.py || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF
+ [directories]
+ basedirlist = "${EPREFIX}/usr"
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [gui_support]
+ agg = True
+ $(use_setup cairo)
+ $(use_setup pyside)
+ $(use_setup qt4)
+ $(use_setup qt5)
+ $(use_setup tk)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+
+ if $(python_is_python3); then
+ cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
+ six = True
+ fltk = False
+ fltkagg = False
+ gtk = False
+ gtkagg = False
+ wx = False
+ wxagg = False
+ EOF
+ else
+ cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
+ six = False
+ $(use_setup fltk)
+ $(use_setup gtk)
+ $(use_setup gtk3)
+ $(use_setup wxwidgets wx)
+ EOF
+ fi
+}
+
+wrap_setup() {
+ local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+ export MPLSETUPCFG
+
+ # Note: remove build... if switching to out-of-source build
+ "${@}" build --build-lib="${BUILD_DIR}"/build/lib
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ "${PYTHON}" ./make.py --small html || die
+ fi
+}
+
+python_test() {
+ wrap_setup distutils_install_for_testing
+
+ cd "${TMPDIR}" || die
+ VIRTUALX_COMMAND="${PYTHON}"
+ virtualmake -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || \
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/matplotlib/matplotlib-9999.ebuild b/dev-python/matplotlib/matplotlib-9999.ebuild
new file mode 100644
index 000000000000..1e63422cbf85
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-9999.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils flag-o-matic git-r3 virtualx
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/matplotlib/matplotlib.git"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS=""
+IUSE="cairo doc excel examples fltk gtk gtk3 latex pyside qt4 qt5 test tk wxwidgets"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+COMMON_DEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/qhull
+ gtk? (
+ dev-libs/glib:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ dev-python/pygtk[${PY2_USEDEP}] )
+ wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-text/dvipng
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PY2_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ media-gfx/graphviz[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ cairo? ( dev-python/pycairo[${PYTHON_USEDEP}] )
+ excel? ( dev-python/xlwt[${PY2_USEDEP}] )
+ fltk? ( dev-python/pyfltk[${PY2_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection] )
+ latex? (
+ virtual/latex-base
+ app-text/ghostscript-gpl
+ app-text/dvipng
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+ qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
+ qt5? ( dev-python/PyQt5[X,${PYTHON_USEDEP}] )
+ "
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+ doc? ( ${PY2_FLAGS} )
+ excel? ( ${PY2_FLAGS} )
+ fltk? ( ${PY2_FLAGS} )
+ gtk? ( ${PY2_FLAGS} )
+ wxwidgets? ( ${PY2_FLAGS} )
+ test? (
+ cairo fltk latex pyside qt4 tk wxwidgets
+ || ( gtk gtk3 )
+ )"
+
+RESTRICT="mirror"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use ${1}; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ # suggested by upstream
+ sed \
+ -e '/tol/s:32:35:g' \
+ -i lib/matplotlib/tests/test_mathtext.py || die
+
+ sed \
+ -e "s:/usr/:${EPREFIX}/usr/:g" \
+ -i setupext.py || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF
+ [directories]
+ basedirlist = "${EPREFIX}/usr"
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [gui_support]
+ agg = True
+ $(use_setup cairo)
+ $(use_setup pyside)
+ $(use_setup qt4)
+ $(use_setup qt5)
+ $(use_setup tk)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+
+ if $(python_is_python3); then
+ cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
+ six = True
+ fltk = False
+ fltkagg = False
+ gtk = False
+ gtkagg = False
+ wx = False
+ wxagg = False
+ EOF
+ else
+ cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
+ six = False
+ $(use_setup fltk)
+ $(use_setup gtk)
+ $(use_setup gtk3)
+ $(use_setup wxwidgets wx)
+ EOF
+ fi
+}
+
+wrap_setup() {
+ local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+ export MPLSETUPCFG
+
+ # Note: remove build... if switching to out-of-source build
+ "${@}" build --build-lib="${BUILD_DIR}"/build/lib
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ "${PYTHON}" ./make.py --small html || die
+ fi
+}
+
+python_test() {
+ wrap_setup distutils_install_for_testing
+
+ cd "${TMPDIR}" || die
+ VIRTUALX_COMMAND="${PYTHON}"
+ virtualmake -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || \
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/matplotlib/metadata.xml b/dev-python/matplotlib/metadata.xml
new file mode 100644
index 000000000000..99ad12592dcb
--- /dev/null
+++ b/dev-python/matplotlib/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ matplotlib is an interactive library for plotting and doing basic
+ data analysis in python with a syntax similar to matlab. It provides a
+ variety of backends and hard copy formats for almost ready
+ publication plots.
+</longdescription>
+ <use>
+ <flag name="excel">Pull <pkg>dev-python/xlwt</pkg> for the exceltools toolkit</flag>
+ <flag name="gtk3">Use <pkg>x11-libs/gtk+:3</pkg> instead of <pkg>x11-libs/gtk+:2</pkg></flag>
+ <flag name="pyside">Qt support via <pkg>dev-python/pyside</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">matplotlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mccabe/Manifest b/dev-python/mccabe/Manifest
new file mode 100644
index 000000000000..9bc96804497b
--- /dev/null
+++ b/dev-python/mccabe/Manifest
@@ -0,0 +1,3 @@
+DIST mccabe-0.2.1.tar.gz 5031 SHA256 5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a SHA512 7155e52063e786c140c541f1410d0c319387b4b5f24ec3c60ba3d5a963a92d0ee545254559941ac0dbe961f46750c0e61271fbe82653c6b1465c0a13b31ec325 WHIRLPOOL 1db80033f91a24029e6757847d11528cb01c2aff2a2b40c947f969191f767fe6b93fd9adfb685eee8bcb03ba9719f852d8a5db7e1b27395acb93d973f35d09d8
+DIST mccabe-0.3.1.tar.gz 7586 SHA256 5f7ea6fb3aa9afe146d07fd6d5cedf788747d8b0c29e44732453c2b2db1e3d16 SHA512 83a5cb389343628b8a464f8f17452f116557735ed0a5f40411fe06f63af1f7c5ac4501fce2617a22fc7fb8395918deda2afba39728c1e72713930f14dddf08f9 WHIRLPOOL 2f8354395d9c291377ec8cac9f7911ffdeaf348f37ab7a0b3a87fb10ec0490e4e398963c02989de5240d54e1e4c34945fe15ad60c0b8605d5b8367f6efe7e72b
+DIST mccabe-0.3.tar.gz 6127 SHA256 3d8ca9bf65c5014f469180544d1dd5bb5b9df709aad6304f9c2e4370ae0a7b7c SHA512 3bb176d486de5e0d3de8db0bf923b4b03e5ad2fd82df079babd6e6551afe9077b956698ac335f23d340a16212d73c1c5ab5a3055d2788b7f81040f3cb0d1b4ee WHIRLPOOL bfa0480cca9cc082f60c20d07d6edac203c5e9144f2caf57576304dbf01c8a96b19e111f9e1abe5774a4de235729d69c3c89d4fddf8213f403568228e92f38f6
diff --git a/dev-python/mccabe/mccabe-0.2.1.ebuild b/dev-python/mccabe/mccabe-0.2.1.ebuild
new file mode 100644
index 000000000000..1be403bb7e03
--- /dev/null
+++ b/dev-python/mccabe/mccabe-0.2.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="a plugin for flake8"
+HOMEPAGE="https://github.com/flintwork/mccabe"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=dev-python/pep8-1.4.3[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/mccabe/mccabe-0.3.1.ebuild b/dev-python/mccabe/mccabe-0.3.1.ebuild
new file mode 100644
index 000000000000..11d40045b229
--- /dev/null
+++ b/dev-python/mccabe/mccabe-0.3.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="a plugin for flake8"
+HOMEPAGE="https://github.com/flintwork/mccabe"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=dev-python/pep8-1.4.3[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${EPYTHON} test_mccabe.py || die
+}
diff --git a/dev-python/mccabe/mccabe-0.3.ebuild b/dev-python/mccabe/mccabe-0.3.ebuild
new file mode 100644
index 000000000000..d5fa7ee7234a
--- /dev/null
+++ b/dev-python/mccabe/mccabe-0.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="a plugin for flake8"
+HOMEPAGE="https://github.com/flintwork/mccabe"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=dev-python/pep8-1.4.3[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/mccabe/metadata.xml b/dev-python/mccabe/metadata.xml
new file mode 100644
index 000000000000..de8b0975f4e6
--- /dev/null
+++ b/dev-python/mccabe/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mccabe</remote-id>
+ <remote-id type="github">flintwork/mccabe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mecab-python/Manifest b/dev-python/mecab-python/Manifest
new file mode 100644
index 000000000000..69a93690f6e1
--- /dev/null
+++ b/dev-python/mecab-python/Manifest
@@ -0,0 +1 @@
+DIST mecab-python-0.996.tar.gz 62338 SHA256 d305c30af9e781e70f7619a0b444ac1101f2faaf3922415a0d6c49da85a63511 SHA512 08954ed801419fd7f65d055244227364bc37b063f8d21babb6ceeb02ca40e0146fa4401d1426255f3656ac1a5e51439bde981414613153dca5972f624289447e WHIRLPOOL bae9a50996fa46bc0cf70b0d76c1d0377b84165a07d3ebeaa4a4731c6eafe8f3a952942c85e38bf6db0f1d56abfc6f85664e1cad5f5259dd2083ce28e08d8ca9
diff --git a/dev-python/mecab-python/files/mecab-python-py3.diff b/dev-python/mecab-python/files/mecab-python-py3.diff
new file mode 100644
index 000000000000..33c8d97ebb2b
--- /dev/null
+++ b/dev-python/mecab-python/files/mecab-python-py3.diff
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -7,7 +7,7 @@
+ return os.popen(str).readlines()[0][:-1]
+
+ def cmd2(str):
+- return string.split (cmd1(str))
++ return cmd1(str).split()
+
+ setup(name = "mecab-python",
+ version = cmd1("mecab-config --version"),
diff --git a/dev-python/mecab-python/mecab-python-0.996.ebuild b/dev-python/mecab-python/mecab-python-0.996.ebuild
new file mode 100644
index 000000000000..29a4b4618d14
--- /dev/null
+++ b/dev-python/mecab-python/mecab-python-0.996.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python binding for MeCab"
+HOMEPAGE="http://mecab.sourceforge.net/"
+SRC_URI="http://mecab.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="|| ( BSD LGPL-2.1 GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc64 x86"
+IUSE=""
+
+DEPEND="~app-text/mecab-${PV}"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-py3.diff" )
+DOCS=( test.py )
+HTML_DOCS=( bindings.html )
diff --git a/dev-python/mecab-python/metadata.xml b/dev-python/mecab-python/metadata.xml
new file mode 100644
index 000000000000..1ec95998be06
--- /dev/null
+++ b/dev-python/mecab-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cjk</herd>
+ <upstream>
+ <remote-id type="google-code">mecab</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mechanize/Manifest b/dev-python/mechanize/Manifest
new file mode 100644
index 000000000000..c22b933e3631
--- /dev/null
+++ b/dev-python/mechanize/Manifest
@@ -0,0 +1 @@
+DIST mechanize-0.2.5.tar.gz 383918 SHA256 2e67b20d107b30c00ad814891a095048c35d9d8cb9541801cebe85684cc84766 SHA512 23de1d9a5fba63d76fd577889594dacf5412fb2fccb58908a10ab350a81dd16a7a31019d0b4a59a5ed4115320c7e3585c77eef88dcd80a88a9c3c2da3c28fa68 WHIRLPOOL 14f8b9756adc3df8a3781b7b51568f36fc4cd0f35db62f537e2d1d1a0b8ea6dba08c7f2a1f0aad3fc089c3b973e4e62e5bbaaa91fe42f1017c883ff5b29ad0f0
diff --git a/dev-python/mechanize/mechanize-0.2.5-r1.ebuild b/dev-python/mechanize/mechanize-0.2.5-r1.ebuild
new file mode 100644
index 000000000000..8644296b49dc
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.2.5-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Stateful programmatic web browsing in Python"
+HOMEPAGE="http://wwwsearch.sourceforge.net/mechanize/ http://pypi.python.org/pypi/mechanize"
+SRC_URI="http://wwwsearch.sourceforge.net/${PN}/src/${P}.tar.gz"
+
+LICENSE="|| ( BSD ZPL )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ # Ignore warnings (http://github.com/jjlee/mechanize/issues/issue/13).
+ # https://github.com/jjlee/mechanize/issues/66
+ "${PYTHON}" -W ignore test.py
+}
+
+python_install_all() {
+ # Fix some paths.
+ sed -e "s:../styles/:styles/:g" -i docs/html/* || die "sed failed"
+ if use doc; then
+ dohtml -r docs/html/ docs/styles
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mechanize/mechanize-0.2.5.ebuild b/dev-python/mechanize/mechanize-0.2.5.ebuild
new file mode 100644
index 000000000000..7799b32545f9
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.2.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils eutils
+
+DESCRIPTION="Stateful programmatic web browsing in Python"
+HOMEPAGE="http://wwwsearch.sourceforge.net/mechanize/ http://pypi.python.org/pypi/mechanize"
+SRC_URI="http://wwwsearch.sourceforge.net/${PN}/src/${P}.tar.gz"
+
+LICENSE="|| ( BSD ZPL )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ~sparc x86 ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
+
+DOCS="docs/*.txt"
+
+src_test() {
+ testing() {
+ # Ignore warnings (http://github.com/jjlee/mechanize/issues/issue/13).
+ PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" -W ignore test.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+
+ # Fix some paths.
+ sed -e "s:../styles/:styles/:g" -i docs/html/* || die "sed failed"
+ dohtml -r docs/html/ docs/styles || die "dohtml failed"
+}
diff --git a/dev-python/mechanize/metadata.xml b/dev-python/mechanize/metadata.xml
new file mode 100644
index 000000000000..0a3f10c4b43f
--- /dev/null
+++ b/dev-python/mechanize/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ mechanize is a Python module for static programmatic web browsing in
+ Python, after Andy Lester's Perl module WWW::Mechanize. With the Browser
+ subclass any url can be opened - not just http - and UserAgentBase
+ offers easy dynamic configuration of user-agent features like protocol,
+ cookie, redirection and robots.txt handling. Other functionalities
+ include easy HTML form filling using ClientForm interface, convenient
+ link parsing and following, browser history with .back() and .reload()
+ methods and automatic handling of HTTP-Equiv and Refresh.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/medusa/Manifest b/dev-python/medusa/Manifest
new file mode 100644
index 000000000000..ef5b8d25f85a
--- /dev/null
+++ b/dev-python/medusa/Manifest
@@ -0,0 +1 @@
+DIST medusa-0.5.4.tar.gz 107744 SHA256 ab7fc4c9afd28b3aaf575aca5bb07005d228a0cad5b1787a521ffca63cfe4317 SHA512 9b28c13f633c87586b88388719afdc6c8f32cb0e25583e8c03f5bb0a0ef7c75a4fbad23f5b296bf84c8fa50d7d811fa62305f3fbe64d3764aa5d28228a31a43f WHIRLPOOL 84212d6cb2a9597e4c04634a45c4fafedf58ad81807337f4f34a2ae9c46e120b4437b56aa0baa62b0692de61b4319c5b8ae55d5e7cfb5ff0041fa9037f9c61e1
diff --git a/dev-python/medusa/medusa-0.5.4-r1.ebuild b/dev-python/medusa/medusa-0.5.4-r1.ebuild
new file mode 100644
index 000000000000..23a3f77d658c
--- /dev/null
+++ b/dev-python/medusa/medusa-0.5.4-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A framework for writing asynchronous long-running, high-performance network servers in Python"
+HOMEPAGE="http://www.amk.ca/python/code/medusa.html http://pypi.python.org/pypi/medusa"
+SRC_URI="http://www.amk.ca/files/python/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc CHANGES.txt docs/*.txt
+ dodir /usr/share/doc/${PF}/example
+ cp -r demo/* "${ED}usr/share/doc/${PF}/example"
+ dohtml docs/*.html docs/*.gif
+}
diff --git a/dev-python/medusa/metadata.xml b/dev-python/medusa/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/medusa/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/meld3/Manifest b/dev-python/meld3/Manifest
new file mode 100644
index 000000000000..17ea1da8757a
--- /dev/null
+++ b/dev-python/meld3/Manifest
@@ -0,0 +1,2 @@
+DIST meld3-1.0.0.tar.gz 36232 SHA256 57b41eebbb5a82d4a928608962616442e239ec6d611fe6f46343e765e36f0b2b SHA512 17d90620b34ddecebcf1d08698149a598f1ac74f3a9c8c5fadcc2ea70d3d94c19ac3d662904f29a5093b3326131a2875940f3fa63a05f288de8e703cfee6e243 WHIRLPOOL f2b23c652757df094d3dc1e5b75b2f1e398c569201559e89cee098d1021b45227326667e510a442e2016d3c3651ce5c78e7e075720f58342f34df0bec6182565
+DIST meld3-1.0.2.tar.gz 36478 SHA256 f7b754a0fde7a4429b2ebe49409db240b5699385a572501bb0d5627d299f9558 SHA512 54fe6def7169fb4e3469cad8be58e56984026f27b3b8b2bfd6d53e2296e0c2a5bfb3e67d032ef75edd93306f4115a091930a7aae3573acecd3fed4acd6eeb544 WHIRLPOOL b4191073e3419dc845ec0f618553c1d7871ad67ec9b49578b5c37bc6d3fe28513375c19509f75be16698cedbc224ecbb9516f10a68da43fad2f82741a67b55fd
diff --git a/dev-python/meld3/meld3-1.0.0.ebuild b/dev-python/meld3/meld3-1.0.0.ebuild
new file mode 100644
index 000000000000..6b5f6f050b34
--- /dev/null
+++ b/dev-python/meld3/meld3-1.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="meld3 is an HTML/XML templating engine"
+HOMEPAGE="https://github.com/supervisor/meld3 http://pypi.python.org/pypi/meld3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# tests use a local path.
+RESTRICT=test
+
+python_test() {
+ PYTHONPATH=. "${PYTHON}" ${PN}/test_${PN}.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/meld3/meld3-1.0.2.ebuild b/dev-python/meld3/meld3-1.0.2.ebuild
new file mode 100644
index 000000000000..f83fb0638ee6
--- /dev/null
+++ b/dev-python/meld3/meld3-1.0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="meld3 is an HTML/XML templating engine"
+HOMEPAGE="https://github.com/supervisor/meld3 http://pypi.python.org/pypi/meld3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# tests use a local path.
+RESTRICT=test
+
+python_test() {
+ PYTHONPATH=. "${PYTHON}" ${PN}/test_${PN}.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/meld3/metadata.xml b/dev-python/meld3/metadata.xml
new file mode 100644
index 000000000000..a0ae747bfbf6
--- /dev/null
+++ b/dev-python/meld3/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">meld3</remote-id>
+ <remote-id type="github">supervisor/meld3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mergedict/Manifest b/dev-python/mergedict/Manifest
new file mode 100644
index 000000000000..2e3426dcfdb1
--- /dev/null
+++ b/dev-python/mergedict/Manifest
@@ -0,0 +1 @@
+DIST mergedict-0.2.0.tar.gz 3554 SHA256 67c972c30087072f02cbf5052ee6e6cd87eba26c193bc698b71b58b32b141369 SHA512 5d867944865881731a854526ad17c178be44854e040ba47ccf493ba1e8bd627346da07fd55c066a5497d806c5537c8627c8e903883e35ac86a05661fd3248f3a WHIRLPOOL 4d033795a504406fc0bd3f33c3353898bee46a44cba1d1b1cd2e3485fdcb69e5904f4dc43e1d3520c3ef85954863bf1325d09e031c2716802e3b00ac74b1680d
diff --git a/dev-python/mergedict/mergedict-0.2.0.ebuild b/dev-python/mergedict/mergedict-0.2.0.ebuild
new file mode 100644
index 000000000000..04bc6870b852
--- /dev/null
+++ b/dev-python/mergedict/mergedict-0.2.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python 'dict' with a merge() method"
+HOMEPAGE="https://github.com/schettino72/mergedict/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/singledispatch[${PYTHON_USEDEP}]"
diff --git a/dev-python/mergedict/metadata.xml b/dev-python/mergedict/metadata.xml
new file mode 100644
index 000000000000..1e9c6e609666
--- /dev/null
+++ b/dev-python/mergedict/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">configclass</remote-id>
+ <remote-id type="github">schettino72/mergedict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/metadata.xml b/dev-python/metadata.xml
new file mode 100644
index 000000000000..cbb601aa95eb
--- /dev/null
+++ b/dev-python/metadata.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-python category contains libraries, utilities or
+ bindings written in or for the Python programming language.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-python enthält Bibliotheken und Werkzeuge für die
+ Programmiersprache Python.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-python contiene librerias y utilidades referentes al
+ lenguaje de programación Python.
+ </longdescription>
+ <longdescription lang="ja">
+ dev-pythonカテゴリーã«ã¯Pythonプログラミング言語ã§è¨˜è¿°ã•ã‚ŒãŸ/ã®ãŸã‚ã«
+ 記述ã•ã‚ŒãŸãƒ©ã‚¤ãƒ–ラリーã¨>ユーティリティã¨ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ãŒå«ã¾ã‚Œã¾ã™ã€‚
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-python zawiera biblioteki oraz narzędzia związane
+ z językiem programowania Python.
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-python categorie bevat bibliotheken en hulpmiddelen voor het gebruik
+ van de programmeertaal Python.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-python chứa các thư viện và tiện ích liên quan
+ đến ngôn ngữ lập trình Python.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria dev-python contiene librerie ed utilità per il linguaggio di programmazione Python.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-python contém bibliotecas, utilitários e
+ bindings escritos em ou para a linguagem de programação Python.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-python zawiera biblioteki, narzędzia i powiązania
+ (bindings) napisane w lub stworzone do pisania w języku programowania
+ Python.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-python/micawber/Manifest b/dev-python/micawber/Manifest
new file mode 100644
index 000000000000..be9994dcb85b
--- /dev/null
+++ b/dev-python/micawber/Manifest
@@ -0,0 +1,2 @@
+DIST micawber-0.3.2.tar.gz 32166 SHA256 d779fe96b0064e58376febb5ea17c733a9084e8fd3b1e8ad6348370f4555362b SHA512 b2cdb058710dd84e15c9816c7a39c9378505426b06ddd419b652db071377e71878264f090488d452a6740585762d022bebac3ac2cea2f87d5b18aa7428521b78 WHIRLPOOL 9651a1084eb56dc5b9a1afcc0b5858edec1873345e8e27578123e30c0fc566ba726634ac3eefe4f0b5f335f997f9061e3bd20badf265acd0a58a836301b08a69
+DIST micawber-0.3.3.tar.gz 32200 SHA256 361be2c2cfbfeadad31354e512abf211128156ddcb3bae76672794964d6a6fb7 SHA512 15f5e3f85e6d3bf44e6a4a3ae975872acb2e9093e15b56a5a3b24573332c811955c84f0ee69d327334b22fa61b29a51ce14657fc7bf2f486268145965c159bc0 WHIRLPOOL c50feda990c17211f7abb65f8e66af35b44d51b13793710c9adde015e463dfa567f21835efa02f2b0a80669dedcc81fba0a70624591fd16309d6c5050a77b28b
diff --git a/dev-python/micawber/files/micawber-0.3.2-remove-examples-from-setup.py.patch b/dev-python/micawber/files/micawber-0.3.2-remove-examples-from-setup.py.patch
new file mode 100644
index 000000000000..3d031e8a91cd
--- /dev/null
+++ b/dev-python/micawber/files/micawber-0.3.2-remove-examples-from-setup.py.patch
@@ -0,0 +1,20 @@
+--- micawber-0.3.2.orig/setup.py 2015-03-30 02:08:40.000000000 +0800
++++ micawber-0.3.2/setup.py 2015-07-20 14:53:42.776972042 +0800
+@@ -13,16 +13,11 @@
+ author='Charles Leifer',
+ author_email='coleifer@gmail.com',
+ url='http://github.com/coleifer/micawber/',
+- packages=find_packages(),
++ packages=['micawber'],
+ package_data = {
+ 'micawber': [
+ 'contrib/mcdjango/templates/micawber/*.html',
+ ],
+- 'examples': [
+- #'requirements.txt',
+- '*/static/*.css',
+- '*/templates/*.html',
+- ],
+ },
+ classifiers=[
+ 'Development Status :: 4 - Beta',
diff --git a/dev-python/micawber/metadata.xml b/dev-python/micawber/metadata.xml
new file mode 100644
index 000000000000..59b5b5cb7bd1
--- /dev/null
+++ b/dev-python/micawber/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ <name>Ben de Groot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">coleifer/micawber</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/micawber/micawber-0.3.2.ebuild b/dev-python/micawber/micawber-0.3.2.ebuild
new file mode 100644
index 000000000000..8778b560e03e
--- /dev/null
+++ b/dev-python/micawber/micawber-0.3.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="A small library for extracting rich content from urls"
+HOMEPAGE="https://github.com/coleifer/micawber/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+EXAMPLES=( examples/ )
+PATCHES=( "${FILESDIR}"/${P}-remove-examples-from-setup.py.patch ) #555250
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs
+}
diff --git a/dev-python/micawber/micawber-0.3.3.ebuild b/dev-python/micawber/micawber-0.3.3.ebuild
new file mode 100644
index 000000000000..94f6f1e68d39
--- /dev/null
+++ b/dev-python/micawber/micawber-0.3.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="A small library for extracting rich content from urls"
+HOMEPAGE="https://github.com/coleifer/micawber/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+EXAMPLES=( examples/ )
+PATCHES=( "${FILESDIR}"/${PN}-0.3.2-remove-examples-from-setup.py.patch ) #555250
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs
+}
diff --git a/dev-python/milk/Manifest b/dev-python/milk/Manifest
new file mode 100644
index 000000000000..187922954312
--- /dev/null
+++ b/dev-python/milk/Manifest
@@ -0,0 +1,3 @@
+DIST milk-0.5.1.tar.gz 623685 SHA256 f7fedd0f50967130bc0ddd6c1ce99a644305855d1d2d3c5d6d36b103bb749d37 SHA512 3ac6811f4c15b65de87cae0089ce3fd8372d4b349ea9b7e49db581dcd29e27baf6e33ddca9c6d96e832ebe499e9032de253da532d3241fbbaa4ac124d97a8386 WHIRLPOOL 096fee2ab0f5676c1bec9b3876f43a1d12eab215c5931bb2306d77d466924b7f0d3ac3fb026265cbed0123dec2f6eb15f917be060e7ddd5bc677a2c93a7da0da
+DIST milk-0.5.3.tar.gz 620091 SHA256 d98e0c142ab27fe96eb44bd3aefe774984530de82595ac996a61834e05111de9 SHA512 4b685f682229194d03fc9e6031d5e40890aac793ae87bf7c010f866c032ec53205c281ead7db654f1e4bef30a4e68ef325b560b78fe1b0db00344392d60ef4e4 WHIRLPOOL 82260fcd72ea081d30317b0fc066c4fe38f9c3dea253aff4691ada2281fde28f54b020b217174ad1bfc65472b7bd387f2ba382220f019ef339c30ed6ba854867
+DIST milk-0.6.1.tar.gz 628357 SHA256 47041ab5d1795907c092b4802e8b5a20620f32690d7b2f50d8c7817c38e3d304 SHA512 54a94bc1bf760320b53b2f65396e117bdccd0d4d5e6bdb4684b68d96f3cb3beaf3cc9b285d3ba91b1f97ba335750591c1fb2d2115468ec617dbd1cc65fed9f8f WHIRLPOOL 835a01c0685124099786bab06b6444c4e0c038a55669590f4272d10c0c46b98c4122d6677ec29edebf91c4af77eef36abd5f08dba12034aed9ac1c3a648dfa50
diff --git a/dev-python/milk/metadata.xml b/dev-python/milk/metadata.xml
new file mode 100644
index 000000000000..62f6e4aafbaa
--- /dev/null
+++ b/dev-python/milk/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Milk is a machine learning toolkit in Python.
+ Its focus is on supervised classification with several classifiers
+ available: SVMs (based on libsvm), k-NN, random forests, decision
+ trees. It also performs feature selection. These classifiers can be
+ combined in many ways to form different classification systems.
+ For unsupervised learning, milk supports k-means clustering and
+ affinity propagation.
+ Milk is flexible about its inputs. It optimised for numpy arrays, but
+ can often handle anything (for example, for SVMs, you can use any
+ dataype and any kernel and it does the right thing).
+ There is a strong emphasis on speed and low memory usage. Therefore,
+ most of the performance sensitive code is in C++. This is behind
+ Python-based interfaces for convenience.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">milk</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/milk/milk-0.5.1.ebuild b/dev-python/milk/milk-0.5.1.ebuild
new file mode 100644
index 000000000000..223fde8f6f0e
--- /dev/null
+++ b/dev-python/milk/milk-0.5.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning toolkit in Python"
+HOMEPAGE="http://luispedro.org/software/milk"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/numpy"
+DEPEND="dev-python/setuptools
+ dev-cpp/eigen:3
+ test? ( dev-python/milksets sci-libs/scipy[${PYTHON_USEDEP}] )"
diff --git a/dev-python/milk/milk-0.5.3.ebuild b/dev-python/milk/milk-0.5.3.ebuild
new file mode 100644
index 000000000000..75b83282959c
--- /dev/null
+++ b/dev-python/milk/milk-0.5.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning toolkit in Python"
+HOMEPAGE="http://luispedro.org/software/milk"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-cpp/eigen:3
+ test? ( dev-python/milksets sci-libs/scipy[${PYTHON_USEDEP}] )"
diff --git a/dev-python/milk/milk-0.6.1.ebuild b/dev-python/milk/milk-0.6.1.ebuild
new file mode 100644
index 000000000000..75b83282959c
--- /dev/null
+++ b/dev-python/milk/milk-0.6.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning toolkit in Python"
+HOMEPAGE="http://luispedro.org/software/milk"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-cpp/eigen:3
+ test? ( dev-python/milksets sci-libs/scipy[${PYTHON_USEDEP}] )"
diff --git a/dev-python/milksets/Manifest b/dev-python/milksets/Manifest
new file mode 100644
index 000000000000..b464e90b3d1c
--- /dev/null
+++ b/dev-python/milksets/Manifest
@@ -0,0 +1 @@
+DIST milksets-0.1.3.tar.gz 10438190 SHA256 90fa729a6993ba856e3fe3d02e2a0b08172a91599f122bf17e1b2d48d99ef7b5 SHA512 45ea6b14dc5e15c8797a42483fdbf3f5b8794f68a378b070f39e3117ff98fad810bb9b200f569061f8e65337380d908e32284c8563e74939b5b2cc202f2103d8 WHIRLPOOL 35dd68e09b1c1624f976345a1acf4c39ff28e14a342dec9cb7d64ab275fc3978079ee6200cd3f26bd0aa9d1f7a6dd04b7ebcc01809a385d3ac80ea0eb2ebe78d
diff --git a/dev-python/milksets/metadata.xml b/dev-python/milksets/metadata.xml
new file mode 100644
index 000000000000..f52e62d1286d
--- /dev/null
+++ b/dev-python/milksets/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ This packages contains some U.C.I. datasets in a common Pythonic
+ interface, which makes them easy to use with milk.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">milksets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/milksets/milksets-0.1.3-r1.ebuild b/dev-python/milksets/milksets-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..9fc2edf2504b
--- /dev/null
+++ b/dev-python/milksets/milksets-0.1.3-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Datasets in a common Pythonic interface to use with milk"
+HOMEPAGE="http://luispedro.org/software/milksets"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/mimeparse/Manifest b/dev-python/mimeparse/Manifest
new file mode 100644
index 000000000000..70a660056337
--- /dev/null
+++ b/dev-python/mimeparse/Manifest
@@ -0,0 +1 @@
+DIST python-mimeparse-0.1.4.tar.gz 5228 SHA256 3c69a21e37e77f754e6fc09ebda70acd92c90d8a58f29a41cc0248351378ddc3 SHA512 c8eeb298773a0eb36512b1d9a46dfc85423c0dab10b85ed94284bf1bf8dba8c34aeccefd8b6a187434789d5a160ab5d4af81659dd1808ea02078cc2b168e10b3 WHIRLPOOL f83328743b16ae46263e05055d6400617b7858e11837ce892919e26a36348650122b78ee366125a1793b20fa71c641b3606bf834d2936f98dab65b89b740385b
diff --git a/dev-python/mimeparse/metadata.xml b/dev-python/mimeparse/metadata.xml
new file mode 100644
index 000000000000..1a36be27c13e
--- /dev/null
+++ b/dev-python/mimeparse/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-mimeparse</remote-id>
+ <remote-id type="github">dbtsai/python-mimeparse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mimeparse/mimeparse-0.1.4-r1.ebuild b/dev-python/mimeparse/mimeparse-0.1.4-r1.ebuild
new file mode 100644
index 000000000000..50425c193127
--- /dev/null
+++ b/dev-python/mimeparse/mimeparse-0.1.4-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Basic functions for handling mime-types in python"
+HOMEPAGE="http://code.google.com/p/mimeparse
+ https://github.com/dbtsai/python-mimeparse"
+MY_PN="python-${PN}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ "${PYTHON}" mimeparse_test.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if [[ ${EPYTHON} == pypy* ]]; then
+ local pyver=2.7
+ else
+ local pyver=${EPYTHON#python}
+ fi
+ python_export PYTHON_SITEDIR
+
+ # Previous versions were just called 'mimeparse'
+ cp "${D%/}${PYTHON_SITEDIR}/python_mimeparse-${PV}-py${pyver}.egg-info" \
+ "${D%/}${PYTHON_SITEDIR}/mimeparse-${PV}-py${pyver}.egg-info" || die
+}
diff --git a/dev-python/mimerender/Manifest b/dev-python/mimerender/Manifest
new file mode 100644
index 000000000000..b33fb9ac2015
--- /dev/null
+++ b/dev-python/mimerender/Manifest
@@ -0,0 +1,2 @@
+DIST mimerender-0.5.4.tar.gz 6406 SHA256 b9e9d8c71196c5b73f9a513b843ae0d21212ff5b1a6ec5c306373c1d5b7a7402 SHA512 24e633453ddc86c7f7c65a392115d39d85eb39fd59d51bf0c6c619fb1d1a884b28c4dad27dd94154bd1bf6314d7799f680401f3103a73d7ec3773f7c4c6d71a5 WHIRLPOOL b1d8adaf0bf63c627cbe9ce72869e186b1592b6a1a0134e2d3dfa3958de2b20389ad2c4974ed2ad73f84d0bda55761428b1b66f69c61b4e8700a5c4566bc3931
+DIST mimerender-0.5.5.tar.gz 6420 SHA256 387dcf22cfcbad8c72f2b0def6659c9fc720234a1a74ad485618b24e6779bc28 SHA512 35f52ad6c46ec7e37c44be67e52140f19a3def526546a7a370c0b19d4a43e01e213fdb4673c17449de0951066ae208a1f3f70577713242b078eb7080f62f4b24 WHIRLPOOL c6fddcf923d978bfdab88adc0949a695b2b3eb6475e427aa7b72a0563e485ad8f8f3d7d842b7a6b4584f68bae004e2d9c192490fe86208ba2668ce2ddfe68f65
diff --git a/dev-python/mimerender/metadata.xml b/dev-python/mimerender/metadata.xml
new file mode 100644
index 000000000000..5ea2ed67490d
--- /dev/null
+++ b/dev-python/mimerender/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mimerender</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mimerender/mimerender-0.5.4.ebuild b/dev-python/mimerender/mimerender-0.5.4.ebuild
new file mode 100644
index 000000000000..0badd57797e0
--- /dev/null
+++ b/dev-python/mimerender/mimerender-0.5.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/mimerender"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/mimerender/mimerender-0.5.5.ebuild b/dev-python/mimerender/mimerender-0.5.5.ebuild
new file mode 100644
index 000000000000..d7765724044d
--- /dev/null
+++ b/dev-python/mimerender/mimerender-0.5.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/mimerender"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/minimock/Manifest b/dev-python/minimock/Manifest
new file mode 100644
index 000000000000..f8e476f1dabe
--- /dev/null
+++ b/dev-python/minimock/Manifest
@@ -0,0 +1 @@
+DIST MiniMock-1.2.8.tar.gz 13217 SHA256 5fdfdfeadf0fc781d0592a1b90d2fcc11581f682ff7cba6201cfdb15c3ea5a4c SHA512 91133251a6e6b1acc11e6ac4f24404807134f8a7fca49d5f7365d7fdfc6bdd1527e7382da8d866669408b1ad30331a176026dd31bcb0c3b7367b7f778fc61ca7 WHIRLPOOL 768a73dc82499615ee0d0ce9dd7a3e67253c27908778b0fcd0bf07d562254f48ba95128ced78b7599ccf77cf19bec1c1b85d21a60d251f302825516800bda69e
diff --git a/dev-python/minimock/metadata.xml b/dev-python/minimock/metadata.xml
new file mode 100644
index 000000000000..c88fc0c84b80
--- /dev/null
+++ b/dev-python/minimock/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">MiniMock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/minimock/minimock-1.2.8-r1.ebuild b/dev-python/minimock/minimock-1.2.8-r1.ebuild
new file mode 100644
index 000000000000..de28ebee220e
--- /dev/null
+++ b/dev-python/minimock/minimock-1.2.8-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="MiniMock"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="The simplest possible mock library"
+HOMEPAGE="http://pypi.python.org/pypi/MiniMock"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( docs/changelog.rst docs/index.rst )
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
new file mode 100644
index 000000000000..5cf930000730
--- /dev/null
+++ b/dev-python/miniupnpc/Manifest
@@ -0,0 +1 @@
+DIST miniupnpc-1.8.tar.gz 70624 SHA256 bc5f73c7b0056252c1888a80e6075787a1e1e9112b808f863a245483ff79859c SHA512 8eedac9ad473fc952ca8896fe534d6da6b1b234e8b6f35f721394d4c71aca84ed287ca6c4f0455b50d97a45e4cd34e27d99a6813386e0864781364aa607e13d4 WHIRLPOOL 5b76ccbb5ed7daa9bb0d481b424b7c31a5f6dc85c5c812ba10175a29aefc0d3924f3db2aa8c3529d1241be59d67d1d4c702d27aad2de8c8a07fecf3857d73169
diff --git a/dev-python/miniupnpc/files/0001-Link-Python-module-against-the-shared-library.patch b/dev-python/miniupnpc/files/0001-Link-Python-module-against-the-shared-library.patch
new file mode 100644
index 000000000000..d9e6c4317ed3
--- /dev/null
+++ b/dev-python/miniupnpc/files/0001-Link-Python-module-against-the-shared-library.patch
@@ -0,0 +1,24 @@
+From 34da047ae5b945a43430f59efe0efefdd8f1ba55 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 3 Aug 2011 08:28:31 +0200
+Subject: [PATCH] Link Python module against the shared library.
+
+---
+ setup.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index ca31f96..f5aef19 100644
+--- a/setup.py
++++ b/setup.py
+@@ -10,6 +10,6 @@ from distutils.core import setup, Extension
+ setup(name="miniupnpc", version="1.5",
+ ext_modules=[
+ Extension(name="miniupnpc", sources=["miniupnpcmodule.c"],
+- extra_objects=["libminiupnpc.a"])
++ libraries=["miniupnpc"])
+ ])
+
+--
+1.7.6
+
diff --git a/dev-python/miniupnpc/metadata.xml b/dev-python/miniupnpc/metadata.xml
new file mode 100644
index 000000000000..f38aad4d9e51
--- /dev/null
+++ b/dev-python/miniupnpc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+</maintainer>
+<maintainer>
+ <email>nikoli@gmx.us</email>
+ <name>Nikoli</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/miniupnpc/miniupnpc-1.8.ebuild b/dev-python/miniupnpc/miniupnpc-1.8.ebuild
new file mode 100644
index 000000000000..804c1f135d01
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-1.8.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 pypy)
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for UPnP client library"
+HOMEPAGE="http://miniupnp.free.fr/"
+SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=">=net-libs/miniupnpc-${PV}"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/0001-Link-Python-module-against-the-shared-library.patch
+)
+
+# DOCS are installed by net-libs/miniupnpc.
+DOCS=()
diff --git a/dev-python/misaka/Manifest b/dev-python/misaka/Manifest
new file mode 100644
index 000000000000..1e9401a965a2
--- /dev/null
+++ b/dev-python/misaka/Manifest
@@ -0,0 +1 @@
+DIST misaka-1.0.2.tar.gz 78702 SHA256 6197e4886ff0c2718df1b472e40b5fea45f447a7a5b0192a48123ee868973517 SHA512 ba3ef2e4c66e0e33e21bb554c3e317342929b3d9969aaba7e3dbd745430b3952b6bb7d3142a3049c4de3e3dede7cc68a9810cd43642e014949e4564fcb2cc74d WHIRLPOOL 8b36e931b50da2e55a3a21e9ef0955e677dc89db3de49c9b9fab776a94d607542320d067ced9d927a52b9f3b9d09f6d92ca4170738a8bdd4334629b68b262fc3
diff --git a/dev-python/misaka/metadata.xml b/dev-python/misaka/metadata.xml
new file mode 100644
index 000000000000..2a633326801a
--- /dev/null
+++ b/dev-python/misaka/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">misaka</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/misaka/misaka-1.0.2.ebuild b/dev-python/misaka/misaka-1.0.2.ebuild
new file mode 100644
index 000000000000..c1b61239f712
--- /dev/null
+++ b/dev-python/misaka/misaka-1.0.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="The Python binding for Sundown, a markdown parsing library"
+HOMEPAGE="http://misaka.61924.nl/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]"
diff --git a/dev-python/mistune/Manifest b/dev-python/mistune/Manifest
new file mode 100644
index 000000000000..d0ede317d6e9
--- /dev/null
+++ b/dev-python/mistune/Manifest
@@ -0,0 +1,3 @@
+DIST mistune-0.5.1.tar.gz 183864 SHA256 cc66489a28845c0e1848ae290af5b555074eb76185136ca058e8eed1faa89692 SHA512 56399def88cc1daf5df02a97aba49c3dcc2f860d53222e524bfbd5f48f262f01344582bfd647c363e631b25c300923f690cd0e68ff4e179c4974166f8beca95f WHIRLPOOL 7fbf46712111c0f3087203e50630e200c4df395cd6593001bc23761f5b07c6151c3199dd44b607058bcfbe726eef244797423497d304e87a1f7ceacff2df4261
+DIST mistune-0.6.tar.gz 47026 SHA256 d54a69365d01bc97412a39c11674a8aae3f333586e91f38895cc1ad818e13dc5 SHA512 f7f7a7830a733f957c8c541195e061de3ba5843540bc1811639526d7ff0f7b7f549c33af14990bb50e9890eaeb9645cfb9b8cd92e92a4e9a01e388773a33ca16 WHIRLPOOL c52395733faa678655b987a8705f05075ca05922aa5ed5a910d67af35694bdc8a11f7fb8b3fed6398e587dda2208e7e28015756eb5185d372cd3fd3de33610bd
+DIST mistune-0.7.tar.gz 48203 SHA256 1daa2e55f5de63ecde7c446c4677c0447006752f78ad2c9c1c3c3452d395f89f SHA512 0d7450dab279f8dc1a608bccad34ec6a99c54ef26ce2439ffa92e1589b0a505ef11382c5d5db990df0e57ba908e3d4b1198c6416dccaf7f5b798894c898874a3 WHIRLPOOL 51db0cf3ab4990c0ee4b2503e2c1ad2ede225c999d0196a6f24cd4d18a69236d1c9365ffc79f0011b1d2d977aa6a69533a968b2e640bb4c0345234e9e5e5e44c
diff --git a/dev-python/mistune/files/mistune-0.6-inline-html.patch b/dev-python/mistune/files/mistune-0.6-inline-html.patch
new file mode 100644
index 000000000000..f10aee5b6d07
--- /dev/null
+++ b/dev-python/mistune/files/mistune-0.6-inline-html.patch
@@ -0,0 +1,536 @@
+diff --git a/CHANGES.rst b/CHANGES.rst
+index eb204dd..3eb99a7 100644
+--- a/CHANGES.rst
++++ b/CHANGES.rst
+@@ -3,6 +3,14 @@ Changelog
+
+ Here is the full history of mistune.
+
++Version 0.7
++~~~~~~~~~~~
++
++Release date not decided.
++
++* Fix the breaking change in version 0.6 with options: **parse_inline_html** and **parse_block_html**
++
++
+ Version 0.6
+ ~~~~~~~~~~~
+
+diff --git a/README.rst b/README.rst
+index 894833b..f6cb5f9 100644
+--- a/README.rst
++++ b/README.rst
+@@ -38,12 +38,6 @@ Installing mistune with pip::
+
+ $ pip install mistune
+
+-If pip is not available, try easy_install::
+-
+- $ easy_install mistune
+-
+-Cython Feature
+-~~~~~~~~~~~~~~
+
+ Mistune can be faster, if you compile with cython::
+
+@@ -59,10 +53,49 @@ A simple API that render a markdown formatted text:
+
+ import mistune
+
+- mistune.markdown('I am using **markdown**')
+- # output: <p>I am using <strong>markdown</strong></p>
++ mistune.markdown('I am using **mistune markdown parser**')
++ # output: <p>I am using <strong>mistune markdown parser</strong></p>
++
++If you care about performance, it is better to re-use the Markdown instance:
++
++.. code:: python
++
++ import mistune
++
++ markdown = mistune.Markdown()
++ markdown('I am using **mistune markdown parser**')
++
++Mistune has enabled all features by default. You don't have to configure
++anything. But there are options for you to change the parser behaviors.
++
++
++Options
++-------
++
++Here is a list of all options that will affect the rendering results,
++configure them with ``mistune.Renderer``:
++
++.. code:: python
++
++ renderer = mistune.Renderer(escape=True, hard_wrap=True)
++ # use this renderer instance
++ markdown = mistune.Markdown(renderer=renderer)
++ markdown(text)
++
++* **escape**: if set to *True*, all raw html tags will be escaped.
++* **hard_wrap**: if set to *True*, it will has GFM line breaks feature.
++* **use_xhtml**: if set to *True*, all tags will be in xhtml, for example: ``<hr />``.
++* **parse_html**: parse text in block and inline level html.
++* **parse_block_html**: parse text only in block level html.
++* **parse_inline_html**: parse text only in inline level html.
++
++When using the default renderer, you can use one of the following shortcuts::
++
++ mistune.markdown(text, escape=True, hard_wrap=True)
++
++ markdown = mistune.Markdown(escape=True, hard_wrap=True)
++ markdown(text)
+
+-Mistune has all features by default. You don't have to configure anything.
+
+ Renderer
+ --------
+@@ -79,7 +112,7 @@ Here is an example of code highlighting:
+ from pygments.lexers import get_lexer_by_name
+ from pygments.formatters import HtmlFormatter
+
+- class MyRenderer(mistune.Renderer):
++ class HighlightRenderer(mistune.Renderer):
+ def block_code(self, code, lang):
+ if not lang:
+ return '\n<pre><code>%s</code></pre>\n' % \
+@@ -88,9 +121,9 @@ Here is an example of code highlighting:
+ formatter = HtmlFormatter()
+ return highlight(code, lexer, formatter)
+
+- renderer = MyRenderer()
+- md = mistune.Markdown(renderer=renderer)
+- print(md.render('Some Markdown text.'))
++ renderer = HighlightRenderer()
++ markdown = mistune.Markdown(renderer=renderer)
++ print(markdown('Some code text.'))
+
+
+ Block Level
+@@ -127,34 +160,18 @@ Here is a list of span level renderer API::
+ linebreak()
+ newline()
+ link(link, title, content)
+- tag(html)
+ strikethrough(text)
+ text(text)
++ inline_html(text)
+
++Footnotes
++~~~~~~~~~
+
+-Options
+--------
+-
+-Here is a list of all options that will affect the rendering results:
+-
+-.. code:: python
+-
+- renderer = mistune.Renderer(escape=True)
+- md = mistune.Markdown(renderer=renderer)
+- md.render(text)
+-
+-* **escape**: if set to *True*, all raw html tags will be escaped.
+-* **hard_wrap**: if set to *True*, it will has GFM line breaks feature.
+-* **use_xhtml**: if set to *True*, all tags will be in xhtml, for example: ``<hr />``.
+-* **parse_html**: parse text in block level html.
+-
+-When using the default renderer, you can use one of the following shorthands::
+-
+- mistune.markdown(text, escape=True)
+-
+- md = mistune.Markdown(escape=True)
+- md.render(text)
++Here is a list of renderers related to footnotes::
+
++ footnote_ref(key, index)
++ footnote_item(key, text)
++ footnotes(text)
+
+ Lexers
+ ------
+@@ -172,33 +189,23 @@ It is an inline grammar, which requires custom ``InlineGrammar`` and
+ import copy
+ from mistune import Renderer, InlineGrammar, InlineLexer
+
+- class MyRenderer(Renderer):
++ class WikiLinkRenderer(Renderer):
+ def wiki_link(self, alt, link):
+ return '<a href="%s">%s</a>' % (link, alt)
+
++ class WikiLinkInlineLexer(InlineLexer):
++ def enable_wiki_link(self):
++ # add wiki_link rules
++ self.rules.wiki_link = re.compile(
++ r'\[\[' # [[
++ r'([\s\S]+?\|[\s\S]+?)' # Page 2|Page 2
++ r'\]\](?!\])' # ]]
++ )
+
+- class MyInlineGrammar(InlineGrammar):
+- # it would take a while for creating the right regex
+- wiki_link = re.compile(
+- r'\[\[' # [[
+- r'([\s\S]+?\|[\s\S]+?)' # Page 2|Page 2
+- r'\]\](?!\])' # ]]
+- )
+-
+-
+- class MyInlineLexer(InlineLexer):
+- default_rules = copy.copy(InlineLexer.default_rules)
+-
+- # Add wiki_link parser to default rules
+- # you can insert it any place you like
+- default_rules.insert(3, 'wiki_link')
+-
+- def __init__(self, renderer, rules=None, **kwargs):
+- if rules is None:
+- # use the inline grammar
+- rules = MyInlineGrammar()
+-
+- super(MyInlineLexer, self).__init__(renderer, rules, **kwargs)
++ # Add wiki_link parser to default rules
++ # you can insert it some place you like
++ # but place matters, maybe 3 is not good
++ self.default_rules.insert(3, 'wiki_link')
+
+ def output_wiki_link(self, m):
+ text = m.group(1)
+@@ -211,8 +218,10 @@ You should pass the inline lexer to ``Markdown`` parser:
+
+ .. code:: python
+
+- renderer = MyRenderer()
+- inline = MyInlineLexer(renderer)
++ renderer = WikiLinkRenderer()
++ inline = WikiLinkInlineLexer(renderer)
++ # enable the feature
++ inline.enable_wiki_link()
+ markdown = Markdown(renderer, inline=inline)
+ markdown('[[Link Text|Wiki Link]]')
+
+@@ -220,12 +229,21 @@ It is the same with block level lexer. It would take a while to understand
+ the whole mechanism. But you won't do the trick a lot.
+
+
+-Contribution
+-------------
++Contribution & Extensions
++-------------------------
+
+ Mistune itself doesn't accept any extension. It will always be a simple one
+ file script.
+
+ If you want to add features, you can head over to `mistune-contrib`_.
+
++Here are some extensions already in `mistune-contrib`_:
++
++* Math/MathJax features
++* Highlight Code Renderer
++* TOC table of content features
++* MultiMarkdown Metadata parser
++
++Get inspired with the contrib repository.
++
+ .. _`mistune-contrib`: https://github.com/lepture/mistune-contrib
+diff --git a/mistune.py b/mistune.py
+index 316f86d..86d215e 100644
+--- a/mistune.py
++++ b/mistune.py
+@@ -476,6 +476,11 @@ class InlineLexer(object):
+ 'double_emphasis', 'emphasis', 'code',
+ 'linebreak', 'strikethrough', 'text',
+ ]
++ inline_html_rules = [
++ 'escape', 'autolink', 'url', 'link', 'reflink',
++ 'nolink', 'double_emphasis', 'emphasis', 'code',
++ 'linebreak', 'strikethrough', 'text',
++ ]
+
+ def __init__(self, renderer, rules=None, **kwargs):
+ self.renderer = renderer
+@@ -491,6 +496,10 @@ class InlineLexer(object):
+ self._in_link = False
+ self._in_footnote = False
+
++ kwargs.update(self.renderer.options)
++ _to_parse = kwargs.get('parse_html') or kwargs.get('parse_inline_html')
++ self._parse_inline_html = _to_parse
++
+ def __call__(self, text):
+ return self.output(text)
+
+@@ -553,7 +562,15 @@ class InlineLexer(object):
+ return self.renderer.autolink(link, False)
+
+ def output_inline_html(self, m):
+- return self.renderer.inline_html(m.group(0))
++ text = m.group(0)
++ if self._parse_inline_html:
++ if m.group(1) == 'a':
++ self._in_link = True
++ text = self.output(text, rules=self.inline_html_rules)
++ self._in_link = False
++ else:
++ text = self.output(text, rules=self.inline_html_rules)
++ return self.renderer.inline_html(text)
+
+ def output_footnote(self, m):
+ key = _keyify(m.group(1))
+@@ -909,6 +926,10 @@ class Markdown(object):
+ self.footnotes = []
+ self.tokens = []
+
++ # detect if it should parse text in block html
++ _to_parse = kwargs.get('parse_html') or kwargs.get('parse_block_html')
++ self._parse_block_html = _to_parse
++
+ def __call__(self, text):
+ return self.parse(text)
+
+@@ -1072,7 +1093,7 @@ class Markdown(object):
+
+ def output_block_html(self):
+ text = self.token['text']
+- if self.options.get('parse_html') and not self.token.get('pre'):
++ if self._parse_block_html and not self.token.get('pre'):
+ text = self.inline(text)
+ return self.renderer.block_html(text)
+
+diff --git a/tests/test_cases.py b/tests/test_cases.py
+index 933fa4c..3853a67 100644
+--- a/tests/test_cases.py
++++ b/tests/test_cases.py
+@@ -99,12 +99,36 @@ def test_use_xhtml():
+ assert '<img src="bar" alt="foo" title="title" />' in ret
+
+
+-def test_block_html():
++def test_parse_html():
+ ret = mistune.markdown('<div>**foo**</div>')
+ assert '<strong>' not in ret
+ ret = mistune.markdown('<div>**foo**</div>', parse_html=True)
+ assert '<strong>' in ret
+
++ ret = mistune.markdown('<span>**foo**</span>')
++ assert '<strong>' not in ret
++ ret = mistune.markdown('<span>**foo**</span>', parse_html=True)
++ assert '<strong>' in ret
++
++ ret = mistune.markdown('<span>http://example.com</span>', parse_html=True)
++ assert 'href' in ret
++ ret = mistune.markdown('<a>http://example.com</a>', parse_html=True)
++ assert 'href' not in ret
++
++
++def test_parse_inline_html():
++ ret = mistune.markdown('<div>**foo**</div>', parse_inline_html=True)
++ assert '<strong>' not in ret
++ ret = mistune.markdown('<span>**foo**</span>', parse_inline_html=True)
++ assert '<strong>' in ret
++
++
++def test_parse_block_html():
++ ret = mistune.markdown('<div>**foo**</div>', parse_block_html=True)
++ assert '<strong>' in ret
++ ret = mistune.markdown('<span>**foo**</span>', parse_block_html=True)
++ assert '<strong>' not in ret
++
+
+ def test_trigger_more_cases():
+ markdown = mistune.Markdown(
+@@ -114,79 +138,3 @@ def test_trigger_more_cases():
+ )
+ ret = markdown.render('foo[^foo]\n\n[^foo]: foo\n\n[^foo]: bar\n')
+ assert 'bar' not in ret
+-
+-
+-def test_custom_lexer():
+- import copy
+-
+- class MyInlineGrammar(mistune.InlineGrammar):
+- # it would take a while for creating the right regex
+- wiki_link = re.compile(
+- r'\[\[' # [[
+- r'([\s\S]+?\|[\s\S]+?)' # Page 2|Page 2
+- r'\]\](?!\])' # ]]
+- )
+-
+- class MyInlineLexer(mistune.InlineLexer):
+- default_rules = copy.copy(mistune.InlineLexer.default_rules)
+- default_rules.insert(3, 'wiki_link')
+-
+- def __init__(self, renderer, rules=None, **kwargs):
+- if rules is None:
+- rules = MyInlineGrammar()
+-
+- super(MyInlineLexer, self).__init__(renderer, rules, **kwargs)
+-
+- def output_wiki_link(self, m):
+- text = m.group(1)
+- alt, link = text.split('|')
+- return '<a href="%s">%s</a>' % (link, alt)
+-
+- markdown = mistune.Markdown(inline=MyInlineLexer)
+- ret = markdown('[[Link Text|Wiki Link]]')
+- assert '<a href' in ret
+-
+-
+-def test_token_tree():
+- """Tests a Renderer that returns a list from the placeholder method."""
+-
+- class CustomRenderer(mistune.Renderer):
+- def placeholder(self):
+- return []
+-
+- def __getattribute__(self, name):
+- """Saves the arguments to each Markdown handling method."""
+- found = CustomRenderer.__dict__.get(name)
+- if found:
+- return object.__getattribute__(self, name)
+-
+- def fake_method(*args, **kwargs):
+- return [(name, args, kwargs)]
+- return fake_method
+-
+- with open(os.path.join(root, 'fixtures', 'data', 'tree.md')) as f:
+- content = f.read()
+-
+- expected = [
+- ('header', ([('text', ('Title here',), {})], 2, 'Title here'), {}),
+- ('paragraph', ([('text', ('Some text.',), {})],), {}),
+- ('paragraph',
+- ([('text', ('In two paragraphs. And then a list.',), {})],),
+- {}),
+- ('list',
+- ([('list_item', ([('text', ('foo',), {})],), {}),
+- ('list_item',
+- ([('text', ('bar',), {}),
+- ('list',
+- ([('list_item', ([('text', ('meep',), {})],), {}),
+- ('list_item', ([('text', ('stuff',), {})],), {})],
+- True),
+- {})],),
+- {})],
+- False),
+- {})
+- ]
+-
+- processor = mistune.Markdown(renderer=CustomRenderer())
+- found = processor.render(content)
+- assert expected == found, "Expected:\n%r\n\nFound:\n%r" % (expected, found)
+diff --git a/tests/test_subclassing.py b/tests/test_subclassing.py
+index 2cebfc0..f0df225 100644
+--- a/tests/test_subclassing.py
++++ b/tests/test_subclassing.py
+@@ -2,6 +2,7 @@
+
+ import os
+ import re
++import copy
+ import mistune
+
+ root = os.path.dirname(__file__)
+@@ -73,7 +74,7 @@ class MarkdownWithMath(mistune.Markdown):
+ )
+
+
+-class CustomRenderer(mistune.Renderer):
++class MathRenderer(mistune.Renderer):
+ def block_math(self, text):
+ return '$$%s$$' % text
+
+@@ -92,7 +93,7 @@ def assert_data(filename):
+ else:
+ text = filename
+
+- rv = MarkdownWithMath(renderer=CustomRenderer()).render(text)
++ rv = MarkdownWithMath(renderer=MathRenderer()).render(text)
+ assert text in rv
+
+
+@@ -109,3 +110,82 @@ def test_markdown2html_math():
+ def test_math_paragraph():
+ # https://github.com/ipython/ipython/issues/6724
+ assert_data('math-paragraph.md')
++
++
++class WikiInlineGrammar(mistune.InlineGrammar):
++ # it would take a while for creating the right regex
++ wiki_link = re.compile(
++ r'\[\[' # [[
++ r'([\s\S]+?\|[\s\S]+?)' # Page 2|Page 2
++ r'\]\](?!\])' # ]]
++ )
++
++
++class WikiInlineLexer(mistune.InlineLexer):
++ default_rules = copy.copy(mistune.InlineLexer.default_rules)
++ default_rules.insert(3, 'wiki_link')
++
++ def __init__(self, renderer, rules=None, **kwargs):
++ if rules is None:
++ rules = WikiInlineGrammar()
++
++ super(WikiInlineLexer, self).__init__(renderer, rules, **kwargs)
++
++ def output_wiki_link(self, m):
++ text = m.group(1)
++ alt, link = text.split('|')
++ return '<a href="%s">%s</a>' % (link, alt)
++
++
++def test_custom_lexer():
++ markdown = mistune.Markdown(inline=WikiInlineLexer)
++ ret = markdown('[[Link Text|Wiki Link]]')
++ assert '<a href' in ret
++
++
++class TokenTreeRenderer(mistune.Renderer):
++ # options is required
++ options = {}
++
++ def placeholder(self):
++ return []
++
++ def __getattribute__(self, name):
++ """Saves the arguments to each Markdown handling method."""
++ found = TokenTreeRenderer.__dict__.get(name)
++ if found is not None:
++ return object.__getattribute__(self, name)
++
++ def fake_method(*args, **kwargs):
++ return [(name, args, kwargs)]
++ return fake_method
++
++
++def test_token_tree():
++ """Tests a Renderer that returns a list from the placeholder method."""
++ with open(os.path.join(root, 'fixtures', 'data', 'tree.md')) as f:
++ content = f.read()
++
++ expected = [
++ ('header', ([('text', ('Title here',), {})], 2, 'Title here'), {}),
++ ('paragraph', ([('text', ('Some text.',), {})],), {}),
++ ('paragraph',
++ ([('text', ('In two paragraphs. And then a list.',), {})],),
++ {}),
++ ('list',
++ ([('list_item', ([('text', ('foo',), {})],), {}),
++ ('list_item',
++ ([('text', ('bar',), {}),
++ ('list',
++ ([('list_item', ([('text', ('meep',), {})],), {}),
++ ('list_item', ([('text', ('stuff',), {})],), {})],
++ True),
++ {})],),
++ {})],
++ False),
++ {})
++ ]
++
++ processor = mistune.Markdown(renderer=TokenTreeRenderer())
++ found = processor.render(content)
++ assert expected == found, "Expected:\n%r\n\nFound:\n%r" % (expected, found)
diff --git a/dev-python/mistune/metadata.xml b/dev-python/mistune/metadata.xml
new file mode 100644
index 000000000000..3266c54d66b0
--- /dev/null
+++ b/dev-python/mistune/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">mistune</remote-id>
+ <remote-id type="github">lepture/mistune</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mistune/mistune-0.5.1.ebuild b/dev-python/mistune/mistune-0.5.1.ebuild
new file mode 100644
index 000000000000..c8fbbb0e7073
--- /dev/null
+++ b/dev-python/mistune/mistune-0.5.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="The fastest markdown parser in pure Python"
+HOMEPAGE="https://pypi.python.org/pypi/mistune https://github.com/lepture/mistune"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/cython[$(python_gen_usedep 'python*')]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/mistune/mistune-0.6-r1.ebuild b/dev-python/mistune/mistune-0.6-r1.ebuild
new file mode 100644
index 000000000000..a10ce82299b1
--- /dev/null
+++ b/dev-python/mistune/mistune-0.6-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="The fastest markdown parser in pure Python"
+HOMEPAGE="https://pypi.python.org/pypi/mistune https://github.com/lepture/mistune"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/cython[$(python_gen_usedep 'python*')]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-inline-html.patch )
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/mistune/mistune-0.7.ebuild b/dev-python/mistune/mistune-0.7.ebuild
new file mode 100644
index 000000000000..9ba8e32b7d80
--- /dev/null
+++ b/dev-python/mistune/mistune-0.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="The fastest markdown parser in pure Python"
+HOMEPAGE="https://pypi.python.org/pypi/mistune https://github.com/lepture/mistune"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/cython[$(python_gen_usedep 'python*')]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/mkdocs/Manifest b/dev-python/mkdocs/Manifest
new file mode 100644
index 000000000000..5e5c66e965c8
--- /dev/null
+++ b/dev-python/mkdocs/Manifest
@@ -0,0 +1,3 @@
+DIST mkdocs-0.11.1.tar.gz 3688578 SHA256 dced877e483bf38bc0842ff656ad88196142252597c5e5bfd40973042d179bfe SHA512 dff3040be2b032447c500a9037876c446d7f208773f33a078ed93fc63f9c564f7ba382916d7879ae4d3f61300fdec1185d9f6a2d53cfb918fd5cfdf8e47c67b9 WHIRLPOOL c040e7725cac975b363e2ad110394d3b68e381fae6ff830bba7bb07d8d8262361ad0853db99e8133a8fed17a5a45761129fb48c59111a5dd6b0ea4b76006588b
+DIST mkdocs-0.12.2.tar.gz 6042907 SHA256 3d96844b742c00e7466d63a713a3b6b01575aa71f6ae7214dd12797d48df38b8 SHA512 149d8e27df8474ade24e4cbff1b8eef1d7a7549997499c7df774afdb89bc9fe0d8de7d869d8b29aba883d1672032c76e8dbdb7e8982da6f94e2145d0b554e677 WHIRLPOOL c476ff900c94cf880c7f5c5f8edb615f11e4f169bae0b696a217de0c7384c7fb4818b5f9afdfb8a6f7c5c77877ada518f938a1b0b756703b5866f82b6a240262
+DIST mkdocs-0.14.0.tar.gz 6248506 SHA256 fd3e1623dcd7027dbac55f4d8c4f1c1b990e87588ee463999e717b5083556b73 SHA512 47c95f258362df8b124a9689a79a9927d26b1f7816b027fd14d193c79bb5340bdea8770c47566e00452edcdf801fe858569f4c76aa9d3f1799e6e7100bb916ff WHIRLPOOL be64596ebbd3c206ce805fa268719db49ff16272d63562c80664d9515f3a164304db80b680dcae7ff1a50a61cc42aa8a47c2df9ff6be270788eae36b5fb1e78d
diff --git a/dev-python/mkdocs/files/0.12.2-skip-invalid-test.patch b/dev-python/mkdocs/files/0.12.2-skip-invalid-test.patch
new file mode 100644
index 000000000000..cb8a23eb8131
--- /dev/null
+++ b/dev-python/mkdocs/files/0.12.2-skip-invalid-test.patch
@@ -0,0 +1,12 @@
+diff --git a/mkdocs/tests/config_tests.py b/mkdocs/tests/config_tests.py
+index 647c695..b26d59d 100644
+--- a/mkdocs/tests/config_tests.py
++++ b/mkdocs/tests/config_tests.py
+@@ -130,7 +130,6 @@ class ConfigTests(unittest.TestCase):
+ {'docs_dir': 'docs', 'site_dir': ''},
+ {'docs_dir': '', 'site_dir': 'site'},
+ {'docs_dir': '', 'site_dir': ''},
+- {'docs_dir': j('..', 'mkdocs', 'docs'), 'site_dir': 'docs'},
+ )
+
+ conf = {
diff --git a/dev-python/mkdocs/files/skip-invalid-test.patch b/dev-python/mkdocs/files/skip-invalid-test.patch
new file mode 100644
index 000000000000..58bf9e4c01da
--- /dev/null
+++ b/dev-python/mkdocs/files/skip-invalid-test.patch
@@ -0,0 +1,24 @@
+diff --git a/mkdocs/tests/config/config_options_tests.py b/mkdocs/tests/config/config_options_tests.py
+index 1721bdd..4a41658 100644
+--- a/mkdocs/tests/config/config_options_tests.py
++++ b/mkdocs/tests/config/config_options_tests.py
+@@ -180,7 +180,6 @@ class SiteDirTest(unittest.TestCase):
+ {'docs_dir': '.', 'site_dir': '.'},
+ {'docs_dir': 'docs', 'site_dir': ''},
+ {'docs_dir': '', 'site_dir': ''},
+- {'docs_dir': j('..', 'mkdocs', 'docs'), 'site_dir': 'docs'},
+ )
+
+ for test_config in test_configs:
+diff --git a/mkdocs/tests/config/config_tests.py b/mkdocs/tests/config/config_tests.py
+index fe32fd9..d5ce61e 100644
+--- a/mkdocs/tests/config/config_tests.py
++++ b/mkdocs/tests/config/config_tests.py
+@@ -181,7 +181,6 @@ class ConfigTests(unittest.TestCase):
+ {'docs_dir': '.', 'site_dir': '.'},
+ {'docs_dir': 'docs', 'site_dir': ''},
+ {'docs_dir': '', 'site_dir': ''},
+- {'docs_dir': j('..', 'mkdocs', 'docs'), 'site_dir': 'docs'},
+ )
+
+ conf = {
diff --git a/dev-python/mkdocs/metadata.xml b/dev-python/mkdocs/metadata.xml
new file mode 100644
index 000000000000..e39764a8ab1f
--- /dev/null
+++ b/dev-python/mkdocs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">tomchristie/mkdocs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs/mkdocs-0.11.1-r1.ebuild b/dev-python/mkdocs/mkdocs-0.11.1-r1.ebuild
new file mode 100644
index 000000000000..fed5d4d0089e
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-0.11.1-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Project documentation with Markdown."
+HOMEPAGE="http://www.mkdocs.org"
+SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+RDEPEND="
+ >=dev-python/jinja-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ghp-import-0.4.1[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ ebegin 'patching setup.py'
+ sed \
+ -e "20s/,[^']*//" \
+ -i setup.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" -m mkdocs.main build || die "failed to build documentation"
+ fi
+}
+
+python_test() {
+ nosetests mkdocs/test.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mkdocs/mkdocs-0.12.2.ebuild b/dev-python/mkdocs/mkdocs-0.12.2.ebuild
new file mode 100644
index 000000000000..042b4fa9fcca
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-0.12.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Project documentation with Markdown."
+HOMEPAGE="http://www.mkdocs.org"
+SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/ghp-import-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/livereload-2.3.2[${PYTHON_USEDEP}]
+ >=dev-python/markdown-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PV}"-skip-invalid-test.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" -m mkdocs.main build || die "failed to build documentation"
+ fi
+}
+
+python_test() {
+ nosetests mkdocs/tests || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( site/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mkdocs/mkdocs-0.14.0.ebuild b/dev-python/mkdocs/mkdocs-0.14.0.ebuild
new file mode 100644
index 000000000000..7a86da10a521
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-0.14.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Project documentation with Markdown."
+HOMEPAGE="http://www.mkdocs.org"
+SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/click-4.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/livereload-2.3.2[${PYTHON_USEDEP}]
+ >=dev-python/markdown-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=www-servers/tornado-4.1[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/skip-invalid-test.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests mkdocs/tests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mkpythonproj/Manifest b/dev-python/mkpythonproj/Manifest
new file mode 100644
index 000000000000..bac8e8f09982
--- /dev/null
+++ b/dev-python/mkpythonproj/Manifest
@@ -0,0 +1 @@
+DIST mkpythonproj-1.9.tar.gz 34828 SHA256 c89385ce08b46c81c4dbe1a9f77d2078a80ed49fc2fe11c81baf89f3ad68ead5 SHA512 6ace3a00657ca1e853b882e897ae727eede5f1f5d72f016b439be2d747ea7cf4954aed85032a50549c1a44f88fd98afd727476bef77797fa53c2234e1d22673b WHIRLPOOL 4e9564bc4beb1e23670a8e0d5d81c6f7069342ddc3fe403af906f8a516405886d287b9c550912f76f3d3f9e7d56efa1c131e801e8935a5edacd32d8aeea8b9c6
diff --git a/dev-python/mkpythonproj/metadata.xml b/dev-python/mkpythonproj/metadata.xml
new file mode 100644
index 000000000000..0d924dec2c7d
--- /dev/null
+++ b/dev-python/mkpythonproj/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/mkpythonproj/mkpythonproj-1.9.ebuild b/dev-python/mkpythonproj/mkpythonproj-1.9.ebuild
new file mode 100644
index 000000000000..a332c12ef566
--- /dev/null
+++ b/dev-python/mkpythonproj/mkpythonproj-1.9.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Creates the framework for a new Python project or script"
+HOMEPAGE="http://www.seanet.com/~hgg9140/comp/mkpythonproj/doc/index.html"
+SRC_URI="http://www.seanet.com/~hgg9140/comp/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mock/Manifest b/dev-python/mock/Manifest
new file mode 100644
index 000000000000..87ab07ab8e38
--- /dev/null
+++ b/dev-python/mock/Manifest
@@ -0,0 +1,3 @@
+DIST mock-1.0.1.tar.gz 818644 SHA256 b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f SHA512 4f6f4ebc34843e16b15d866e415ad9992e79bd266a63a22fee31b773ba77615e3406bc8890ceed92c0ee296380d68c46299c4c4448a3526f9cb96b258d32cf58 WHIRLPOOL d5a83199a355d9dc8f327f287e6f6fb889f569eb6642c86390aead3f91505c5fb98512e15ed34cadb407dc0a56d541395132872f1a910d20d330d6d3190f164c
+DIST mock-1.2.0.tar.gz 70370 SHA256 c2df20835beea1c018f4ecc8382317c50aea01351caae1730933f564757d571e SHA512 61a04ca2d4f1f0d9f682b86d569a1f1eafa077f0dcb40903d3970b4d29e31b4258259c26e55548e0c49bbb14ca21715233d58d9f34ca4afb3cec2d683fbf043f WHIRLPOOL b93ed20a696e90f48e83016f90560a2504f6892d8f33d7075e19dcae9c9d8b59d69c5022355cb8b95c119970478a7bf244b34455cbe75d36438efaec78e82673
+DIST mock-1.3.0.tar.gz 70908 SHA256 1e247dbecc6ce057299eb7ee019ad68314bb93152e81d9a6110d35f4d5eca0f6 SHA512 10cbb78b89f2e82abfcadc035a526182f83b59df4775cd85acfdbeb4505791c63b7a3761e6126a08d9aedbd07ead8632ac2a728dc07a362f4aaeea694bdecaf9 WHIRLPOOL 783fa1a7dade482c318805cc34bc642e29403e2fd1e6010acf212283d20981216cc8ef85cfea3e72c9f521d2954cf8e895cbe7ee126cd84d780c8b80727421f2
diff --git a/dev-python/mock/files/mock-1.0.1-fix-python3.4.patch b/dev-python/mock/files/mock-1.0.1-fix-python3.4.patch
new file mode 100644
index 000000000000..166ee2ac00d3
--- /dev/null
+++ b/dev-python/mock/files/mock-1.0.1-fix-python3.4.patch
@@ -0,0 +1,30 @@
+# Fix test errors with python 3.4 - thanks to Ubuntu developer Barry Warsaw.
+
+diff -r d356250e275d mock.py
+--- a/mock.py Tue Apr 09 14:53:33 2013 +0100
++++ b/mock.py Wed Feb 26 15:12:18 2014 -0500
+@@ -239,12 +239,21 @@
+ funcopy.__name__ = func.__name__
+ funcopy.__doc__ = func.__doc__
+ #funcopy.__dict__.update(func.__dict__)
+- funcopy.__module__ = func.__module__
++ try:
++ funcopy.__module__ = func.__module__
++ except AttributeError:
++ pass
+ if not inPy3k:
+ funcopy.func_defaults = func.func_defaults
+ return
+- funcopy.__defaults__ = func.__defaults__
+- funcopy.__kwdefaults__ = func.__kwdefaults__
++ try:
++ funcopy.__defaults__ = func.__defaults__
++ except AttributeError:
++ pass
++ try:
++ funcopy.__kwdefaults__ = func.__kwdefaults__
++ except AttributeError:
++ pass
+
+
+ def _callable(obj):
diff --git a/dev-python/mock/metadata.xml b/dev-python/mock/metadata.xml
new file mode 100644
index 000000000000..65b34d679ea4
--- /dev/null
+++ b/dev-python/mock/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mock</remote-id>
+ <remote-id type="github">testing-cabal/mock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mock/mock-1.0.1-r1.ebuild b/dev-python/mock/mock-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..b90e7514d983
--- /dev/null
+++ b/dev-python/mock/mock-1.0.1-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python Mocking and Patching Library for Testing"
+HOMEPAGE="http://www.voidspace.org.uk/python/mock/ http://pypi.python.org/pypi/mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc test"
+
+# dev-python/unittest2 is not required with Python >=3.2.
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( docs/*.txt )
+
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r html/ -x html/objects.inv -x html/output.txt -x html/_sources
+ fi
+}
diff --git a/dev-python/mock/mock-1.0.1-r2.ebuild b/dev-python/mock/mock-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..06557c703ac6
--- /dev/null
+++ b/dev-python/mock/mock-1.0.1-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python Mocking and Patching Library for Testing"
+HOMEPAGE="http://www.voidspace.org.uk/python/mock/ http://pypi.python.org/pypi/mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc test"
+
+# dev-python/unittest2 is not required with Python >=3.2.
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/unittest2[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-fix-python3.4.patch
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( docs/*.txt )
+
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r html/ -x html/objects.inv -x html/output.txt -x html/_sources
+ fi
+}
diff --git a/dev-python/mock/mock-1.2.0.ebuild b/dev-python/mock/mock-1.2.0.ebuild
new file mode 100644
index 000000000000..c1331c7a1d36
--- /dev/null
+++ b/dev-python/mock/mock-1.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
+HOMEPAGE="https://github.com/testing-cabal/mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~m68k ~mips ~s390 ~sh ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc test"
+
+CDEPEND="$(python_gen_cond_dep 'dev-python/funcsigs[${PYTHON_USEDEP}]' 'python2_7')"
+DEPEND="
+ >=dev-python/setuptools-17.1[${PYTHON_USEDEP}]
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/unittest2-1.1.0[${PYTHON_USEDEP}]' python{2_7,3_3} pypy)
+ )"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/six-1.7[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ nosetests || die "tests fail under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local DOCS=( docs/*.txt )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mock/mock-1.3.0-r1.ebuild b/dev-python/mock/mock-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..e7b8f1a1829b
--- /dev/null
+++ b/dev-python/mock/mock-1.3.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
+HOMEPAGE="https://github.com/testing-cabal/mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~m68k ~mips ~s390 ~sh ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc test"
+
+CDEPEND="$(python_gen_cond_dep 'dev-python/funcsigs[${PYTHON_USEDEP}]' 'python2_7')
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/setuptools-17.1[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/unittest2-1.1.0[${PYTHON_USEDEP}]' python{2_7,3_3} pypy)
+ )"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/six-1.7[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ nosetests || die "tests fail under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local DOCS=( docs/*.txt )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mocker/Manifest b/dev-python/mocker/Manifest
new file mode 100644
index 000000000000..067a516c2dae
--- /dev/null
+++ b/dev-python/mocker/Manifest
@@ -0,0 +1 @@
+DIST mocker-1.1.1.tar.bz2 36357 SHA256 2009911707c74b28bdc9959b5224717e45fcb93475b4b7bb4efad3285fcf2919 SHA512 79fc08220b932f5e8ec4999a872fd522a71e2d193fb7842a60b164793863d97aefbd5b16469243c323b8ee151a33e1ea18703b7ceaa239c816bc09a3fb7f6825 WHIRLPOOL 29103b97a278575a424ff46f986459d93751a2865fb1eecfa37134053dfdd03e0998f280b44c43d9c9bd4044b7121b20c191e7dc1989790d774eda653f731619
diff --git a/dev-python/mocker/files/mocker-1.1.1-pypy_test.patch b/dev-python/mocker/files/mocker-1.1.1-pypy_test.patch
new file mode 100644
index 000000000000..b0036ad6dd11
--- /dev/null
+++ b/dev-python/mocker/files/mocker-1.1.1-pypy_test.patch
@@ -0,0 +1,29 @@
+Upstream maintainer assures us "The "assertRaises" line should be skipped IMO. The next call actually succeeds,
+but of course there is no point to test for unsupported functions."
+Re the 2nd patch;
+PyPy actually behaves as if __slots__ was added to the class
+see http://morepypy.blogspot.ch/2010/11/efficiently-implementing-python-objects.html
+diff -ur mocker-1.1.1.orig/test.py mocker-1.1.1/test.py
+--- test.py 2012-05-19 19:27:02.000000000 +0800
++++ test.py 2012-07-11 14:43:57.848953730 +0800
+@@ -3880,7 +3881,7 @@
+ from zlib import adler32
+ # If that fails, this test has to change because either adler32 has
+ # changed, or the implementation of getargspec has changed.
+- self.assertRaises(TypeError, inspect.getargspec, adler32)
++ # self.assertRaises(TypeError, inspect.getargspec, adler32)
+ try:
+ task = SpecChecker(adler32)
+ task.run(self.path("asd"))
+@@ -4060,7 +4060,8 @@
+ self.calendar = calendar
+ obj = C()
+ self.task.replay()
+- self.assertEquals(type(obj.calendar), Mock)
+- self.assertTrue(obj.calendar is self.mock)
++ if not hasattr(sys, 'pypy_version_info'):
++ self.assertEquals(type(obj.calendar), Mock)
++ self.assertTrue(obj.calendar is self.mock)
+
+ def test_install_on_submodule(self):
+ from os import path
diff --git a/dev-python/mocker/metadata.xml b/dev-python/mocker/metadata.xml
new file mode 100644
index 000000000000..ff6fd8b591ac
--- /dev/null
+++ b/dev-python/mocker/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mocker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mocker/mocker-1.1.1-r1.ebuild b/dev-python/mocker/mocker-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..ad342178d588
--- /dev/null
+++ b/dev-python/mocker/mocker-1.1.1-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Platform for Python test doubles: mocks, stubs, fakes, and dummies"
+HOMEPAGE="http://labix.org/mocker http://pypi.python.org/pypi/mocker"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-pypy_test.patch )
+
+python_test() {
+ "${PYTHON}" test.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/mockldap/Manifest b/dev-python/mockldap/Manifest
new file mode 100644
index 000000000000..442ce209d6ab
--- /dev/null
+++ b/dev-python/mockldap/Manifest
@@ -0,0 +1,4 @@
+DIST mockldap-0.2.2.tar.gz 22237 SHA256 a2327eeb735a283da7dfa91a878a80d8804fc0bee66e835ac9b62054cf8d00b5 SHA512 79beb00d663e7ba48972cfe85eae59916f2d10f9924ee232f71bdd2b8b821d9d6276b4c54a2480d2726afb0f162193058e390aa7ee614dad0a9ffa652f8cd244 WHIRLPOOL 4457c4d8b6ec75ac0b4379dcd0c2927455d0ba2acd74d15db86c328a49bdd476a5a32cf81fad5c89e67461f4b09272740eb0d52fd5dd1c5827ab182d72e149b7
+DIST mockldap-0.2.3.tar.gz 22369 SHA256 a37eb912cbc0cab5320cb848530c90729d87939ff9264dc38adba3bffc596e65 SHA512 3e17d9f3d6ae5a33014e2ccfe521170af1b136f38b68b216df721059941d958b87f03fb4ed5772282d319cfae9974cf1ae9e4e3bec629d161761e2018ed26788 WHIRLPOOL 2cf75ee5fabf4a350f82fc7b70b7c834e20f3bfddbc33741668c9d6765b57141dd18ae81b3fc2b15c9df20389374f3129e826e193723b220c51f2c721c48f7ba
+DIST mockldap-0.2.4.tar.gz 22460 SHA256 6d96035920cec440ca415fc809a37f60ccf394ef169b0693c03e5bba65927532 SHA512 536c511e28ac2a3ed0b1a525db71a60f12a8e6bddb93fe2873fdfeddc80067e83a3f3ba8f8cd98a50fe6ce931232da9575102dba9fa9525644d0f1b3733c694e WHIRLPOOL 6b70446e01f7fb0e18cc6c0333e926e4ef8976b95bfb058341a739f55e6ab951b07f9e41f5e787dd0264100e82e31efd0b523c2095d317c6f9fa0f80908ce941
+DIST mockldap-0.2.5.tar.gz 22775 SHA256 994eae87a9ff4a13ceb192d71c66a3bc041663f07db227cfbac81c9a87b94d77 SHA512 d1a2eb1d860daaa7e9063d80ec1df3ad69a44639ce6894db3ee47766a40d92a50d6fc1e0ae84000798fb86b7a6082c353bb9a3941dd01571bd52d761bcb05010 WHIRLPOOL d4dec0cb06a93100be309351a459f741ffb90849629b8a68ef81711b002b73afc81619c091687983606d9490802cb1c8a24e180093b70d9e891cfdb256d2383c
diff --git a/dev-python/mockldap/files/mapping.patch b/dev-python/mockldap/files/mapping.patch
new file mode 100644
index 000000000000..f3cdd862a9d6
--- /dev/null
+++ b/dev-python/mockldap/files/mapping.patch
@@ -0,0 +1,12 @@
+Disable un-needed d'loading during doc build
+diff -ur mockldap-0.1.7.orig/docs/source/conf.py mockldap-0.1.7/docs/source/conf.py
+--- docs/source/conf.py 2014-03-08 00:51:00.000000000 +0800
++++ docs/source/conf.py 2014-04-12 16:04:52.113446583 +0800
+@@ -28,7 +28,6 @@
+ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+ extensions = [
+ 'sphinx.ext.autodoc',
+- 'sphinx.ext.intersphinx',
+ 'sphinx.ext.viewcode',
+ ]
+
diff --git a/dev-python/mockldap/files/mockldap-0.1.5-modify_s-backport.patch b/dev-python/mockldap/files/mockldap-0.1.5-modify_s-backport.patch
new file mode 100644
index 000000000000..c66c63890aec
--- /dev/null
+++ b/dev-python/mockldap/files/mockldap-0.1.5-modify_s-backport.patch
@@ -0,0 +1,21 @@
+# HG changeset patch
+# User Peter Sagerson <psagers.hg@ignorare.net>
+# Date 1392920906 28800
+# Node ID 6433fd7dc97473150114c06a90d189a62a39951f
+# Parent f298b032a25ef6c2bcc6749d9bf096352a49f37d
+Fix tests to match the recent modify_s change.
+
+diff --git a/src/mockldap/tests.py b/src/mockldap/tests.py
+--- a/src/mockldap/tests.py
++++ b/src/mockldap/tests.py
+@@ -453,8 +453,8 @@
+
+ self.ldapobj.modify_s(manager[0], mod_list)
+
+- self.assertNotIn('objectClass',
+- self.ldapobj.directory[manager[0]].keys())
++ self.assertEqual(self.ldapobj.directory[manager[0]]['objectClass'],
++ [])
+
+ def test_modify_s_invalid_dn(self):
+ mod_list = [(ldap.MOD_DELETE, 'objectClass', None)]
diff --git a/dev-python/mockldap/metadata.xml b/dev-python/mockldap/metadata.xml
new file mode 100644
index 000000000000..4f80f5ed7d98
--- /dev/null
+++ b/dev-python/mockldap/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mockldap</remote-id>
+ <remote-id type="bitbucket">psagers/mockldap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mockldap/mockldap-0.2.2.ebuild b/dev-python/mockldap/mockldap-0.2.2.ebuild
new file mode 100644
index 000000000000..dd8d7ca967ea
--- /dev/null
+++ b/dev-python/mockldap/mockldap-0.2.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple mock implementation of python-ldap"
+HOMEPAGE="https://bitbucket.org/psagers/mockldap/ https://pypi.python.org/pypi/mockldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="~dev-python/funcparserlib-0.3.6[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/python-ldap[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Disable un-needed d'loading during doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/passlib; then
+ elog "Please install dev-python/passlib for hashed password support."
+ fi
+}
diff --git a/dev-python/mockldap/mockldap-0.2.3.ebuild b/dev-python/mockldap/mockldap-0.2.3.ebuild
new file mode 100644
index 000000000000..4007b5ada437
--- /dev/null
+++ b/dev-python/mockldap/mockldap-0.2.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple mock implementation of python-ldap"
+HOMEPAGE="https://bitbucket.org/psagers/mockldap/ https://pypi.python.org/pypi/mockldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="~dev-python/funcparserlib-0.3.6[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/python-ldap[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Disable un-needed d'loading during doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/passlib; then
+ elog "Please install dev-python/passlib for hashed password support."
+ fi
+}
diff --git a/dev-python/mockldap/mockldap-0.2.4.ebuild b/dev-python/mockldap/mockldap-0.2.4.ebuild
new file mode 100644
index 000000000000..12f38f5629a6
--- /dev/null
+++ b/dev-python/mockldap/mockldap-0.2.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple mock implementation of python-ldap"
+HOMEPAGE="https://bitbucket.org/psagers/mockldap/ https://pypi.python.org/pypi/mockldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="~dev-python/funcparserlib-0.3.6[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/python-ldap[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Disable un-needed d'loading during doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/passlib; then
+ elog "Please install dev-python/passlib for hashed password support."
+ fi
+}
diff --git a/dev-python/mockldap/mockldap-0.2.5.ebuild b/dev-python/mockldap/mockldap-0.2.5.ebuild
new file mode 100644
index 000000000000..12f38f5629a6
--- /dev/null
+++ b/dev-python/mockldap/mockldap-0.2.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple mock implementation of python-ldap"
+HOMEPAGE="https://bitbucket.org/psagers/mockldap/ https://pypi.python.org/pypi/mockldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="~dev-python/funcparserlib-0.3.6[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/python-ldap[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Disable un-needed d'loading during doc build
+PATCHES=( "${FILESDIR}"/mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/passlib; then
+ elog "Please install dev-python/passlib for hashed password support."
+ fi
+}
diff --git a/dev-python/mongoengine/Manifest b/dev-python/mongoengine/Manifest
new file mode 100644
index 000000000000..af4556743d4f
--- /dev/null
+++ b/dev-python/mongoengine/Manifest
@@ -0,0 +1 @@
+DIST mongoengine-0.8.3.tar.gz 219978 SHA256 e8e8acbffda03d70ab09615135b823b7707bd11a4e6c9327c2fd8cbed145c14a SHA512 b77c36ae008fb31f26a60135fbba3a9cf08375506a760daa3fe9e2558a6c67f4ea769eccf7c472c9ddef900fe50548aca00a81d0e666b007398b31cb4d32e368 WHIRLPOOL 241c0b51a2c9a130ed8416266baa1394d06def7c7b074cec7c6a35da6add251cd0aa05f0350bf9334ee9d3921e6a686c23dbdf5a3120a1459a4adfc134c244e1
diff --git a/dev-python/mongoengine/metadata.xml b/dev-python/mongoengine/metadata.xml
new file mode 100644
index 000000000000..a1b620006dcf
--- /dev/null
+++ b/dev-python/mongoengine/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">MongoEngine/mongoengine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mongoengine/mongoengine-0.8.3.ebuild b/dev-python/mongoengine/mongoengine-0.8.3.ebuild
new file mode 100644
index 000000000000..b9bfc2fe9945
--- /dev/null
+++ b/dev-python/mongoengine/mongoengine-0.8.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test" # connects to local DB and other nonsense
+
+DESCRIPTION="A Python Object-Document-Mapper for working with MongoDB"
+HOMEPAGE="https://github.com/MongoEngine/mongoengine/"
+SRC_URI="https://github.com/MongoEngine/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ "
+
+src_prepare() {
+ sed -i -e 's/tests/tests*/g' setup.py || die "Failed to fix test removal thingy"
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/monotonic/Manifest b/dev-python/monotonic/Manifest
new file mode 100644
index 000000000000..213d31cddd69
--- /dev/null
+++ b/dev-python/monotonic/Manifest
@@ -0,0 +1,2 @@
+DIST monotonic-0.2.tar.gz 6652 SHA256 c5e81e875a43e218135ea2aa4c367523894e1a2d7633ddafbed5292c527644a8 SHA512 0da2f9504aebf1b046a06156e30b8d6b6fde29c642f442ba8e5a43336309fca0fe636488ea69e463fcba5951d990723fddc2b9172211f6d8c57b0ab3ebab1a66 WHIRLPOOL 129f6a170856780d727ff2ef11d4b3688971b7376c9e9f590c7bc85aa20ba35d699751ddd5de58d144d4a3d540a2aac7d3f9fd3a63d010d88d7f93ffa62c836c
+DIST monotonic-0.3.tar.gz 6707 SHA256 2825ba5ded67b1a70d44529634d3f4ddfad67a5ed7fdcf026022a3ce175be07b SHA512 772154934ffdd1a12aacc331761ce219980caac1bce243fd0740320a25152cf800142c5787c9423270bf02d18e88973dcd981781e2279b28ce364063102f1099 WHIRLPOOL 83d34eac5ee577ba8c42c6276d1c3a46fc30a63919ffd6f86260c09aaf6720ab171db89dfdaa28fd6d42ebb309725ff2e4e0e6c8306c21f9f12dce3d71436e71
diff --git a/dev-python/monotonic/metadata.xml b/dev-python/monotonic/metadata.xml
new file mode 100644
index 000000000000..04fc00a938e8
--- /dev/null
+++ b/dev-python/monotonic/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">monotonic</remote-id>
+ <remote-id type="github">atdt/monotonic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/monotonic/monotonic-0.2.ebuild b/dev-python/monotonic/monotonic-0.2.ebuild
new file mode 100644
index 000000000000..f469780ef414
--- /dev/null
+++ b/dev-python/monotonic/monotonic-0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An implementation of time.monotonic() for Python 2 & < 3.3"
+HOMEPAGE="https://github.com/atdt/monotonic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/monotonic/monotonic-0.3.ebuild b/dev-python/monotonic/monotonic-0.3.ebuild
new file mode 100644
index 000000000000..f469780ef414
--- /dev/null
+++ b/dev-python/monotonic/monotonic-0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An implementation of time.monotonic() for Python 2 & < 3.3"
+HOMEPAGE="https://github.com/atdt/monotonic"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/morbid/Manifest b/dev-python/morbid/Manifest
new file mode 100644
index 000000000000..56c7a5fee986
--- /dev/null
+++ b/dev-python/morbid/Manifest
@@ -0,0 +1 @@
+DIST morbid-0.8.7.3.tar.gz 15054 SHA256 71a9c88cee81dc473645e8568985dddd92437ca5e0bfc4558677573f8cad9fce SHA512 50a01e75ecf1691dcb6f4354647038627196eb4cd37d6e44812912bf0890870d307c8705f6894ecc389a86508d2dc81ed9195408b922c5ad140104a9b78c26dc WHIRLPOOL fa4ff28cdd13334a1f14ba2681a6d183f62b28f98bc52a792b2d5bf25c489780a04b65577d55dd089f1ceeb4ed246c362d242578fa82ca5bc64b3394bc543f17
diff --git a/dev-python/morbid/metadata.xml b/dev-python/morbid/metadata.xml
new file mode 100644
index 000000000000..615475f3eedf
--- /dev/null
+++ b/dev-python/morbid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">morbid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/morbid/morbid-0.8.7.3-r1.ebuild b/dev-python/morbid/morbid-0.8.7.3-r1.ebuild
new file mode 100644
index 000000000000..86d7cd21df3b
--- /dev/null
+++ b/dev-python/morbid/morbid-0.8.7.3-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Twisted-based publish/subscribe messaging server that uses the STOMP protocol"
+HOMEPAGE="http://pypi.python.org/pypi/morbid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND="dev-python/stomper[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/morbid/morbid-0.8.7.3.ebuild b/dev-python/morbid/morbid-0.8.7.3.ebuild
new file mode 100644
index 000000000000..b9eb54f04545
--- /dev/null
+++ b/dev-python/morbid/morbid-0.8.7.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+DESCRIPTION="A Twisted-based publish/subscribe messaging server that uses the STOMP protocol"
+HOMEPAGE="http://pypi.python.org/pypi/morbid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE=""
+
+RDEPEND="dev-python/stomper
+ dev-python/twisted-core
+ dev-python/twisted-web"
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
diff --git a/dev-python/more-itertools/Manifest b/dev-python/more-itertools/Manifest
new file mode 100644
index 000000000000..4c5bed44174d
--- /dev/null
+++ b/dev-python/more-itertools/Manifest
@@ -0,0 +1 @@
+DIST more-itertools-2.2.tar.gz 19807 SHA256 93e62e05c7ad3da1a233def6731e8285156701e3419a5fe279017c429ec67ce0 SHA512 579a778b91607800c4000a30c7509e9fc44ad1d35598ab9041b547aca9d94b811d3fc0abf5c84413fb70be87eb20177685a8a30dc7146a005fa1eb82986294f8 WHIRLPOOL 75ad77394757b30709700957f20136029100eb0e6a42ca7a031a54f0bc71fc926eb552c1b29b0b92af175a618ae826c6380c2919ae3e74d60fa3423e352a9c37
diff --git a/dev-python/more-itertools/metadata.xml b/dev-python/more-itertools/metadata.xml
new file mode 100644
index 000000000000..a6785f1e01b7
--- /dev/null
+++ b/dev-python/more-itertools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">more-itertools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/more-itertools/more-itertools-2.2.ebuild b/dev-python/more-itertools/more-itertools-2.2.ebuild
new file mode 100644
index 000000000000..b90f06608639
--- /dev/null
+++ b/dev-python/more-itertools/more-itertools-2.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="More routines for operating on iterables, beyond itertools"
+HOMEPAGE="http://pypi.python.org/pypi/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
new file mode 100644
index 000000000000..2769d63271fc
--- /dev/null
+++ b/dev-python/moto/Manifest
@@ -0,0 +1,3 @@
+DIST moto-0.3.8.tar.gz 101161 SHA256 0215034a2834d86ff622c11bcba2570240a54635cda5ec83d48c1e663179b047 SHA512 f414499b6c475b3a5e69570997b0f96fc9d998f622209d48b686c1f77a33e984e95028806ae1ba1ec1d41d75e59b83f96bd66b566c8a7b664dacc910c0035edd WHIRLPOOL 13e5edd809a772c9ce955196ca268db4663c8d68959a4fa7fcaaa44ebf0f6d147d471bf00d27a6ec2d0a4e4a1a037fb09756ad92d0733601f852f522f2ce265e
+DIST moto-0.4.3.tar.gz 147498 SHA256 955b0a19d466c917b5c9e97a03df6f10d184dea263efdd7796b1725b4a90a48c SHA512 3c8a2b5cf2b404f531d187adb96f03d38ec89ce147066922f8da7e71e33b2cbe01b5264d1dd7f7abddc9a94759e4ee6b3111da3838796acbd1a83ad6fbfd4a21 WHIRLPOOL 8cf88239a4c1acbfce293133e68baa05783800754a1f07c33a3643f071bcb0a0e68f7215b8696a378de71369edfead00a1708ba0b276108e0bb446f981343943
+DIST moto-0.4.8.tar.gz 154891 SHA256 d72a0427a0112a21f7009e2301ed7cc7c9fb085da1e1615fba4c5f02f6d70bd1 SHA512 e52a8fefd22983996718eec49e607a26978604e67a50523ee43fbf8c1d0ce871cc390404c7ae6951d6bff9b640f3b4dffa3a3d4425134a056e37db2ebcdcaacf WHIRLPOOL 4e0e1fb89571e53cfb1a67b6627b852b37743539917912e56bf9c596bd86981c3c2115cb7ca8b1014767db55a19363ce2604bb860aace1214eb597eea6722852
diff --git a/dev-python/moto/metadata.xml b/dev-python/moto/metadata.xml
new file mode 100644
index 000000000000..bf151f0343d0
--- /dev/null
+++ b/dev-python/moto/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">moto</remote-id>
+ <remote-id type="github">spulec/moto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/moto/moto-0.3.8.ebuild b/dev-python/moto/moto-0.3.8.ebuild
new file mode 100644
index 000000000000..e68c33e95253
--- /dev/null
+++ b/dev-python/moto/moto-0.3.8.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+
+inherit distutils-r1
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="https://github.com/spulec/moto"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/boto[${PYTHON_USEDEP}]
+ dev-python/dicttoxml[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpretty[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]"
diff --git a/dev-python/moto/moto-0.4.3.ebuild b/dev-python/moto/moto-0.4.3.ebuild
new file mode 100644
index 000000000000..dcb9d700aa35
--- /dev/null
+++ b/dev-python/moto/moto-0.4.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="https://github.com/spulec/moto"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.20.0[${PYTHON_USEDEP}]
+ dev-python/dicttoxml[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-0.6.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]"
diff --git a/dev-python/moto/moto-0.4.8.ebuild b/dev-python/moto/moto-0.4.8.ebuild
new file mode 100644
index 000000000000..dcb9d700aa35
--- /dev/null
+++ b/dev-python/moto/moto-0.4.8.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="https://github.com/spulec/moto"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.20.0[${PYTHON_USEDEP}]
+ dev-python/dicttoxml[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-0.6.1[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]"
diff --git a/dev-python/mox/Manifest b/dev-python/mox/Manifest
new file mode 100644
index 000000000000..f0993b522b81
--- /dev/null
+++ b/dev-python/mox/Manifest
@@ -0,0 +1 @@
+DIST mox-0.5.3.tar.gz 31266 SHA256 4d18a4577d14da13d032be21cbdfceed302171c275b72adaa4c5997d589a5030 SHA512 122606264ea8bf83d38f8576c8208fd1bc17cd76009390f516ed4bdf705d49ccfbeed0fa3e9ac1940df3969e0254662c602c497d6c6833108dfcacc59f1c789e WHIRLPOOL 9c6a2c257250b0217752d728d47b97f8d60be4001e0f5d13e4584b1ae34d2582bb685dfa768246c6cfca838b7fb847bbc6aac3fa35d8c57be9874984eb63b16f
diff --git a/dev-python/mox/metadata.xml b/dev-python/mox/metadata.xml
new file mode 100644
index 000000000000..95a2d0e50d9a
--- /dev/null
+++ b/dev-python/mox/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pymox</remote-id>
+ <remote-id type="pypi">mox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mox/mox-0.5.3-r1.ebuild b/dev-python/mox/mox-0.5.3-r1.ebuild
new file mode 100644
index 000000000000..d61e906eb8c5
--- /dev/null
+++ b/dev-python/mox/mox-0.5.3-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A mock object framework for Python, loosely based on EasyMock for Java"
+HOMEPAGE="http://code.google.com/p/pymox/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86"
+IUSE="test"
+
+python_test() {
+ ${PYTHON} mox_test.py || die
+}
diff --git a/dev-python/mox3/Manifest b/dev-python/mox3/Manifest
new file mode 100644
index 000000000000..60a8e5027dd4
--- /dev/null
+++ b/dev-python/mox3/Manifest
@@ -0,0 +1 @@
+DIST mox3-0.7.0.tar.gz 44073 SHA256 7cc2ffac72d55816bbf670b03cf636b4abdc089c3d8b31a6760b22fc1eeedde2 SHA512 ee4b87bad46fdb63e8988186846a1823fe9db512f1cd8cf37266db14413307824e45e38121bd16ca4c7f3753fbc051dfcd98dc5c9c9c933604b007ff1e7fea05 WHIRLPOOL 0c71c0ef8960ee535fa11a27855725601929ebd50ef56611c8aa8ac0bee500b63b3d63a60bb444511f2bc3b05bf65eb7d91821144d56da4e0da343ff3689d427
diff --git a/dev-python/mox3/metadata.xml b/dev-python/mox3/metadata.xml
new file mode 100644
index 000000000000..b1c2c7fd684e
--- /dev/null
+++ b/dev-python/mox3/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">mox3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mox3/mox3-0.7.0-r1.ebuild b/dev-python/mox3/mox3-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..55755bf0d843
--- /dev/null
+++ b/dev-python/mox3/mox3-0.7.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+DISTUTILS_IN_SOURCE_BUILD=TRUE
+
+inherit distutils-r1
+
+DESCRIPTION="Mock object framework for Python"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+CDEPEND="
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+CRDEPEND=">=dev-python/fixtures-0.3.12[${PYTHON_USEDEP}]"
+
+# NOTE dev-python/hacking isn't actually required for tests
+# >=dev-python/hacking-0.5.6[${PYTHON_USEDEP}]
+# <dev-python/hacking-0.7[${PYTHON_USEDEP}]
+
+# NOTE dev-python/pyflakes isn't actually required for tests
+# ~dev-python/pyflakes-0.7.2[${PYTHON_USEDEP}]
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ ${CRDEPEND}
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ ~dev-python/pep8-1.4.5[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ ${CRDEPEND}
+"
+
+python_test() {
+ # This single test fails on python3.4.
+ # I speculate this is due to the old style classes going away but have not
+ # verified this in any way.
+ if [[ "${EPYTHON}" = "python3.4" ]]; then
+ ebegin "patching mox3/tests/test_mox.py for ${EPYTHON}"
+ sed \
+ -e '/def testStubOutClass_OldStyle(self):/,/def/ d' \
+ -i mox3/tests/test_mox.py
+ STATUS=$?
+ eend $?
+ [[ ${STATUS} -gt 0 ]] && die
+ fi
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/mox3/mox3-0.7.0.ebuild b/dev-python/mox3/mox3-0.7.0.ebuild
new file mode 100644
index 000000000000..2010ed8c813c
--- /dev/null
+++ b/dev-python/mox3/mox3-0.7.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py2.6 capable but unrequired
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+# Use at your own risk ;), or because an openstack package cited it as a req'd dep :)
+DESCRIPTION="The Mock object framework for Python"
+HOMEPAGE="http://code.google.com/p/pymox/wiki/MoxDocumentation http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+LICENSE="Apache-2.0"
+SLOT="0"
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# Though test-req's cites hacking>=0.5.6,<0.7, setting to hacking>=0.7.2-r1,<0.8
+# since it WORKS and supports py3.2. What more do you want
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ ~dev-python/pep8-1.4.5[${PYTHON_USEDEP}]
+ ~dev-python/pyflakes-0.7.2[${PYTHON_USEDEP}]
+ ~dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/fixtures-0.3.12[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init || die
+ testr run || die "testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "flake8 drew error on a run over folder ${PN}/tests"
+}
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
new file mode 100644
index 000000000000..db920f5b1d0c
--- /dev/null
+++ b/dev-python/mpi4py/Manifest
@@ -0,0 +1 @@
+DIST mpi4py-1.3.1.tar.gz 1046580 SHA256 e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507 SHA512 15e81f2a1e6f6af7a54f0e8ec43ddf36cc565b7fe9e3dd35603c9d128199c5acd1584757ffca999c8826c0bbccf371175d40a7a24c85d3369efd77da5b3b603f WHIRLPOOL e32fef50c8cd8f866e40fb29f90775736cf0ea31c8a3fc4d460cded8b2056bae0c8d847b304c3222d3e5ffc913ca5cc722425e496d35bf41624f9b5ccdf3ead2
diff --git a/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch b/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch
new file mode 100644
index 000000000000..ae1eade0de2d
--- /dev/null
+++ b/dev-python/mpi4py/files/mpi4py-1.3.1-ldshared.patch
@@ -0,0 +1,24 @@
+# HG changeset patch
+# User Christoph Junghans <junghans@votca.org>
+# Date 1407773183 21600
+# Mon Aug 11 10:06:23 2014 -0600
+# Node ID ee313041ba5d7f0706f8140b4e965179e807ef56
+# Parent c66c1be9d40ae69aa61c45572fbe14ef3209378e
+Fix usage of LDSHARED
+
+- LDSHARED contain the linker, too
+- was used as it would only contain the options in the latter part
+- use split_linker_cmd to throw away the linker cmd
+- see https://bugs.gentoo.org/show_bug.cgi?id=514288
+
+diff -r c66c1be9d40a -r ee313041ba5d conf/mpidistutils.py
+--- a/conf/mpidistutils.py Wed Sep 04 22:40:25 2013 +0300
++++ b/conf/mpidistutils.py Mon Aug 11 10:06:23 2014 -0600
+@@ -176,6 +176,7 @@
+ opt = environ.get('OPT', opt )
+ ccshared = environ.get('CCSHARED', ccshared)
+ ldshared = environ.get('LDSHARED', ldshared)
++ _, ldshared = split_linker_cmd(ldshared)
+ cflags = ' '.join((basecflags, opt, cflags))
+ cxxflags = ' '.join((basecflags, opt, cxxflags))
+ cxxflags = cxxflags.replace('-Wstrict-prototypes', '')
diff --git a/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch b/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch
new file mode 100644
index 000000000000..f92639f5be5f
--- /dev/null
+++ b/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch
@@ -0,0 +1,81 @@
+ test/test_win.py | 48 +++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 37 insertions(+), 11 deletions(-)
+
+diff --git a/test/test_win.py b/test/test_win.py
+index 6da5c1f..7127e56 100644
+--- a/test/test_win.py
++++ b/test/test_win.py
+@@ -1,6 +1,30 @@
+ import sys
+ from mpi4py import MPI
+ import mpiunittest as unittest
++try:
++ from sys import getrefcount
++except ImportError:
++ class getrefcount(object):
++ def __init__(self, arg):
++ pass
++ def __eq__(self, other):
++ return True
++ def __add__(self, other):
++ return self
++ def __sub__(self, other):
++ return self
++
++def memzero(m):
++ n = len(m)
++ if n == 0: return
++ try:
++ zero = '\0'.encode('ascii')
++ m[0] = zero
++ except TypeError:
++ zero = 0
++ m[0] = zero
++ for i in range(n):
++ m[i] = zero
+
+ class BaseTestWin(object):
+
+@@ -11,29 +35,31 @@ class BaseTestWin(object):
+ try:
+ self.mpi_memory = MPI.Alloc_mem(10)
+ self.memory = self.mpi_memory
+- try:
+- zero = bytearray([0])
+- except NameError:
+- zero = str('\0')
+- self.memory[:] = zero * len(self.memory)
++ memzero(self.memory)
+ except MPI.Exception:
+ from array import array
+ self.mpi_memory = None
+ self.memory = array('B',[0]*10)
+- refcnt = sys.getrefcount(self.memory)
++ refcnt = getrefcount(self.memory)
+ self.WIN = MPI.Win.Create(self.memory, 1, self.INFO, self.COMM)
+ if type(self.memory).__name__ == 'buffer':
+- self.assertEqual(sys.getrefcount(self.memory), refcnt+1)
++ self.assertEqual(getrefcount(self.memory), refcnt+1)
+ else:
+- self.assertEqual(sys.getrefcount(self.memory), refcnt)
++ if sys.version_info[:3] < (3, 3):
++ self.assertEqual(getrefcount(self.memory), refcnt)
++ else:
++ self.assertEqual(getrefcount(self.memory), refcnt+1)
+
+ def tearDown(self):
+- refcnt = sys.getrefcount(self.memory)
++ refcnt = getrefcount(self.memory)
+ self.WIN.Free()
+ if type(self.memory).__name__ == 'buffer':
+- self.assertEqual(sys.getrefcount(self.memory), refcnt-1)
++ self.assertEqual(getrefcount(self.memory), refcnt-1)
+ else:
+- self.assertEqual(sys.getrefcount(self.memory), refcnt)
++ if sys.version_info[:3] < (3, 3):
++ self.assertEqual(getrefcount(self.memory), refcnt)
++ else:
++ self.assertEqual(getrefcount(self.memory), refcnt-1)
+ if self.mpi_memory:
+ MPI.Free_mem(self.mpi_memory)
+
diff --git a/dev-python/mpi4py/metadata.xml b/dev-python/mpi4py/metadata.xml
new file mode 100644
index 000000000000..5bbdad7d34f1
--- /dev/null
+++ b/dev-python/mpi4py/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">MPI for Python (mpi4py) provides bindings of the Message Passing
+ Interface (MPI) standard for the Python programming language,
+ allowing any Python program to exploit multiple processors.
+ This package is constructed on top of the MPI-1/MPI-2 specification
+ and provides an object oriented interface which closely follows
+ MPI-2 C++ bindings. It supports point-to-point (sends, receives) and
+ collective (broadcasts, scatters, gathers) communications of any
+ picklable Python object as well as optimized communications of
+ Python object exposing the single-segment buffer interface (NumPy
+ arrays, builtin bytes/string/array objects).
+</longdescription>
+ <upstream>
+ <remote-id type="google-code">mpi4py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mpi4py/mpi4py-1.3.1.ebuild b/dev-python/mpi4py/mpi4py-1.3.1.ebuild
new file mode 100644
index 000000000000..635ea933d259
--- /dev/null
+++ b/dev-python/mpi4py/mpi4py-1.3.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Message Passing Interface for Python"
+HOMEPAGE="http://code.google.com/p/mpi4py/ http://pypi.python.org/pypi/mpi4py"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="virtual/mpi"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ virtual/mpi[romio] )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${P}-py3-test-backport-1.patch "${FILESDIR}"/${P}-ldshared.patch )
+
+python_prepare_all() {
+ # not needed on install
+ rm -r docs/source || die
+ distutils-r1_python_prepare_all
+}
+
+src_compile() {
+ export FAKEROOTKEY=1
+ distutils-r1_src_compile
+}
+
+python_test() {
+ echo "Beginning test phase"
+ pushd "${BUILD_DIR}"/../ &> /dev/null
+ mpiexec -n 2 "${PYTHON}" ./test/runtests.py -v || die "Testsuite failed under ${EPYTHON}"
+ popd &> /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
new file mode 100644
index 000000000000..c09501166a75
--- /dev/null
+++ b/dev-python/mpmath/Manifest
@@ -0,0 +1,2 @@
+DIST mpmath-all-0.18.tar.gz 2122954 SHA256 47cc9587ea10202cdfb1afce4fb7410821e91ae6ecb1b54d62be1adfce80ee40 SHA512 a22e1c82f33a30584c975d196601e7bddaf33d4a41b1f288216a9df038ba5a45fd1002c5aa5f15084d05bee3abad944168ad131ac7e4feb218aac22789d8a63f WHIRLPOOL 7544b09310fbb262f2a4f487fa29af429196142e3fcab5822c1383420c7d8948a70b0f505adc0ce4fd7c0e6b6936b8dc6832a5e3d92e7c7cb71d05f6343dd79a
+DIST mpmath-all-0.19.tar.gz 2123129 SHA256 21a824db176799f42843e4510da4bc6db36ef92b5a43fff70fad7e29bffb9c86 SHA512 5a6ed0b5fad84c1e8399467ea7a1295f9b77c8e673b821c11e3298e88df6c48d9967eed84e2979bf12868e2f9b42bffba01a0c1836a6d82ac42d5f423fed6580 WHIRLPOOL 360fedc4d6942a138b33c63867f8a5e4ce4c101a8f7221c61503933e75073807676cbb240c9bddea765159cb134efd608256c9b921b7d282763b57d2897eefdb
diff --git a/dev-python/mpmath/files/mpmath.patch b/dev-python/mpmath/files/mpmath.patch
new file mode 100644
index 000000000000..3040216e56cc
--- /dev/null
+++ b/dev-python/mpmath/files/mpmath.patch
@@ -0,0 +1,9 @@
+diff -r -U1 mpmath-all-0.17.orig/setup.py mpmath-all-0.17/setup.py
+--- mpmath-all-0.17.orig/setup.py 2011-02-02 03:17:50.000000000 +0600
++++ mpmath-all-0.17/setup.py 2011-02-13 01:18:00.000000000 +0600
+@@ -15,4 +15,3 @@
+ 'mpmath/functions',
+- 'mpmath/matrices',
+- 'mpmath/tests'],
++ 'mpmath/matrices'],
+ classifiers=['Topic :: Scientific/Engineering :: Mathematics']
diff --git a/dev-python/mpmath/metadata.xml b/dev-python/mpmath/metadata.xml
new file mode 100644
index 000000000000..2d2c4a18f19f
--- /dev/null
+++ b/dev-python/mpmath/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+</maintainer>
+<longdescription lang="en">
+ A Python library for arbitrary-precision floating-point arithmetic
+</longdescription>
+<use>
+ <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
+</use>
+<upstream>
+ <remote-id type="pypi">mpmath</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/mpmath/mpmath-0.18.ebuild b/dev-python/mpmath/mpmath-0.18.ebuild
new file mode 100644
index 000000000000..921698ed1165
--- /dev/null
+++ b/dev-python/mpmath/mpmath-0.18.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1 eutils
+
+MY_PN=${PN}-all
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="http://code.google.com/p/mpmath"
+SRC_URI="mirror://pypi/m/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-linux ~x86-macos"
+
+IUSE="doc examples gmp matplotlib test"
+
+RDEPEND="
+ gmp? ( dev-python/gmpy )
+ matplotlib? ( dev-python/matplotlib )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}.patch"
+ )
+
+ # this fails with the current version of dev-python/py
+ rm ${PN}/conftest.py || die
+
+ # this test requires X
+ rm ${PN}/tests/test_visualization.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ cd doc || die
+ "${PYTHON}" build.py || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ py.test -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/. )
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mpmath/mpmath-0.19.ebuild b/dev-python/mpmath/mpmath-0.19.ebuild
new file mode 100644
index 000000000000..6a8289e2d867
--- /dev/null
+++ b/dev-python/mpmath/mpmath-0.19.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+MY_PN=${PN}-all
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="http://mpmath.org/"
+SRC_URI="http://mpmath.org/files/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-linux ~x86-macos"
+
+IUSE="doc examples gmp matplotlib test"
+
+RDEPEND="
+ gmp? ( dev-python/gmpy )
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}.patch"
+ )
+
+ # this fails with the current version of dev-python/py
+ rm ${PN}/conftest.py || die
+
+ # this test requires X
+ rm ${PN}/tests/test_visualization.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ cd doc || die
+ "${PYTHON}" build.py || die "Generation of documentation failed"
+ fi
+}
+
+python_test() {
+ py.test -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/. )
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
new file mode 100644
index 000000000000..0d6f3362258a
--- /dev/null
+++ b/dev-python/msgpack/Manifest
@@ -0,0 +1 @@
+DIST msgpack-python-0.4.6.tar.gz 116433 SHA256 bfcc581c9dbbf07cc2f951baf30c3249a57e20dcbd60f7e6ffc43ab3cc614794 SHA512 492246b03035cfb10a99aed59d23a7b10d1fd4cfa044cdec737b4f65fe3f7c30d3c9754389fd5efc2eb41760e4813ac246915ac7a50dc5659e65002a476bb886 WHIRLPOOL 9aa400181557c20d0b1e011424dc4b68de269942b3b7e27e24b113ee4d98f4161355d3479d7ff8c60c0017e0fe28ceb4fca06e67e881982141fa348336eaee85
diff --git a/dev-python/msgpack/metadata.xml b/dev-python/msgpack/metadata.xml
new file mode 100644
index 000000000000..6860185adab5
--- /dev/null
+++ b/dev-python/msgpack/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">msgpack-python</remote-id>
+ <remote-id type="github">msgpack/msgpack-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/msgpack/msgpack-0.4.6.ebuild b/dev-python/msgpack/msgpack-0.4.6.ebuild
new file mode 100644
index 000000000000..f1369e1aa4d7
--- /dev/null
+++ b/dev-python/msgpack/msgpack-0.4.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}-python"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MessagePack (de)serializer for Python"
+HOMEPAGE="http://msgpack.org https://github.com/msgpack/msgpack-python/ https://pypi.python.org/pypi/msgpack-python/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ py.test test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/multipledispatch/Manifest b/dev-python/multipledispatch/Manifest
new file mode 100644
index 000000000000..e345fb843c0e
--- /dev/null
+++ b/dev-python/multipledispatch/Manifest
@@ -0,0 +1,3 @@
+DIST multipledispatch-0.4.6.tar.gz 7066 SHA256 9974135f46af8f22096f0517afede26a9b2e015aed9e154c4f5e3173a447162c SHA512 90b7f0ca33abd149ce130124a6464c531698582bb831260266cca1779bf661b6868a3eaff1eab66072e84c464d3bdde517d61b970d6385f33f583fa9bc034d2c WHIRLPOOL 319f1fc7d9a6ea77f2c22a849cd7e5808c21cc792aa5168fdf3adfefe5dea65c17910245db6eb8aefdd74dd72643f3261fb67b9937c47439a897285e462fbeb8
+DIST multipledispatch-0.4.7.tar.gz 7234 SHA256 401bb875cdbd85359f01029e60ef7610bf1172b5052474285daf4102b109496d SHA512 ab1109848560bfbdf66c07d42459729a8e9ee100e4113404447c96e810f52a48bb4aef435e7b4997dfcb1d59959ce491f329c1566f5c4d6c5f6c298a74125d55 WHIRLPOOL 1061fd465f98aee880128cfde7320f5e6c671964382ee24c0b9e296113575296ad833e0e438ff2921795d14f6d2a0d2cc2c893716b4b59394a23445d6e64ee44
+DIST multipledispatch-0.4.8.tar.gz 7393 SHA256 07d41fb3ed25e8424536e48a8566f88a0f9926ca4b6174bff6aa16c98251b92e SHA512 7ca66b4d34a8002babb83678bfc11b1851a23fafea8f59c8240a7c3e8912918439dda236a75c8ae50064e5e87920cf5a7db290a67d6afe1c178010b76c89345d WHIRLPOOL 26263306f29240c052709c2ae5367fd88c936c74e94a478b3474c85c945842d2108d47432e8d855836d9989418cff890a418e51b7c2360899d71bd20cf1b85d5
diff --git a/dev-python/multipledispatch/metadata.xml b/dev-python/multipledispatch/metadata.xml
new file mode 100644
index 000000000000..dcddd9577ad5
--- /dev/null
+++ b/dev-python/multipledispatch/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">multipledispatch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/multipledispatch/multipledispatch-0.4.6.ebuild b/dev-python/multipledispatch/multipledispatch-0.4.6.ebuild
new file mode 100644
index 000000000000..3d7136cfb978
--- /dev/null
+++ b/dev-python/multipledispatch/multipledispatch-0.4.6.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/mimerender"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/multipledispatch/multipledispatch-0.4.7.ebuild b/dev-python/multipledispatch/multipledispatch-0.4.7.ebuild
new file mode 100644
index 000000000000..da58e81ea0a9
--- /dev/null
+++ b/dev-python/multipledispatch/multipledispatch-0.4.7.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/mimerender"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/multipledispatch/multipledispatch-0.4.8.ebuild b/dev-python/multipledispatch/multipledispatch-0.4.8.ebuild
new file mode 100644
index 000000000000..571cadf700f4
--- /dev/null
+++ b/dev-python/multipledispatch/multipledispatch-0.4.8.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="RESTful HTTP Content Negotiation for Flask, Bottle, web.py and webapp2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/mimerender"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/munkres/Manifest b/dev-python/munkres/Manifest
new file mode 100644
index 000000000000..5c3274c9bf34
--- /dev/null
+++ b/dev-python/munkres/Manifest
@@ -0,0 +1 @@
+DIST munkres-1.0.5.4.tar.gz 43050 SHA256 105adad30659dbdf82815d3e12a74d4c01a3e0741d5ccbce194ee2ad4e5338d2 SHA512 a2b1577b75f3099cae57750543c985ab60097d5fa70481d3c6d8394dd55d0d8f99aacf5db625be7fa12772e976cf34d4b51c7841c3a24ee9df8214a68aa66aed WHIRLPOOL de64e126d37a0d267c0048ba368ab58f34aa9ae0d41cc3a97019370d3c12b231bee206c0c0f87d28f22e4b4ac1c29cd054350522372574437b6a09204d1a6561
diff --git a/dev-python/munkres/metadata.xml b/dev-python/munkres/metadata.xml
new file mode 100644
index 000000000000..3524090db533
--- /dev/null
+++ b/dev-python/munkres/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>joshua.downer@gmail.com</email>
+ <name>Joshua Downer</name>
+ </maintainer>
+ <longdescription lang="en">The Munkres module provides an implementation of the Munkres algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm), useful for solving the Assignment Problem.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">munkres</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/munkres/munkres-1.0.5.4-r2.ebuild b/dev-python/munkres/munkres-1.0.5.4-r2.ebuild
new file mode 100644
index 000000000000..4dbe68e0abf9
--- /dev/null
+++ b/dev-python/munkres/munkres-1.0.5.4-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Module implementing munkres algorithm for the Assignment Problem"
+HOMEPAGE="http://pypi.python.org/pypi/munkres/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test doc"
+
+python_test() {
+ "${PYTHON}" "${PN}.py" || die
+}
+
+src_install() {
+ distutils-r1_src_install
+ use doc && dohtml -r html/
+}
diff --git a/dev-python/mwlib-ext/Manifest b/dev-python/mwlib-ext/Manifest
new file mode 100644
index 000000000000..2248bb311788
--- /dev/null
+++ b/dev-python/mwlib-ext/Manifest
@@ -0,0 +1,2 @@
+DIST mwlib.ext-0.12.4.zip 2168636 SHA256 fa7ed70ff32389a7b825c430004ed37161963262c5b64c4835694c73c7d3a4bb SHA512 4fabe12c6a3ff352921ce3a46608e3194304176f9fe7c5860d39ac7f51e0dcb5ecca3002799c94ec4c53a1c9aa42f59f9cad646adeccffcfb194b5411b50efb9 WHIRLPOOL d3b0cdfe0b3ad34140320b350bb98cd44583c807b4b7b6f98e48345992435f3b985ba5e22aa02a976fcd544aa55f455f7c0d97ffd8c703539f26226d17dba137
+DIST mwlib.ext-0.13.2.zip 2111364 SHA256 9229193ee719568d482192d9d913b3c4bb96af7c589d6c31ed4a62caf5054278 SHA512 a7c6a53d92335d59f952c9fc549ef079afa92dbf8b3c97930463c817c867c27d6ea97b3a52aeadc12c6d107f149630799007409f1c1ca23186ba64a2e71ca6d8 WHIRLPOOL 600ada3cf17f8c8076d38262a2777acfe8c6add37f04360d64fb1869d9dfaa13c6dc176436e18208689a73386588aaf5004c7dc4baa36100776c4d58d3d74618
diff --git a/dev-python/mwlib-ext/files/0.12.4-unbundle-reportlab.patch b/dev-python/mwlib-ext/files/0.12.4-unbundle-reportlab.patch
new file mode 100644
index 000000000000..b630ae122c66
--- /dev/null
+++ b/dev-python/mwlib-ext/files/0.12.4-unbundle-reportlab.patch
@@ -0,0 +1,36 @@
+diff --git a/setup.py b/setup.py
+index 9886715..b47b79b 100755
+--- a/setup.py
++++ b/setup.py
+@@ -7,30 +7,16 @@ except ImportError:
+ ez_setup.use_setuptools()
+ from setuptools import setup, Extension, find_packages
+
+-from distutils import sysconfig
+-if sysconfig.get_config_var("LIBM") == "-lm":
+- libraries = ["m"]
+-else:
+- libraries = []
+-
+ install_requires = []
+ execfile('mwlib/_extversion.py') # adds 'version' to local namespace
+
+-ext_modules = []
+-ext_modules.append(Extension("mwlib.ext._rl_accel",
+- ['upstream-src/src/rl_addons/rl_accel/_rl_accel.c'],
+- libraries=libraries))
+-
+-packages = ["mwlib.ext." + x for x in find_packages("upstream-src/src")] + find_packages(".")
++packages = find_packages(".")
+
+ setup(
+ name="mwlib.ext",
+ version=str(version),
+ install_requires=install_requires,
+ packages=packages,
+- package_dir={"mwlib.ext.reportlab": "upstream-src/src/reportlab",
+- "mwlib.ext.rl_addons": "upstream-src/src/rl_addons"},
+- ext_modules=ext_modules,
+ namespace_packages=['mwlib'],
+ include_package_data=True,
+ zip_safe=False,
diff --git a/dev-python/mwlib-ext/files/0.13.2-unbundle-reportlab.patch b/dev-python/mwlib-ext/files/0.13.2-unbundle-reportlab.patch
new file mode 100644
index 000000000000..12156a796a5a
--- /dev/null
+++ b/dev-python/mwlib-ext/files/0.13.2-unbundle-reportlab.patch
@@ -0,0 +1,35 @@
+diff -ur mwlib.ext-0.13.2.orig/setup.py mwlib.ext-0.13.2/setup.py
+--- setup.py 2013-07-02 09:53:32.000000000 +0800
++++ setup.py 2013-07-27 13:24:48.169128958 +0800
+@@ -1,30 +1,16 @@
+ #! /usr/bin/env python
+
+ from setuptools import setup, Extension, find_packages
+-from distutils import sysconfig
+-if sysconfig.get_config_var("LIBM") == "-lm":
+- libraries = ["m"]
+-else:
+- libraries = []
+-
+ install_requires = []
+ execfile('mwlib/_extversion.py') # adds 'version' to local namespace
+
+-ext_modules = []
+-ext_modules.append(Extension("mwlib.ext._rl_accel",
+- ['upstream-src/src/rl_addons/rl_accel/_rl_accel.c'],
+- libraries=libraries))
+-
+-packages = ["mwlib.ext." + x for x in find_packages("upstream-src/src")] + find_packages(".")
++packages = find_packages(".")
+
+ setup(
+ name="mwlib.ext",
+ version=str(version),
+ install_requires=install_requires,
+ packages=packages,
+- package_dir={"mwlib.ext.reportlab": "upstream-src/src/reportlab",
+- "mwlib.ext.rl_addons": "upstream-src/src/rl_addons"},
+- ext_modules=ext_modules,
+ namespace_packages=['mwlib'],
+ include_package_data=True,
+ zip_safe=False,
diff --git a/dev-python/mwlib-ext/metadata.xml b/dev-python/mwlib-ext/metadata.xml
new file mode 100644
index 000000000000..c74bb5b4ec56
--- /dev/null
+++ b/dev-python/mwlib-ext/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mwlib.ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mwlib-ext/mwlib-ext-0.12.4-r1.ebuild b/dev-python/mwlib-ext/mwlib-ext-0.12.4-r1.ebuild
new file mode 100644
index 000000000000..1beeef52a2a6
--- /dev/null
+++ b/dev-python/mwlib-ext/mwlib-ext-0.12.4-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Extension module to mwlib to pull in reportlab"
+HOMEPAGE="http://code.pediapress.com/wiki/wiki http://pypi.python.org/pypi/mwlib.ext"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/reportlab-2.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/0.12.4-unbundle-reportlab.patch" )
diff --git a/dev-python/mwlib-ext/mwlib-ext-0.13.2.ebuild b/dev-python/mwlib-ext/mwlib-ext-0.13.2.ebuild
new file mode 100644
index 000000000000..cb699d9842dd
--- /dev/null
+++ b/dev-python/mwlib-ext/mwlib-ext-0.13.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Extension module to mwlib to pull in reportlab"
+HOMEPAGE="http://code.pediapress.com/wiki/wiki http://pypi.python.org/pypi/mwlib.ext"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/reportlab-2.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/${PV}-unbundle-reportlab.patch" )
diff --git a/dev-python/mwlib-rl/Manifest b/dev-python/mwlib-rl/Manifest
new file mode 100644
index 000000000000..5fd8f029777e
--- /dev/null
+++ b/dev-python/mwlib-rl/Manifest
@@ -0,0 +1,2 @@
+DIST mwlib.rl-0.14.5.zip 4239803 SHA256 dddf9603ea0ca5aa87890217709eb5a5b16baeca547db3daad43c3ace73b6bc1 SHA512 a874b4aa6318a86d47cdf1f44d66e8a52d4504b2e05ca2b8f365a31a613840c04aac79addedc8ce4df7f3059e6a9a25ba933d1b94c636cc3cdf74a8e0f6e63ec WHIRLPOOL d85e9187d01412000376a2b8a1047d474f37b463c752a3beebe6720059617c576ae32f8535d7a6f9d4871c1ea148ded5fdc3cf9a6f1dc56c7ec8ec1ec9a4e780
+DIST mwlib.rl-0.14.6.tar.gz 4018190 SHA256 12862d1bd1344cb326dc24a0a6a8dd4a95589bcd8f66cef7a0f6b016b7307108 SHA512 35c32b2c63f6a614002104ddc77827ee11c02e86b77cf9aca8520a1cdbe43a86a7efe093bface1e67a9dfcafc1e48e208a945c170d5aa5041c23e2b61c37e066 WHIRLPOOL 1770a1f001ed3643d8c3415a0d4bfd7b3213a87694edbbb5b6b54495a5b96da28c32b3ae47711db01c55e0a697f87469cf2b507e97ffa9f633d2bf0a10f930df
diff --git a/dev-python/mwlib-rl/files/0.14.3-use-system-fonts.patch b/dev-python/mwlib-rl/files/0.14.3-use-system-fonts.patch
new file mode 100644
index 000000000000..bf6bea78057b
--- /dev/null
+++ b/dev-python/mwlib-rl/files/0.14.3-use-system-fonts.patch
@@ -0,0 +1,13 @@
+diff --git a/mwlib/rl/fontconfig.py b/mwlib/rl/fontconfig.py
+index fdf5cba..ab792df 100755
+--- a/mwlib/rl/fontconfig.py
++++ b/mwlib/rl/fontconfig.py
+@@ -14,7 +14,7 @@ from reportlab.pdfbase import pdfmetrics
+ from reportlab.pdfbase.ttfonts import TTFont
+ from reportlab.pdfbase.cidfonts import UnicodeCIDFont
+
+-font_paths = [os.path.dirname(mwlib.fonts.__file__),
++font_paths = ['/usr/share/fonts',
+ os.path.expanduser('~/mwlibfonts/')
+ ]
+
diff --git a/dev-python/mwlib-rl/metadata.xml b/dev-python/mwlib-rl/metadata.xml
new file mode 100644
index 000000000000..afa512415f69
--- /dev/null
+++ b/dev-python/mwlib-rl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mwlib.rl</remote-id>
+ <remote-id type="github">pediapress/mwlib.rl</remote-id>
+ </upstream>
+ <use>
+ <flag name="pdftk">Enable support for <pkg>app-text/pdftk</pkg>, required to generate TOCs</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/mwlib-rl/mwlib-rl-0.14.5.ebuild b/dev-python/mwlib-rl/mwlib-rl-0.14.5.ebuild
new file mode 100644
index 000000000000..d8c650bfc3e5
--- /dev/null
+++ b/dev-python/mwlib-rl/mwlib-rl-0.14.5.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Generate pdfs from mediawiki markup"
+HOMEPAGE="http://code.pediapress.com/wiki/wiki http://pypi.python.org/pypi/mwlib.rl"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test pdftk"
+
+RDEPEND=">=dev-python/mwlib-0.15.8-r1[${PYTHON_USEDEP}]
+ >=dev-python/mwlib-ext-0.12.4-r1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.4[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-fonts/freefont
+ || ( media-gfx/graphicsmagick[imagemagick] media-gfx/imagemagick )
+ pdftk? ( app-text/pdftk )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/0.14.3-use-system-fonts.patch" )
+DOCS=( example-mwlib.config README.rst )
+
+python_prepare_all() {
+ rm -r mwlib/fonts/freefont || die "removing bundled fonts failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
+
+pkg_postinst() {
+ elog "If you need extended/non-lating rendering support, please install the"
+ elog "corresponding font packages:"
+ elog " - media-fonts/libertine-ttf"
+ elog " - media-fonts/sil-ezra"
+ elog " - media-fonts/farsi-fonts"
+ elog " - media-fonts/arphicfonts"
+ elog " - media-fonts/unfonts"
+ # TODO: need the following packages as well:
+ # ttf-indic-fonts ttf-gfs-artemisia ttf-thai-arundina
+}
diff --git a/dev-python/mwlib-rl/mwlib-rl-0.14.6.ebuild b/dev-python/mwlib-rl/mwlib-rl-0.14.6.ebuild
new file mode 100644
index 000000000000..a77f6f022667
--- /dev/null
+++ b/dev-python/mwlib-rl/mwlib-rl-0.14.6.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Generate pdfs from mediawiki markup"
+HOMEPAGE="http://code.pediapress.com/code/ http://pypi.python.org/pypi/mwlib.rl https://github.com/pediapress/mwlib.rl/"
+SRC_URI="https://github.com/pediapress/mwlib.rl/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test pdftk"
+
+RDEPEND=">=dev-python/mwlib-0.15.8-r1[${PYTHON_USEDEP}]
+ >=dev-python/mwlib-ext-0.12.4-r1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.4[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-fonts/freefont
+ || ( media-gfx/graphicsmagick[imagemagick] media-gfx/imagemagick )
+ pdftk? ( app-text/pdftk )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/0.14.3-use-system-fonts.patch" )
+DOCS=( example-mwlib.config README.rst )
+
+python_prepare_all() {
+ rm -r mwlib/fonts/freefont || die "removing bundled fonts failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
+
+pkg_postinst() {
+ elog "If you need extended/non-lating rendering support, please install the"
+ elog "corresponding font packages:"
+ elog " - media-fonts/libertine-ttf"
+ elog " - media-fonts/sil-ezra"
+ elog " - media-fonts/farsi-fonts"
+ elog " - media-fonts/arphicfonts"
+ elog " - media-fonts/unfonts"
+ # TODO: need the following packages as well:
+ # ttf-indic-fonts ttf-gfs-artemisia ttf-thai-arundina
+}
diff --git a/dev-python/mwlib/Manifest b/dev-python/mwlib/Manifest
new file mode 100644
index 000000000000..f66c91553737
--- /dev/null
+++ b/dev-python/mwlib/Manifest
@@ -0,0 +1 @@
+DIST mwlib-0.15.15.tar.gz 1705073 SHA256 06ce351df76fb4605913cda6c9702f8e5ea99147921921c2f8462c60791e4946 SHA512 e1c04c0cd86b8fd31f54033387426dcad343d4b5ef03f2f51b3689c0894f2cfa85c9246401f713836d76435c42c380ecf94c3000b4f38d1f1b2789780d93c5ca WHIRLPOOL b854d06f8b5450b519d0aa6e9232b8480839ecf867d111fc9f189e9c70fd7b857152cd40548132a1ac8fd3313c0ab5c79e244f4434ab752ac0ea4cc56bee5d53
diff --git a/dev-python/mwlib/files/mw-qserve.confd b/dev-python/mwlib/files/mw-qserve.confd
new file mode 100644
index 000000000000..bcd18d4667af
--- /dev/null
+++ b/dev-python/mwlib/files/mw-qserve.confd
@@ -0,0 +1,14 @@
+# The port to listen to
+MW_QSERVE_PORT=14311
+
+# The interface to listen to (for example: 127.0.0.1)
+MW_QSERVE_INTERFACE="127.0.0.1"
+
+# The user running the mw-qserve service, defaults to 'mwlib'
+# MW_QSERVE_USER="mwlib"
+
+# The group running the mq-qserve service, defaults to 'mwlib'
+# MW_QSERVE_GROUP="mwlib"
+
+# The logfile collecting all output from stdout and stderr, comment out for no logging
+MW_QSERVE_LOGFILE="/var/log/mwlib/mw-qserve.log"
diff --git a/dev-python/mwlib/files/mw-qserve.initd b/dev-python/mwlib/files/mw-qserve.initd
new file mode 100644
index 000000000000..ac9dd78016b8
--- /dev/null
+++ b/dev-python/mwlib/files/mw-qserve.initd
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="mw-qserve is a job queue server used to distribute and manage jobs"
+
+command="/usr/bin/mw-qserve"
+command_args="--interface=${MW_QSERVE_INTERFACE} --port=${MW_QSERVE_PORT}"
+
+pidfile="/var/run/${SVCNAME}.pid"
+command_background="yes"
+
+start_stop_daemon_args="--user ${MW_QSERVE_USER:-mwlib} \
+ --group ${MW_QSERVE_GROUP:-mwlib} \
+ ${MW_QSERVE_LOGFILE:+--stderr ${MW_QSERVE_LOGFILE}} \
+ ${MW_QSERVE_LOGFILE:+--stdout ${MW_QSERVE_LOGFILE}}"
+
+depend() {
+ need net localmount
+}
diff --git a/dev-python/mwlib/files/mw-qserve.logrotate b/dev-python/mwlib/files/mw-qserve.logrotate
new file mode 100644
index 000000000000..3b9cf46e9411
--- /dev/null
+++ b/dev-python/mwlib/files/mw-qserve.logrotate
@@ -0,0 +1,7 @@
+/var/log/mwlib/mw-qserve.log {
+ su mwlib mwlib
+ missingok
+ postrotate
+ /etc/init.d/mw-qserve restart > /dev/null 2>&1
+ endscript
+}
diff --git a/dev-python/mwlib/files/mwlib-purge-cache.cron-r1 b/dev-python/mwlib/files/mwlib-purge-cache.cron-r1
new file mode 100644
index 000000000000..870beecad232
--- /dev/null
+++ b/dev-python/mwlib/files/mwlib-purge-cache.cron-r1
@@ -0,0 +1,4 @@
+# purge mw-serve cache directory
+# --cache-dir=DIR: the NSLAVE_CACHEDIR directory specified in /etc/conf.d/nslave
+# --purge-cache=HOURS: remove cache files that have not been touched for at east HOURS hours
+00 23 * * * sudo -u mwlib mw-serve-ctl --cache-dir=/var/cache/mwlib --purge-cache=24
diff --git a/dev-python/mwlib/files/nserve.confd b/dev-python/mwlib/files/nserve.confd
new file mode 100644
index 000000000000..7a482e9989c8
--- /dev/null
+++ b/dev-python/mwlib/files/nserve.confd
@@ -0,0 +1,20 @@
+# The port on which the mw-qserve service is listening
+MW_QSERVE_PORT=14311
+
+# The interface on which the mw-qserve is listening (for example: 127.0.0.1)
+MW_QSERVE_INTERFACE="127.0.0.1"
+
+# The port to listen to
+NSERVE_PORT=8899
+
+# The interface to listen to (for example: 127.0.0.1)
+NSERVE_INTERFACE="127.0.0.1"
+
+# The user running the nserve service, defaults to 'mwlib'
+# NSERVE_USER="mwlib"
+
+# The group running the nserve service, defaults to 'mwlib'
+# NSERVE_GROUP="mwlib"
+
+# The logfile collecting all output from stdout and stderr, comment out for no logging
+NSERVE_LOGFILE="/var/log/mwlib/nserve.log"
diff --git a/dev-python/mwlib/files/nserve.initd b/dev-python/mwlib/files/nserve.initd
new file mode 100644
index 000000000000..498bd738d63d
--- /dev/null
+++ b/dev-python/mwlib/files/nserve.initd
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="nserve is a HTTP server which distributes received jobs to a mw-qserve instance"
+
+command="/usr/bin/nserve"
+command_args="--port=${NSERVE_PORT} \
+ --interface=${NSERVE_INTERFACE} \
+ --qserve=${MW_QSERVE_INTERFACE}:${MW_QSERVE_PORT}"
+
+pidfile="/var/run/${SVCNAME}.pid"
+command_background="yes"
+
+start_stop_daemon_args="--user ${NSERVE_USER:-mwlib} \
+ --group ${NSERVE_GROUP:-mwlib} \
+ ${NSERVE_LOGFILE:+--stderr ${NSERVE_LOGFILE}} \
+ ${NSERVE_LOGFILE:+--stdout ${NSERVE_LOGFILE}}"
+
+depend() {
+ need net localmount
+ use mw-qserve
+}
diff --git a/dev-python/mwlib/files/nserve.logrotate b/dev-python/mwlib/files/nserve.logrotate
new file mode 100644
index 000000000000..54cc4587335d
--- /dev/null
+++ b/dev-python/mwlib/files/nserve.logrotate
@@ -0,0 +1,7 @@
+/var/log/mwlib/nserve.log {
+ su mwlib mwlib
+ missingok
+ postrotate
+ /etc/init.d/nserve restart > /dev/null 2>&1
+ endscript
+}
diff --git a/dev-python/mwlib/files/nslave.confd-r1 b/dev-python/mwlib/files/nslave.confd-r1
new file mode 100644
index 000000000000..ccf758498163
--- /dev/null
+++ b/dev-python/mwlib/files/nslave.confd-r1
@@ -0,0 +1,26 @@
+# The address to serve the rendered files to the wiki
+NSLAVE_ADDRESS="localhost"
+
+# The port to serve the rendered files to the wiki
+NSLAVE_PORT=8898
+
+# The url to serve the rendered files to the wiki
+NSLAVE_URL="http://${NSLAVE_ADDRESS}:${NSLAVE_PORT}/cache"
+
+# The directory to save the rendered PDFs to
+NSLAVE_CACHEDIR="/var/cache/mwlib/"
+
+# The umask to create files in NSLAVE_CACHEDIR
+NSLAVE_UMASK=027
+
+# How many greenlets are allowed to run in parallel
+NSLAVE_NUMPROCS=10
+
+# The user running the nserve service, defaults to 'mwlib'
+# NSLAVE_USER="mwlib"
+
+# The group running the nserve service, defaults to 'mwlib'
+# NSLAVE_GROUP="mwlib"
+
+# The logfile collecting all output from stdout and stderr, comment out for no logging
+NSLAVE_LOGFILE="/var/log/mwlib/nslave.log"
diff --git a/dev-python/mwlib/files/nslave.initd-r1 b/dev-python/mwlib/files/nslave.initd-r1
new file mode 100644
index 000000000000..81f81d3a944f
--- /dev/null
+++ b/dev-python/mwlib/files/nslave.initd-r1
@@ -0,0 +1,27 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="nslave pulls new jobs from a mw-qserve instance"
+
+command="/usr/bin/nslave"
+command_args="--cachedir=${NSLAVE_CACHEDIR} \
+ --serve-files-address=${NSLAVE_ADDRESS} \
+ --serve-files-port=${NSLAVE_PORT} \
+ --url=${NSLAVE_URL} \
+ --numprocs=${NSLAVE_NUMPROCS}"
+
+pidfile="/var/run/${SVCNAME}.pid"
+command_background="yes"
+
+start_stop_daemon_args="--user ${NSLAVE_USER:-mwlib} \
+ --group ${NSLAVE_GROUP:-mwlib} \
+ ${NSLAVE_LOGFILE:+--stderr ${NSLAVE_LOGFILE}} \
+ ${NSLAVE_LOGFILE:+--stdout ${NSLAVE_LOGFILE}} \
+ --umask ${NSLAVE_UMASK}"
+
+depend() {
+ need net localmount
+ use mw-qserve
+}
diff --git a/dev-python/mwlib/files/nslave.logrotate b/dev-python/mwlib/files/nslave.logrotate
new file mode 100644
index 000000000000..0637e248f2e7
--- /dev/null
+++ b/dev-python/mwlib/files/nslave.logrotate
@@ -0,0 +1,7 @@
+/var/log/mwlib/nslave.log {
+ su mwlib mwlib
+ missingok
+ postrotate
+ /etc/init.d/nslave restart > /dev/null 2>&1
+ endscript
+}
diff --git a/dev-python/mwlib/files/postman.confd b/dev-python/mwlib/files/postman.confd
new file mode 100644
index 000000000000..168627480dda
--- /dev/null
+++ b/dev-python/mwlib/files/postman.confd
@@ -0,0 +1,12 @@
+# The cache-directory to which the collections are saved, make sure you enter
+# the same directory as in /etc/conf.d/nslave
+POSTMAN_CACHEDIR="/var/cache/mwlib/"
+
+# The user running the postman service, defaults to 'mwlib'
+# POSTMAN_USER="mwlib"
+
+# The group running the postman service, defaults to 'mwlib'
+# POSTMAN_GROUP="mwlib"
+
+# The logfile collecting all output from stdout and stderr, comment out for no logging
+POSTMAN_LOGFILE="/var/log/mwlib/postman.log"
diff --git a/dev-python/mwlib/files/postman.initd-r1 b/dev-python/mwlib/files/postman.initd-r1
new file mode 100644
index 000000000000..0b276240a1d1
--- /dev/null
+++ b/dev-python/mwlib/files/postman.initd-r1
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="postman uploads zip collections to pediapress in case someone likes to order printed books"
+
+command="/usr/bin/postman"
+command_args="--cachedir=${POSTMAN_CACHEDIR}"
+
+pidfile="/var/run/${SVCNAME}.pid"
+command_background="yes"
+
+start_stop_daemon_args="--user ${POSTMAN_USER:-mwlib} \
+ --group ${POSTMAN_GROUP:-mwlib} \
+ ${POSTMAN_LOGFILE:+--stderr ${POSTMAN_LOGFILE}} \
+ ${POSTMAN_LOGFILE:+--stdout ${POSTMAN_LOGFILE}}"
+
+depend() {
+ need net localmount
+}
diff --git a/dev-python/mwlib/files/postman.logrotate b/dev-python/mwlib/files/postman.logrotate
new file mode 100644
index 000000000000..50cbccda7df9
--- /dev/null
+++ b/dev-python/mwlib/files/postman.logrotate
@@ -0,0 +1,7 @@
+/var/log/mwlib/postman.log {
+ su mwlib mwlib
+ missingok
+ postrotate
+ /etc/init.d/postman restart > /dev/null 2>&1
+ endscript
+}
diff --git a/dev-python/mwlib/metadata.xml b/dev-python/mwlib/metadata.xml
new file mode 100644
index 000000000000..a27761e03ab6
--- /dev/null
+++ b/dev-python/mwlib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mwlib</remote-id>
+ <remote-id type="github">pediapress/mwlib</remote-id>
+ </upstream>
+ <use>
+ <flag name="server">Install the daemons required when using mwlib for generating PDFs on a MediaWiki instance.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/mwlib/mwlib-0.15.15.ebuild b/dev-python/mwlib/mwlib-0.15.15.ebuild
new file mode 100644
index 000000000000..6be53b70b32b
--- /dev/null
+++ b/dev-python/mwlib/mwlib-0.15.15.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 user
+
+DESCRIPTION="Tools for parsing Mediawiki content to other formats"
+HOMEPAGE="http://code.pediapress.com/code/ http://pypi.python.org/pypi/mwlib https://github.com/pediapress/mwlib/"
+SRC_URI="https://github.com/pediapress/mwlib/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc server test"
+
+RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/odfpy-0.9[${PYTHON_USEDEP}]
+ <dev-python/odfpy-0.10[${PYTHON_USEDEP}]
+ >=dev-python/pyPdf-1.12[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-1.5.5[${PYTHON_USEDEP}]
+ <dev-python/pyparsing-1.6[${PYTHON_USEDEP}]
+ >=dev-python/timelib-0.2[${PYTHON_USEDEP}]
+ virtual/latex-base
+ >=dev-python/simplejson-2.3[${PYTHON_USEDEP}]
+ dev-python/gevent[${PYTHON_USEDEP}]
+ >=dev-python/bottle-0.10[${PYTHON_USEDEP}]
+ >=dev-python/apipkg-1.2[${PYTHON_USEDEP}]
+ >=dev-python/qserve-0.2.7[${PYTHON_USEDEP}]
+ dev-python/roman[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4[${PYTHON_USEDEP}]
+ dev-python/sqlite3dbm[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ server? ( app-admin/sudo )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ dev-util/re2c
+ dev-python/cython[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/wsgiintercept-0.6[${PYTHON_USEDEP}] )"
+
+# TODO: requires ploticus to generate timelines
+
+DOCS=(changelog.rst)
+
+pkg_setup() {
+ if use server ; then
+ enewgroup mwlib
+ enewuser mwlib -1 -1 -1 mwlib
+ fi
+}
+
+python_prepare_all() {
+ # mwlib.apipkg is actually used.
+ sed -e 's/, "apipkg"//' -i setup.py || die
+
+ # Execute odflint script.
+ sed \
+ -e "/def _get_odflint_module():/,/odflint = _get_odflint_module()/d" \
+ -e "s/odflint.lint(path)/os.system('odflint %s' % path)/" \
+ -i tests/test_odfwriter.py || die
+
+ # Disable test which requires installed mw-zip or mw-render script
+ # which don't get generated in distutils_install_for_testing for some reason
+ rm -f tests/test_{nuwiki,redirect,render,zipwiki}.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]] ; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ distutils_install_for_testing
+ PATH="${TEST_DIR}/scripts:${PATH}" py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+
+ if use server ; then
+ keepdir /var/log/mwlib
+ keepdir /var/cache/mwlib
+
+ fowners mwlib:mwlib /var/log/mwlib /var/cache/mwlib
+ fperms 0750 /var/log/mwlib /var/cache/mwlib
+
+ insinto /etc/logrotate.d
+ for d in mw-qserve nserve ; do
+ newins "${FILESDIR}/${d}.logrotate" "${d}"
+ newinitd "${FILESDIR}/${d}.initd" "${d}"
+ newconfd "${FILESDIR}/${d}.confd" "${d}"
+ done
+
+ newins "${FILESDIR}/nslave.logrotate" "nslave"
+ newinitd "${FILESDIR}/nslave.initd-r1" "nslave"
+ newconfd "${FILESDIR}/nslave.confd-r1" "nslave"
+
+ newins "${FILESDIR}/postman.logrotate" "postman"
+ newinitd "${FILESDIR}/postman.initd-r1" "postman"
+ newconfd "${FILESDIR}/postman.confd" "postman"
+
+ insinto /etc/cron.d
+ newins "${FILESDIR}/mwlib-purge-cache.cron-r1" "mwlib-purge-cache"
+ else
+ rm "${D}"/usr/bin/{mw-qserve,nserve,nslave,postman}* || die "removing binaries failed"
+ fi
+}
+
+pkg_postinst() {
+ elog "Please enable required image formats for dev-python/pillow"
+ if use server ; then
+ elog "A cronjob to cleanup the cache files got installed to"
+ elog " /etc/cron.d/mwlib-purge-cache"
+ elog "Default parameters are to clean every 24h, adjust it to your needs."
+ fi
+}
diff --git a/dev-python/myghty/Manifest b/dev-python/myghty/Manifest
new file mode 100644
index 000000000000..988f26609e25
--- /dev/null
+++ b/dev-python/myghty/Manifest
@@ -0,0 +1 @@
+DIST Myghty-1.2.tar.gz 292439 SHA256 3de2d5bfd7ad8bd7cc33827b3b481fe8143dbe67eb0bcb53d38d46530a2fa7aa SHA512 a4534149241e794eb8a469b062d2696076cc5bc0fc07f3e093dc2ae0e489a9e79ce6d053f75ddc5b5ab64de9c0e4341d801e7e595dd5a0dcc24a3551fcef7098 WHIRLPOOL 9c7755fd0b892a9243a68961805dc05ade6a9b3569c12683719eeff400f85333272305b0848926ee989ac38cc5cd94dd7da879f0236ecc57bcbde23e795364bd
diff --git a/dev-python/myghty/metadata.xml b/dev-python/myghty/metadata.xml
new file mode 100644
index 000000000000..4c18139204fc
--- /dev/null
+++ b/dev-python/myghty/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Myghty</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/myghty/myghty-1.2-r1.ebuild b/dev-python/myghty/myghty-1.2-r1.ebuild
new file mode 100644
index 000000000000..c9bb9b465de4
--- /dev/null
+++ b/dev-python/myghty/myghty-1.2-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Myghty"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Template and view-controller framework derived from HTML::Mason"
+HOMEPAGE="http://www.myghty.org/ http://pypi.python.org/pypi/Myghty"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-python/routes-1.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/pastescript[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+ "${PYTHON}" genhtml.py || die
+ fi
+}
+
+python_test() {
+ "${PYTHON}" test/alltests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r doc/html/.
+ fi
+}
diff --git a/dev-python/myghtyutils/Manifest b/dev-python/myghtyutils/Manifest
new file mode 100644
index 000000000000..6d2986dc1a35
--- /dev/null
+++ b/dev-python/myghtyutils/Manifest
@@ -0,0 +1 @@
+DIST MyghtyUtils-0.52.zip 31038 SHA256 2bbf206bd4c07b7d690b0397714fd893ab380f0ba5a82a897cda3647a3641cb5 SHA512 353174413c74ff440db299e0aa4c64cf01f67282f7290df8a9f7156c9efd6e502217ec8fa972ad91d37b0a137c5367378ece325f7f32c0f9fa83cdc0c15aeaf8 WHIRLPOOL bb86746cd6225754a6fb63ba08385f54f837ff723ddbf02b246d3b22af0cd66e667f990bb32db046ded27ee22270e09548c38e65fd4b698a29cd0f510836eb84
diff --git a/dev-python/myghtyutils/metadata.xml b/dev-python/myghtyutils/metadata.xml
new file mode 100644
index 000000000000..ed85cb0f24be
--- /dev/null
+++ b/dev-python/myghtyutils/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">MyghtyUtils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/myghtyutils/myghtyutils-0.52-r1.ebuild b/dev-python/myghtyutils/myghtyutils-0.52-r1.ebuild
new file mode 100644
index 000000000000..9a4e1e60a8d4
--- /dev/null
+++ b/dev-python/myghtyutils/myghtyutils-0.52-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="MyghtyUtils"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Set of utility classes used by Myghty templating"
+HOMEPAGE="http://www.myghty.org http://pypi.python.org/pypi/MyghtyUtils"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/myghty[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/mygpoclient/Manifest b/dev-python/mygpoclient/Manifest
new file mode 100644
index 000000000000..c88a76bf8283
--- /dev/null
+++ b/dev-python/mygpoclient/Manifest
@@ -0,0 +1 @@
+DIST mygpoclient-1.7.tar.gz 35890 SHA256 6a0b7b1fe2b046875456e14eda3e42430e493bf2251a64481cf4fd1a1e21a80e SHA512 95e5920799300590830be6fba9d48fcd0398cab9eb07e34c9f07254f01f0fd483a3f117434a536c82fa8b1c846017919c9e3cbb7e848109912d9c38a347f896c WHIRLPOOL bb325dc6d824c7f8bc46d216011607314485f8065277e40b4521360b0fcf23b9c66804cf173a9f21d4000621df158c48c7f1f4f57f1fc175c70df1bff5338a25
diff --git a/dev-python/mygpoclient/files/tests.patch b/dev-python/mygpoclient/files/tests.patch
new file mode 100644
index 000000000000..041cee501a00
--- /dev/null
+++ b/dev-python/mygpoclient/files/tests.patch
@@ -0,0 +1,34 @@
+diff -ur mygpoclient-1.7.orig/mygpoclient/locator_test.py mygpoclient-1.7/mygpoclient/locator_test.py
+--- mygpoclient-1.7.orig/mygpoclient/locator_test.py 2013-02-08 19:39:32.000000000 +0800
++++ mygpoclient-1.7/mygpoclient/locator_test.py 2013-03-09 23:33:37.137651841 +0800
+@@ -16,7 +16,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ from mygpoclient import locator
+-import unittest
++import unittest, sys
+
+ class Test_Exceptions(unittest.TestCase):
+ def setUp(self):
+@@ -54,18 +54,21 @@
+ podcast='http://example.org/episodes.rss',
+ device_id='gpodder')
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "pypy doesn't raise ValueError")
+ def test_device_settings_uri_exception(self):
+ """Test if using no parameter for a device Setting raises a ValueError"""
+ self.assertRaises(ValueError,
+ self.locator.settings_uri, type='device',
+ scope_param1=None, scope_param2=None)
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "pypy doesn't raise ValueError")
+ def test_podcast_settings_uri_exception(self):
+ """Test if using no parameter for a podcast Setting raises a ValueError"""
+ self.assertRaises(ValueError,
+ self.locator.settings_uri, type='podcast',
+ scope_param1=None, scope_param2=None)
+
++ @unittest.skipIf(hasattr(sys, 'pypy_version_info'), "pypy doesn't raise ValueError")
+ def test_episode_settings_uri_exception(self):
+ """Test if only using one parameter for a episode Setting raises a ValueError"""
+ self.assertRaises(ValueError,
diff --git a/dev-python/mygpoclient/metadata.xml b/dev-python/mygpoclient/metadata.xml
new file mode 100644
index 000000000000..c77ae0cadabb
--- /dev/null
+++ b/dev-python/mygpoclient/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/mygpoclient/mygpoclient-1.7-r1.ebuild b/dev-python/mygpoclient/mygpoclient-1.7-r1.ebuild
new file mode 100644
index 000000000000..ecbac2a52f3c
--- /dev/null
+++ b/dev-python/mygpoclient/mygpoclient-1.7-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A gpodder.net client library"
+HOMEPAGE="http://thp.io/2010/mygpoclient/"
+SRC_URI="http://thp.io/2010/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="dev-python/simplejson"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/minimock
+ )"
+
+PATCHES=( "${FILESDIR}"/tests.patch )
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # Disable tests requring network connection.
+ rm -f mygpoclient/http_test.py
+}
+
+python_test() {
+ if [[ "${EPYTHON:0:4}" == "pypy" ]]; then
+ nosetests --cover-erase --with-coverage --cover-package=mygpoclient "${BUILD_DIR}"/lib/${PN}/
+ else
+ nosetests --cover-erase --with-coverage --with-doctest --cover-package=mygpoclient "${BUILD_DIR}"/lib/${PN}/
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+ rm -f $(find "${D}" -name "*_test.py")
+}
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
new file mode 100644
index 000000000000..7a82e9c33420
--- /dev/null
+++ b/dev-python/mypy/Manifest
@@ -0,0 +1 @@
+DIST mypy-0.2.0.tar.gz 626604 SHA256 0c24f50509bdf3e0d9bd386a08ef4f11ee0114e1f5a9b2afeacbf9561cf022c1 SHA512 b03014abf152407c7629dba925aca6178fcdf57532f47c728edcb591a56942cda13e02122f405aa269e9b6303de1f4a9d5cbb2d5a5af6e90a808a3db94cca53f WHIRLPOOL 7d9f05ead0bfea78bdf228b0bb7c3519e8eaa70f52c00049963780f42e71e9f44168edb09d2e558f59b07a4d09912d1d6d3c8b11a2b9e47db77b2c06e56eb910
diff --git a/dev-python/mypy/files/use-which.patch b/dev-python/mypy/files/use-which.patch
new file mode 100644
index 000000000000..bca26f03c76e
--- /dev/null
+++ b/dev-python/mypy/files/use-which.patch
@@ -0,0 +1,20 @@
+diff --git a/scripts/mypy b/scripts/mypy
+index e758f1f..5a06146 100755
+--- a/scripts/mypy
++++ b/scripts/mypy
+@@ -45,14 +45,7 @@ def find_bin_directory() -> str:
+
+ This is used by build to find stubs and other data files.
+ """
+- script = __file__
+- # Follow up to 5 symbolic links (cap to avoid cycles).
+- for i in range(5):
+- if os.path.islink(script):
+- script = readlinkabs(script)
+- else:
+- break
+- return os.path.dirname(script)
++ return os.path.dirname(shutil.which('mypy'))
+
+
+ def readlinkabs(link: str) -> str:
diff --git a/dev-python/mypy/metadata.xml b/dev-python/mypy/metadata.xml
new file mode 100644
index 000000000000..082e0c25fc4a
--- /dev/null
+++ b/dev-python/mypy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">JukkaL/mypy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mypy/mypy-0.2.0-r1.ebuild b/dev-python/mypy/mypy-0.2.0-r1.ebuild
new file mode 100644
index 000000000000..0b30dccda29e
--- /dev/null
+++ b/dev-python/mypy/mypy-0.2.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="http://www.mypy-lang.org/"
+SRC_URI="https://github.com/JukkaL/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples"
+
+DEPEND="
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/use-which.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" tests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mypy/mypy-0.2.0.ebuild b/dev-python/mypy/mypy-0.2.0.ebuild
new file mode 100644
index 000000000000..7d8aef31dfda
--- /dev/null
+++ b/dev-python/mypy/mypy-0.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="http://www.mypy-lang.org/"
+SRC_URI="https://github.com/JukkaL/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples"
+
+DEPEND="
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" tests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mysql-connector-python/Manifest b/dev-python/mysql-connector-python/Manifest
new file mode 100644
index 000000000000..81b6ab929b99
--- /dev/null
+++ b/dev-python/mysql-connector-python/Manifest
@@ -0,0 +1,2 @@
+DIST mysql-connector-python-2.0.3.tar.gz 210699 SHA256 b07a42c6c1d0476d47315428df89f3fd84626d1df18045babdaa182a6a331ec8 SHA512 2c9c6ee8042c3a694b7a88841176db682ae17def03e6a9628e098b5652d387eca882cbf1ec3e6d963c3b3913f66bc63e26ce7cc82a5f9fba01dfe00fcb574d7c WHIRLPOOL 41fe675d60b24a73f959117fb9ab85257d821f6f53f7f8f2ca0029aa17100ef30b7201f71dffd52bc64bca3e435f725bb9fac573078b852161507991990f6aca
+DIST mysql-connector-python-2.1.1.tar.gz 260751 SHA256 5306e982592fbd4adbdc6a89f198f175ac1a7353c7c57def59e1d2e74b954cb3 SHA512 02eef242c186ed648454225bbb75931fa7099d1286cb3425224e86c57ba5e7cca3bb2216892109c8be366596e76c671d4ebde7c6641fc39869cbffeb3738597c WHIRLPOOL 57b7390403b54727fac4cd0d92323190ac37e9f8b18bc588cef569d336b8db2fa36b5ddeaf1887ecff4e61ffab941a156c858ff626060536e8d7cdca6102e53e
diff --git a/dev-python/mysql-connector-python/metadata.xml b/dev-python/mysql-connector-python/metadata.xml
new file mode 100644
index 000000000000..665d741edb2a
--- /dev/null
+++ b/dev-python/mysql-connector-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mysql</herd>
+<herd>python</herd>
+<use>
+</use>
+</pkgmetadata>
diff --git a/dev-python/mysql-connector-python/mysql-connector-python-2.0.3.ebuild b/dev-python/mysql-connector-python/mysql-connector-python-2.0.3.ebuild
new file mode 100644
index 000000000000..21a64e57b42e
--- /dev/null
+++ b/dev-python/mysql-connector-python/mysql-connector-python-2.0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/python/"
+SRC_URI="mirror://mysql/Downloads/Connector-Python/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples"
+
+DOCS=( README.txt CHANGES.txt )
+EXAMPLES=( examples/. )
diff --git a/dev-python/mysql-connector-python/mysql-connector-python-2.1.1.ebuild b/dev-python/mysql-connector-python/mysql-connector-python-2.1.1.ebuild
new file mode 100644
index 000000000000..8cb6369cc9d6
--- /dev/null
+++ b/dev-python/mysql-connector-python/mysql-connector-python-2.1.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python client library for MariaDB/MySQL"
+HOMEPAGE="https://dev.mysql.com/downloads/connector/python/"
+SRC_URI="mirror://mysql/Downloads/Connector-Python/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples"
+
+DOCS=( README.txt CHANGES.txt docs/README_DOCS.txt )
+
+EXAMPLES=( examples/. )
diff --git a/dev-python/mysql-python/Manifest b/dev-python/mysql-python/Manifest
new file mode 100644
index 000000000000..73922c06d851
--- /dev/null
+++ b/dev-python/mysql-python/Manifest
@@ -0,0 +1,2 @@
+DIST MySQL-python-1.2.3.tar.gz 70305 SHA256 7de66fbbf923634e7c965aeaefa74642ba75ae20ee1cefcefc3009595b7a7e6e SHA512 8c1c88ccf833744ac1f78673cb306cafe7f9bfc85ab2ce6dee1024b86571c17f006e3ab8452dba3527976f39aca64757b2d961c30ef4ac61c9a27e60a5f1abf5 WHIRLPOOL 31e294d658d80b876e54d9825252b0fcffd369a8c80926c78b5830401125761ecfc2d0faa49669d8a404228fc6395ef2bcf7c614d47c13e6a2438e66af36dcd6
+DIST MySQL-python-1.2.5.zip 108935 SHA256 811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74 SHA512 37521c6fd855c4cde495cc8ec085aca79c2d441a6e3710759385bf2e2c17f43d3311cf1166663892829d2e3999c419443c358c7031cdda225ac44611ced188d0 WHIRLPOOL 4dba5b960b6fda6e7096bbeeb38b35b6c645b2126dc82a3d24eb0f14feec7532a474bded66393ad7ee10ed4a6ed1e927fe994ddfaafda2534ba1e93bb1a7c0f6
diff --git a/dev-python/mysql-python/metadata.xml b/dev-python/mysql-python/metadata.xml
new file mode 100644
index 000000000000..feecb70ba29c
--- /dev/null
+++ b/dev-python/mysql-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">mysql-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mysql-python/mysql-python-1.2.3-r1.ebuild b/dev-python/mysql-python/mysql-python-1.2.3-r1.ebuild
new file mode 100644
index 000000000000..4e789c3027cf
--- /dev/null
+++ b/dev-python/mysql-python/mysql-python-1.2.3-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P="MySQL-python-${PV}"
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="http://sourceforge.net/projects/mysql-python/ http://pypi.python.org/pypi/MySQL-python"
+SRC_URI="mirror://sourceforge/mysql-python/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="virtual/mysql"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( HISTORY README doc/{FAQ,MySQLdb}.txt )
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/mysql-python/mysql-python-1.2.5-r1.ebuild b/dev-python/mysql-python/mysql-python-1.2.5-r1.ebuild
new file mode 100644
index 000000000000..481b5d99a747
--- /dev/null
+++ b/dev-python/mysql-python/mysql-python-1.2.5-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="MySQL-python"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="http://sourceforge.net/projects/mysql-python/ http://pypi.python.org/pypi/MySQL-python"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="virtual/mysql"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( HISTORY README.md doc/{FAQ,MySQLdb}.rst )
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html doc doc/_build/
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mysql-python/mysql-python-1.2.5.ebuild b/dev-python/mysql-python/mysql-python-1.2.5.ebuild
new file mode 100644
index 000000000000..9236c57a5c8b
--- /dev/null
+++ b/dev-python/mysql-python/mysql-python-1.2.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="MySQL-python"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="http://sourceforge.net/projects/mysql-python/ http://pypi.python.org/pypi/MySQL-python"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="virtual/mysql"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( HISTORY README.md doc/{FAQ,MySQLdb}.rst )
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_compile_all() {
+ use doc && sphinx-build -b html doc doc/_build/
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
new file mode 100644
index 000000000000..0a96e6673186
--- /dev/null
+++ b/dev-python/mysqlclient/Manifest
@@ -0,0 +1 @@
+DIST mysqlclient-1.3.6.tar.gz 78133 SHA256 1f63a8ab111530a0ff9acaeb118074f11e7564b7c124f2e7fc56fcac641aecf2 SHA512 387f3aef2f913d72fcb08001c70724702bf0af0d6d17be37cba390ffed10e54886f8a9da04cf8f76d3e7e19bd9fb932f0e80142e374703ca97d67d095ad512d1 WHIRLPOOL 4d767c12a73892c48f9456450df797a79238a06e1d1c159b4ae69264906bdd0461b1acbc89efff8c3c050774244c7a102e37061746d5fc4fb14e4dead2ab9070
diff --git a/dev-python/mysqlclient/metadata.xml b/dev-python/mysqlclient/metadata.xml
new file mode 100644
index 000000000000..f25e113f80ee
--- /dev/null
+++ b/dev-python/mysqlclient/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">mysqlclient</remote-id>
+ <remote-id type="github">PyMySQL/mysqlclient-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mysqlclient/mysqlclient-1.3.6.ebuild b/dev-python/mysqlclient/mysqlclient-1.3.6.ebuild
new file mode 100644
index 000000000000..930269da648e
--- /dev/null
+++ b/dev-python/mysqlclient/mysqlclient-1.3.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fork of MySQL-python"
+HOMEPAGE="https://pypi.python.org/pypi/mysqlclient/ https://github.com/PyMySQL/mysqlclient-python"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ !dev-python/mysql-python
+ virtual/mysql"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+DOCS=( HISTORY README.md doc/{FAQ,MySQLdb}.rst )
+
+python_compile_all() {
+ use doc && sphinx-build -b html doc doc/_build/
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/natgrid/Manifest b/dev-python/natgrid/Manifest
new file mode 100644
index 000000000000..ecd55562e016
--- /dev/null
+++ b/dev-python/natgrid/Manifest
@@ -0,0 +1 @@
+DIST natgrid-0.2.1.tar.gz 35205 SHA256 99085f49540d030c8f7ed7e8af7170e1bbfa1961abf18f4546b0504ab5d2414c SHA512 489e8454f05ff994bad23d88bb423fd0bc17e838193865d3dbb6be0d01221203dcd1644c133827421ba4acf354295f07533ff838b138056064e1bee73d43c922 WHIRLPOOL 5262f5ca341ec265ca8e41aa4e7f10d5d581c7f55bed34f607effe7a8c44ddd5226c8ff0e81ed2c58fc1578405e8ef21c7a8828106ce40b3ed0b0b0bdec75aec
diff --git a/dev-python/natgrid/metadata.xml b/dev-python/natgrid/metadata.xml
new file mode 100644
index 000000000000..a3b93014161b
--- /dev/null
+++ b/dev-python/natgrid/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ mpl_toolkits.natgrid is an python interface to natgrid C library for
+ gridding irregularly spaced data.
+ The original natgrid is a natural neighbor gridding package.
+ (See http://www.ncarg.ucar.edu//ngmath/natgrid/nnhome.html).
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">matplotlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/natgrid/natgrid-0.2.1-r2.ebuild b/dev-python/natgrid/natgrid-0.2.1-r2.ebuild
new file mode 100644
index 000000000000..6302c6fdbc1e
--- /dev/null
+++ b/dev-python/natgrid/natgrid-0.2.1-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Matplotlib toolkit for gridding irreguraly spaced data"
+HOMEPAGE="http://matplotlib.sourceforge.net/users/toolkits.html"
+SRC_URI="mirror://sourceforge/matplotlib/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=dev-python/matplotlib-0.98[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ insinto /usr/share/doc/${PF}
+ doins test.py || die "doins failed"
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install
+ # Fix collision with dev-python/matplotlib.
+ rm "${D}$(python_get_sitedir)/mpl_toolkits/__init__.py" || die
+}
diff --git a/dev-python/natsort/Manifest b/dev-python/natsort/Manifest
new file mode 100644
index 000000000000..e2ebe21fac61
--- /dev/null
+++ b/dev-python/natsort/Manifest
@@ -0,0 +1,2 @@
+DIST natsort-3.4.0.tar.gz 16113 SHA256 a58ea2410eedf587adda3f2a4ef93a820a99028b253b510c79ef5b4a11cd1dbb SHA512 5aa91f2cbdec3e97081cc7248e7d596437f5c0b53151eb59a95c161b35d331c80737f5ffe39c74a0233a0c20ffec7d244d9e70d6fb7263880270c8379c81bc44 WHIRLPOOL 792034fe0e266db6a508ddb9faf7a557a0e38aa8c3f10dec3c3debda917fe1f5c86f097199f42f83fe422fbbc6770c4d39adb1cff9a811fdd5dcad4dcec07002
+DIST natsort-4.0.3.tar.gz 60736 SHA256 283bfc8ce4c4d03f0a04b8d1908c747eff858d3774161074eb5b052972263b9f SHA512 abefb9226888679649fd1f4441a5016bfcbb79cf215c7be887cf1f67976ca6701f0f35424bb4ad405e9376fe3f3c38740a6f249cd233b92d7275f94e483b0b4a WHIRLPOOL afb1c78f2909128ccdb6b68c1bb2d54f400c87a1b293a06a29126db3732f9baa1bfd16d40f45097a45a3fd6be87b73973da0f3da34ff58e8967092a642128ab8
diff --git a/dev-python/natsort/metadata.xml b/dev-python/natsort/metadata.xml
new file mode 100644
index 000000000000..05b633d68765
--- /dev/null
+++ b/dev-python/natsort/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">natsort</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/natsort/natsort-3.4.0.ebuild b/dev-python/natsort/natsort-3.4.0.ebuild
new file mode 100644
index 000000000000..49112fcacb19
--- /dev/null
+++ b/dev-python/natsort/natsort-3.4.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Natural sorting for Python"
+HOMEPAGE="https://pypi.python.org/pypi/natsort"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/natsort/natsort-4.0.3.ebuild b/dev-python/natsort/natsort-4.0.3.ebuild
new file mode 100644
index 000000000000..314bd98dd4d1
--- /dev/null
+++ b/dev-python/natsort/natsort-4.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Natural sorting for Python"
+HOMEPAGE="https://pypi.python.org/pypi/natsort"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/nautilus-python/Manifest b/dev-python/nautilus-python/Manifest
new file mode 100644
index 000000000000..712a077d0862
--- /dev/null
+++ b/dev-python/nautilus-python/Manifest
@@ -0,0 +1 @@
+DIST nautilus-python-1.1.tar.xz 239392 SHA256 7825e08ada8e131f829d0e7d4144dcfac9fad7bfd7c0600bf3985349c20c496b SHA512 e721f46414a3efa4b5f5ec3f56cc00a308ec010a7a0612cef975d6f436494701f8bdbed39bdb5186c8013a582c7e63288a1c60adc4b8967c9ec69d6301a50fef WHIRLPOOL 280b6019a9850596b69777a758d89b06bfce5f30188feb274c8d5820ec6b9ecfcc8c0c402dbfee184378b2c02b6c29bc798ff061a139defd8cfae4e12b5d591d
diff --git a/dev-python/nautilus-python/metadata.xml b/dev-python/nautilus-python/metadata.xml
new file mode 100644
index 000000000000..21ba9b5773cc
--- /dev/null
+++ b/dev-python/nautilus-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/nautilus-python/nautilus-python-1.1-r1.ebuild b/dev-python/nautilus-python/nautilus-python-1.1-r1.ebuild
new file mode 100644
index 000000000000..fd59a87fc1cc
--- /dev/null
+++ b/dev-python/nautilus-python/nautilus-python-1.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_DEPEND="2"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2 python
+
+DESCRIPTION="Python bindings for the Nautilus file manager"
+HOMEPAGE="http://projects.gnome.org/nautilus-python/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 x86"
+IUSE="doc"
+
+# Depend on pygobject:3 for sanity, and because it's automagic
+RDEPEND="dev-python/pygobject:3
+ >=gnome-base/nautilus-2.32[introspection]"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-util/gtk-doc-1.9 )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_install() {
+ gnome2_src_install
+ # Directory for systemwide extensions
+ keepdir /usr/share/nautilus-python/extensions/
+ # Doesn't get installed by "make install" for some reason
+ if use doc; then
+ insinto /usr/share/gtk-doc/html/nautilus-python # for dev-util/devhelp
+ doins -r docs/html/*
+ fi
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ python_need_rebuild
+}
diff --git a/dev-python/nautilus-python/nautilus-python-1.1-r2.ebuild b/dev-python/nautilus-python/nautilus-python-1.1-r2.ebuild
new file mode 100644
index 000000000000..d629054e7cb9
--- /dev/null
+++ b/dev-python/nautilus-python/nautilus-python-1.1-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils gnome2 python-single-r1
+
+DESCRIPTION="Python bindings for the Nautilus file manager"
+HOMEPAGE="http://projects.gnome.org/nautilus-python/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~x86"
+IUSE="doc"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Depend on pygobject:3 for sanity, and because it's automagic
+RDEPEND="
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ >=gnome-base/nautilus-2.32[introspection]
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.9
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ dev-libs/libxslt
+ >=dev-util/gtk-doc-1.9 )
+"
+
+src_configure() {
+ # FIXME: package does not ship pre-built documentation
+ # and has broken logic for dealing with gtk-doc
+ gnome2_src_configure $(use_enable doc gtk-doc)
+}
+
+src_install() {
+ gnome2_src_install
+ # Directory for systemwide extensions
+ keepdir /usr/share/nautilus-python/extensions
+ # Doesn't get installed by "make install" for some reason
+ if use doc ; then
+ insinto /usr/share/gtk-doc/html/nautilus-python # for dev-util/devhelp
+ doins -r docs/html/.
+ fi
+}
diff --git a/dev-python/ndg-httpsclient/Manifest b/dev-python/ndg-httpsclient/Manifest
new file mode 100644
index 000000000000..f40dd41bab3b
--- /dev/null
+++ b/dev-python/ndg-httpsclient/Manifest
@@ -0,0 +1,2 @@
+DIST ndg_httpsclient-0.3.2.tar.gz 21514 SHA256 cc806d43f3e79be40f923d94f542f23a94c6ddbb9a63258b0bf875f325508973 SHA512 0060d1b0f749cc3017f4d5550bf0e7242e035f5f84a914a23219a85ba0dd9185e6edf88c38db16df8dfe05beb267262cc2fed00758c0b4d8b2ee222abe2d642e WHIRLPOOL a7d058939909b5b9ffc8c4f9432d97f4cbb76824b34cc5bf9fd0d32edcf2cee77daad34ad48ad8927c2a3c2a30c960cdc5568131706d15089749f3037b66607d
+DIST ndg_httpsclient-0.4.0.tar.gz 24038 SHA256 e8c155fdebd9c4bcb0810b4ed01ae1987554b1ee034dd7532d7b8fdae38a6274 SHA512 3c0225a20c25cf0f12f03005bb79e738527c0488bb660c1eb3b55c505a0ef503002d37fcffb3d013e5f91101bdd03080a68d5805d6d29b682cc01bdc9f0e4a19 WHIRLPOOL 0c9c0a2cd2e5a0d2b742910129442285e4bdf1278c2590443fa00107066f5561af4249d4f1504720e8a48342ba1d0110fe8480e0adcd41ca999384bf3dc06853
diff --git a/dev-python/ndg-httpsclient/metadata.xml b/dev-python/ndg-httpsclient/metadata.xml
new file mode 100644
index 000000000000..7a46194ed57f
--- /dev/null
+++ b/dev-python/ndg-httpsclient/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ndg-httpsclient</remote-id>
+ <remote-id type="github">cedadev/ndg_httpsclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ndg-httpsclient/ndg-httpsclient-0.3.2.ebuild b/dev-python/ndg-httpsclient/ndg-httpsclient-0.3.2.ebuild
new file mode 100644
index 000000000000..62ce5425a0ea
--- /dev/null
+++ b/dev-python/ndg-httpsclient/ndg-httpsclient-0.3.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
+HOMEPAGE="http://ndg-security.ceda.ac.uk/wiki/ndg_httpsclient
+ https://pypi.python.org/pypi/ndg-httpsclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="dev-python/pyopenssl[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${P/-/_}"
diff --git a/dev-python/ndg-httpsclient/ndg-httpsclient-0.4.0.ebuild b/dev-python/ndg-httpsclient/ndg-httpsclient-0.4.0.ebuild
new file mode 100644
index 000000000000..01ec815e5018
--- /dev/null
+++ b/dev-python/ndg-httpsclient/ndg-httpsclient-0.4.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
+HOMEPAGE="https://github.com/cedadev/ndg_httpsclient/
+ https://pypi.python.org/pypi/ndg-httpsclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/-/_}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="dev-python/pyopenssl[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${P/-/_}"
+
+# doc build by Makefile in folder documentation is broken
diff --git a/dev-python/neovim-python-client/Manifest b/dev-python/neovim-python-client/Manifest
new file mode 100644
index 000000000000..844f2826257b
--- /dev/null
+++ b/dev-python/neovim-python-client/Manifest
@@ -0,0 +1 @@
+DIST neovim-python-client-0.0.37.tar.xz 38008 SHA256 615120048e0bac403fe85dd9bc74a5b2fe92cc9d1dc7c65f92f8a2bf361e0ec9 SHA512 23c3557564a16f9d1c4561d6ebb6d546d52c1cdc0216f36e77edf4567f7143f30e6832296324a3897a1eb38992973c63f99c373d88e330650cd8de6e4ba665cd WHIRLPOOL d0099e8f149eea2b115129b226253d848aa1b5be2685bab5eff6cd2fa5c5c5d0de6f070ed2fca860d9bc8105a139bbb6bb9d7a4f02baef1bf337d13046803463
diff --git a/dev-python/neovim-python-client/metadata.xml b/dev-python/neovim-python-client/metadata.xml
new file mode 100644
index 000000000000..804596a47144
--- /dev/null
+++ b/dev-python/neovim-python-client/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>vim</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">neovim/python-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/neovim-python-client/neovim-python-client-0.0.37.ebuild b/dev-python/neovim-python-client/neovim-python-client-0.0.37.ebuild
new file mode 100644
index 000000000000..68eec917998f
--- /dev/null
+++ b/dev-python/neovim-python-client/neovim-python-client-0.0.37.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python client to connect to Neovim thru its msgpack-rpc API"
+HOMEPAGE="https://github.com/neovim/python-client"
+SRC_URI="http://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gtk"
+REQUIRED_USE="gtk? ( python_targets_python2_7 )" # experimental gui only works with py2
+
+DEPEND=">=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/greenlet[${PYTHON_USEDEP}]' 'python*')
+ $(python_gen_cond_dep 'dev-python/trollius[${PYTHON_USEDEP}]' python{2_7,3_3})
+ gtk? ( >=dev-python/click-3.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:2
+ dev-python/pygtk:2
+ x11-libs/gtk+:2[introspection] )"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/netaddr/Manifest b/dev-python/netaddr/Manifest
new file mode 100644
index 000000000000..92ab43d4e206
--- /dev/null
+++ b/dev-python/netaddr/Manifest
@@ -0,0 +1,4 @@
+DIST netaddr-0.7.12.tar.gz 1504096 SHA256 88bf0bff238df672b1a521cdc291db025f7462223b065405b62d58a22c0d0abe SHA512 d7783ecc697045d381d2d028d02c1773effd1331f15f2fb6423a06ed7915700e42862130d2ceb16c73ed0443a5055d101ce7ea3d10474f9af40cde83d2251e55 WHIRLPOOL 580aa6443fd384d8ed180e39b6c42e36d55cf2c644a470bd0aa657f6d1282d5082e718e9225ef2c5b352a48bb0599ee11642d7b72a5f50c7e621f8700f1da2bb
+DIST netaddr-0.7.13.tar.gz 1548094 SHA256 ca42c260b49e5fd74ba9104efa6a4fca6b55316ca42714d20d2b9b8e751e0412 SHA512 3bef68f9bf33d3c8946b2dd0a0ed1c182bf4e604501de1f62ec0e1a31c1c4a6806b78be847b49fa93ddbf50e2e58012f3ef68e7dad08297d7647d878ba17144c WHIRLPOOL a7a031607cdcaf0d0ed2eb7faa6c9db32f02663d48b827c5df558db88a0515a1778da67cdaa646bb55b424b86baeeb857d76d51d710b4555225d605eb802dca7
+DIST netaddr-0.7.14.tar.gz 1560641 SHA256 02abbb54c9edd6a3046385d2634f51c1dbddbbc9b5816599ecd052b1d9ff445f SHA512 8492932aa5218d84e211df9ac405b9f2eb2f66d9a0cfe7b427634461bd3c71a3c94662c8e13e0d484481cb621e60dfff22aa8065b00a03094543c33b50d3502f WHIRLPOOL 6198af280532f782a3a539749c41b44f139ea600edbfcd7aac66cd167546f27dee54afa63c9e48841180fdceb79bff086ab1fbe8b10c9b197e4c975754da0858
+DIST netaddr-0.7.15.tar.gz 1525041 SHA256 d5b5bb3f4e9a94f93d232bb876e567517d8fb59e5bebb5339483b44df5529d11 SHA512 b6279638598b756366fd236003dbd5315b4535d2d13153857d1a2b160d9521eb94e2a46e89eb317b72081ae6b0e8916da7932fa766541616e49b2a24b7494cf3 WHIRLPOOL b515b2fc7dc7970f9751ec28ca2a7b0937a7ad7a1f9a36b9e995dea430b004c2294263654d9c321fe29e7eff7af1e78281bf89432b408aa6324b0833b80e1847
diff --git a/dev-python/netaddr/metadata.xml b/dev-python/netaddr/metadata.xml
new file mode 100644
index 000000000000..591d65cef994
--- /dev/null
+++ b/dev-python/netaddr/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ </maintainer>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <use>
+ <flag name="cli">Enable netaddr shell with <pkg>dev-python/ipython</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">netaddr</remote-id>
+ <remote-id type="github">drkjam/netaddr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/netaddr/netaddr-0.7.12.ebuild b/dev-python/netaddr/netaddr-0.7.12.ebuild
new file mode 100644
index 000000000000..7ce913bf70eb
--- /dev/null
+++ b/dev-python/netaddr/netaddr-0.7.12.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="https://github.com/drkjam/netaddr http://pypi.python.org/pypi/netaddr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="cli"
+
+DEPEND=""
+RDEPEND="cli? ( >=dev-python/ipython-0.13.1-r1[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" netaddr/tests/__init__.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netaddr/netaddr-0.7.13.ebuild b/dev-python/netaddr/netaddr-0.7.13.ebuild
new file mode 100644
index 000000000000..6c83dfb3a985
--- /dev/null
+++ b/dev-python/netaddr/netaddr-0.7.13.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="https://github.com/drkjam/netaddr http://pypi.python.org/pypi/netaddr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cli"
+
+DEPEND=""
+RDEPEND="cli? ( >=dev-python/ipython-0.13.1-r1[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" netaddr/tests/__init__.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netaddr/netaddr-0.7.14.ebuild b/dev-python/netaddr/netaddr-0.7.14.ebuild
new file mode 100644
index 000000000000..6c83dfb3a985
--- /dev/null
+++ b/dev-python/netaddr/netaddr-0.7.14.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="https://github.com/drkjam/netaddr http://pypi.python.org/pypi/netaddr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cli"
+
+DEPEND=""
+RDEPEND="cli? ( >=dev-python/ipython-0.13.1-r1[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" netaddr/tests/__init__.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netaddr/netaddr-0.7.15.ebuild b/dev-python/netaddr/netaddr-0.7.15.ebuild
new file mode 100644
index 000000000000..12eb667bc079
--- /dev/null
+++ b/dev-python/netaddr/netaddr-0.7.15.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="https://github.com/drkjam/netaddr http://pypi.python.org/pypi/netaddr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cli test"
+
+RDEPEND="cli? ( >=dev-python/ipython-0.13.1-r1[${PYTHON_USEDEP}] )"
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ )"
+
+# test subdir not included in the tarball
+# https://github.com/drkjam/netaddr/issues/102
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/netcdf4-python/Manifest b/dev-python/netcdf4-python/Manifest
new file mode 100644
index 000000000000..4c6560d961ac
--- /dev/null
+++ b/dev-python/netcdf4-python/Manifest
@@ -0,0 +1 @@
+DIST netCDF4-1.0.4.tar.gz 521990 SHA256 99f5eaebae2fae92759d13b790dde4226b2b8c83a68f86543c41c7998cba53b7 SHA512 acebb8b721720fae8ae8347ac10b3bc213cbc6db763001292ab99db56fc20fd82abc17d5449ad8d75f40edb5bf14f24b0bece725671fcc15bf3b0cb6580c46c5 WHIRLPOOL d664d2a187b5191275bdc6fd6a456b684b4c9b1c6c0249e0299ba15ec10a6433b0859f84bf26148a7ca392e307a40f4bdfd13a7dc7ff8b059d8471f18e939b16
diff --git a/dev-python/netcdf4-python/metadata.xml b/dev-python/netcdf4-python/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/dev-python/netcdf4-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/netcdf4-python/netcdf4-python-1.0.4.ebuild b/dev-python/netcdf4-python/netcdf4-python-1.0.4.ebuild
new file mode 100644
index 000000000000..5d4bca9b4e76
--- /dev/null
+++ b/dev-python/netcdf4-python/netcdf4-python-1.0.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="netCDF4"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python/numpy interface to netCDF"
+HOMEPAGE="https://code.google.com/p/netcdf4-python"
+SRC_URI="https://netcdf4-python.googlecode.com/files/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ sci-libs/hdf5
+ sci-libs/netcdf:=[hdf]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+python_test() {
+ cd test || die
+ ${PYTHON} run_all.py || die
+}
diff --git a/dev-python/netifaces/Manifest b/dev-python/netifaces/Manifest
new file mode 100644
index 000000000000..9da0ec5f767a
--- /dev/null
+++ b/dev-python/netifaces/Manifest
@@ -0,0 +1,2 @@
+DIST netifaces-0.10.4.tar.gz 22969 SHA256 9656a169cb83da34d732b0eb72b39373d48774aee009a3d1272b7ea2ce109cde SHA512 1b9b92b69e01e4dd9f9304d3812d78d58ec195a657cb47b2e629ccb1311de4a8cd9716825d7b94d4791f7c479c289638780f6f9afa8a6465fb555130da622b24 WHIRLPOOL 44cb33b6ca0c6cda059bf7e88ca5b4904d1e2d5bb7201f23d8e5b9c3bd337acc99dc47dec76016b6ceee7c5d8d72af03af96afb709ff9368a8dfff8683d4b7e2
+DIST netifaces-0.8.tar.gz 15484 SHA256 53a711038db3d6e5cf7129d6f751185fd052f830f12f271fbfe17bd2671ab1ec SHA512 b3735c4f83d4ed1d52f59937187659f148205a721fd05ce5a10e9ec89ea3519971001b2985e24bb30fb112ee741310babd847f84d4c3fbb34989edc6a743f551 WHIRLPOOL 4f638d769a38a474f0a27642544e1b6e932643f224133024cbfdb44e9637700afc10675fccd61e52e5f6e8a121b25173895d9f173b428aefceded22a42af7ab6
diff --git a/dev-python/netifaces/files/netifaces-0.10.4-remove-osx-fix.patch b/dev-python/netifaces/files/netifaces-0.10.4-remove-osx-fix.patch
new file mode 100644
index 000000000000..7f87a02e365a
--- /dev/null
+++ b/dev-python/netifaces/files/netifaces-0.10.4-remove-osx-fix.patch
@@ -0,0 +1,15 @@
+--- netifaces-0.10.4/setup.py
++++ netifaces-0.10.4/setup.py
+@@ -18,12 +18,6 @@
+
+ __version__ = "0.10.4"
+
+-# Disable hard links, otherwise building distributions fails on OS X
+-try:
+- del os.link
+-except:
+- pass
+-
+ # On Windows, we need ws2_32 and iphlpapi
+ if getattr(sys, 'getwindowsversion', None):
+ libraries = ['ws2_32', 'iphlpapi']
diff --git a/dev-python/netifaces/files/netifaces-0.8-remove-osx-fix.patch b/dev-python/netifaces/files/netifaces-0.8-remove-osx-fix.patch
new file mode 100644
index 000000000000..41aedaf02a67
--- /dev/null
+++ b/dev-python/netifaces/files/netifaces-0.8-remove-osx-fix.patch
@@ -0,0 +1,23 @@
+# HG changeset patch
+# User Laurent Bachelier <laurent@bachelier.name>
+# Date 1388257625 -3600
+# Node ID d89bc5823b639a13d299c7485fd81be89ef036a1
+# Parent aa1a71e0adf7129f99c087afa9416a37b527012b
+Remove support for broken operating systems
+
+diff -r aa1a71e0adf7 -r d89bc5823b63 setup.py
+--- a/setup.py Tue Jan 31 11:48:23 2012 +0000
++++ b/setup.py Sat Dec 28 20:07:05 2013 +0100
+@@ -9,12 +9,6 @@
+
+ __version__ = "0.8"
+
+-# Disable hard links, otherwise building distributions fails on OS X
+-try:
+- del os.link
+-except:
+- pass
+-
+ # On Windows, we need ws2_32 and iphlpapi
+ if getattr(sys, 'getwindowsversion', None):
+ libraries = ['ws2_32', 'iphlpapi']
diff --git a/dev-python/netifaces/metadata.xml b/dev-python/netifaces/metadata.xml
new file mode 100644
index 000000000000..434ad9ca391d
--- /dev/null
+++ b/dev-python/netifaces/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">netifaces</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/netifaces/netifaces-0.10.4.ebuild b/dev-python/netifaces/netifaces-0.10.4.ebuild
new file mode 100644
index 000000000000..7ca981fda99a
--- /dev/null
+++ b/dev-python/netifaces/netifaces-0.10.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Portable network interface information"
+HOMEPAGE="http://alastairs-place.net/netifaces/ https://pypi.python.org/pypi/netifaces/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-remove-osx-fix.patch )
diff --git a/dev-python/netifaces/netifaces-0.8-r2.ebuild b/dev-python/netifaces/netifaces-0.8-r2.ebuild
new file mode 100644
index 000000000000..0a6ccedb8f99
--- /dev/null
+++ b/dev-python/netifaces/netifaces-0.8-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Portable network interface information"
+HOMEPAGE="http://alastairs-place.net/netifaces/"
+SRC_URI="http://alastairs-place.net/projects/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-remove-osx-fix.patch )
diff --git a/dev-python/netlib/Manifest b/dev-python/netlib/Manifest
new file mode 100644
index 000000000000..85964de4a167
--- /dev/null
+++ b/dev-python/netlib/Manifest
@@ -0,0 +1,5 @@
+DIST netlib-0.10.1.tar.gz 299633 SHA256 ee22365f6aad99326fa83788e8f71ea940affea0df3142efde247c7d520fab7e SHA512 56df59b94b6dcd61809f7319dcfd6807294d0dd1011d64d6b26beb50e3217052a96b267f1facacf46cbd0379a29df7ad5f68ee025b64b7e8fbfd31a9b4d06469 WHIRLPOOL 7e2e48fb6204ae0efe1d0aa9698b7d50ab0802c06ef8478ddd80cf3f3268fdbf1f0de696d4e2110f15f0efd45cdb713c57c5b0fc24482f9d401da4955557a446
+DIST netlib-0.10.tar.gz 60256 SHA256 415e3db96f487177f372d47bc669dcc9068a435e49b8120ec8821026de36bd80 SHA512 e6897a1ba28942eb30f19b4876bf1fcc03a83ec619e162ee09d9c3ad3348cfaebf9b413fdc4c534c56342270c0c767f16b63b79efe51d6589e864e9b51742f4a WHIRLPOOL a6f3106870f30128c96d7f04ab8c5f0136c88217fe20c00f4a7791031ea6e176ef04785403324ac2ca63ce056957c3d53660bbb3cc143499b019ca7b33f3482c
+DIST netlib-0.11.1.tar.gz 43539 SHA256 5d752d93863cbccd8bb8d7990b62903e803490fa2de12c4fb79e028e20a7d309 SHA512 1682bd73d0ff592ad8ec4a79c1f4acd1267440ad0d120a5693f66fd94bfa10b40fdec69b4d43052952a3ecf64d27cb928fd3e5747f54acc419e50c3e1d3b4fbe WHIRLPOOL 8347395165b8d95f12ec81f9651e3dd9a9d71d2d039062fc9a2f6d2a81b0648a709424d83089203d98e3697b5cced511208a076ba524de1f04c6c0578fdce0a2
+DIST netlib-0.11.2.tar.gz 43569 SHA256 66dac408eccb528b284e6a6fa5bc52aa40d1c2a53d74179d3cb2253b3120851e SHA512 ef1b489c5affb4bd7d840af955c50fe6c180b179ebe0a4c67f8005a4e02f03e1ff0d47f3b40da9aae7fc7bc179f82203a4ab43798406a917ab1a1b29eebe5443 WHIRLPOOL a6961a57d6db07e36d2098ee56a303f2e8ebb742d7857f5ab02cd8950cdecd10cd7649a8ca88af5178d82fc8de903f166156306c7e4f3df47f58a1dbe25be457
+DIST netlib-0.12.0.tar.gz 53923 SHA256 2b53b9dd611a80ba65eb5eb11bb70dfec4912e5b38fa84e30756249241012480 SHA512 18a716e084eed577d7731a44cebbcfffcb58140ae808273d683df7f95818fdc990e817fe57ad43a5b439766e022c4b8398f85c3a694f29556856a658a86ac90d WHIRLPOOL 10b3cfa75528deedbb2df9ee6a3750dcf2c20d131974b3c91cd0bfa932d29a069238edbf4f3b93a8ec40b500183d6f86d6737bfb35942ffc0311e1ebc9868f26
diff --git a/dev-python/netlib/metadata.xml b/dev-python/netlib/metadata.xml
new file mode 100644
index 000000000000..b0c3b2a58519
--- /dev/null
+++ b/dev-python/netlib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">netlib</remote-id>
+ <remote-id type="github">cortesi/netlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/netlib/netlib-0.10.1.ebuild b/dev-python/netlib/netlib-0.10.1.ebuild
new file mode 100644
index 000000000000..c13ea4d93424
--- /dev/null
+++ b/dev-python/netlib/netlib-0.10.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of network utility classes used by pathod and mitmproxy"
+HOMEPAGE="https://github.com/cortesi/netlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">dev-python/pyasn1-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.12[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ www-servers/pathod[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netlib/netlib-0.10.ebuild b/dev-python/netlib/netlib-0.10.ebuild
new file mode 100644
index 000000000000..d31f6ebb1542
--- /dev/null
+++ b/dev-python/netlib/netlib-0.10.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of network utility classes used by pathod and mitmproxy"
+HOMEPAGE="https://github.com/cortesi/netlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">dev-python/pyasn1-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.12[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ www-servers/pathod[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netlib/netlib-0.11.1.ebuild b/dev-python/netlib/netlib-0.11.1.ebuild
new file mode 100644
index 000000000000..69cf980de281
--- /dev/null
+++ b/dev-python/netlib/netlib-0.11.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of network utility classes used by pathod and mitmproxy"
+HOMEPAGE="https://github.com/cortesi/netlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ www-servers/pathod[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netlib/netlib-0.11.2.ebuild b/dev-python/netlib/netlib-0.11.2.ebuild
new file mode 100644
index 000000000000..4adb7c0ece2a
--- /dev/null
+++ b/dev-python/netlib/netlib-0.11.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Collection of network utility classes used by pathod and mitmproxy"
+HOMEPAGE="https://github.com/cortesi/netlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ =www-servers/pathod-$(get_version_component_range 1-2)*[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/netlib/netlib-0.12.0.ebuild b/dev-python/netlib/netlib-0.12.0.ebuild
new file mode 100644
index 000000000000..4adb7c0ece2a
--- /dev/null
+++ b/dev-python/netlib/netlib-0.12.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Collection of network utility classes used by pathod and mitmproxy"
+HOMEPAGE="https://github.com/cortesi/netlib/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ =www-servers/pathod-$(get_version_component_range 1-2)*[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/networkx/Manifest b/dev-python/networkx/Manifest
new file mode 100644
index 000000000000..1dd881b5d1be
--- /dev/null
+++ b/dev-python/networkx/Manifest
@@ -0,0 +1,2 @@
+DIST networkx-1.10.tar.gz 1189291 SHA256 ced4095ab83b7451cec1172183eff419ed32e21397ea4e1971d92a5808ed6fb8 SHA512 fc0a0b929991baef63c30382c2045d551b217140393a4264b18a5f1be198d325eee9f57e02dda38a7ad9f99771c5b78f82c673a88b04df122b9d91852db09efd WHIRLPOOL 8a9666142a1978e72b9eeb791de5c2033d0d29cd2db846f2583c41876d6a5c864c295316bb3d1c2858ccda0f4ca5081108ed9c07176eb8146c8c772fa77c8a60
+DIST networkx-1.9.1.tar.gz 1035784 SHA256 6380eb38d0b5770d7e50813c8a48ff7c373b2187b4220339c1adce803df01c59 SHA512 8c18bd07530b26731da4db40dc9d82c81b78b086a2b15a45daa65ab55ec92a4ba836f911add062f698c3f319e5e85b5a26a6a52f760f5cf32e3d2a73c46cd93d WHIRLPOOL 01db9c8560140a52a890851871249c9d509883f7aa877487c16cdcc42973ae74b9c1815371d99247f72766e1f26e0a1afc0965af65583c4a9b59b75c2369fe2a
diff --git a/dev-python/networkx/metadata.xml b/dev-python/networkx/metadata.xml
new file mode 100644
index 000000000000..6281d76bab46
--- /dev/null
+++ b/dev-python/networkx/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ NetworkX is a Python-based package for the creation, manipulation, and
+ study of the structure, dynamics, and functions of complex networks.
+ The structure of a graph or network is encoded in the edges (connections,
+ links, ties, arcs, bonds) between nodes (vertices, sites, actors). If
+ unqualified, by graph we mean a simple undirected graph, i.e. no
+ self-loops and no multiple edges are allowed. By a network we usually
+ mean a graph with weights (fields, properties) on nodes and/or edges.
+ The potential audience for NetworkX includes: mathematicians, physicists,
+ biologists, computer scientists, social scientists.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">networkx</remote-id>
+ <remote-id type="github">networkx/networkx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/networkx/networkx-1.10.ebuild b/dev-python/networkx/networkx-1.10.ebuild
new file mode 100644
index 000000000000..95ff6a288d1d
--- /dev/null
+++ b/dev-python/networkx/networkx-1.10.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python tools to manipulate graphs and complex networks"
+HOMEPAGE="http://networkx.github.io/ https://github.com/networkx/networkx"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+COMMON_DEPEND="dev-python/matplotlib[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/numpydoc[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ )
+ test? (
+ ${COMMON_DEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'media-gfx/pydot[${PYTHON_USEDEP}]' python2_7)
+ )"
+RDEPEND="
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ examples? (
+ ${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/pygraphviz[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # Avoid d'loading of file objects.inv from 2 sites of python docs
+ sed -e "s/'sphinx.ext.intersphinx', //" -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://github.com/networkx/networkx/issues/1263
+ if use doc; then
+ sed \
+ -e "s:^\t\./:\t${PYTHON} :g" \
+ -i doc/Makefile || die
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -vv || die
+}
+
+python_install_all() {
+ # Oh my.
+ rm -r "${ED}"usr/share/doc/${P} || die
+
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/networkx/networkx-1.9.1.ebuild b/dev-python/networkx/networkx-1.9.1.ebuild
new file mode 100644
index 000000000000..7957bc3bb3d7
--- /dev/null
+++ b/dev-python/networkx/networkx-1.9.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python tools to manipulate graphs and complex networks"
+HOMEPAGE="http://networkx.github.io/ https://github.com/networkx/networkx"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+COMMON_DEPEND="dev-python/matplotlib[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/numpydoc[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]' python2_7 python{3_3,3_4})
+ )
+ test? (
+ ${COMMON_DEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ examples? (
+ ${COMMON_DEPEND}
+ $(python_gen_cond_dep 'dev-python/pygraphviz[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # Avoid d'loading of file objects.inv from 2 sites of python docs
+ sed -e "s/'sphinx.ext.intersphinx', //" -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://github.com/networkx/networkx/issues/1263
+ if use doc; then
+ sed \
+ -e "s:^\t\./:\t${PYTHON} :g" \
+ -i doc/Makefile || die
+ emake -C doc html
+ fi
+}
+
+python_test() {
+ nosetests -vv || die
+}
+
+python_install_all() {
+ # Oh my.
+ rm -r "${ED}"usr/share/doc/${P} || die
+
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/nevow/Manifest b/dev-python/nevow/Manifest
new file mode 100644
index 000000000000..a0c9b74d85d0
--- /dev/null
+++ b/dev-python/nevow/Manifest
@@ -0,0 +1 @@
+DIST Nevow-0.11.1.tar.gz 563061 SHA256 89d7f6943cf81ccef8dde4016caa1cba977b9366e7aa0660b54239828b421efc SHA512 a7e52fbf6915498e77a41fb100d4c688fcd0567deb56ec946adf1b1712bcfbec7b7a55c551e414606218146772d5274973af7851a78878635e900a4df5193a53 WHIRLPOOL a82ca1334abf201ef9fcf22e579be778e819c488df8c9f774bef7f13041aa996f630408f4a8428e74b2e79df1904dbdf2f858fb79526a9417c1872da95a24963
diff --git a/dev-python/nevow/metadata.xml b/dev-python/nevow/metadata.xml
new file mode 100644
index 000000000000..991dd94eb658
--- /dev/null
+++ b/dev-python/nevow/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Nevow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nevow/nevow-0.11.1-r1.ebuild b/dev-python/nevow/nevow-0.11.1-r1.ebuild
new file mode 100644
index 000000000000..577984d22bb8
--- /dev/null
+++ b/dev-python/nevow/nevow-0.11.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A web templating framework that provides LivePage, an automatic AJAX toolkit"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodNevow http://pypi.python.org/pypi/Nevow"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+TWISTED_PLUGINS=( nevow.plugins )
+
+FAILING_TESTS=(
+ nevow/test/test_url.py
+ nevow/test/test_loaders.py
+ nevow/test/test_appserver.py
+ formless/test/test_freeform.py
+)
+
+python_test() {
+ # See bug 355237
+ rm -v ${FAILING_TESTS[@]} || die "can't remove failing tests"
+ trial formless nevow || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ touch "${D}$(python_get_sitedir)"/nevow/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # TODO: prevent installing it
+ rm -r "${D}"/usr/doc || die
+}
diff --git a/dev-python/nevow/nevow-0.11.1.ebuild b/dev-python/nevow/nevow-0.11.1.ebuild
new file mode 100644
index 000000000000..ff450e4ec628
--- /dev/null
+++ b/dev-python/nevow/nevow-0.11.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A web templating framework that provides LivePage, an automatic AJAX toolkit"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodNevow http://pypi.python.org/pypi/Nevow"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+TWISTED_PLUGINS=( nevow.plugins )
+
+python_test() {
+ trial formless nevow || die "tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ touch "${D}$(python_get_sitedir)"/nevow/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # TODO: prevent installing it
+ rm -r "${D}"/usr/doc || die
+}
diff --git a/dev-python/newt_syrup/Manifest b/dev-python/newt_syrup/Manifest
new file mode 100644
index 000000000000..b822e0ff9d8e
--- /dev/null
+++ b/dev-python/newt_syrup/Manifest
@@ -0,0 +1 @@
+DIST newt_syrup-0.1.2.tar.gz 14283 SHA256 68de3c40c014721d23692a27b8e816d29d4bce6ee788a17a82df69afc76518e4 SHA512 8e9db226f2f31eea5656d5bea0acd287fefb4699816e8328471685952d6f323037665bf3908cabaff4e2d0359996989ce8e03ce8c8933c995f13c1a5f035ef0c WHIRLPOOL 3f129a3c68e5da3117b97f8a7e5509e031aaecab9754293c81d1975e2818974531a8010992e2fb968dc3871ac750427bd0f405f9ac84ce499c64d68e4c917836
diff --git a/dev-python/newt_syrup/metadata.xml b/dev-python/newt_syrup/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/newt_syrup/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/newt_syrup/newt_syrup-0.1.2-r1.ebuild b/dev-python/newt_syrup/newt_syrup-0.1.2-r1.ebuild
new file mode 100644
index 000000000000..4d6184fda5f1
--- /dev/null
+++ b/dev-python/newt_syrup/newt_syrup-0.1.2-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python framework for creating text-based applications"
+HOMEPAGE="http://fedorahosted.org/newt-syrup/"
+SRC_URI="http://mcpierce.fedorapeople.org/rpms/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-libs/newt-0.52.11"
+
+DOCS="COLORS"
diff --git a/dev-python/nltk/Manifest b/dev-python/nltk/Manifest
new file mode 100644
index 000000000000..66152baa49ca
--- /dev/null
+++ b/dev-python/nltk/Manifest
@@ -0,0 +1,3 @@
+DIST nltk-2.0.4.tar.gz 955978 SHA256 a554d6b9c5c7c8b597a090d8848a6f78c6fc4665ae43c9a6a6d6a5b207d98c65 SHA512 1a1923f8819016926ad37337077a87782b1b244eb52c93b0b977946a3549a82b8b0cc4eb886f801d283b6df6f55fa8020db435dae9303371cda1dc1f8c40bc88 WHIRLPOOL b0affed720034261de343c4f7a09cc1a977e695ddeb7cd592d3d7b7c960728025336b8ece5667dda090593498d33d4e64b05b1bd3d8336e0f487d5ff2da82f80
+DIST nltk-3.0.3.tar.gz 1011266 SHA256 28d6175984445b9cdcc719f36701f034320edbecb78b69a37d1edc876843ea93 SHA512 b058642670166bff538e2c1c417ffb2e57a217a9f3a056475ad47ffa222df7237bfb4ac00a58952dc6f79f12a32e3a40bf53a96262a4b3caced64c2c09abdfc3 WHIRLPOOL 4201a7d6219f437b8e8df2b7c88ae48578e69825c4fe067d777c92b24bd819172b6a831d2ed51de07a3b52bda20f5c559e2da0dcfde58cafca57c811bbb23cd2
+DIST nltk-3.0.4.tar.gz 1013321 SHA256 e072397ed20ded6511ed97799f7c947536500b80961a1b1d164c228b8009f351 SHA512 ddf1813256d49b2a391b2667eed4f324f963b2e57206d26e0cf757f0d9ebf4b68b7c4f622b507129086815866cba509dd2688430731ec060bbbe8800b3b12f38 WHIRLPOOL 06035550fe2323bbd6db0c57222e38cedbfa7541013420b54ea5aa343d3ad9898d379eb8fea514d6f3c13dd9c0494b4e963064b47b7e737e6acdbbe3bb4d0316
diff --git a/dev-python/nltk/files/fix-newer-setuptools.patch b/dev-python/nltk/files/fix-newer-setuptools.patch
new file mode 100644
index 000000000000..58b8eedbefcd
--- /dev/null
+++ b/dev-python/nltk/files/fix-newer-setuptools.patch
@@ -0,0 +1,32 @@
+From efe85968bb23e3afdcd331293f2c2588b1590091 Mon Sep 17 00:00:00 2001
+From: Mikhail Korobov <kmike84@gmail.com>
+Date: Fri, 9 Jan 2015 02:06:21 +0500
+Subject: [PATCH] Fixed installation with recent setuptools.
+
+These lines were introduced here: https://github.com/nltk/nltk/commit/1ecbd2edc32db24b4e6c7dd8555d0b89c668f041
+It seems they fix an issue with .svn folders. We use git now,
+there are no .svn folders.
+
+See also: http://stackoverflow.com/questions/1129180/how-can-i-make-setuptools-ignore-subversion-inventory
+---
+ setup.py | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 3ec0949..079bcf3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -29,13 +29,6 @@
+ # setuptools
+ from setuptools import setup, find_packages
+
+-#
+-# Prevent setuptools from trying to add extra files to the source code
+-# manifest by scanning the version control system for its contents.
+-#
+-from setuptools.command import sdist
+-del sdist.finders[:]
+-
+ setup(
+ name = "nltk",
+ description = "Natural Language Toolkit",
diff --git a/dev-python/nltk/metadata.xml b/dev-python/nltk/metadata.xml
new file mode 100644
index 000000000000..3e7fe5a2e9f8
--- /dev/null
+++ b/dev-python/nltk/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>clabbe.montjoie@gmail.com</email>
+ <name>LABBE Corentin (Montjoie)</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <herd>python</herd>
+ <use>
+ <flag name="numpy">Use numpy for the saved word tokenizer</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">nltk</remote-id>
+ <remote-id type="pypi">nltk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nltk/nltk-2.0.4.ebuild b/dev-python/nltk/nltk-2.0.4.ebuild
new file mode 100644
index 000000000000..9350d26db10d
--- /dev/null
+++ b/dev-python/nltk/nltk-2.0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk?,xml(+)"
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Natural Language Toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://nltk.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="numpy tk"
+
+RDEPEND="${RDEPEND}
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ dev-python/pyyaml[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+src_prepare() {
+ epatch "${FILESDIR}"/fix-newer-setuptools.patch
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/nltk/nltk-3.0.3.ebuild b/dev-python/nltk/nltk-3.0.3.ebuild
new file mode 100644
index 000000000000..d7df607a014a
--- /dev/null
+++ b/dev-python/nltk/nltk-3.0.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+PYTHON_REQ_USE="tk?,xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Natural Language Toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://nltk.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="numpy tk"
+
+RDEPEND="${RDEPEND}
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ dev-python/pyyaml[${PYTHON_USEDEP}]"
diff --git a/dev-python/nltk/nltk-3.0.4.ebuild b/dev-python/nltk/nltk-3.0.4.ebuild
new file mode 100644
index 000000000000..fe11fd0aa7a4
--- /dev/null
+++ b/dev-python/nltk/nltk-3.0.4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+PYTHON_REQ_USE="tk?,xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Natural Language Toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://nltk.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="numpy tk"
+
+RDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ dev-python/pyyaml[${PYTHON_USEDEP}]"
diff --git a/dev-python/nose-cover3/Manifest b/dev-python/nose-cover3/Manifest
new file mode 100644
index 000000000000..281b707942bd
--- /dev/null
+++ b/dev-python/nose-cover3/Manifest
@@ -0,0 +1 @@
+DIST nose-cover3-0.1.0.tar.gz 14494 SHA256 81310a792285615418e749f6e7c60a4f2cfa6b2f13cf0d19bbf26b1f188444d1 SHA512 208dbef5bb46a403cb51a9490e68e2f06c6fb08c016a9e866959f5fef1d091ed5c3e502b4a579566f37016a0b665ff969a14b160c78e0c392452198134c20ef5 WHIRLPOOL 965bc90acf6163699550497666d89592c29567cd71647995fc82e39cb6d1187d1bebaae2bc853194153c27b2a64068cbd400ef67bdf8bdc1cfe9e03db20bf36e
diff --git a/dev-python/nose-cover3/metadata.xml b/dev-python/nose-cover3/metadata.xml
new file mode 100644
index 000000000000..cdf915205e17
--- /dev/null
+++ b/dev-python/nose-cover3/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">nose-cover3</remote-id>
+ <remote-id type="github">ask/nosecover3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nose-cover3/nose-cover3-0.1.0-r1.ebuild b/dev-python/nose-cover3/nose-cover3-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..c1bff137361a
--- /dev/null
+++ b/dev-python/nose-cover3/nose-cover3-0.1.0-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Coverage 3.x support for Nose"
+HOMEPAGE="https://github.com/ask/nosecover3 http://pypi.python.org/pypi/nose-cover3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/nose-exclude/Manifest b/dev-python/nose-exclude/Manifest
new file mode 100644
index 000000000000..49f302dcfc9e
--- /dev/null
+++ b/dev-python/nose-exclude/Manifest
@@ -0,0 +1,3 @@
+DIST nose-exclude-0.1.9.tar.gz 3444 SHA256 c2862e55f9c6245141fc0437bad5f71a3aa8377d2727b85694884887027625ca SHA512 2f26a3d371bf50d71e235e801c0bef37ac3e7388df7bd16203b5bb330393b2c938deb4a0c2502c75c10038c798456174b74ef4dd10567ac103bf965fcfaf4dea WHIRLPOOL b926c273a1c16a69ab15157d87b079fecd813b579c69eaa9cceee441dca1607e2b949af991e3d0b23d593b07fd9597eedde1e8721fe38a897e0f6f7d221b817d
+DIST nose-exclude-0.2.0.tar.gz 5741 SHA256 27babdc53e0741ed09d21b7fdb5d244aabb1679f67ef81289f0f34e50aca51c9 SHA512 0c23fe809e7e4f75e34bd6e7922cbc021ca880511f9f4d6094ec7cb330261ce2eb10135595f64d555c6503eef5280f8fc41665d8a491e1a01a566c5e277c83f4 WHIRLPOOL 34d9731097e5a6f8e0de111438b3d5db65ec470a79317336c3eb2fceb583a4b7929d4c9b0da8d6b1fc8e8132d2724f2263c2b70e5fc9530dd38be554994b05e8
+DIST nose-exclude-0.3.0.tar.gz 5789 SHA256 eb40022d531c21e827e1261f3a51665a1535b83023598df1e968f41a7d9b3b88 SHA512 25a87e2fe8f424bd009b02b854029dc371ed9a73c7a062c5da32dc76949f0f19c47ac6ab844f2143651e7b66a6b52300edd0eeab3346292671c311ef42f5565c WHIRLPOOL a0841effaf08bda27678d7dffc19c1e933d83fa0ce7340745e72dba17faebc35b85323e598c3d089bcfca70ec521f6cd61c5d46cc56be2f60bf8e24b5904c09e
diff --git a/dev-python/nose-exclude/metadata.xml b/dev-python/nose-exclude/metadata.xml
new file mode 100644
index 000000000000..180e82bbad75
--- /dev/null
+++ b/dev-python/nose-exclude/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Exclude specific directories from nosetests runs.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">nose-exclude</remote-id>
+ <remote-id type="bitbucket">kgrandis/nose-exclude</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nose-exclude/nose-exclude-0.1.9.ebuild b/dev-python/nose-exclude/nose-exclude-0.1.9.ebuild
new file mode 100644
index 000000000000..89c945a8426d
--- /dev/null
+++ b/dev-python/nose-exclude/nose-exclude-0.1.9.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Exclude specific directories from nosetests runs"
+HOMEPAGE="http://bitbucket.org/kgrandis/nose-exclude"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
diff --git a/dev-python/nose-exclude/nose-exclude-0.2.0.ebuild b/dev-python/nose-exclude/nose-exclude-0.2.0.ebuild
new file mode 100644
index 000000000000..f7825b730a0e
--- /dev/null
+++ b/dev-python/nose-exclude/nose-exclude-0.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Exclude specific directories from nosetests runs"
+HOMEPAGE="http://bitbucket.org/kgrandis/nose-exclude"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
+RESTRICT="test"
+
+python_test() {
+ # https://bitbucket.org/kgrandis/nose-exclude/issue/10/test-failures-with-python-3
+ esetup.py test
+}
diff --git a/dev-python/nose-exclude/nose-exclude-0.3.0.ebuild b/dev-python/nose-exclude/nose-exclude-0.3.0.ebuild
new file mode 100644
index 000000000000..8d135a604695
--- /dev/null
+++ b/dev-python/nose-exclude/nose-exclude-0.3.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Exclude specific directories from nosetests runs"
+HOMEPAGE="http://bitbucket.org/kgrandis/nose-exclude"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
+RESTRICT="test"
+
+python_test() {
+ # https://bitbucket.org/kgrandis/nose-exclude/issue/10/test-failures-with-python-3
+ esetup.py test
+}
diff --git a/dev-python/nose-testconfig/Manifest b/dev-python/nose-testconfig/Manifest
new file mode 100644
index 000000000000..2fbcade6c6b6
--- /dev/null
+++ b/dev-python/nose-testconfig/Manifest
@@ -0,0 +1 @@
+DIST nose-testconfig-0.9.tar.gz 7614 SHA256 bb6f1dd2dbd3e54a6c456110fb6dced449b5ad5262af712d595c123e4f8c34d3 SHA512 411630f9af56955e5bd87efaf2db0817442f78dc61ea64a29ac186f0a71d23d81220f68bab18ceb7d3bf201bc441b522bf9acff21b541905a5a4397280444a07 WHIRLPOOL e69abb0eb794ed72f54010268a4eeb7356b374efa52caf60cc637a904836ca703b04d36bbbdbb6bc5eefaee6e7d1990cc7d52228864611c91ef631e09624a25b
diff --git a/dev-python/nose-testconfig/metadata.xml b/dev-python/nose-testconfig/metadata.xml
new file mode 100644
index 000000000000..651b8ab51417
--- /dev/null
+++ b/dev-python/nose-testconfig/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">nose-testconfig</remote-id>
+ <remote-id type="bitbucket">jnoller/nose-testconfig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nose-testconfig/nose-testconfig-0.9.ebuild b/dev-python/nose-testconfig/nose-testconfig-0.9.ebuild
new file mode 100644
index 000000000000..cda3acab3c9d
--- /dev/null
+++ b/dev-python/nose-testconfig/nose-testconfig-0.9.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Test Configuration plugin for nosetests"
+HOMEPAGE="http://bitbucket.org/jnoller/nose-testconfig"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="dev-python/nose"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DOCS=( docs/index.txt )
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/nose/Manifest b/dev-python/nose/Manifest
new file mode 100644
index 000000000000..1afef6aee3ee
--- /dev/null
+++ b/dev-python/nose/Manifest
@@ -0,0 +1,3 @@
+DIST nose-1.3.4.tar.gz 277488 SHA256 76bc63a4e2d5e5a0df77ca7d18f0f56e2c46cfb62b71103ba92a92c79fab1e03 SHA512 19499ab08018229ea5195cdac739d6c7c247c5aa5b2c91b801cbd99bad12584ed84c5cfaaa6fa8b4893a46324571a2f8a1988a1381f4ddd58390e597bd7bdc24 WHIRLPOOL 10c3938913e0bfcbb20a7822feadd751c2c1db76d97bf0a5ecbe83be81934a5a23aad4d37a77c68d6da5ac80bdb274f56e2ee3206fb97f96832271d479ca7302
+DIST nose-1.3.6.tar.gz 276273 SHA256 f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758 SHA512 d0cede08dc33a8ac0af0f18063e57f31b615f06e911edb5ca264575174d8f4adb4338448968c403811d9dcc60f38ade3164662d6c7b69b499f56f0984bb6283c WHIRLPOOL d7360c24aad388c736ce08578eb7ca529873a8603dc0b8e4c79d7756a6d5f6429561b3b8beffc2930301a48767ded06fb3127c27c07432cb25a0549556cb74fe
+DIST nose-1.3.7.tar.gz 280488 SHA256 f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98 SHA512 e65c914f621f8da06b9ab11a0ff2763d6e29b82ce2aaed56da0e3773dc899d9deb1f20015789d44c65a5dad7214520f5b659b3f8d7695fb207ad3f78e5cf1b62 WHIRLPOOL 68684b12e18d41b1f49ba3e832adf8a03b3b84ce530f0bde34f8c40c84f38046aac2777090472fefe87ba7abe3fdffa4cdcad74e3b717fcb9dfe932a0657b965
diff --git a/dev-python/nose/files/nose-0.11.0-disable_intersphinx.patch b/dev-python/nose/files/nose-0.11.0-disable_intersphinx.patch
new file mode 100644
index 000000000000..5ce5a1db8801
--- /dev/null
+++ b/dev-python/nose/files/nose-0.11.0-disable_intersphinx.patch
@@ -0,0 +1,17 @@
+--- doc/conf.py.orig 2009-05-07 03:12:35.000000000 +0200
++++ doc/conf.py 2009-05-13 10:13:12.588540888 +0200
+@@ -31,7 +31,7 @@
+
+ # Add any Sphinx extension module names here, as strings. They can be extensions
+ # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx',
++extensions = ['sphinx.ext.autodoc',
+ 'nose.sphinx.pluginopts', 'manbuilder']
+
+ # Add any paths that contain templates here, relative to this directory.
+@@ -231,4 +231,4 @@
+
+
+ # Example configuration for intersphinx: refer to the Python standard library.
+-intersphinx_mapping = {'http://docs.python.org/dev': None}
++#intersphinx_mapping = {'http://docs.python.org/dev': None}
diff --git a/dev-python/nose/files/nose-1.2.1-skiptest.patch b/dev-python/nose/files/nose-1.2.1-skiptest.patch
new file mode 100644
index 000000000000..b8f7a57f4da8
--- /dev/null
+++ b/dev-python/nose/files/nose-1.2.1-skiptest.patch
@@ -0,0 +1,23 @@
+Tests are set to compulsory fail, cannot be set to expectedFailure
+diff -ur nose-1.2.1.orig/functional_tests/test_program.py nose-1.2.1/functional_tests/test_program.py
+--- functional_tests/test_program.py 2011-12-14 22:01:38.000000000 +0800
++++ functional_tests/test_program.py 2013-03-02 14:50:28.628004408 +0800
+@@ -1,5 +1,8 @@
+-import os
+-import unittest
++import os, sys
++if sys.version_info[:2] == (2, 7) or hasattr(sys, 'pypy_version_info'):
++ import unittest
++else:
++ import unittest2 as unittest
+ from cStringIO import StringIO
+ from nose import SkipTest
+ from nose.core import TestProgram
+@@ -91,6 +91,7 @@
+ assert not res.errors
+ assert not res.failures
+
++ @unittest.skip("tests set to exit with compulsory fail, error")
+ def test_run_support_twist(self):
+ """Collect and run tests in functional/support/twist
+
diff --git a/dev-python/nose/files/nose-1.3.1-doctest.patch b/dev-python/nose/files/nose-1.3.1-doctest.patch
new file mode 100644
index 000000000000..37d0dcced96c
--- /dev/null
+++ b/dev-python/nose/files/nose-1.3.1-doctest.patch
@@ -0,0 +1,45 @@
+https://github.com/nose-devs/nose/commit/5bcedc9a0601b4f70e2cba6c14c3046fb326bfaa.diff
+diff --git a/unit_tests/test_config_defaults.rst b/unit_tests/test_config_defaults.rst
+index 944d370..034f58e 100644
+--- a/unit_tests/test_config_defaults.rst
++++ b/unit_tests/test_config_defaults.rst
+@@ -89,9 +89,9 @@ Invalid config files
+
+ (file-like object)
+
+- >>> options, args = parse([], StringIO("spam"))
++ >>> options, args = parse([], StringIO("spam")) # doctest: +ELLIPSIS
+ error: Error reading config file '<???>': File contains no section headers.
+- file: <???>, line: 1
++ file: ...<???>..., line: 1
+ 'spam'
+
+ (filename)
+@@ -99,7 +99,7 @@ Invalid config files
+ >>> options, args = parse([], os.path.join(support, "invalid.cfg"))
+ ... # doctest: +ELLIPSIS
+ error: Error reading config file '...invalid.cfg': File contains no section headers.
+- file: ...invalid.cfg, line: 1
++ file: ...invalid.cfg..., line: 1
+ 'spam\n'
+
+ (filenames, length == 1)
+@@ -107,7 +107,7 @@ Invalid config files
+ >>> options, args = parse([], [os.path.join(support, "invalid.cfg")])
+ ... # doctest: +ELLIPSIS
+ error: Error reading config file '...invalid.cfg': File contains no section headers.
+- file: ...invalid.cfg, line: 1
++ file: ...invalid.cfg..., line: 1
+ 'spam\n'
+
+ (filenames, length > 1)
+@@ -120,7 +120,7 @@ file is bad
+ ... os.path.join(support, "b.cfg")])
+ ... # doctest: +ELLIPSIS
+ error: Error reading config file '...invalid.cfg': File contains no section headers.
+- file: ...invalid.cfg, line: 1
++ file: ...invalid.cfg..., line: 1
+ 'spam\n'
+
+
+
diff --git a/dev-python/nose/files/nose-1.3.1-pypy-test.patch b/dev-python/nose/files/nose-1.3.1-pypy-test.patch
new file mode 100644
index 000000000000..41ad4687c8a7
--- /dev/null
+++ b/dev-python/nose/files/nose-1.3.1-pypy-test.patch
@@ -0,0 +1,42 @@
+https://github.com/nose-devs/nose/commit/0181572a64195a8fa1c6c867ae6c61a79a9606ca.diff
+
+diff --git a/nose/util.py b/nose/util.py
+index dcb5fef..e612696 100644
+--- a/nose/util.py
++++ b/nose/util.py
+@@ -447,11 +447,10 @@ def try_run(obj, names):
+ if func is not None:
+ if type(obj) == types.ModuleType:
+ # py.test compatibility
+- try:
+- args, varargs, varkw, defaults = inspect.getargspec(func)
+- if hasattr(func, '__call__') and ismethod(func.__call__):
+- args.pop(0)
+- except TypeError:
++ if isinstance(func, types.FunctionType):
++ args, varargs, varkw, defaults = \
++ inspect.getargspec(func)
++ else:
+ # Not a function. If it's callable, call it anyway
+ if hasattr(func, '__call__'):
+ func = func.__call__
+diff --git a/unit_tests/test_utils.py b/unit_tests/test_utils.py
+index 2bd837c..cd9ba6e 100644
+--- a/unit_tests/test_utils.py
++++ b/unit_tests/test_utils.py
+@@ -1,4 +1,5 @@
+ import os
++import sys
+ import unittest
+ import nose
+ from nose import case
+@@ -168,7 +169,7 @@ def __call__(self):
+ class Bar_m:
+ def __call__(self, mod):
+ pass
+-
++
+ foo = imp.new_module('foo')
+ foo.bar = bar
+ foo.bar_m = bar_m
+
diff --git a/dev-python/nose/files/nose-1.3.1-python3.4.patch b/dev-python/nose/files/nose-1.3.1-python3.4.patch
new file mode 100644
index 000000000000..2269f755c3f0
--- /dev/null
+++ b/dev-python/nose/files/nose-1.3.1-python3.4.patch
@@ -0,0 +1,41 @@
+From 192694ed9f70447317bd54e427a17208bddf03be Mon Sep 17 00:00:00 2001
+From: John Szakmeister <john@szakmeister.net>
+Date: Sat, 15 Mar 2014 06:15:42 -0400
+Subject: [PATCH] Fix #783: try_run is broken with Python 3.4
+
+It turns out that we expected inspect.getargspec() to only work on
+functions (versus classes that are callable). Python 3.4 has changed
+this behavior and now happily returns the arg spec. Let's try to detect
+this situation by checking the __call__() method to if it's actually the
+method of a class. If so, pop the 'self' argument off of args--similar
+to what's done in the exceptional case below.
+---
+ CHANGELOG | 1 +
+ nose/util.py | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/nose/util.py b/nose/util.py
+index 7995700..dcb5fef 100644
+--- a/nose/util.py
++++ b/nose/util.py
+@@ -8,7 +8,7 @@
+ import sys
+ import types
+ import unittest
+-from nose.pyversion import ClassType, TypeType, isgenerator
++from nose.pyversion import ClassType, TypeType, isgenerator, ismethod
+
+
+ log = logging.getLogger('nose')
+@@ -449,6 +449,8 @@ def try_run(obj, names):
+ # py.test compatibility
+ try:
+ args, varargs, varkw, defaults = inspect.getargspec(func)
++ if hasattr(func, '__call__') and ismethod(func.__call__):
++ args.pop(0)
+ except TypeError:
+ # Not a function. If it's callable, call it anyway
+ if hasattr(func, '__call__'):
+--
+1.8.5.5
+
diff --git a/dev-python/nose/files/nose-1.3.1-version.patch b/dev-python/nose/files/nose-1.3.1-version.patch
new file mode 100644
index 000000000000..8f6edb5be2ef
--- /dev/null
+++ b/dev-python/nose/files/nose-1.3.1-version.patch
@@ -0,0 +1,16 @@
+https://github.com/nose-devs/nose/commit/43c35e49106916f51f676455888fe7a39d030113.diff
+diff --git a/nose/pyversion.py b/nose/pyversion.py
+index fba5ada..8b56614 100644
+--- a/nose/pyversion.py
++++ b/nose/pyversion.py
+@@ -89,7 +89,8 @@ def __init__(self, cls, func):
+ self.__dict__ = func.__dict__.copy()
+ self._func = func
+ self.__self__ = UnboundSelf(cls)
+- self.im_class = cls
++ if sys.version_info < (3, 0):
++ self.im_class = cls
+
+ def address(self):
+ cls = self.__self__.cls
+
diff --git a/dev-python/nose/metadata.xml b/dev-python/nose/metadata.xml
new file mode 100644
index 000000000000..bc93959923a8
--- /dev/null
+++ b/dev-python/nose/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">nose</remote-id>
+ <remote-id type="github">nose-devs/nose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nose/nose-1.3.4.ebuild b/dev-python/nose/nose-1.3.4.ebuild
new file mode 100644
index 000000000000..c86962275d57
--- /dev/null
+++ b/dev-python/nose/nose-1.3.4.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="A unittest extension offering automatic test suite discovery and easy test authoring"
+HOMEPAGE="http://pypi.python.org/pypi/nose http://readthedocs.org/docs/nose/ https://bitbucket.org/jpellerin/nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # Tests need to be converted, and they don't respect BUILD_DIR.
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/test_resolve/_&/g" \
+ -e "s/test_raises_bad_return/_&/g" \
+ -e "s/test_raises_twisted_error/_&/g" \
+ -i unit_tests/test_twisted.py || die "sed failed"
+ # Disable versioning of nosetests script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "/'nosetests%s = nose:run_exit' % py_vers_tag,/d" \
+ -i setup.py || die "sed2 failed"
+
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local add_targets=()
+
+ if use test; then
+ add_targets+=( egg_info )
+ python_is_python3 && add_targets+=( build_tests )
+ fi
+
+ distutils-r1_python_compile ${add_targets[@]}
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # nosetests use heavy multiprocessing during the tests.
+ # this shall make them less likely to kill your system or timeout.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" selftest.py -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install --install-data "${EPREFIX}/usr/share"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r -A txt doc/.build/html/.
+ fi
+}
diff --git a/dev-python/nose/nose-1.3.6.ebuild b/dev-python/nose/nose-1.3.6.ebuild
new file mode 100644
index 000000000000..85007bfd4098
--- /dev/null
+++ b/dev-python/nose/nose-1.3.6.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A unittest extension offering automatic test suite discovery and easy test authoring"
+HOMEPAGE="
+ http://pypi.python.org/pypi/nose
+ http://readthedocs.org/docs/nose/
+ https://bitbucket.org/jpellerin/nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # Tests need to be converted, and they don't respect BUILD_DIR.
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/test_resolve/_&/g" \
+ -e "s/test_raises_bad_return/_&/g" \
+ -e "s/test_raises_twisted_error/_&/g" \
+ -i unit_tests/test_twisted.py || die "sed failed"
+ # Disable versioning of nosetests script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "/'nosetests%s = nose:run_exit' % py_vers_tag,/d" \
+ -i setup.py || die "sed2 failed"
+
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local add_targets=()
+
+ if use test; then
+ add_targets+=( egg_info )
+ python_is_python3 && add_targets+=( build_tests )
+ fi
+
+ distutils-r1_python_compile ${add_targets[@]}
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # nosetests use heavy multiprocessing during the tests.
+ # this shall make them less likely to kill your system or timeout.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" selftest.py -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install --install-data "${EPREFIX}/usr/share"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r -A txt doc/.build/html/.
+ fi
+}
diff --git a/dev-python/nose/nose-1.3.7.ebuild b/dev-python/nose/nose-1.3.7.ebuild
new file mode 100644
index 000000000000..aa885fc821a9
--- /dev/null
+++ b/dev-python/nose/nose-1.3.7.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A unittest extension offering automatic test suite discovery and easy test authoring"
+HOMEPAGE="
+ http://pypi.python.org/pypi/nose
+ http://readthedocs.org/docs/nose/
+ https://bitbucket.org/jpellerin/nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ # Tests need to be converted, and they don't respect BUILD_DIR.
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/test_resolve/_&/g" \
+ -e "s/test_raises_bad_return/_&/g" \
+ -e "s/test_raises_twisted_error/_&/g" \
+ -i unit_tests/test_twisted.py || die "sed failed"
+ # Disable versioning of nosetests script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "/'nosetests%s = nose:run_exit' % py_vers_tag,/d" \
+ -i setup.py || die "sed2 failed"
+
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local add_targets=()
+
+ if use test; then
+ add_targets+=( egg_info )
+ python_is_python3 && add_targets+=( build_tests )
+ fi
+
+ distutils-r1_python_compile ${add_targets[@]}
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # nosetests use heavy multiprocessing during the tests.
+ # this shall make them less likely to kill your system or timeout.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" selftest.py -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install --install-data "${EPREFIX}/usr/share"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r -A txt doc/.build/html/.
+ fi
+}
diff --git a/dev-python/nose/nose-9999.ebuild b/dev-python/nose/nose-9999.ebuild
new file mode 100644
index 000000000000..9d4fbab1bfa8
--- /dev/null
+++ b/dev-python/nose/nose-9999.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#if LIVE
+EGIT_REPO_URI="git://github.com/nose-devs/${PN}.git
+ https://github.com/nose-devs/${PN}.git"
+inherit git-2
+#endif
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1 eutils
+
+DESCRIPTION="A unittest extension offering automatic test suite discovery and easy test authoring"
+HOMEPAGE="http://pypi.python.org/pypi/nose http://readthedocs.org/docs/nose/ https://github.com/nose-devs/nose"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6 )
+ test? ( dev-python/twisted-core )"
+
+#if LIVE
+SRC_URI=
+KEYWORDS=
+#endif
+
+DOCS=( AUTHORS )
+
+python_prepare_all() {
+ # Tests need to be converted, and they don't respect BUILD_DIR.
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+
+ # Disable sphinx.ext.intersphinx, requires network
+ epatch "${FILESDIR}/${PN}-0.11.0-disable_intersphinx.patch"
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/test_resolve/_&/g" \
+ -e "s/test_raises_bad_return/_&/g" \
+ -e "s/test_raises_twisted_error/_&/g" \
+ -i unit_tests/test_twisted.py || die "sed failed"
+ # Disable versioning of nosetests script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "/'nosetests%s = nose:run_exit' % py_vers_tag,/d" \
+ -i setup.py || die "sed2 failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local add_targets=()
+
+ if use test; then
+ add_targets+=( egg_info )
+ [[ ${EPYTHON} == python3* ]] && add_targets+=( build_tests )
+ fi
+
+ distutils-r1_python_compile ${add_targets[@]}
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+src_test() {
+ # nosetests use heavy multiprocessing during the tests.
+ # this shall make them less likely to kill your system or timeout.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${PYTHON}" selftest.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install --install-data "${EPREFIX}/usr/share"
+}
+
+python_install_all() {
+ local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r -A txt doc/.build/html/.
+ fi
+}
diff --git a/dev-python/nose_fixes/Manifest b/dev-python/nose_fixes/Manifest
new file mode 100644
index 000000000000..b8642e19a24f
--- /dev/null
+++ b/dev-python/nose_fixes/Manifest
@@ -0,0 +1 @@
+DIST nose_fixes-1.3.tar.gz 10033 SHA256 dd6aca7f2702b36d4bbcd8bec7b2950fb3478f49f520758252688887db2e0564 SHA512 2e054c04493cf11f06ee8977d4922290dbdd7928a4fe4947a76b6cf300c2d16796b578e48c0ea514f3c5a38e011fa9779e7d308eafa0ec12cc0622e124494d93 WHIRLPOOL 04e1ba50fde31cfdaf4efb5df429b0a607f4a5870835164f7d359071f10b9bd9557f4f7666d4417cfa0a1d3ea3a916061c379dd2f63e36698a5db9cbd102bc28
diff --git a/dev-python/nose_fixes/metadata.xml b/dev-python/nose_fixes/metadata.xml
new file mode 100644
index 000000000000..3c51872bc41f
--- /dev/null
+++ b/dev-python/nose_fixes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">nose_fixes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nose_fixes/nose_fixes-1.3.ebuild b/dev-python/nose_fixes/nose_fixes-1.3.ebuild
new file mode 100644
index 000000000000..994702e3cf0b
--- /dev/null
+++ b/dev-python/nose_fixes/nose_fixes-1.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package for providing Mozilla's CA Bundle"
+HOMEPAGE="http://packages.python.org/nose_fixes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/pkginfo[${PYTHON_USEDEP}]' python2_7) )"
+
+python_prepare_all() {
+ sed -e 's:../bin/sphinx-build:/usr/bin/sphinx-build:' -i docs/Makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/nosehtmloutput/Manifest b/dev-python/nosehtmloutput/Manifest
new file mode 100644
index 000000000000..c897132707d1
--- /dev/null
+++ b/dev-python/nosehtmloutput/Manifest
@@ -0,0 +1,2 @@
+DIST nosehtmloutput-0.0.4.tar.gz 18044 SHA256 a62cf629376ff9e20a350ff64745caab1ae15d7bc14a1f7ae7a36ad8fea7ed1d SHA512 740c9acf3e35c10dcf72307a29ac2afe7297cf306cb489ac6e6d0b86786b857640a9a9e589e7416c5953c87aa5b3783cfeb9c8d69e6cc2442cbaaf3de6a118ab WHIRLPOOL 073bd68303fe6b1737a7db76c45dac84378270f44472a6d25c5dd00c169e3df925d28e1498b6c86134738ca837796bb1a1e4b162aa3bad098ffc62cfb80b35f0
+DIST nosehtmloutput-0.0.5.tar.gz 7525 SHA256 98409e4e231e25582f4d657f31bbe9665e8299b4f0f157e55f1f37b46b67271e SHA512 85bf7d2ab9db9e054772a1af85c17b6213edb2c5bcf30e78392470ad79fad51f15a67f5923282b867248828beab4ca5ea57fe18a071c21995cf56cb56c6bec84 WHIRLPOOL ec9664b659ac43c0761d87799513a2f1d57b8276c803193a6e0a33067b98db147d54e69d31b335e1bec723d5982cf67c26ab9873ad03fc5993992d58d9bf1156
diff --git a/dev-python/nosehtmloutput/metadata.xml b/dev-python/nosehtmloutput/metadata.xml
new file mode 100644
index 000000000000..079041c345e7
--- /dev/null
+++ b/dev-python/nosehtmloutput/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Nose plugin to produce test results in html.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">nosehtmloutput</remote-id>
+ <remote-id type="github">cboylan/nose-html-output</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nosehtmloutput/nosehtmloutput-0.0.4-r1.ebuild b/dev-python/nosehtmloutput/nosehtmloutput-0.0.4-r1.ebuild
new file mode 100644
index 000000000000..56883a53a493
--- /dev/null
+++ b/dev-python/nosehtmloutput/nosehtmloutput-0.0.4-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Nose plugin to produce test results in html"
+HOMEPAGE="https://github.com/cboylan/nose-html-output"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
diff --git a/dev-python/nosehtmloutput/nosehtmloutput-0.0.5.ebuild b/dev-python/nosehtmloutput/nosehtmloutput-0.0.5.ebuild
new file mode 100644
index 000000000000..e2cd4f54c3c1
--- /dev/null
+++ b/dev-python/nosehtmloutput/nosehtmloutput-0.0.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Nose plugin to produce test results in html"
+HOMEPAGE="https://github.com/cboylan/nose-html-output"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
diff --git a/dev-python/nosexcover/Manifest b/dev-python/nosexcover/Manifest
new file mode 100644
index 000000000000..e4a25d40fcbb
--- /dev/null
+++ b/dev-python/nosexcover/Manifest
@@ -0,0 +1 @@
+DIST nosexcover-1.0.10.tar.gz 2744 SHA256 f5b3a7c936c4f703f15418c1f325775098184b69fa572f868edb8a99f8f144a8 SHA512 dbc3bc3379676d56711c96a4cf2d6b46ee77b5b04ac6a5fb2d58fee780ee547664738b9c6b248e3af64b3d0b7e6c9b44310c8e7025551df543c547da4239f52a WHIRLPOOL a7549547b9423ff32977dfea4dfd7babce05e637a3379b3b7e2d63c711608214ddd0495a09f5e7b5ef9560d46f82ef1727ec75e47f96a95245b0c0148093b4ad
diff --git a/dev-python/nosexcover/metadata.xml b/dev-python/nosexcover/metadata.xml
new file mode 100644
index 000000000000..9930af0eba66
--- /dev/null
+++ b/dev-python/nosexcover/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">nosexcover</remote-id>
+ <remote-id type="github">cmheisel/nose-xcover</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nosexcover/nosexcover-1.0.10.ebuild b/dev-python/nosexcover/nosexcover-1.0.10.ebuild
new file mode 100644
index 000000000000..17af62484522
--- /dev/null
+++ b/dev-python/nosexcover/nosexcover-1.0.10.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extends nose.plugins.cover to add Cobertura-style XML reports"
+HOMEPAGE="https://github.com/cmheisel/nose-xcover/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.4[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/notify-python/Manifest b/dev-python/notify-python/Manifest
new file mode 100644
index 000000000000..281a9241d80c
--- /dev/null
+++ b/dev-python/notify-python/Manifest
@@ -0,0 +1 @@
+DIST notify-python-0.1.1.tar.bz2 214514 SHA256 7d3bbb7c3d8f56c922cc31d02ef9057a4f06998cc2fd4f3119a576fcf8d504ce SHA512 67021af81d77b6a1ead4ee2a0ab4e8684c2b60c672ab7aa09a8f89d71cf646453d9be76455ac28616d70645019946db1731a7021fbb91fe66d9e057fcb3815a0 WHIRLPOOL 106e71668290ebba145cc88542aac6dbe63eebcac84f7eced68256536b9fe8f3a574bad90362e07c993fdb88df2712826d8d0aa75b7f7a3c8bf5013d3cb3263c
diff --git a/dev-python/notify-python/files/notify-python-0.1.1-libnotify-0.7.patch b/dev-python/notify-python/files/notify-python-0.1.1-libnotify-0.7.patch
new file mode 100644
index 000000000000..ee146cb6fd84
--- /dev/null
+++ b/dev-python/notify-python/files/notify-python-0.1.1-libnotify-0.7.patch
@@ -0,0 +1,37 @@
+http://pkgs.fedoraproject.org/gitweb/?p=notify-python.git;a=blob_plain;f=libnotify07.patch;hb=HEAD
+
+--- src/pynotify.defs
++++ src/pynotify.defs
+@@ -38,7 +38,6 @@
+ '("const-gchar*" "summary")
+ '("const-gchar*" "message" (null-ok) (default "NULL"))
+ '("const-gchar*" "icon" (null-ok) (default "NULL"))
+- '("GtkWidget*" "attach" (null-ok) (default "NULL"))
+ )
+ )
+
+@@ -53,24 +52,6 @@
+ )
+ )
+
+-(define-method attach_to_widget
+- (of-object "NotifyNotification")
+- (c-name "notify_notification_attach_to_widget")
+- (return-type "none")
+- (parameters
+- '("GtkWidget*" "attach")
+- )
+-)
+-
+-(define-method attach_to_status_icon
+- (of-object "NotifyNotification")
+- (c-name "notify_notification_attach_to_status_icon")
+- (return-type "none")
+- (parameters
+- '("GtkStatusIcon*" "attach")
+- )
+-)
+-
+ (define-method show
+ (of-object "NotifyNotification")
+ (c-name "notify_notification_show")
diff --git a/dev-python/notify-python/metadata.xml b/dev-python/notify-python/metadata.xml
new file mode 100644
index 000000000000..f95d435c3a6f
--- /dev/null
+++ b/dev-python/notify-python/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/notify-python/notify-python-0.1.1-r3.ebuild b/dev-python/notify-python/notify-python-0.1.1-r3.ebuild
new file mode 100644
index 000000000000..1bde31ffa4ec
--- /dev/null
+++ b/dev-python/notify-python/notify-python-0.1.1-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils eutils python-r1
+
+DESCRIPTION="Python bindings for libnotify"
+HOMEPAGE="http://www.galago-project.org/"
+SRC_URI="http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/pygtk-2.24:2[${PYTHON_USEDEP}]
+ >=x11-libs/libnotify-0.7"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-libnotify-0.7.patch )
+
+src_prepare() {
+ # Remove the old pynotify.c to ensure it's properly regenerated #212128.
+ rm -f src/pynotify.c || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_test() {
+ python_foreach_impl autotools-utils_src_test
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+ prune_libtool_files --all
+
+ # Requested from bug 351879.
+ if use examples; then
+ docinto examples
+ dodoc tests/*.{png,py}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/numba/Manifest b/dev-python/numba/Manifest
new file mode 100644
index 000000000000..068ecdd00ef4
--- /dev/null
+++ b/dev-python/numba/Manifest
@@ -0,0 +1,3 @@
+DIST numba-0.18.2.tar.gz 786935 SHA256 5988621a8dd3609d252435c8e280bf01e2f25d9eb63bb8ae49487fe013235a7f SHA512 03d0511df1a5e98f4166a1febc51b6bc4dbf4ca8b432c315a93c8a5c762f6d0ac830fd264c4b42cdb52f262a24c6777885abcccc6e61e08605f30c4bb830850d WHIRLPOOL d62e5e14191146d301fd5475023d0e711e1a014f52c8d2d4661529adb6190006c37259e9a45a8336e5e4cbf8d60fa8a69babce6e0cf01a297ef43d1e7f563cf7
+DIST numba-0.19.2.tar.gz 871394 SHA256 10bdd84a3a8dfb9b195ad7d3b11c1f52693833820268c64837dc8510e66f1e2e SHA512 9eca230b5d69890680278248365e748b2e8a7e040703e80acaed2c0e1dc3576e102bde3809eceb6e600d90e02685e66419ca3423d332620c034fe9c07995aa67 WHIRLPOOL bfba05b56ff9fa9708b67dad1f514bc35c72ac3bf76e349f2ec20c63f7cb9c1664b106898559220e796ae9cafc7a48dbb5e6e537720d6cd4f6b5ccde4903dc67
+DIST numba-0.20.0.tar.gz 895183 SHA256 62dd4eebbd8fef27a8a60b74de2f540b12223939e197877babb13bf06eba5d9f SHA512 d511ed382813471dd2b9f6d99ee7cae4b77375a3c003df44ec2954b0f16c32b0fec76b3c33df46c821f17a4d148afab6c4b2d43429548a5bc81efbebc4fb54e3 WHIRLPOOL 8345bed1965715aace541bfcde33f4a999241fac8f655d80d1bb67db5ae806924fec47e3895b2a61484474fef2d4362d15800aa5be8b1c8f1922eaeb06d432ce
diff --git a/dev-python/numba/files/numba-0.19.2-docbuild.patch b/dev-python/numba/files/numba-0.19.2-docbuild.patch
new file mode 100644
index 000000000000..1c8853c1b11c
--- /dev/null
+++ b/dev-python/numba/files/numba-0.19.2-docbuild.patch
@@ -0,0 +1,17 @@
+Delete intersphinx, delete entry to set sphinxjp.themecore which is absent from portage
+diff -ur numba-0.19.2.orig/docs/source/conf.py numba-0.19.2/docs/source/conf.py
+--- docs/source/conf.py 2015-06-28 15:19:14.573386743 +0800
++++ docs/source/conf.py 2015-06-28 15:20:16.808191183 +0800
+@@ -36,12 +36,9 @@
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+ # ones.
+ extensions = [
+- 'sphinx.ext.intersphinx',
+ 'sphinx.ext.todo',
+ #'sphinx.ext.mathjax',
+ 'sphinx.ext.autodoc',
+- #'sphinx.ext.graphviz',
+- 'sphinxjp.themecore',
+ ]
+
+ todo_include_todos = True
diff --git a/dev-python/numba/metadata.xml b/dev-python/numba/metadata.xml
new file mode 100644
index 000000000000..98eac6d30b5e
--- /dev/null
+++ b/dev-python/numba/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Numba is a NumPy-aware optimizing compiler for Python. It uses the LLVM
+ compiler infrastructure to compile Python syntax to machine code.
+ It is aware of NumPy arrays as typed memory regions and so can
+ speed-up code using NumPy arrays. Other, less well-typed code will be
+ translated to Python C-API calls effectively removing the
+ "interpreter" but not removing the dynamic indirection.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">numba</remote-id>
+ <remote-id type="github">numba/numba</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/numba/numba-0.18.2.ebuild b/dev-python/numba/numba-0.18.2.ebuild
new file mode 100644
index 000000000000..0e35b03b34b3
--- /dev/null
+++ b/dev-python/numba/numba-0.18.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# test phase is pointless since it errors in circa 60% of 1984 tests
+RESTRICT="test"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="NumPy aware dynamic Python compiler using LLVM"
+HOMEPAGE="http://numba.pydata.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/llvmlite[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python{2_7,3_3})
+ $(python_gen_cond_dep 'dev-python/funcsigs[${PYTHON_USEDEP}]' python2_7)"
+DEPEND="test? ( ${RDEPEND} )"
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import numba; numba.test()" || die
+}
+
+python_install_all() {
+ # doc needs obsolete sphnxjp package
+ use doc && dodoc docs/Numba.pdf
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numba/numba-0.19.2.ebuild b/dev-python/numba/numba-0.19.2.ebuild
new file mode 100644
index 000000000000..b8115eca008e
--- /dev/null
+++ b/dev-python/numba/numba-0.19.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# test phase is pointless since it errors in circa 60% of 1984 tests
+RESTRICT="test"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="NumPy aware dynamic Python compiler using LLVM"
+HOMEPAGE="http://numba.pydata.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/llvmlite[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python{2_7,3_3})
+ $(python_gen_cond_dep 'dev-python/funcsigs[${PYTHON_USEDEP}]' python2_7)"
+DEPEND="test? ( ${RDEPEND} )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Delete intersphinx & entry to set sphinxjp.themecore, which is absent from portage, from conf.py
+PATCHES=( "${FILESDIR}"/${P}-docbuild.patch )
+
+python_prepare_all() {
+ # Re-set them of doc build to one provided by sphinx
+ if has_version ">=dev-python/sphinx-1.3.1"; then
+ sed -e 's:basicstrap:classic:' -i docs/source/conf.py || die
+ else
+ sed -e 's:basicstrap:default:' -i docs/source/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs/ html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import numba; numba.test()" || die
+}
+
+python_install_all() {
+ # doc needs obsolete sphinxjp package
+# use doc && dodoc docs/Numba.pdf
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numba/numba-0.20.0.ebuild b/dev-python/numba/numba-0.20.0.ebuild
new file mode 100644
index 000000000000..1af7b26533ed
--- /dev/null
+++ b/dev-python/numba/numba-0.20.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# test phase is pointless since it errors in circa 60% of 1984 tests
+RESTRICT="test"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="NumPy aware dynamic Python compiler using LLVM"
+HOMEPAGE="http://numba.pydata.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/llvmlite[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python{2_7,3_3})
+ $(python_gen_cond_dep 'dev-python/funcsigs[${PYTHON_USEDEP}]' python2_7)"
+DEPEND="test? ( ${RDEPEND} )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Delete intersphinx & entry to set sphinxjp.themecore, which is absent from portage, from conf.py
+PATCHES=( "${FILESDIR}"/${PN}-0.19.2-docbuild.patch )
+
+python_prepare_all() {
+ # Re-set them of doc build to one provided by sphinx
+ if has_version ">=dev-python/sphinx-1.3.1"; then
+ sed -e 's:basicstrap:classic:' -i docs/source/conf.py || die
+ else
+ sed -e 's:basicstrap:default:' -i docs/source/conf.py || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs/ html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import numba; numba.test()" || die
+}
+
+python_install_all() {
+ # doc needs obsolete sphinxjp package
+# use doc && dodoc docs/Numba.pdf
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numdisplay/Manifest b/dev-python/numdisplay/Manifest
new file mode 100644
index 000000000000..1a47ecc6b49b
--- /dev/null
+++ b/dev-python/numdisplay/Manifest
@@ -0,0 +1 @@
+DIST numdisplay-1.6.0.tar.gz 27397 SHA256 66a702b881aa54f31b7e5e3b7283fd75f8ebd469133e5a3e1943928c82fccc34 SHA512 345aaf360ff8768bd3ddd0b176c4369e38b43f6883a841a7d1cd3d8a15f0f95309c1949126afa0e37bd569371b483b5885923e7048f09a46086d192a3894bfec WHIRLPOOL cef9e62e018b1a19ae4e18380776bd92b21431aeb19516023bece8221052ccaa2244fd7513061c7f9cc43f220eedbcd3a802a175300d8a745fb002761ca4edba
diff --git a/dev-python/numdisplay/metadata.xml b/dev-python/numdisplay/metadata.xml
new file mode 100644
index 000000000000..7a5f1bc18040
--- /dev/null
+++ b/dev-python/numdisplay/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Numdisplay provides the capability to visualize numarray array objects
+ using astronomical image display tools such as DS9 or XIMTOOL
+ directly from the Python command line.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/numdisplay/numdisplay-1.6.0-r1.ebuild b/dev-python/numdisplay/numdisplay-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..c2e398d1c475
--- /dev/null
+++ b/dev-python/numdisplay/numdisplay-1.6.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package for interactively displaying FITS arrays"
+HOMEPAGE="http://stsdas.stsci.edu/numdisplay/"
+SRC_URI="http://stsdas.stsci.edu/download/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+python_install() {
+ distutils-r1_python_install
+ find "${D}" -name LICENSE.txt -delete || die
+}
diff --git a/dev-python/numexpr/Manifest b/dev-python/numexpr/Manifest
new file mode 100644
index 000000000000..c297876c0e11
--- /dev/null
+++ b/dev-python/numexpr/Manifest
@@ -0,0 +1,3 @@
+DIST numexpr-2.4.1.tar.gz 84990 SHA256 5b53a9e9e50f33e2e562b4ae9f88066c9e54a3bd7c144d29d0067b87856815b4 SHA512 d5aa34532dd1a504b3c78cff07def4114201560c04ce30d033a4701eb95961c53582b71291569cd10f22d50b00edc5dbb4e1b6454d8597c68f231c9c576471b7 WHIRLPOOL 9bfde967bc772111e1cc4a8e5931dc31896b7da4b43c33b8ae7bb3701f782e895b434ee4cddabe2a90abfe90cc240322b92dc224b7917123d90f2d9f9044cea4
+DIST numexpr-2.4.3.tar.gz 85171 SHA256 3ae7191c89df40db6b0a8637a4dace7c5956bc910793a53225f985f3b443c722 SHA512 b33984072fddd4303980be8533e1348b48ff27de5e150029147e3666ce6bb9e1147dbc45eb0ef22506aebaea6fb366d65ff01221235f9b9935d78ea70ba9aa53 WHIRLPOOL ac5981bac643b825d6ab2fbd6c46b6d73ad62374490e5f05a71fc0b9c4269ab401617da98079e1604b11f454863e64e009a2acc00b7b30499b20eff73efe033f
+DIST numexpr-2.4.tar.gz 84770 SHA256 1b63a5ce11c10d36433e2a74e2e4c360a4e004618507778881659e80a912fc58 SHA512 bebc3e81505f4c2e7d3c6f7cf2c02fe1ce07186c81de743db43399f2f81a135125a675dbd7a631fea55aaea1d092ab9a84539676027ce31f6fb7b1fca23cf253 WHIRLPOOL 1cf2e98f8e092505c1098f0c55a1b05488146164afa3bfec351cbe8ed44fa401edab503884ffa2b599a5a8db86e4bda94229a6d147aba60f554141ec85f37273
diff --git a/dev-python/numexpr/metadata.xml b/dev-python/numexpr/metadata.xml
new file mode 100644
index 000000000000..d1db4bfbe81a
--- /dev/null
+++ b/dev-python/numexpr/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The numexpr package evaluates multiple-operator array expressions
+ many times faster than NumPy can. It accepts the expression as a
+ string, analyzes it, rewrites it more efficiently, and compiles it
+ to faster Python code on the fly. It's the next best thing to
+ writing the expression in C and compiling it with a specialized
+ just-in-time (JIT) compiler, i.e. it does not require a compiler at
+ runtime.
+</longdescription>
+ <use>
+ <flag name="mkl">Enable support for Intel Vector Math Library, part of
+ <pkg>sci-libs/mkl</pkg>.</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">numexpr</remote-id>
+ <remote-id type="github">pydata/numexpr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/numexpr/numexpr-2.4.1.ebuild b/dev-python/numexpr/numexpr-2.4.1.ebuild
new file mode 100644
index 000000000000..f115595836c5
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.4.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="https://github.com/pydata/numexpr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="mkl"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ mkl? ( sci-libs/mkl )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( ANNOUNCE.rst AUTHORS.txt README.rst RELEASE_NOTES.rst )
+
+python_prepare_all() {
+ # TODO: mkl can be used but it fails for me
+ # only works with mkl in tree. newer mkl will use pkgconfig
+ if use mkl; then
+ local ext
+ use amd64 && ext=_lp64
+ cat <<- EOF > "${S}"/site.cfg
+ [mkl]
+ library_dirs = ${MKLROOT}/lib/em64t
+ include_dirs = ${MKLROOT}/include
+ mkl_libs = mkl_solver${ext}, mkl_intel${ext}, \
+ mkl_intel_thread, mkl_core, iomp5
+ EOF
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ "${PYTHON}" -c "import numexpr; numexpr.test()" || die
+}
diff --git a/dev-python/numexpr/numexpr-2.4.3.ebuild b/dev-python/numexpr/numexpr-2.4.3.ebuild
new file mode 100644
index 000000000000..40aa4ecea9db
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.4.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="https://github.com/pydata/numexpr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="mkl"
+
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ mkl? ( sci-libs/mkl )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # TODO: mkl can be used but it fails for me
+ # only works with mkl in tree. newer mkl will use pkgconfig
+ if use mkl; then
+ local ext
+ use amd64 && ext=_lp64
+ cat <<- EOF > "${S}"/site.cfg
+ [mkl]
+ library_dirs = ${MKLROOT}/lib/em64t
+ include_dirs = ${MKLROOT}/include
+ mkl_libs = mkl_solver${ext}, mkl_intel${ext}, \
+ mkl_intel_thread, mkl_core, iomp5
+ EOF
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # https://github.com/pydata/numexpr/issues/177
+ # there are 2 known test failures under py3 only
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ "${PYTHON}" -c "import numexpr; numexpr.test()" || die
+ pushd > /dev/null
+}
diff --git a/dev-python/numexpr/numexpr-2.4.ebuild b/dev-python/numexpr/numexpr-2.4.ebuild
new file mode 100644
index 000000000000..83c7c988eac9
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="https://github.com/pydata/numexpr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="mkl"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ mkl? ( sci-libs/mkl )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( ANNOUNCE.rst AUTHORS.txt README.rst RELEASE_NOTES.rst )
+
+python_prepare_all() {
+ # TODO: mkl can be used but it fails for me
+ # only works with mkl in tree. newer mkl will use pkgconfig
+ if use mkl; then
+ local ext
+ use amd64 && ext=_lp64
+ cat <<- EOF > "${S}"/site.cfg
+ [mkl]
+ library_dirs = ${MKLROOT}/lib/em64t
+ include_dirs = ${MKLROOT}/include
+ mkl_libs = mkl_solver${ext}, mkl_intel${ext}, \
+ mkl_intel_thread, mkl_core, iomp5
+ EOF
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ "${PYTHON}" -c "import numexpr; numexpr.test()" || die
+}
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
new file mode 100644
index 000000000000..dcd56be3c273
--- /dev/null
+++ b/dev-python/numpy/Manifest
@@ -0,0 +1,15 @@
+DIST numpy-1.8.0.tar.gz 3779617 SHA256 2764d0819acc77e9ff81b060fe7f69530b0d85c26ac9d162639b787cb227d253 SHA512 ec3d002ed786335e8748983261c96f88a9f1520fc345ad5b810dc02a5e126e15fe5afb02bed1f4b43d580a1da39583d86b84f57dc456b0702653e34e5357c857 WHIRLPOOL 8796d90795ddec62e6d72be433ea00917a63ef39cf3fe81e094f653e1863b69ecdce812995877f78e4324434141b03e2ceb3f872ed4e023b19c6bd9bcc294ac2
+DIST numpy-1.8.1.tar.gz 3794076 SHA256 3d722fc3ac922a34c50183683e828052cd9bb7e9134a95098441297d7ea1c7a9 SHA512 39ef9e13f8681a2c2ba3d74ab96fd28c5669e653308fd1549f262921814fa7c276ce6d9fb65ef135006584c608bdf3db198d43f66c9286fc7b3c79803dbc1f57 WHIRLPOOL 10615c0c70c153156034447e9c3f2b70b0259173a44af3b5cc641dd31c0af71ef1053a9cc7938deff5edb899ae2666b2b3109491d7394f03d1a81cb19722d398
+DIST numpy-1.8.2.tar.gz 3792998 SHA256 6d487fc724780d66746bde264ea71f5cd77d3a39e52ee2b073dcaed63bc669db SHA512 996e6b8e2d42f223e44660f56bf73eb8ab124f400d89218f8f5e4d7c9860ada44a4d7c54526137b0695c7a10f36e8834fbf0d42b7cb20bcdb5d5c245d673385c WHIRLPOOL 0d3a05b1e3c0a1ceb0a7b4818406dbb45506e5f25bc2727d4ff44cc0a0520e6556b3c68ae24dbca37ba9d67ae2defbb3ff9c906d4c2635b29ed44452d70e8311
+DIST numpy-1.9.0.tar.gz 3962108 SHA256 2745b1d64445da3c29a34450320025c11897ae4af77475f861966e98b2cb1a0f SHA512 dc9fb453367bd429336ed7391c0923d0d3af5f8ab26ef8681bc1a9e934ac28e2c9bc30e11f1026c2ea5710a3c4e27188007ee14b194bfca6a03228fad8f3d2fd WHIRLPOOL 5111f5cbb43bd279587f858196fbe86103abde7e8d6536337af51fe4a8371d39057d9ea75ac73ab501ff5c07c5c6e7e4e62f660ca263181e2fee3e6e61718ba9
+DIST numpy-1.9.1.tar.gz 3978007 SHA256 0075bbe07e30b659ae4415446f45812dc1b96121a493a4a1f8b1ba77b75b1e1c SHA512 8286a55f4bd5f9c16b1252ee64a644fe4a03758d31ef2e16714c2f5c61d96f766fb6ffc98986c58e1db1c2b812a2d10e89eae3442263615e46472418c2d4edd4 WHIRLPOOL 9025fee798b2e0b23af4c5870fd12606de65c91a176e2900ca93ed853767165dfbe7344125aba19a58d031f82880d6347095070ed3585deb8866819c32422751
+DIST numpy-1.9.2.tar.gz 3986067 SHA256 325e5f2b0b434ecb6e6882c7e1034cc6cdde3eeeea87dbc482575199a6aeef2a SHA512 70470ebb9afef5dfd0c83ceb7a9d5f1b7a072b1a9b54b04f04f5ed50fbaedd5b4906bd500472268d478f94df9e749a88698b1ff30f2d80258e7f3fec040617d9 WHIRLPOOL 59f5dc52cb95c7ce80fec3a7feac6cfda1d149596bf6d95c18bd8314e31a8df494b2b470c4cc3d8c296c9fc11c718d70d5b9b5344337175ca75496504c0fd201
+DIST numpy-html-1.8.0.zip 9779825 SHA256 39e853c1aaa711976333782f465f2579ca66e6698393f6ba79f5cc78317b1203 SHA512 33333c48a3f4d27ccddf6696dce4e346f8729d1f398128b3bfebb8a9d53ded7bb62b63a766319f6e49ba7cf8ca4e1ce252996acd263976ad2990bf9650d71043 WHIRLPOOL 7eea0ad3418c55d6104a4a115fcdcd5eeb291b9fc1237724e10dcbbf95bc7a4a23b519c64976ac405fb4c5abbaae87a6c747f9ad695d08b6326b459ba1fb8a15
+DIST numpy-html-1.8.1.zip 9703711 SHA256 f7fc3af4dba7b40deabd1828a86ea2e2eb5b9fa17c7ebddd73ee4cb8625105b1 SHA512 1d52c657931f4eebb5325159444aedd969b201f5098855058f1ef632dc8677372d632291154ebc3db9869cdb8abf7eb820eade1a9edba2d6be1ae918cb38c071 WHIRLPOOL e502b1416bad4b189773ba98035dfbeed0dc251d8f9b76e336450f14e8425caf92d55d2b1c2cc5ef9eb2d33eb2bf7cd55e720c1b265e45539b195fea1d7f046c
+DIST numpy-html-1.9.1.zip 9839137 SHA256 12a24937f8273fcf79090c99b6c4154a0ecfc378386498cf2afe727ea171407c SHA512 647a6be9f93995aca14185e283a2b412678c6e8080fe4f14e7cc9ee63c28eebb64dea6bbe28f30ef6850a5565dd1e06928fd660ac762e9a91454d309eff96ed4 WHIRLPOOL 68c367fd0416d27b1cf43edf7ca48bc8845c02856bbbacdf63c88fe8bbffd5dd86fb3e5cdea8f669dd78adf7bcc4d184953048783802df323126c1b22baf8e92
+DIST numpy-ref-1.8.0.pdf 5324229 SHA256 49ecb1d768eb48598439cc63058f830ca3522fe1cfeba1a321086e9820ae8911 SHA512 d89314215c4adefa487b3e46b2babeda7739ee193fef821846d4df0089fabf2167b47dd2990b6bd423432f75238547548924622c6f3b9a90a36d578450001eb2 WHIRLPOOL 3bb12c719cbe4734014774f1bfc3f98af544ee2c407adb2e3ee988e2b1035ad0ef711eaa68168656be7b034df2db76c8789daa2940a048b4a6cb3af0bb0eca68
+DIST numpy-ref-1.8.1.pdf 5348248 SHA256 973851e66d0d5ab095f444f8aeb966fefe2dd544226395abbb110fc1b60f351d SHA512 340dd8f47430f24fea81bb3a8674e1a58f4290a9d1c5d64bac96d50b31a94a770e78381e42daf8b0a6a90cefe5cafe86b0c89f7cc7635a042a7e85eb74bdbdf5 WHIRLPOOL be13f88bb68944186c564a5c3789daededade240a26e7fb61c980a090249ab3a5b1f40805e97214168fbf0c099fb6b12d981ff313bace572f130023b29e7aaa7
+DIST numpy-ref-1.9.1.pdf 5318122 SHA256 3c8e5881a3460e1cc9da95fe2167044e8f832ab8e980c3606d1f353e7ac6dcee SHA512 5171bb22588117a53e0eac355520581f7817a7e7a099ae83bb73f2ac8248a60e139ae9719dc543b44f25ccf8319c9f149fec1bf5aa55d943fad06a8e6da0d9ba WHIRLPOOL 5c99daf3ae2e6bf235aed287682f1b96d5b6afc9d290f544a8baab892b39c9f6dd9f649abe3e103cc90c990d87e4d653d8157d774a8bd35eccc9cc6ac7a870f9
+DIST numpy-user-1.8.0.pdf 408447 SHA256 a8c30360f9e46c63cfdf48fa594971d94d68ce59ece08c13d4acde8b14032cfe SHA512 10293dba45377c6f1024125a49810b01e388eb33a3e8ed75b8ec39c2b93e53878cbe62e6b7adbf1e957dc47ef253e20304afa7d86d798fb5198887cbe618131f WHIRLPOOL 70cc5a5e97a919bb027f92ac87127fb1bc08d06e2a131c4b413837e76d8feab9b65d7dc9e95b6e797d057efb6abf0d2b3e7562ee3cd140b1ff1418bad5475335
+DIST numpy-user-1.8.1.pdf 408305 SHA256 be827f2d92ef86c3af7f59c623017e7bc23ee95c64f88e8c9871f3ad1f99b262 SHA512 9e646e89e7e67834fa596e43082b43842d1c59287d22fd8d20c9f0a1d3d56a518a08cc2c036de4972ad0d6d9d3c2f56e2210f76e7244d3f7547b5204d84d3c7c WHIRLPOOL bf4105093b208b35b1914e842821b8d289b46eb28f1fda110643f5970bbfafe801e9d148c5f535b43eba9a23e09d333e3aecd9a55b33e64827883d253477d19a
+DIST numpy-user-1.9.1.pdf 418111 SHA256 e1f6baed0b73f3d4b106c88924c083f9a519e860c1beb718830bf1aee1892232 SHA512 724302468a8e93daf70d379bb1ee7369953e297c40ea260f080b7aca3c9c81e619a81705bdfb2ea214da5b5325ec2b48e953eceeaa1d60c07593b00c35989f45 WHIRLPOOL f93ed20c5da7b379e3afcafab97c7eb60231ed4f73cebf18184e00b9a8a5a531fa32992f7f28f16d2714b3056c61153c29267c8c6b93cb100e06f53bced1bd6a
diff --git a/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch b/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch
new file mode 100644
index 000000000000..5a68e8e2aa99
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.8.0-f2py-insecure-temporary.patch
@@ -0,0 +1,214 @@
+ numpy/core/tests/test_memmap.py | 34 ++++++++++++++++------------------
+ numpy/core/tests/test_multiarray.py | 9 +++------
+ numpy/f2py/__init__.py | 22 +++++++++++-----------
+ numpy/f2py/f2py2e.py | 4 ++--
+ numpy/lib/tests/test_io.py | 24 ++++++++++++++++--------
+ 5 files changed, 48 insertions(+), 45 deletions(-)
+
+diff --git a/numpy/core/tests/test_memmap.py b/numpy/core/tests/test_memmap.py
+index 6de6319..10e7a08 100644
+--- a/numpy/core/tests/test_memmap.py
++++ b/numpy/core/tests/test_memmap.py
+@@ -1,7 +1,7 @@
+ from __future__ import division, absolute_import, print_function
+
+ import sys
+-from tempfile import NamedTemporaryFile, TemporaryFile, mktemp
++from tempfile import NamedTemporaryFile, TemporaryFile
+ import os
+
+ from numpy import memmap
+@@ -33,12 +33,11 @@ class TestMemmap(TestCase):
+ assert_array_equal(self.data, newfp)
+
+ def test_open_with_filename(self):
+- tmpname = mktemp('', 'mmap')
+- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
+- shape=self.shape)
+- fp[:] = self.data[:]
+- del fp
+- os.unlink(tmpname)
++ with NamedTemporaryFile() as tmp:
++ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
++ shape=self.shape)
++ fp[:] = self.data[:]
++ del fp
+
+ def test_unnamed_file(self):
+ with TemporaryFile() as f:
+@@ -55,17 +54,16 @@ class TestMemmap(TestCase):
+ del fp
+
+ def test_filename(self):
+- tmpname = mktemp('', 'mmap')
+- fp = memmap(tmpname, dtype=self.dtype, mode='w+',
+- shape=self.shape)
+- abspath = os.path.abspath(tmpname)
+- fp[:] = self.data[:]
+- self.assertEqual(abspath, fp.filename)
+- b = fp[:1]
+- self.assertEqual(abspath, b.filename)
+- del b
+- del fp
+- os.unlink(tmpname)
++ with NamedTemporaryFile() as tmp:
++ fp = memmap(tmp.name, dtype=self.dtype, mode='w+',
++ shape=self.shape)
++ abspath = os.path.abspath(tmp.name)
++ fp[:] = self.data[:]
++ self.assertEqual(abspath, fp.filename)
++ b = fp[:1]
++ self.assertEqual(abspath, b.filename)
++ del b
++ del fp
+
+ def test_filename_fileobj(self):
+ fp = memmap(self.tmpfp, dtype=self.dtype, mode="w+",
+diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py
+index a0c4bcf..37b9931 100644
+--- a/numpy/core/tests/test_multiarray.py
++++ b/numpy/core/tests/test_multiarray.py
+@@ -2051,12 +2051,11 @@ class TestIO(object):
+ self.x = rand(shape) + rand(shape).astype(np.complex)*1j
+ self.x[0,:, 1] = [nan, inf, -inf, nan]
+ self.dtype = self.x.dtype
+- self.filename = tempfile.mktemp()
++ self.file = tempfile.NamedTemporaryFile()
++ self.filename = self.file.name
+
+ def tearDown(self):
+- if os.path.isfile(self.filename):
+- os.unlink(self.filename)
+- #tmp_file.close()
++ self.file.close()
+
+ def test_bool_fromstring(self):
+ v = np.array([True, False, True, False], dtype=np.bool_)
+@@ -2084,7 +2083,6 @@ class TestIO(object):
+ y = np.fromfile(f, dtype=self.dtype)
+ f.close()
+ assert_array_equal(y, self.x.flat)
+- os.unlink(self.filename)
+
+ def test_roundtrip_filename(self):
+ self.x.tofile(self.filename)
+@@ -2217,7 +2215,6 @@ class TestIO(object):
+ s = f.read()
+ f.close()
+ assert_equal(s, '1.51,2.0,3.51,4.0')
+- os.unlink(self.filename)
+
+ def test_tofile_format(self):
+ x = np.array([1.51, 2, 3.51, 4], dtype=float)
+diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py
+index ccdbd4e..fcfd185 100644
+--- a/numpy/f2py/__init__.py
++++ b/numpy/f2py/__init__.py
+@@ -28,20 +28,20 @@ def compile(source,
+ from numpy.distutils.exec_command import exec_command
+ import tempfile
+ if source_fn is None:
+- fname = os.path.join(tempfile.mktemp()+'.f')
++ f = tempfile.NamedTemporaryFile(suffix='.f')
+ else:
+- fname = source_fn
+-
+- f = open(fname, 'w')
+- f.write(source)
+- f.close()
+-
+- args = ' -c -m %s %s %s'%(modulename, fname, extra_args)
+- c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' %(sys.executable, args)
+- s, o = exec_command(c)
+- if source_fn is None:
+- try: os.remove(fname)
+- except OSError: pass
++ f = open(source_fn, 'w')
++
++ try:
++ f.write(source)
++ f.flush()
++
++ args = ' -c -m %s %s %s'%(modulename, f.name, extra_args)
++ c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' % \
++ (sys.executable, args)
++ s, o = exec_command(c)
++ finally:
++ f.close()
+ return s
+
+ from numpy.testing import Tester
+diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
+old mode 100755
+new mode 100644
+index 011b430..b264ea3
+--- a/numpy/f2py/f2py2e.py
++++ b/numpy/f2py/f2py2e.py
+@@ -91,7 +91,7 @@ Options:
+ --lower is assumed with -h key, and --no-lower without -h key.
+
+ --build-dir <dirname> All f2py generated files are created in <dirname>.
+- Default is tempfile.mktemp().
++ Default is tempfile.mkdtemp().
+
+ --overwrite-signature Overwrite existing signature file.
+
+@@ -428,7 +428,7 @@ def run_compile():
+ del sys.argv[i]
+ else:
+ remove_build_dir = 1
+- build_dir = os.path.join(tempfile.mktemp())
++ build_dir = tempfile.mkdtemp()
+
+ _reg1 = re.compile(r'[-][-]link[-]')
+ sysinfo_flags = [_m for _m in sys.argv[1:] if _reg1.match(_m)]
+diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py
+index fdd78b2..caffada 100644
+--- a/numpy/lib/tests/test_io.py
++++ b/numpy/lib/tests/test_io.py
+@@ -4,7 +4,9 @@ import sys
+ import gzip
+ import os
+ import threading
+-from tempfile import mkstemp, mktemp, NamedTemporaryFile
++import shutil
++import contextlib
++from tempfile import mkstemp, mkdtemp, NamedTemporaryFile
+ import time
+ import warnings
+ import gc
+@@ -21,6 +23,12 @@ from numpy.ma.testutils import (TestCase, assert_equal, assert_array_equal,
+ assert_raises, run_module_suite)
+ from numpy.testing import assert_warns, assert_, build_err_msg
+
++@contextlib.contextmanager
++def tempdir(change_dir=False):
++ tmpdir = mkdtemp()
++ yield tmpdir
++ shutil.rmtree(tmpdir)
++
+
+ class TextIO(BytesIO):
+ """Helper IO class.
+@@ -145,14 +153,14 @@ class TestSavezLoad(RoundtripTest, TestCase):
+ @np.testing.dec.slow
+ def test_big_arrays(self):
+ L = (1 << 31) + 100000
+- tmp = mktemp(suffix='.npz')
+ a = np.empty(L, dtype=np.uint8)
+- np.savez(tmp, a=a)
+- del a
+- npfile = np.load(tmp)
+- a = npfile['a']
+- npfile.close()
+- os.remove(tmp)
++ with tempdir() as tmpdir:
++ tmp = os.path.join(tmpdir, "file.npz")
++ np.savez(tmp, a=a)
++ del a
++ npfile = np.load(tmp)
++ a = npfile['a']
++ npfile.close()
+
+ def test_multiple_arrays(self):
+ a = np.array([[1, 2], [3, 4]], float)
diff --git a/dev-python/numpy/files/numpy-1.8.0-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.8.0-no-hardcode-blas.patch
new file mode 100644
index 000000000000..eaf30dd8e130
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.8.0-no-hardcode-blas.patch
@@ -0,0 +1,25 @@
+patch to allow any blas (c or f77) to simulate the
+special treatment atlas libs have in numpy.
+2013: numpy.distutils still horrendous code
+
+--- numpy/distutils/system_info.py.orig 2013-11-25 19:54:45.760217851 -0800
++++ numpy/distutils/system_info.py 2013-11-25 20:00:26.575310888 -0800
+@@ -293,17 +293,7 @@
+ 1 - display warning message
+ 2 - raise error
+ """
+- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
+- 'atlas_threads': atlas_threads_info, # ditto
+- 'atlas_blas': atlas_blas_info,
+- 'atlas_blas_threads': atlas_blas_threads_info,
+- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
+- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
+- 'mkl': mkl_info,
+- 'openblas': openblas_info, # use blas_opt instead
+- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
+- 'blas_mkl': blas_mkl_info, # use blas_opt instead
+- 'x11': x11_info,
++ cl = {'x11': x11_info,
+ 'fft_opt': fft_opt_info,
+ 'fftw': fftw_info,
+ 'fftw2': fftw2_info,
diff --git a/dev-python/numpy/files/numpy-1.9.0-OO.patch b/dev-python/numpy/files/numpy-1.9.0-OO.patch
new file mode 100644
index 000000000000..f1ebc23e1577
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.9.0-OO.patch
@@ -0,0 +1,91 @@
+From dc453917978e98dcdf3bbc106b080c80f0a1301e Mon Sep 17 00:00:00 2001
+From: Charles Harris <charlesr.harris@gmail.com>
+Date: Fri, 3 Oct 2014 20:03:31 -0600
+Subject: [PATCH] BUG: Make numpy import when run with Python flag '-OO'.
+
+This consists of checking for a docstring equal to None and skipping two
+tests that require docstrings.
+
+Closes #5148.
+---
+ numpy/lib/tests/test_function_base.py | 6 +++++-
+ numpy/lib/tests/test_utils.py | 3 ++-
+ numpy/ma/extras.py | 8 +++++---
+ 3 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/numpy/lib/tests/test_function_base.py b/numpy/lib/tests/test_function_base.py
+index ee38b35..a3f8056 100644
+--- a/numpy/lib/tests/test_function_base.py
++++ b/numpy/lib/tests/test_function_base.py
+@@ -1,12 +1,14 @@
+ from __future__ import division, absolute_import, print_function
+
+ import warnings
++import sys
+
+ import numpy as np
+ from numpy.testing import (
+ run_module_suite, TestCase, assert_, assert_equal, assert_array_equal,
+ assert_almost_equal, assert_array_almost_equal, assert_raises,
+- assert_allclose, assert_array_max_ulp, assert_warns, assert_raises_regex
++ assert_allclose, assert_array_max_ulp, assert_warns,
++ assert_raises_regex, dec
+ )
+ from numpy.random import rand
+ from numpy.lib import *
+@@ -2094,6 +2096,8 @@ def test_string_arg(self):
+
+
+ class TestAdd_newdoc(TestCase):
++
++ @dec.skipif(sys.flags.optimize == 2)
+ def test_add_doc(self):
+ # test np.add_newdoc
+ tgt = "Current flat index into the array."
+diff --git a/numpy/lib/tests/test_utils.py b/numpy/lib/tests/test_utils.py
+index fcb37f9..8fbd1c4 100644
+--- a/numpy/lib/tests/test_utils.py
++++ b/numpy/lib/tests/test_utils.py
+@@ -3,7 +3,7 @@
+ import sys
+ from numpy.core import arange
+ from numpy.testing import (
+- run_module_suite, assert_, assert_equal
++ run_module_suite, assert_, assert_equal, dec
+ )
+ from numpy.lib import deprecate
+ import numpy.lib.utils as utils
+@@ -14,6 +14,7 @@
+ from StringIO import StringIO
+
+
++@dec.skipif(sys.flags.optimize == 2)
+ def test_lookfor():
+ out = StringIO()
+ utils.lookfor('eigenvalue', module='numpy', output=out,
+diff --git a/numpy/ma/extras.py b/numpy/ma/extras.py
+index 82a61a6..a993fd0 100644
+--- a/numpy/ma/extras.py
++++ b/numpy/ma/extras.py
+@@ -434,8 +434,10 @@ def apply_over_axes(func, a, axes):
+ raise ValueError("function is not returning "
+ "an array of the correct shape")
+ return val
+-apply_over_axes.__doc__ = np.apply_over_axes.__doc__[
+- :np.apply_over_axes.__doc__.find('Notes')].rstrip() + \
++
++if apply_over_axes.__doc__ is not None:
++ apply_over_axes.__doc__ = np.apply_over_axes.__doc__[
++ :np.apply_over_axes.__doc__.find('Notes')].rstrip() + \
+ """
+
+ Examples
+@@ -462,7 +464,7 @@ def apply_over_axes(func, a, axes):
+ [[[46]
+ [--]
+ [124]]]
+-"""
++ """
+
+
+ def average(a, axis=None, weights=None, returned=False):
diff --git a/dev-python/numpy/files/numpy-1.9.0-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.9.0-no-hardcode-blas.patch
new file mode 100644
index 000000000000..128ea1391dda
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.9.0-no-hardcode-blas.patch
@@ -0,0 +1,25 @@
+--- numpy/distutils/system_info.py 2014-09-07 08:57:47.000000000 +0000
++++ numpy/distutils/system_info.py 2014-10-19 17:57:12.099448481 +0000
+@@ -296,20 +296,7 @@
+ 1 - display warning message
+ 2 - raise error
+ """
+- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
+- 'atlas_threads': atlas_threads_info, # ditto
+- 'atlas_blas': atlas_blas_info,
+- 'atlas_blas_threads': atlas_blas_threads_info,
+- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
+- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
+- 'mkl': mkl_info,
+- # openblas which may or may not have embedded lapack
+- 'openblas': openblas_info, # use blas_opt instead
+- # openblas with embedded lapack
+- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
+- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
+- 'blas_mkl': blas_mkl_info, # use blas_opt instead
+- 'x11': x11_info,
++ cl = {'x11': x11_info,
+ 'fft_opt': fft_opt_info,
+ 'fftw': fftw_info,
+ 'fftw2': fftw2_info,
+
diff --git a/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch b/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch
new file mode 100644
index 000000000000..674dbfadbf08
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.9.2-no-hardcode-blas.patch
@@ -0,0 +1,35 @@
+ numpy/distutils/system_info.py | 21 +--------------------
+ 1 file changed, 1 insertion(+), 20 deletions(-)
+
+diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
+index a050430..d0878a5 100644
+--- a/numpy/distutils/system_info.py
++++ b/numpy/distutils/system_info.py
+@@ -303,26 +303,7 @@ def get_info(name, notfound_action=0):
+ 1 - display warning message
+ 2 - raise error
+ """
+- cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead
+- 'atlas_threads': atlas_threads_info, # ditto
+- 'atlas_blas': atlas_blas_info,
+- 'atlas_blas_threads': atlas_blas_threads_info,
+- 'lapack_atlas': lapack_atlas_info, # use lapack_opt instead
+- 'lapack_atlas_threads': lapack_atlas_threads_info, # ditto
+- 'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead
+- 'atlas_3_10_threads': atlas_3_10_threads_info, # ditto
+- 'atlas_3_10_blas': atlas_3_10_blas_info,
+- 'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info,
+- 'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead
+- 'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto
+- 'mkl': mkl_info,
+- # openblas which may or may not have embedded lapack
+- 'openblas': openblas_info, # use blas_opt instead
+- # openblas with embedded lapack
+- 'openblas_lapack': openblas_lapack_info, # use blas_opt instead
+- 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead
+- 'blas_mkl': blas_mkl_info, # use blas_opt instead
+- 'x11': x11_info,
++ cl = {'x11': x11_info,
+ 'fft_opt': fft_opt_info,
+ 'fftw': fftw_info,
+ 'fftw2': fftw2_info,
diff --git a/dev-python/numpy/metadata.xml b/dev-python/numpy/metadata.xml
new file mode 100644
index 000000000000..0bfafa1af2f6
--- /dev/null
+++ b/dev-python/numpy/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>python</herd>
+ <longdescription lang="en">
+ NumPy is a general-purpose array-processing Python package designed to
+ efficiently manipulate large multi-dimensional arrays of arbitrary
+ records without sacrificing too much speed for small multi-dimensional
+ arrays. There are also basic facilities for discrete fourier transform,
+ basic linear algebra and random number generation.
+ It is the successor of Numeric and numarray.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">numpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/numpy/numpy-1.8.0-r1.ebuild b/dev-python/numpy/numpy-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..e01e6de8052c
--- /dev/null
+++ b/dev-python/numpy/numpy-1.8.0-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="${PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${P}/${PN}-user-${DOC_PV}.pdf
+ )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( >=dev-python/nose-0.10[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-hardcode-blas.patch
+ "${FILESDIR}"/${P}-f2py-insecure-temporary.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ docinto f2py
+ dodoc numpy/f2py/docs/*.txt
+ doman numpy/f2py/f2py.1
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ insinto /usr/share/doc/${PF}
+ doins "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+}
diff --git a/dev-python/numpy/numpy-1.8.1.ebuild b/dev-python/numpy/numpy-1.8.1.ebuild
new file mode 100644
index 000000000000..7769eb5f1a4c
--- /dev/null
+++ b/dev-python/numpy/numpy-1.8.1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="${PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${P}/${PN}-user-${DOC_PV}.pdf
+ )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.0-no-hardcode-blas.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ docinto f2py
+ dodoc numpy/f2py/docs/*.txt
+ doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpy/numpy-1.8.2.ebuild b/dev-python/numpy/numpy-1.8.2.ebuild
new file mode 100644
index 000000000000..3ca3e504c427
--- /dev/null
+++ b/dev-python/numpy/numpy-1.8.2.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="1.8.1"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+# It appears the docs haven't been upgraded, still @ 1.8.1
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.0-no-hardcode-blas.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ docinto f2py
+ dodoc numpy/f2py/docs/*.txt
+ doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpy/numpy-1.9.0-r1.ebuild b/dev-python/numpy/numpy-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..fa61e78e11e7
--- /dev/null
+++ b/dev-python/numpy/numpy-1.9.0-r1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="1.8.1"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+# It appears the docs haven't been upgraded, still @ 1.8.1
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.0-no-hardcode-blas.patch
+ # https://github.com/numpy/numpy/commit/dc453917978e98dcdf3bbc106b080c80f0a1301e.patch
+ "${FILESDIR}"/${PN}-1.9.0-OO.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ # absent in 1.9
+ #docinto f2py
+ #dodoc numpy/f2py/docs/*.txt
+ #doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpy/numpy-1.9.0.ebuild b/dev-python/numpy/numpy-1.9.0.ebuild
new file mode 100644
index 000000000000..12415c46b073
--- /dev/null
+++ b/dev-python/numpy/numpy-1.9.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="1.8.1"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+# It appears the docs haven't been upgraded, still @ 1.8.1
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.0-no-hardcode-blas.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ # absent in 1.9
+ #docinto f2py
+ #dodoc numpy/f2py/docs/*.txt
+ #doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpy/numpy-1.9.1.ebuild b/dev-python/numpy/numpy-1.9.1.ebuild
new file mode 100644
index 000000000000..12415c46b073
--- /dev/null
+++ b/dev-python/numpy/numpy-1.9.1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="1.8.1"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+# It appears the docs haven't been upgraded, still @ 1.8.1
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.9.0-no-hardcode-blas.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ # absent in 1.9
+ #docinto f2py
+ #dodoc numpy/f2py/docs/*.txt
+ #doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpy/numpy-1.9.2.ebuild b/dev-python/numpy/numpy-1.9.2.ebuild
new file mode 100644
index 000000000000..865164f18313
--- /dev/null
+++ b/dev-python/numpy/numpy-1.9.2.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+DOC_PV="1.9.1"
+DOC_P="${PN}-${DOC_PV}"
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="http://numpy.scipy.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-html-${DOC_PV}.zip
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-ref-${DOC_PV}.pdf
+ http://docs.scipy.org/doc/${DOC_P}/${PN}-user-${DOC_PV}.pdf
+ )"
+# It appears the docs haven't been upgraded, still @ 1.8.1
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc lapack test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ lapack? ( virtual/cblas virtual/lapack )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )
+ lapack? ( virtual/pkgconfig )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Uses distutils.command.config.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-hardcode-blas.patch
+)
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ if use lapack; then
+ append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-other cblas lapack)"
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ # make sure _dotblas.so gets built
+ sed -i -e '/NO_ATLAS_INFO/,+1d' numpy/core/setup.py || die
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ else
+ export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None
+ fi
+
+ export CC="$(tc-getCC) ${CFLAGS}"
+
+ append-flags -fno-strict-aliasing
+
+ # See progress in http://projects.scipy.org/scipy/numpy/ticket/573
+ # with the subtle difference that we don't want to break Darwin where
+ # -shared is not a valid linker argument
+ if [[ ${CHOST} != *-darwin* ]]; then
+ append-ldflags -shared
+ fi
+
+ # only one fortran to link with:
+ # linking with cblas and lapack library will force
+ # autodetecting and linking to all available fortran compilers
+ append-fflags -fPIC
+ if use lapack; then
+ NUMPY_FCONFIG="config_fc --noopt --noarch"
+ # workaround bug 335908
+ [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95"
+ fi
+
+ # don't version f2py, we will handle it.
+ sed -i -e '/f2py_exe/s:+os\.path.*$::' numpy/f2py/setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${NUMPY_FCONFIG}
+}
+
+python_test() {
+ distutils_install_for_testing ${NUMPY_FCONFIG}
+
+ cd "${TMPDIR}" || die
+ ${EPYTHON} -c "
+import numpy, sys
+r = numpy.test(label='full', verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install ${NUMPY_FCONFIG}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc COMPATIBILITY DEV_README.txt THANKS.txt
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/*
+ dodoc "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf
+ fi
+
+ # absent in 1.9
+ #docinto f2py
+ #dodoc numpy/f2py/docs/*.txt
+ #doman numpy/f2py/f2py.1
+}
diff --git a/dev-python/numpydoc/Manifest b/dev-python/numpydoc/Manifest
new file mode 100644
index 000000000000..13c1bd5f820b
--- /dev/null
+++ b/dev-python/numpydoc/Manifest
@@ -0,0 +1,2 @@
+DIST numpydoc-0.4.tar.gz 28972 SHA256 20e07c60766a7a044f228de5bdcc0d10b84a9f0b460e0c09422a4f60ef21ff8f SHA512 980c3f56562b0faff4a8f453faff36d8ed92ca7241174c16fe0cc7d60e0d250e6674b6dc2aa98906922f5ccdd0800222b724f759d96174648147ca12e710e574 WHIRLPOOL 8eac57ebcc2eca69b89f98c053332380d902fc1d20dc46bf06768150f14e48b5cf77c203ebf4001766fde05ba9c80ad3bc94ce105ac9e32466c58fc48c64fdad
+DIST numpydoc-0.5.tar.gz 32051 SHA256 93f050bceb52489d92f85c346981f1962c867c01f233d3252894ceae5cb48d34 SHA512 f5ddd07103f3eadad979ddca2bfb4b1681fb783e58de80fbb2cbcb85dcdbe2340f708c94c9d494dce44ac3b1dff1b4b7bcf57231c2eb848f9468b72cec03b038 WHIRLPOOL dbb713f97c0a0a02ae06fd0d2190b2d52471a7ab1c1dcd5bbcf7df98111c97818a32c53c7857648e6c6788818f39b184de6544480382fc011e4a6a52ea43ba1d
diff --git a/dev-python/numpydoc/metadata.xml b/dev-python/numpydoc/metadata.xml
new file mode 100644
index 000000000000..d70636c886e7
--- /dev/null
+++ b/dev-python/numpydoc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">numpydoc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/numpydoc/numpydoc-0.4-r1.ebuild b/dev-python/numpydoc/numpydoc-0.4-r1.ebuild
new file mode 100644
index 000000000000..9679b9d64bac
--- /dev/null
+++ b/dev-python/numpydoc/numpydoc-0.4-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
+HOMEPAGE="https://pypi.python.org/pypi/numpydoc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ chmod -R a+r *.egg-info || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Tests are written only for py2m pypy
+ if ! python_is_python3; then
+ nosetests || die "Testing failed with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/numpydoc/numpydoc-0.5.ebuild b/dev-python/numpydoc/numpydoc-0.5.ebuild
new file mode 100644
index 000000000000..2859d82c6477
--- /dev/null
+++ b/dev-python/numpydoc/numpydoc-0.5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
+HOMEPAGE="https://pypi.python.org/pypi/numpydoc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-1.4.0[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ chmod -R a+r *.egg-info || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/oauth/Manifest b/dev-python/oauth/Manifest
new file mode 100644
index 000000000000..b808b95a496e
--- /dev/null
+++ b/dev-python/oauth/Manifest
@@ -0,0 +1 @@
+DIST oauth-1.0.1.tar.gz 9533 SHA256 e769819ff0b0c043d020246ce1defcaadd65b9c21d244468a45a7f06cb88af5d SHA512 a503b1bfff18c97a0e666cc376bfcb11e3cc0f3340dd16e0254fcd4340ed28ab0fc52d1de81b573309351a5edaf83d0b437c155580c00e32a81a7c219ee7eca9 WHIRLPOOL c068087ac15061236bb5809d51e4e55c9ea489c36ac27275f69e8e8eb3b1e3fc89a08b75c8cb23091cd68e8722911bb5dfd643c371bc5c3ee7589fe6158392e9
diff --git a/dev-python/oauth/metadata.xml b/dev-python/oauth/metadata.xml
new file mode 100644
index 000000000000..27c5e14c8ffb
--- /dev/null
+++ b/dev-python/oauth/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">oauth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oauth/oauth-1.0.1-r1.ebuild b/dev-python/oauth/oauth-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..09422d54957e
--- /dev/null
+++ b/dev-python/oauth/oauth-1.0.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python OAuth module"
+HOMEPAGE="http://pypi.python.org/pypi/oauth"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/oauth2/Manifest b/dev-python/oauth2/Manifest
new file mode 100644
index 000000000000..e7e92e1a3a31
--- /dev/null
+++ b/dev-python/oauth2/Manifest
@@ -0,0 +1 @@
+DIST oauth2-1.5.211.tar.gz 18608 SHA256 82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21 SHA512 3f5606702d4e305c191c924cab01ee3fc7e170a26460c1d49031e3d9a296b3502d5e18edb1ec0e291abd61797cb47b7b2b8929eff33eb8bc9fd73434b3ab028a WHIRLPOOL bd262f4c6d324c048951addc158485bd81c12125fea8cf59545b2cb31c343c793a91cc892d27baeec54b2c62df818e5cb8e9b10196d4f9860fd6e62a37c7bffe
diff --git a/dev-python/oauth2/files/oauth2-exclude-tests.patch b/dev-python/oauth2/files/oauth2-exclude-tests.patch
new file mode 100644
index 000000000000..e2296d869e93
--- /dev/null
+++ b/dev-python/oauth2/files/oauth2-exclude-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index acc41e1..1efd034 100755
+--- a/setup.py
++++ b/setup.py
+@@ -31,7 +31,7 @@ setup(name=PKG,
+ author="Joe Stump",
+ author_email="joe@simplegeo.com",
+ url="http://github.com/simplegeo/python-oauth2",
+- packages = find_packages(),
++ packages = find_packages(exclude=['tests']),
+ install_requires = ['httplib2'],
+ license = "MIT License",
+ keywords="oauth",
diff --git a/dev-python/oauth2/metadata.xml b/dev-python/oauth2/metadata.xml
new file mode 100644
index 000000000000..b8382a97ef63
--- /dev/null
+++ b/dev-python/oauth2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">oauth2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oauth2/oauth2-1.5.211-r1.ebuild b/dev-python/oauth2/oauth2-1.5.211-r1.ebuild
new file mode 100644
index 000000000000..e8f27d6e5934
--- /dev/null
+++ b/dev-python/oauth2/oauth2-1.5.211-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for OAuth version 1.0"
+HOMEPAGE="http://pypi.python.org/pypi/oauth2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x64-macos"
+IUSE="test"
+
+RDEPEND="dev-python/httplib2[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}/${PN}-exclude-tests.patch" )
+
+python_test() {
+ esetup.py test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/oauth2client/Manifest b/dev-python/oauth2client/Manifest
new file mode 100644
index 000000000000..4b0332aa3a5e
--- /dev/null
+++ b/dev-python/oauth2client/Manifest
@@ -0,0 +1,2 @@
+DIST oauth2client-1.4.11.tar.gz 107844 SHA256 c7f4af0ae4ef7717fc596709e5c5d6ee5775f1fa2b2d69ccfaf0c7c42f2e6756 SHA512 bf06e5a1bb903f940d1e384a9213e13e9e815460a5d79ad24942fbf619d70b39392bc764b0867faea4557bfe031e8a6734639401d6d4ac6297517d840b5191d3 WHIRLPOOL fad31559f000ce7a3154e9fa458bc9731c7e4ef7a392e74e6888e6ee5b649a31284adb1b487fa57406a8ff30b37c9a1a840f0b1fb66bc2a9573cabea2375f2bc
+DIST oauth2client-1.4.6.tar.gz 95325 SHA256 d4376fc0f5543612c62cdee5ea68530bd9c8542891b3f4427d8bf9a1f5a134c8 SHA512 e75e6c535ca4e427f3a869fa7e600bf7544752a100f623cbbeb117d872a2361a60d1524fc2639521393a58dc6f684d9e1452980d6a5ffb6f4dbed516911cc4ca WHIRLPOOL acb26ef17115138a8932313cbbb8c9a802e2296d20343ab746123ad0ef8a38ea8587c10c45863b56b7b4d5b052675434236a050ae64c6c05546a42fd3cdc4f6b
diff --git a/dev-python/oauth2client/metadata.xml b/dev-python/oauth2client/metadata.xml
new file mode 100644
index 000000000000..b36b6dfa4390
--- /dev/null
+++ b/dev-python/oauth2client/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">google/oauth2client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oauth2client/oauth2client-1.4.11.ebuild b/dev-python/oauth2client/oauth2client-1.4.11.ebuild
new file mode 100644
index 000000000000..c13ae18e82ef
--- /dev/null
+++ b/dev-python/oauth2client/oauth2client-1.4.11.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy)
+
+inherit distutils-r1
+
+DESCRIPTION="Library for accessing resources protected by OAuth 2.0"
+HOMEPAGE="https://github.com/google/oauth2client"
+SRC_URI="https://github.com/google/oauth2client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ ~dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ ~dev-python/pyasn1-modules-0.0.5[${PYTHON_USEDEP}]
+ ~dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ !<=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+# Needs network
+RESTRICT=test
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/oauth2client/oauth2client-1.4.6.ebuild b/dev-python/oauth2client/oauth2client-1.4.6.ebuild
new file mode 100644
index 000000000000..7621c7e14e62
--- /dev/null
+++ b/dev-python/oauth2client/oauth2client-1.4.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for accessing resources protected by OAuth 2.0"
+HOMEPAGE="https://github.com/google/oauth2client"
+SRC_URI="https://github.com/google/oauth2client/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ ~dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ ~dev-python/pyasn1-modules-0.0.5[${PYTHON_USEDEP}]
+ ~dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ !<=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+# Needs network
+RESTRICT=test
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/oauthlib/Manifest b/dev-python/oauthlib/Manifest
new file mode 100644
index 000000000000..d8a8e85658e2
--- /dev/null
+++ b/dev-python/oauthlib/Manifest
@@ -0,0 +1,2 @@
+DIST oauthlib-0.7.2.tar.gz 106079 SHA256 a051f04ee8ec3305055ab34d87b36c9a449375e07c7d6a05bcafa48329cac7c3 SHA512 11bcd1b0930342017c63c305029efa3cc44afb4ce786c0d0afdecc22928a9ada1356899a58e6e7332e08d1a62c3ce83889f6396234534143781635983185b974 WHIRLPOOL 55cd2df10e40e4b05518b2b830418ea8718b584348eda031a8b0281dcddf93ab5afde88a7a583bb3a0f9fd4a59272e61ff68418bb9aee469e203f0f79a01836c
+DIST oauthlib-1.0.1.tar.gz 108125 SHA256 2f1999a7c11f8714a1545de033b0950da77f651ff64f271d7dd9df15dc72049b SHA512 4592ba6a146df55451f65ceab9dd049ddaba20bb0364c4cff882450b701052afc88541e6bf2a112ee18499a9c80e3b1b5e1292899ff7c861e0042c5f96b75653 WHIRLPOOL da8dad0ece0c1f9fbe486c0c23943068612b603e708fdc3c601f19203e2301c308972a50db335804bc1797f645e6355996b7cf484490a4d187d89d337b5f45ed
diff --git a/dev-python/oauthlib/metadata.xml b/dev-python/oauthlib/metadata.xml
new file mode 100644
index 000000000000..73b1a997dc90
--- /dev/null
+++ b/dev-python/oauthlib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">oauthlib</remote-id>
+ <remote-id type="github">idan/oauthlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oauthlib/oauthlib-0.7.2.ebuild b/dev-python/oauthlib/oauthlib-0.7.2.ebuild
new file mode 100644
index 000000000000..4530459419ed
--- /dev/null
+++ b/dev-python/oauthlib/oauthlib-0.7.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
+HOMEPAGE="https://github.com/idan/oauthlib http://pypi.python.org/pypi/oauthlib"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="test"
+
+# optional extras hard set as RDEPs. See setup.py
+RDEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' python2_7)
+ )"
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/oauthlib/oauthlib-1.0.1.ebuild b/dev-python/oauthlib/oauthlib-1.0.1.ebuild
new file mode 100644
index 000000000000..c0751e0ca670
--- /dev/null
+++ b/dev-python/oauthlib/oauthlib-1.0.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
+HOMEPAGE="https://github.com/idan/oauthlib http://pypi.python.org/pypi/oauthlib"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+# optional extras hard set as RDEPs. See setup.py
+RDEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-1.0.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ "
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/unittest2[${PYTHON_USEDEP}]' python2_7) )
+ "
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/objgraph/Manifest b/dev-python/objgraph/Manifest
new file mode 100644
index 000000000000..d5a670e87b2b
--- /dev/null
+++ b/dev-python/objgraph/Manifest
@@ -0,0 +1,2 @@
+DIST objgraph-1.7.2.tar.gz 545016 SHA256 3b08ccf1f06b8c13574c1edf4767fd9b50607a41218cf8a64f12e2f7a8be4d70 SHA512 22012031723060b47058c00cd97035b53238f8cf49c4e51b1f7735bf9c1d5aac9a5f0bcbe605317952f9b9390fc3bf247211082b4540e05cbf76670c27861ac2 WHIRLPOOL 23a017ac5fd9fa7ed266bc92675cb6d20afc38b2291465ba76414f1ff11edd42856732ffab1a187ebf8d683a1393f51cf7406104938fadf0fd286963fba6000e
+DIST objgraph-1.8.1.tar.gz 549402 SHA256 b4d4628adf39176beeb881fc575832256756bf0d73c1746b2b3529fd309b1a67 SHA512 c09e66aecc5dadc5a6e3d93e0f97fa6e816c5cbe968540400ed3d1248b958c955648cb2b4247ba00cd2388302dbcc178c55686cd2b95858b965a2717c6ff0c90 WHIRLPOOL f8e273422079249e0a22aa8f136fed72aa2fb1f8b925acfe52bf4677ac6164cc2ef919b5e4c23ab81ee978c94563366b52c52ed00c82ff8ce17056e644471c17
diff --git a/dev-python/objgraph/metadata.xml b/dev-python/objgraph/metadata.xml
new file mode 100644
index 000000000000..0641e64317ea
--- /dev/null
+++ b/dev-python/objgraph/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>heroxbd@gentoo.org</email>
+ <name>Benda Xu</name>
+ </maintainer>
+ <longdescription>A module that lets you visually explore Python object graphs.</longdescription>
+ <upstream>
+ <remote-id type="pypi">objgraph</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/objgraph/objgraph-1.7.2.ebuild b/dev-python/objgraph/objgraph-1.7.2.ebuild
new file mode 100644
index 000000000000..717426727f13
--- /dev/null
+++ b/dev-python/objgraph/objgraph-1.7.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Draws Python object reference graphs with graphviz"
+HOMEPAGE="http://mg.pov.lt/objgraph/"
+SRC_URI="mirror://pypi/o/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND="media-gfx/graphviz"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/* )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/objgraph/objgraph-1.8.1.ebuild b/dev-python/objgraph/objgraph-1.8.1.ebuild
new file mode 100644
index 000000000000..d120aba9de86
--- /dev/null
+++ b/dev-python/objgraph/objgraph-1.8.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Draws Python object reference graphs with graphviz"
+HOMEPAGE="http://mg.pov.lt/objgraph/"
+SRC_URI="mirror://pypi/o/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND="media-gfx/graphviz"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/* )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oct2py/Manifest b/dev-python/oct2py/Manifest
new file mode 100644
index 000000000000..143689424591
--- /dev/null
+++ b/dev-python/oct2py/Manifest
@@ -0,0 +1,2 @@
+DIST oct2py-0.4.0.tar.gz 107828 SHA256 f44da1ff41d8b21806976eaef500f1690c9c023bcd2be9a34d2dbbf26e442f00 SHA512 d62b6c7cc0f3a61e78cd4cd6a43d93a90f5d69187eb946847aa3f1df50edf6402ee845c51094696667afc29c284d6ef6e9af58d74b62ec177c2e4d18108c615e WHIRLPOOL 96da3725d4a53fa74791c219bd03d6adc49f11e47deb0ef864c86acc15f52145e303d4ac669667e79ef90dbb4af4cc7df298f16ebff7d5c20d02710c57c7738b
+DIST oct2py-1.3.0.tar.gz 321768 SHA256 f0cae7aae111631c0fffb7f2511ee14fb847b4f501340e8506b0805b50c32f28 SHA512 b9a8896fa463356a08dee7cd2db97bedd5487d93ed33fe73e2c5205118915eac86dcd51dea42dc7338a7f6486704d1c8cb3259c3d8a2b53230c50608d1d043d8 WHIRLPOOL f06214e8005281fec801856596f076a5ad0c35bc3bdc62db3057b320ac1ef8ab07a7f073c4e9ced62ce336c64e773128d333fd0bb26fb891ea6931b84ee22001
diff --git a/dev-python/oct2py/files/oct2py-1.3.0-test.patch b/dev-python/oct2py/files/oct2py-1.3.0-test.patch
new file mode 100644
index 000000000000..9bc22e091918
--- /dev/null
+++ b/dev-python/oct2py/files/oct2py-1.3.0-test.patch
@@ -0,0 +1,21 @@
+diff --git a/oct2py/ipython/tests/test_octavemagic.py b/oct2py/ipython/tests/test_octavemagic.py
+index b75d992..43c0a8b 100644
+--- a/oct2py/ipython/tests/test_octavemagic.py
++++ b/oct2py/ipython/tests/test_octavemagic.py
+@@ -1,5 +1,6 @@
+ """Tests for Octave magics extension."""
+
++import codecs
+ import unittest
+ import sys
+ from IPython.testing.globalipapp import get_ipython
+@@ -22,7 +23,8 @@ class OctaveMagicTest(unittest.TestCase):
+ IPython team's logic.
+ '''
+ if not sys.stdin.encoding:
+- sys.stdin.encoding = 'utf-8' # needed for py.test
++ # needed for py.test
++ sys.stdin = codecs.getreader('utf-8')(sys.stdin)
+ cls.ip = get_ipython()
+ # This is just to get a minimally modified version of the changes
+ # working
diff --git a/dev-python/oct2py/metadata.xml b/dev-python/oct2py/metadata.xml
new file mode 100644
index 000000000000..3afa342d8a4a
--- /dev/null
+++ b/dev-python/oct2py/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<longdescription lang="en">
+ Uses Octave to run commands and m-files. Supports any Octave
+ function or m-file, passing the data seamlessly between Python and
+ Octave using MAT files.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">oct2py</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/oct2py/oct2py-0.4.0-r1.ebuild b/dev-python/oct2py/oct2py-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..ec8b85cd5d9e
--- /dev/null
+++ b/dev-python/oct2py/oct2py-0.4.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python to GNU Octave bridge"
+HOMEPAGE="http://pypi.python.org/pypi/oct2py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ sci-mathematics/octave"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build doc html || die
+ fi
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/${PF}/
+ doins -r example
+ fi
+}
diff --git a/dev-python/oct2py/oct2py-1.3.0-r1.ebuild b/dev-python/oct2py/oct2py-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..953032de3529
--- /dev/null
+++ b/dev-python/oct2py/oct2py-1.3.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python to GNU Octave bridge"
+HOMEPAGE="http://pypi.python.org/pypi/oct2py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ sci-mathematics/octave"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-python/sphinx-bootstrap-theme[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-test.patch"
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+python_test() {
+ unset DISPLAY
+ if [[ ${EPYTHON} == python2.7 ]]; then
+ local OPTIONS="--with-doctest"
+ fi
+ nosetests oct2py ${OPTIONS} || die "Tests fail with ${EPYTHON}"
+ iptest -v IPython.extensions.tests.test_octavemagic || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r example
+ fi
+}
diff --git a/dev-python/oct2py/oct2py-1.3.0.ebuild b/dev-python/oct2py/oct2py-1.3.0.ebuild
new file mode 100644
index 000000000000..b4a4a026dc6f
--- /dev/null
+++ b/dev-python/oct2py/oct2py-1.3.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python to GNU Octave bridge"
+HOMEPAGE="http://pypi.python.org/pypi/oct2py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ sci-mathematics/octave"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-python/sphinx-bootstrap-theme[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+python_test() {
+ nosetests oct2py --with-doctest || die "Tests fail with ${EPYTHON}"
+ iptest -v IPython.extensions.tests.test_octavemagic || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r example
+ fi
+}
diff --git a/dev-python/odfpy/Manifest b/dev-python/odfpy/Manifest
new file mode 100644
index 000000000000..a4c901be8c9b
--- /dev/null
+++ b/dev-python/odfpy/Manifest
@@ -0,0 +1,2 @@
+DIST odfpy-0.9.6.tar.gz 452061 SHA256 907f62853858913bc3d5b00e4be4f4e5d56ab3f0d51125a54e949824b560f0bf SHA512 6e49e956426695984d634c2409129741b84d093886fe8012dc17196e20abff77bb486c986e497b0f35642ad0de60a8bbf3cf07352d85ea509cab7da9f3fa470b WHIRLPOOL 11625e99a500eb9e6c13b1c1cb19486689accbb2f8dc6f93a858496ba5f60a1513a89302bce24c1603ef0d46a17bca1126a40c4532f9fafb2cab3b0263c1acd8
+DIST odfpy-1.3.1.tar.gz 469339 SHA256 0292500fbe716fd261bfef71ddf231fd9bc913d2b0a1ced91a2488bdf3c9fcea SHA512 a730e3763069d91ec5f613e6222efbb46cbc32c6ddf962f574b86f6dbaa728491ec3f1ca6707f5d5227bb5968cd6f75a66f40576372ea72b794886f219c46ab1 WHIRLPOOL 843f311e50a9a4575f2d929baee65610e723a90b9af09ea1c52f22770a87fa3e8f71c35c94d248fc2372b9a0128a802f1ae54dba6638f411c9ff0a3de83b1cef
diff --git a/dev-python/odfpy/files/odfpy-0.9.4-tests.patch b/dev-python/odfpy/files/odfpy-0.9.4-tests.patch
new file mode 100644
index 000000000000..1c0be00af5a8
--- /dev/null
+++ b/dev-python/odfpy/files/odfpy-0.9.4-tests.patch
@@ -0,0 +1,32 @@
+--- tests/testxmlgen.py
++++ tests/testxmlgen.py
+@@ -20,6 +20,7 @@
+
+ import xml.sax, xml.sax.saxutils
+ import StringIO
++import sys
+ import unittest
+
+ class MyGen(xml.sax.saxutils.XMLGenerator):
+@@ -70,14 +71,16 @@
+ <a:greetings xmlns:a="http://example.com/ns">
+ <a:greet xml:lang="en">Hello world</a:greet>
+ </a:greetings>"""
+- parser.feed(testcontent)
+- parser.close()
+- expectedresult="""<?xml version="1.0" encoding="utf-8"?>
++ if sys.version_info < (2, 7):
++ self.assertRaises(KeyError, parser.feed, testcontent)
++ else:
++ parser.feed(testcontent)
++ parser.close()
++ expectedresult="""<?xml version="1.0" encoding="utf-8"?>
+ <a:greetings xmlns:a="http://example.com/ns">
+ <a:greet xml:lang="en">Hello world</a:greet>
+ </a:greetings>"""
+- self.assertEqual( outfp.getvalue(), expectedresult)
+-# self.assertRaises(KeyError, parser.feed, testcontent)
++ self.assertEqual( outfp.getvalue(), expectedresult)
+
+ def test_myxml(self):
+ """ Test that my patch works """
diff --git a/dev-python/odfpy/metadata.xml b/dev-python/odfpy/metadata.xml
new file mode 100644
index 000000000000..70933e33efcb
--- /dev/null
+++ b/dev-python/odfpy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">odfpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/odfpy/odfpy-0.9.6-r1.ebuild b/dev-python/odfpy/odfpy-0.9.6-r1.ebuild
new file mode 100644
index 000000000000..a599cc03b7e1
--- /dev/null
+++ b/dev-python/odfpy/odfpy-0.9.6-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API and tools to manipulate OpenDocument files"
+HOMEPAGE="https://joinup.ec.europa.eu/software/odfpy/home http://pypi.python.org/pypi/odfpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}/${PN}-0.9.4-tests.patch" )
+
+python_test() {
+ local exit_status=0 test
+ for test in tests/test*.py; do
+ einfo "Running ${test} ..."
+ "${PYTHON}" "${test}"
+ [[ $? -ne 0 ]] && exit_status=1
+ done
+ return ${exit_status}
+}
diff --git a/dev-python/odfpy/odfpy-1.3.1.ebuild b/dev-python/odfpy/odfpy-1.3.1.ebuild
new file mode 100644
index 000000000000..042a082f014e
--- /dev/null
+++ b/dev-python/odfpy/odfpy-1.3.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+# Classifier: Programming Language :: Python :: 2 :: Only
+# py3 fails one test, pypy anpother.
+# Notes on page of home repo reports support of python3.
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API and tools to manipulate OpenDocument files"
+HOMEPAGE="https://joinup.ec.europa.eu/software/odfpy/home http://pypi.python.org/pypi/odfpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+# Tarball missing required folder to build docs in html.
+
+python_test() {
+ # Known single fail under python3 suspected to be caused in python3 itself
+ # https://github.com/eea/odfpy/issues/21
+
+ local exit_status=0 test
+ for test in tests/test*.py; do
+ einfo "Running ${test} ..."
+ "${PYTHON}" ${test}
+ [[ $? -ne 0 ]] && exit_status=1
+ done
+ return ${exit_status}
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/odo/Manifest b/dev-python/odo/Manifest
new file mode 100644
index 000000000000..2223c0fcda6f
--- /dev/null
+++ b/dev-python/odo/Manifest
@@ -0,0 +1,2 @@
+DIST odo-0.3.2.zip 142291 SHA256 515365ec8b67c7c73303391b8f12107be6a8f4ab983352f548dcb32f8eb175e5 SHA512 c2a0dc2f62225bb394fc5f01476a9159310c798f7ea115ccf6e292d99c666509a0e6ef10c50c47c491ffdc805046152a9d75f90940153fbba4382426a07354b7 WHIRLPOOL 74ee63848e20b8936d6608f240c449bf3d81916bf40be51723fd7f519139474fa74f477bc3e835c9988e8926e12510a5e234817291240a1ae4aeefbb0a8c0cb3
+DIST odo-0.3.3.tar.gz 109748 SHA256 2499ee86c26c74daa28f21ed235ca331911065950deea5169ebdb7d5dae6ebef SHA512 7c470ea5a24ab5ccc3e72d1cbb4dcd2d370bb5de6ee5d8f1dafb8215db057f920d61470dbba02e5510ee5700fe86f2ae842bbc2bbbedf20e801789998b9c714e WHIRLPOOL 8c5329310a33d890452de8d9156f207ab294b26a68722719f375f2da4bef8fd23b47aee883c4a5c79e0f39cc30eb5eaab544e3f02c34b24062c6c2c2bfc146c3
diff --git a/dev-python/odo/metadata.xml b/dev-python/odo/metadata.xml
new file mode 100644
index 000000000000..bbfce266d3f9
--- /dev/null
+++ b/dev-python/odo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">odo</remote-id>
+ <remote-id type="github">ContinuumIO/odo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/odo/odo-0.3.2.ebuild b/dev-python/odo/odo-0.3.2.ebuild
new file mode 100644
index 000000000000..e17aee79bd0e
--- /dev/null
+++ b/dev-python/odo/odo-0.3.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data migration in python"
+HOMEPAGE="https://github.com/ContinuumIO/odo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ doc? ( dev-python/docutils )"
+RDEPEND=">=dev-python/datashape-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15.0[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ "
+
+python_prepare_all() {
+ sed -e '/.. toctree::/d' -i docs/source/index.rst|| die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ pushd docs/source > /dev/null
+ mkdir ../build || die
+ local i;
+ for i in ./*
+ do
+ rst2html.py $i > ../build/${i/rst/html} || die
+ done
+ popd > /dev/null
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/odo/odo-0.3.3.ebuild b/dev-python/odo/odo-0.3.3.ebuild
new file mode 100644
index 000000000000..dd0574d8ff85
--- /dev/null
+++ b/dev-python/odo/odo-0.3.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Data migration in python"
+HOMEPAGE="https://github.com/ContinuumIO/odo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="app-arch/unzip
+ doc? ( dev-python/docutils )"
+RDEPEND=">=dev-python/datashape-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.15.0[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ >=dev-python/multipledispatch-0.4.7[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ "
+
+python_prepare_all() {
+ sed -e '/.. toctree::/d' -i docs/source/index.rst|| die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ pushd docs/source > /dev/null
+ mkdir ../build || die
+ local i;
+ for i in ./*
+ do
+ rst2html.py $i > ../build/${i/rst/html} || die
+ done
+ popd > /dev/null
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oosuite/Manifest b/dev-python/oosuite/Manifest
new file mode 100644
index 000000000000..2505fe44fe1e
--- /dev/null
+++ b/dev-python/oosuite/Manifest
@@ -0,0 +1,2 @@
+DIST OOSuite-0.45.zip 520692 SHA256 62bae3f45d256c63858f5acb4caeffd1c93d0b8748a2cdfed8ac9323258eb6fe SHA512 9908da3fd5919a18770f45ff1e995d8345e3dca22b90aa4cec439485d261e482633e481fb1f57aa6e1da43505da3a009ad97aa9a306171eb885dd7ee19f48c74 WHIRLPOOL 1674fe4d0bd5df81724d40d6b2b9947315c116c242e5699d91fe3c72cec4b8333db1b3c28e394fe1fca9243e8a1478a36aaa96c715f716ca1e195669df0431b5
+DIST OOSuite-0.50.zip 529690 SHA256 64954e7f22fb8218d24d0c479671dcf53442896c2dcacd50dae27ea9510f9c59 SHA512 b8dcdb750bd623050702c40e221f681a1b226975532dfe9b2e8d9b4cda7948612782c049ea46f582bf38a99e7b746e0d20afba5693f7ab36f8288cec7c44a7d2 WHIRLPOOL 5a4be22c24274b94d0259ffe48fa8156733ad5e814b1783cb4db10f9c9f424d3600b3c43595fc915e59d374105f89756b9b9d71d03bad3cfd3353a67bc672c52
diff --git a/dev-python/oosuite/metadata.xml b/dev-python/oosuite/metadata.xml
new file mode 100644
index 000000000000..0db43e9d5520
--- /dev/null
+++ b/dev-python/oosuite/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<longdescription lang='en'>
+ The OpenOpt suite of Python packages contains the following modules:
+ * openopt: universal numerical optimization package with
+ several solvers (e.g. ralg) and connections to tens of other,
+ graphical output of convergence.
+ * FuncDesigner: tool to rapidly build functions over
+ variables/arrays and get their dense/sparse derivatives via
+ automatic differentiation, integration (with specifiable accuracy by
+ interalg), interpolation, uncertainty analysis and interval
+ analysis, eigenvalue analysis, solve systems of linear/nonlinear/ODE
+ equations and numerical optimization problems coded in FuncDesigner
+ by OpenOpt.
+ * DerApproximator: tool to get (or check user-supplied) derivatives
+ via finite-difference approximation
+ * SpaceFuncs: tool for 2D, 3D, N-dimensional geometric modeling with
+ possibilities of parametrized calculations, numerical optimization
+ and solving systems of geometrical equations.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/oosuite/oosuite-0.45.ebuild b/dev-python/oosuite/oosuite-0.45.ebuild
new file mode 100644
index 000000000000..832d3896d46e
--- /dev/null
+++ b/dev-python/oosuite/oosuite-0.45.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MYPN="OOSuite"
+MYPID="f/f3"
+
+DESCRIPTION="OpenOpt suite of Python modules for numerical optimization"
+HOMEPAGE="http://openopt.org/"
+SRC_URI="http://openopt.org/images/${MYPID}/${MYPN}.zip -> ${MYPN}-${PV}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples minimal tk"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ !minimal? (
+ dev-python/cvxopt[glpk,${PYTHON_USEDEP}]
+ dev-python/lp_solve[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ sci-libs/nlopt[python]
+ sci-libs/scipy[${PYTHON_USEDEP}] )"
+DEPEND="
+ app-arch/unzip
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/PythonPackages"
+
+OO_DIRS="DerApproximator FuncDesigner OpenOpt SpaceFuncs"
+
+python_prepare() {
+ # reorganize SpaceFuncs
+ pushd SpaceFuncs > /dev/null
+ mkdir SpaceFuncs
+ cp __version__.py SpaceFuncs || die
+ mv SpaceFuncs.py __init__.py kernel SpaceFuncs || die
+ popd > /dev/null
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ find . -name "*COPYING*" -delete
+ find . -type d -name examples -or -name tests -or -name doc \
+ -exec rm -r '{}' +
+ distutils-r1_python_prepare
+ popd > /dev/null
+ done
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # move all examples and tests to ease installation in proper directory
+ mkdir "${WORKDIR}/examples"
+ local d e
+ for d in ${OO_DIRS}; do
+ mkdir "${WORKDIR}/examples/${d}" || die
+ for e in $(find ${d} -type d -name examples -or -name tests -or -name doc); do
+ mv ${e} "${WORKDIR}/examples/${d}/" || die
+ done
+ done
+}
+
+python_compile() {
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ distutils-r1_python_compile
+ popd > /dev/null
+ done
+}
+
+python_test() {
+ local d t oldpath=${PYTHONPATH}
+ for d in ${OO_DIRS}; do
+ PYTHONPATH="${BUILD_DIR}/${d}/build/lib:${PYTHONPATH}"
+ done
+ export PYTHONPATH
+ cd "${WORKDIR}"/examples
+ # limit the tests, other need more dependencies
+ for t in \
+ DerApproximator/tests/t_check.py \
+ FuncDesigner/examples/sle1.py \
+ OpenOpt/examples/nlp_1.py \
+ SpaceFuncs/examples/triangle.py
+ do
+ "${PYTHON}" ${t} || die "test ${t} failed"
+ done
+ export PYTHONPATH=${oldpath}
+}
+
+python_install() {
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ distutils-r1_python_install
+ popd > /dev/null
+ done
+ use examples && EXAMPLES="${WORKDIR}"/examples
+}
diff --git a/dev-python/oosuite/oosuite-0.50.ebuild b/dev-python/oosuite/oosuite-0.50.ebuild
new file mode 100644
index 000000000000..832d3896d46e
--- /dev/null
+++ b/dev-python/oosuite/oosuite-0.50.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MYPN="OOSuite"
+MYPID="f/f3"
+
+DESCRIPTION="OpenOpt suite of Python modules for numerical optimization"
+HOMEPAGE="http://openopt.org/"
+SRC_URI="http://openopt.org/images/${MYPID}/${MYPN}.zip -> ${MYPN}-${PV}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples minimal tk"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ !minimal? (
+ dev-python/cvxopt[glpk,${PYTHON_USEDEP}]
+ dev-python/lp_solve[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/setproctitle[${PYTHON_USEDEP}]
+ sci-libs/nlopt[python]
+ sci-libs/scipy[${PYTHON_USEDEP}] )"
+DEPEND="
+ app-arch/unzip
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/PythonPackages"
+
+OO_DIRS="DerApproximator FuncDesigner OpenOpt SpaceFuncs"
+
+python_prepare() {
+ # reorganize SpaceFuncs
+ pushd SpaceFuncs > /dev/null
+ mkdir SpaceFuncs
+ cp __version__.py SpaceFuncs || die
+ mv SpaceFuncs.py __init__.py kernel SpaceFuncs || die
+ popd > /dev/null
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ find . -name "*COPYING*" -delete
+ find . -type d -name examples -or -name tests -or -name doc \
+ -exec rm -r '{}' +
+ distutils-r1_python_prepare
+ popd > /dev/null
+ done
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # move all examples and tests to ease installation in proper directory
+ mkdir "${WORKDIR}/examples"
+ local d e
+ for d in ${OO_DIRS}; do
+ mkdir "${WORKDIR}/examples/${d}" || die
+ for e in $(find ${d} -type d -name examples -or -name tests -or -name doc); do
+ mv ${e} "${WORKDIR}/examples/${d}/" || die
+ done
+ done
+}
+
+python_compile() {
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ distutils-r1_python_compile
+ popd > /dev/null
+ done
+}
+
+python_test() {
+ local d t oldpath=${PYTHONPATH}
+ for d in ${OO_DIRS}; do
+ PYTHONPATH="${BUILD_DIR}/${d}/build/lib:${PYTHONPATH}"
+ done
+ export PYTHONPATH
+ cd "${WORKDIR}"/examples
+ # limit the tests, other need more dependencies
+ for t in \
+ DerApproximator/tests/t_check.py \
+ FuncDesigner/examples/sle1.py \
+ OpenOpt/examples/nlp_1.py \
+ SpaceFuncs/examples/triangle.py
+ do
+ "${PYTHON}" ${t} || die "test ${t} failed"
+ done
+ export PYTHONPATH=${oldpath}
+}
+
+python_install() {
+ local d
+ for d in ${OO_DIRS}; do
+ pushd ${d} > /dev/null
+ distutils-r1_python_install
+ popd > /dev/null
+ done
+ use examples && EXAMPLES="${WORKDIR}"/examples
+}
diff --git a/dev-python/openpyxl/Manifest b/dev-python/openpyxl/Manifest
new file mode 100644
index 000000000000..2a5ba45da9f3
--- /dev/null
+++ b/dev-python/openpyxl/Manifest
@@ -0,0 +1,3 @@
+DIST openpyxl-2.1.0.tar.bz2 5286312 SHA256 60b64a18ccec5b4850c9b41cc8481c6dba3227926469b98d78279bc016eeabb0 SHA512 e537d1b2e1caae3932fde38295865609a4b1f9607378f5223bdfa8d219671331729453eb20092f7583ee3663200e40e8e3bd6a38119096c731d60d7efe2893dd WHIRLPOOL 0ba8228b4b942ef39136efb5d19695d5d619c3e3e77ad8ca402d2f933435e70c4b83adcdd400d36a491bfaa334644bee0668e823c420df5d199cabbf035cf948
+DIST openpyxl-2.2.3.tar.gz 108576 SHA256 7d46b38960bae1e912eb8161bb4e040d2611f295126703a18865b65c49a49a7c SHA512 aac0fac10611f15b4b006b4c6ca6fd7c854d3c7bc8203fcfcb932898cf599a809f14ee21f42f263bc75cc98b907fcb7dd5953c328aa0a5adeb2c7e5556de5aba WHIRLPOOL ca98df2cc6c5985c1d12c7493403aa6cabe02192d91d1dfadb73e8823eaf94661738afc6cd1e28b4183b34f123e0fcaab4472748de8724abc79683f0119be7f9
+DIST openpyxl-2.2.4.tar.gz 108810 SHA256 bd1b795ffc928f8c3f64fc0182e087a5f9afe7df94c78335a8d12eed872d182a SHA512 b33832bf194ef80cb5ce8dc4ee06f5c2f372fcd1074f7a4b0fea94c9528d17a80bfc83bb2a20e40118bd2250d63ade1a772bbc20533b9355472284a186ebe977 WHIRLPOOL 4a799125391a587a027e936a60f3853440ffe754e1078b6e95b3d7077ff89f0b308fd7e431561fdc7bb8707a17cbf39088ef88395e101dd578bcdcf568e9e6e4
diff --git a/dev-python/openpyxl/metadata.xml b/dev-python/openpyxl/metadata.xml
new file mode 100644
index 000000000000..22dd4e4633f7
--- /dev/null
+++ b/dev-python/openpyxl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ Openpyxl is a pure Python module to read/write Excel 2007 (OpenXML)
+ xlsx/xlsm files.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">openpyxl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/openpyxl/openpyxl-2.1.0.ebuild b/dev-python/openpyxl/openpyxl-2.1.0.ebuild
new file mode 100644
index 000000000000..a2dfde0a1afc
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-2.1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="http://openpyxl.readthedocs.org"
+SRC_URI="https://bitbucket.org/ericgazoni/openpyxl-328/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/jdcal[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all(){
+ sed -e "s: 'sphinx.ext.intersphinx',::" \
+ -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/openpyxl/openpyxl-2.2.3.ebuild b/dev-python/openpyxl/openpyxl-2.2.3.ebuild
new file mode 100644
index 000000000000..edadb7cde1ca
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-2.2.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="http://openpyxl.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/jdcal[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )"
+
+# tests aren't contained in tarball
+RESTRICT="test"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/openpyxl/openpyxl-2.2.4.ebuild b/dev-python/openpyxl/openpyxl-2.2.4.ebuild
new file mode 100644
index 000000000000..b61d84c3082c
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-2.2.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="http://openpyxl.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/jdcal[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )"
+
+# tests aren't contained in tarball
+RESTRICT="test"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/openpyxl/openpyxl-9999.ebuild b/dev-python/openpyxl/openpyxl-9999.ebuild
new file mode 100644
index 000000000000..7c2ec5391c9f
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 mercurial
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="http://openpyxl.readthedocs.org"
+SRC_URI=""
+EHG_REPO_URI="https://bitbucket.org/openpyxl/openpyxl"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="dev-python/jdcal[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/openstack-nose-plugin/Manifest b/dev-python/openstack-nose-plugin/Manifest
new file mode 100644
index 000000000000..cac28f7f21c9
--- /dev/null
+++ b/dev-python/openstack-nose-plugin/Manifest
@@ -0,0 +1 @@
+DIST openstack.nose_plugin-0.11.tar.gz 4120 SHA256 a28d44dc23de8164d7893da7020404c73c4325b46d5507911f0257c15f613b4f SHA512 25139ebd3229cb5e07e296848d5a0bff090bec9b3ba618fe3a4278bdc9b2f7f0eced887285e9e3836b555afcbd74f061ec90a8a63d5c1fdfc53b7aea48a102a2 WHIRLPOOL d102ef5622404f77022f8cf1c04ac6b47b6a735a2e39523681589e92c1579824667fb5a863dd4cd6ac88e0d8915aad7c7aa85b18321d017ed281b6ce80528e05
diff --git a/dev-python/openstack-nose-plugin/metadata.xml b/dev-python/openstack-nose-plugin/metadata.xml
new file mode 100644
index 000000000000..2187f9b909e0
--- /dev/null
+++ b/dev-python/openstack-nose-plugin/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ openstack.nose_plugin provides a nose plugin that allow's nosetests output
+ to mimic the output of openstack's run_tests.py.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">openstack.nose_plugin</remote-id>
+ <remote-id type="github">openstack-dev/openstack-nose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/openstack-nose-plugin/openstack-nose-plugin-0.11-r2.ebuild b/dev-python/openstack-nose-plugin/openstack-nose-plugin-0.11-r2.ebuild
new file mode 100644
index 000000000000..a8ad26fe7fe2
--- /dev/null
+++ b/dev-python/openstack-nose-plugin/openstack-nose-plugin-0.11-r2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="openstack run_tests.py style output for nosetests"
+HOMEPAGE="https://github.com/openstack-dev/openstack-nose"
+MY_PN="openstack.nose_plugin"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]"
diff --git a/dev-python/optcomplete/Manifest b/dev-python/optcomplete/Manifest
new file mode 100644
index 000000000000..40d04bca83c7
--- /dev/null
+++ b/dev-python/optcomplete/Manifest
@@ -0,0 +1 @@
+DIST optcomplete-1.2.tar.bz2 15358 SHA256 628481e3908d1f78faae34380b1873cecb3027ce40a18f94a98a2fe8de11e71a SHA512 2b2a902755eae0da0d362e6c504bd007fd13309ac515e6b68d6b2d177648645b7bd9c73d172c5eb2d0473caf261d8d60583a8f83779c901d50c304c03811e7ea WHIRLPOOL 7e1e57958afc9b514c781f47f06dc629bb294ccd48c0f8a936636df11b4b4f51829d29dac71340e254efb5b2b5b520f68cccbc76ef0a2e2d4fec8eabe46e6fd7
diff --git a/dev-python/optcomplete/metadata.xml b/dev-python/optcomplete/metadata.xml
new file mode 100644
index 000000000000..7685e730d334
--- /dev/null
+++ b/dev-python/optcomplete/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ This Python module aims at providing almost automatically shell completion
+ for any Python program that already uses the optparse module.
+
+ This module aims at placing the shell completion routine and the option
+ parsing code in a single location: in the program itself.
+
+ The logic is that since a program already knows about its options, and in
+ Python we have a standard module to specify them programmatically since
+ Python-2.3 (optparse), the program itself is in the best position to suggest
+ completions for an incomplete command-line to a shell that invokes it.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/optcomplete/optcomplete-1.2-r1.ebuild b/dev-python/optcomplete/optcomplete-1.2-r1.ebuild
new file mode 100644
index 000000000000..cae27380d2f6
--- /dev/null
+++ b/dev-python/optcomplete/optcomplete-1.2-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Shell completion self-generator for Python"
+HOMEPAGE="http://furius.ca/optcomplete/ http://pypi.python.org/pypi/optcomplete"
+SRC_URI="http://furius.ca/downloads/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-linux"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+python_install_all() {
+ use examples && local EXAMPLES=( bin/. )
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ordereddict/Manifest b/dev-python/ordereddict/Manifest
new file mode 100644
index 000000000000..c0972ec575a2
--- /dev/null
+++ b/dev-python/ordereddict/Manifest
@@ -0,0 +1 @@
+DIST ordereddict-1.1.tar.gz 2114 SHA256 1c35b4ac206cef2d24816c89f89cf289dd3d38cf7c449bb3fab7bf6d43f01b1f SHA512 20b2beb1ee6309885b2d702c04d21e683fae3061f19176aceae381688be0fed5b2fbf55a1ff901460e93bf14c83169d2b7a286e3725b008583711134656d86e5 WHIRLPOOL 228d1a6a1926d7c1decc892c53d6260e78af0a32fcee2e04ce46a828648a2fcba16ba637b78cd30f903224baadb1ad78b232d0b8f7d68d0bc8c10daebb8ed86c
diff --git a/dev-python/ordereddict/metadata.xml b/dev-python/ordereddict/metadata.xml
new file mode 100644
index 000000000000..4c42f6a05cf7
--- /dev/null
+++ b/dev-python/ordereddict/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">ordereddict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ordereddict/ordereddict-1.1.ebuild b/dev-python/ordereddict/ordereddict-1.1.ebuild
new file mode 100644
index 000000000000..1d145cb8bc12
--- /dev/null
+++ b/dev-python/ordereddict/ordereddict-1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop-in substitute for Py2.7's new collections.OrderedDict that
+works in Python 2.4-2.6."
+HOMEPAGE="https://pypi.python.org/pypi/ordereddict"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND=""
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/Manifest b/dev-python/os-diskconfig-python-novaclient-ext/Manifest
new file mode 100644
index 000000000000..b7e1d9510b2a
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/Manifest
@@ -0,0 +1,2 @@
+DIST os_diskconfig_python_novaclient_ext-0.1.1.tar.gz 2013 SHA256 1edcb7b39070b773f5d3cef015906dfd257e80e7116bf613770e748ed469f1ca SHA512 0b71de275c1909455909c3e1c4b2a09f69ddfa3970e79ef0e77783b61737997e470038970dd1e1eea22d2a7f3ee1cbf899dcdc0672f8d0f220ce68c4a6e629b2 WHIRLPOOL a573e9949e49ef6fec509e8e75f366b5ec1a502b98437b4464784ad017153499731e930468011aecdc61104c966c5c226bee7d42ef9910e3638b2fb9f09d8c5c
+DIST os_diskconfig_python_novaclient_ext-0.1.2.tar.gz 2513 SHA256 78076a7b05afb8842734329f306bd69e64af6af910a3bc973fcf023723b8d7fc SHA512 f89a37962c309c6b292a4d6e3057e4dadf8934cbbe1ee5e12cc66e0ddb5f62bdd1c6d63e82b686dd3b9f508819600d7be14eeb4d17fb6698cb4af90462c36b60 WHIRLPOOL af101273148d49149e1ca604589c97e5d170328349090b2ef358a927abca541a3dfe2c354edaecc879f1c58af67459bc77b86436edb1d186408b99db116bb447
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/metadata.xml b/dev-python/os-diskconfig-python-novaclient-ext/metadata.xml
new file mode 100644
index 000000000000..4369f0dc28fc
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Disk Config extension for python-novaclient
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">os_diskconfig_python_novaclient_ext</remote-id>
+ <remote-id type="github">rackspace/os_diskconfig_python_novaclient_ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1-r1.ebuild b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..4816f5f0eb3d
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_diskconfig_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_diskconfig_python_novaclient_ext/os_diskconfig_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_diskconfig_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1.ebuild b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1.ebuild
new file mode 100644
index 000000000000..22b952a65b9b
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_diskconfig_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_diskconfig_python_novaclient_ext/os_diskconfig_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_diskconfig_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.2.ebuild b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.2.ebuild
new file mode 100644
index 000000000000..4816f5f0eb3d
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-0.1.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_diskconfig_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_diskconfig_python_novaclient_ext/os_diskconfig_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_diskconfig_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-9999.ebuild b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-9999.ebuild
new file mode 100644
index 000000000000..17718b77ea58
--- /dev/null
+++ b/dev-python/os-diskconfig-python-novaclient-ext/os-diskconfig-python-novaclient-ext-9999.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-2
+
+EGIT_REPO_URI="git://github.com/rackspace/os_diskconfig_python_novaclient_ext.git
+ https://github.com/rackspace/os_diskconfig_python_novaclient_ext.git"
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_diskconfig_python_novaclient_ext"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+
+S="${WORKDIR}/os_diskconfig_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-networksv2-python-novaclient-ext/Manifest b/dev-python/os-networksv2-python-novaclient-ext/Manifest
new file mode 100644
index 000000000000..53a06834e884
--- /dev/null
+++ b/dev-python/os-networksv2-python-novaclient-ext/Manifest
@@ -0,0 +1,2 @@
+DIST os_networksv2_python_novaclient_ext-0.21.tar.gz 2171 SHA256 2598aaaf19a6897be8427a402bb10b772178ed3c8922d9d955fa411ed8ec11a8 SHA512 077549d05addcdaedf9ea07f3fd15cc35f0282602cd46406666ce3a395ce5ca00f48fe70ac64269998bcf661f3e220115ed497abf0d78688f0d9d8a78297db0c WHIRLPOOL fee01e4c71ef57e02efe0ba216b00cf22be3b637515eccf87e7fbccc84a1622926cb2445c520d6faaafe83dfc0955bac6bd13edef7c091d1b19762c8738e0c83
+DIST os_networksv2_python_novaclient_ext-0.25.tar.gz 2363 SHA256 35ba71b027daf4c407d7a2fd94604d0437eea0c1de4d8d5d0f8ab69100834a0f SHA512 ad380001bd03506d0e7f5033f660f445930f1d2ac11d2a66122d2c7c69fdd888ec6408a6f191eb4310725afe7b69f64c9d5abc5c561ad91e41b5676b7e651807 WHIRLPOOL 625025941026ce5b05dc53a66515429b3dd178c634b09580f8ed095a2b8b63f384a309d9a6feb11efb43a9eeec86efa8fcb28ee5747deb137ecf6153aba66584
diff --git a/dev-python/os-networksv2-python-novaclient-ext/metadata.xml b/dev-python/os-networksv2-python-novaclient-ext/metadata.xml
new file mode 100644
index 000000000000..9991ef9522ad
--- /dev/null
+++ b/dev-python/os-networksv2-python-novaclient-ext/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds network extension support to python-novaclient
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">os_networksv2_python_novaclient_ext</remote-id>
+ <remote-id type="github">rackspace/os_networksv2_python_novaclient_ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21-r1.ebuild b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21-r1.ebuild
new file mode 100644
index 000000000000..435f713bbeeb
--- /dev/null
+++ b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds network extension support to python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_networksv2_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_networksv2_python_novaclient_ext/os_networksv2_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_networksv2_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21.ebuild b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21.ebuild
new file mode 100644
index 000000000000..b80623e02996
--- /dev/null
+++ b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.21.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds network extension support to python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_networksv2_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_networksv2_python_novaclient_ext/os_networksv2_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_networksv2_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.25.ebuild b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.25.ebuild
new file mode 100644
index 000000000000..db5c30019ce1
--- /dev/null
+++ b/dev-python/os-networksv2-python-novaclient-ext/os-networksv2-python-novaclient-ext-0.25.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds network extension support to python-novaclient"
+HOMEPAGE="https://github.com/rackspace/os_networksv2_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_networksv2_python_novaclient_ext/os_networksv2_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_networksv2_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.20.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-virtual-interfacesv2-python-novaclient-ext/Manifest b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/Manifest
new file mode 100644
index 000000000000..a742e585f176
--- /dev/null
+++ b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/Manifest
@@ -0,0 +1,2 @@
+DIST os_virtual_interfacesv2_python_novaclient_ext-0.15.tar.gz 2566 SHA256 7d6c1371750568efc0f8a02e2b8d18fa885b9289ed25228252a2a6a5f0e53480 SHA512 bf774de1563f9149a538033518e0c9c2b994518ccaa96ae39b7ad4cf2572e0d78b8588b53e71594dd1a0d9f445b72b353bc0588849723c0562161a27ae8efa7a WHIRLPOOL 23c302ebefb88459507ff76315b2df5e9d36aeda886cf2695d93d68c49409468ebbf02fd15db19441a9e053e9c7dc9083567a5374e89e33583494fbcd1b5c9ab
+DIST os_virtual_interfacesv2_python_novaclient_ext-0.19.tar.gz 2675 SHA256 5171370e5cea447019cee5da22102b7eca4d4a7fb3f12875e2d7658d98462c0a SHA512 74ad8e6e3988a90741974491d7ff92c4e614dfd3bb78355c058c4cb6af15b8acfc5a8be15fe9143561fe75bd0645fd935e64dba4dff27dbee7656c963e76e042 WHIRLPOOL 8104c0cd4ff28b51be08f8bcad31564bce8aee3b7a391d9338f87b46d8a47711b72b1ac21522e0027b03c3279b455a81928977f2fec6de34d431f396bdfe2987
diff --git a/dev-python/os-virtual-interfacesv2-python-novaclient-ext/metadata.xml b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/metadata.xml
new file mode 100644
index 000000000000..4e679560300b
--- /dev/null
+++ b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds Virtual Interfaces support to python-novaclient
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">os_virtual_interfacesv2_python_novaclient_ext</remote-id>
+ <remote-id type="github">cerberus98/os_virtual_interfacesv2_ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.15.ebuild b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.15.ebuild
new file mode 100644
index 000000000000..6a5a48b3c52d
--- /dev/null
+++ b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.15.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds Virtual Interfaces support to python-novaclient"
+HOMEPAGE="https://github.com/cerberus98/os_virtual_interfacesv2_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_virtual_interfacesv2_python_novaclient_ext/os_virtual_interfacesv2_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_virtual_interfacesv2_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.19.ebuild b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.19.ebuild
new file mode 100644
index 000000000000..553d1487d1f5
--- /dev/null
+++ b/dev-python/os-virtual-interfacesv2-python-novaclient-ext/os-virtual-interfacesv2-python-novaclient-ext-0.19.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds Virtual Interfaces support to python-novaclient"
+HOMEPAGE="https://github.com/cerberus98/os_virtual_interfacesv2_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/os_virtual_interfacesv2_python_novaclient_ext/os_virtual_interfacesv2_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/os_virtual_interfacesv2_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.20.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
new file mode 100644
index 000000000000..d7f9c0611220
--- /dev/null
+++ b/dev-python/oslo-concurrency/Manifest
@@ -0,0 +1,3 @@
+DIST oslo.concurrency-1.8.0.tar.gz 52531 SHA256 2070e04106d9d3bdffdd9729a1f0b62a101680001534ba91aa2fdc3967509285 SHA512 38741fe0a1807a33483ed67cc5119a1f7052eb546583ed812bb61d1c3ff7844e9024278b72da40992bc0de2ecd35e2a49439d4f69cf394dcb74122961e916b66 WHIRLPOOL 5d7e2d03d390577e16f2eae3519e0fad61bf19aacc015fb8770d32227092238fb99b94f52247b4a626f381f053097e7457757542428ce24651810177e2efd679
+DIST oslo.concurrency-1.8.1.tar.gz 53044 SHA256 12c5339c9263c994feb5c59290f7fb0eab12d6b729284efd01dd324c95bdecbb SHA512 227c16dd6916bd48ec937520650196b80bbbdf3988e7d6095eecd1ded601e207f24f63598881276591403e3b7c6e85f9adcce5a8ca210f82cffc75eff2351422 WHIRLPOOL 48bf1ffd9b04d0c5f199a8a6ff2deec6e25557a5af680450d30441b715edf0fea986c6620fb9a0ab722b13ca5f4664d39450db5e23cc96a331ed65532abf7a5a
+DIST oslo.concurrency-1.8.2.tar.gz 53278 SHA256 149f4c972916f14c14c97d7be7b92ba59497c1bbd09c114ee3681bef0773daca SHA512 b73b52cef9dca932b8d0b737bd544f0a6d138de701aa9d2309d6e7698af337e4aea5cbb47c78c2ebda14abc164b8cc2b40fee6c8e92a30ee674318f436cf3b94 WHIRLPOOL 1ad6cc6dc0d339b2bec4959539fdadfb0914b1677005e250b4e74da3be97310474d20514003b0c0f50a4c6dff021ac8efa25e1f9b4502f419ab9763117caa16e
diff --git a/dev-python/oslo-concurrency/metadata.xml b/dev-python/oslo-concurrency/metadata.xml
new file mode 100644
index 000000000000..8de0725b580a
--- /dev/null
+++ b/dev-python/oslo-concurrency/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Oslo concurrency library has utilities for safely running multi-thread, multi-process applications using locking mechanisms and for running external processes.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.concurrency</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-1.8.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-1.8.0.ebuild
new file mode 100644
index 000000000000..927404b399d6
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-1.8.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="library for running multi-thread, multi-process applications"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
+S="${WORKDIR}/oslo.concurrency-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ dev-python/posix_ipc[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/futures/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-1.8.1.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-1.8.1.ebuild
new file mode 100644
index 000000000000..7a25c946a087
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-1.8.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="library for running multi-thread, multi-process applications"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
+S="${WORKDIR}/oslo.concurrency-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ dev-python/posix_ipc[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/futures/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-1.8.2.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-1.8.2.ebuild
new file mode 100644
index 000000000000..60b144ed6081
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-1.8.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="library for running multi-thread, multi-process applications"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.concurrency"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
+S="${WORKDIR}/oslo.concurrency-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ <dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ dev-python/posix_ipc[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/futures/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/Manifest b/dev-python/oslo-config/Manifest
new file mode 100644
index 000000000000..3855f9951ecc
--- /dev/null
+++ b/dev-python/oslo-config/Manifest
@@ -0,0 +1,9 @@
+DIST oslo.config-1.10.0.tar.gz 96553 SHA256 1e77a2b3a05700192a11d0091b8c28257821eec8ae34707e08f8cb89aae770a5 SHA512 0e702644801726c0f1c0a70a417b9f17273567314859a985d62e1505eb4dc390a4ba41e2b5888acee9fe3e4ae25e4857acebad1474b347ea66e002a240044489 WHIRLPOOL c9447a4cabc5b8b324ca71d2ec82a95a0adcee7871c4dd604916683a19b4271296dc81e57b7580e588f2e57dcc590239e636357026d09c957d2adb0b032efe46
+DIST oslo.config-1.11.0.tar.gz 95550 SHA256 a5f61075b16e9155cc4e5aceab98f6e47d85bccaeb3739e364e151a9af0bc1ed SHA512 7fa8819e0f2516c94cfe48afbb7e620fc870d02b9e270cfda9726b241cd61271b04c40a97e70d3500590e70e7631d62491c7378db0e5a9b6975e8e42e6aa8d70 WHIRLPOOL 4a2c67297437536b66598dd2fba0f7594c2103a7e82d9839041e587a3421a0e53ab030f0a052a244364b3427c2a59e6aa212891cdd678f3965630828e5566866
+DIST oslo.config-1.12.1.tar.gz 93823 SHA256 d43880e88a55b13840dfd80495837017d4da3ad96aed288345410e0b35138477 SHA512 6300ca44bd4d3384bb56d5b75b6faab0b0ad47583af9bedd49b3a817159989c5acbf36998c9f58f491ec9147cb63ac82357dff903b7b32a81d098c66f86e9efe WHIRLPOOL 37b295a7f1cbbce2e45a9f39ffcd82911635aa85b345df40856660da3c0b5955501a0ef74e6e5248587c2d6bbf67233d1afab3451d727278bfeb4cb70bd23410
+DIST oslo.config-1.3.0.tar.gz 49529 SHA256 1fa44f663f7109ccc3ddd393fbc5a7a077208e116f94e41ada7fbd977f27cbab SHA512 f596cf21e31b78bfe031d74db6720179d5092370dab87ad735605880ac2fd5d8f13b5aac06b4cdc0e1630343fbb90076151282e17916cbf1c020811a71f23583 WHIRLPOOL 5d108815e633d229895b4b8385e8b2d10ebbbeeb5eccd218a532dce93b4c77a651870aae2eae01fada9fd63fcfc09805f9bc5c8ee3794f20b369a4af31d60162
+DIST oslo.config-1.4.0.tar.gz 66544 SHA256 739e76e0a83ec585a3c0415140d9e6ba1b14c7f207e33643e8af7eb4346ffe07 SHA512 cbb9ebe2fd5daa6c78abe0a2169ed3e102f30d6118e53be34257356b218612d5905ecdada28527e8f8820385ef4a404b500ecbe95b01a9f00309271d0f869bc0 WHIRLPOOL fa756561a75c5aec8cc9d7784de2b5d8fc64ef3b86c979dd022d7ffed5f5ef02e261f8450d8818753b69710fb2096b136ef6a8571c2a9259193a27aa8c5343f4
+DIST oslo.config-1.6.0.tar.gz 90139 SHA256 a88cf1af696b4d9cae783a4c8c6898e6fb4abd176f9c9906ba388e7eac5eab17 SHA512 980ad40dd86695f9dd6aa9a491354b61a1b2852c24712493e20946a3b2c664348b07c9860674f7373b52e05b0dfe4c0de9cc1615b04c0a4d35a0ef7252058c3b WHIRLPOOL 78d2a49dda926172a5879095e056736108418445316c84d7f2b9a0e0c1baa871b900e6b9da414221cbcc3a0582d72126ec209e99719d9d2e21d6a2d34832b0ec
+DIST oslo.config-1.6.1.tar.gz 90868 SHA256 4709df3a8ba05e6a47300770f1c90ade77b3d095f28e8f75191df8745268bb20 SHA512 5fca40faa8f942fca3b6178258b7ffaa8642c855225eb045a19667546359ffc709ce68a12a680ad41a7e10281d70b0b54f50da5683297f9308bd8ab862f7906a WHIRLPOOL 7b97d20873a119b5de65e34f065091e964c68c24c1424a404da39d4f04c19590f8d4c1ae63663ebc32f9cb7d8bdc8aabedbdb3873779d2a8a10b77b6d9ab9662
+DIST oslo.config-1.7.0.tar.gz 92399 SHA256 522ac2b6c2367af2d8badd07d0f9ad7434d5765cd4b62851471a5c1eee767439 SHA512 411b7e32293c1eea1b4f654e897eb3539eee617e433aa944a971cf666510987de23f342ef195fcff83578fcfc42aea2002e006667ebc1ba630e8b3577d382eaa WHIRLPOOL f8967bc89c6710bd9405ea95e70cd26a98a603302b440efc4b1229ed9e12a9e795c47845c1420a1a2313362bcd15030904b2fc95a735413051bad85d8e598c8d
+DIST oslo.config-1.9.3.tar.gz 94155 SHA256 ab54e67776d9bbee86ba8cce9393ba3186e6e63de926e9797598dc35fe790140 SHA512 e4daa78bb82593806221c143b374ffcbba49bad5f6a7994703febf24918fe728fdf0e4f9c8e7eeebfd78acd3fe2b4e483d56e1249f0c81970d0f760a9e71f179 WHIRLPOOL a921908faa3a0f2a38fd5565cc7252f7dbd5c5074b48bfaee349984ccd81c20625940a9ea616f71bf3fe111c8ddb5e15fa398ba677521ba21173a6a52a70ab33
diff --git a/dev-python/oslo-config/metadata.xml b/dev-python/oslo-config/metadata.xml
new file mode 100644
index 000000000000..71fd3c13f709
--- /dev/null
+++ b/dev-python/oslo-config/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo configuration API supports parsing command line arguments.
+ Oslo also supports .ini style configuration files.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.config</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-config/oslo-config-1.10.0.ebuild b/dev-python/oslo-config/oslo-config-1.10.0.ebuild
new file mode 100644
index 000000000000..c420361c069f
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.10.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "could not remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.11.0.ebuild b/dev-python/oslo-config/oslo-config-1.11.0.ebuild
new file mode 100644
index 000000000000..2312b93f24ea
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.11.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "could not remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.12.1.ebuild b/dev-python/oslo-config/oslo-config-1.12.1.ebuild
new file mode 100644
index 000000000000..9f3e6256d833
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.12.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+distutils-r1_python_prepare_all() {
+ sed -i '/argparse/d' requirements.txt
+}
+
+python_test() {
+ rm -rf .testrepository || die "could not remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.3.0.ebuild b/dev-python/oslo-config/oslo-config-1.3.0.ebuild
new file mode 100644
index 000000000000..8bf89f7a69b8
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.3.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="The Oslo configuration API supports parsing command line arguments
+and ini style configuration files"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.config"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.4.0.ebuild b/dev-python/oslo-config/oslo-config-1.4.0.ebuild
new file mode 100644
index 000000000000..e91e36b4ae4e
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.6.0.ebuild b/dev-python/oslo-config/oslo-config-1.6.0.ebuild
new file mode 100644
index 000000000000..faa2f4b2649c
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.6.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.6.1.ebuild b/dev-python/oslo-config/oslo-config-1.6.1.ebuild
new file mode 100644
index 000000000000..a9e68d622f1f
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.6.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.7.0.ebuild b/dev-python/oslo-config/oslo-config-1.7.0.ebuild
new file mode 100644
index 000000000000..769a469044c1
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.7.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-config/oslo-config-1.9.3.ebuild b/dev-python/oslo-config/oslo-config-1.9.3.ebuild
new file mode 100644
index 000000000000..bcc1600c1d56
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-1.9.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.config/oslo.config-${PV}.tar.gz"
+S="${WORKDIR}/oslo.config-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ rm -rf .testrepository || die "could not remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-context/Manifest b/dev-python/oslo-context/Manifest
new file mode 100644
index 000000000000..f54c354f08c0
--- /dev/null
+++ b/dev-python/oslo-context/Manifest
@@ -0,0 +1,3 @@
+DIST oslo.context-0.1.0.tar.gz 12320 SHA256 0340e533033607c18ce6a305d92f38a71fd89aaf439bf45074fd4ba9ee086971 SHA512 3e2e2cab4d5efbf8385277ac33d2babad3054b22713b3f343a47644c4420b1034e7711d353990116d2e149383293ba5a1ab1fe9247b42bf119705f5006e1a5b0 WHIRLPOOL 61b8b1be44213a8f1520c29de80adffd1341a3d3278fce0c7fc0bd50165a5b6793aaf6d62ea7685871cf20b59b922d773d3e67fbc26e3d7d13ef01773cbd8e7d
+DIST oslo.context-0.2.0.tar.gz 12726 SHA256 30bee9680a2bf5f947227cfd5996cebb17fd8c8e3013e5a594f7a7accb2947dd SHA512 afc1cf80a97bb90386750719e8314801057bf75c7cab1c2689d774bb337944cff324dc3737931f78b24bbf686ba4b5bbcb1e1ac1aae5347e700fd148556e6881 WHIRLPOOL 99dc8b37c582befbb9b32c26d8d106eb89bd9ef561193bc2cbf22c5ed0c2470f0f60a79bd06f9390866849eab2e65525ced9c8974c330ff5df2df3b5f3261e82
+DIST oslo.context-0.3.0.tar.gz 13108 SHA256 5ac98e1bf0f502de8f31d4ae397ce6b663beab26870e9f9a80d231400353b9cb SHA512 3a6cb17ec85b159d3bc496d3acfcfd7f03e92f32e5483c79be391d45a2af88ceb3c8ec2aae6714ac75f66b6664e3260a1e29c6f14c6802e8fa156f303b943ffa WHIRLPOOL c511b7470c09281402809af78ff7bd57d6ca241ab15736c876a9f705c08da8c7b5ce3dccd1867325e7b2052e83aec4fdd9fd9a32a9bd05f68ad10ccb4a9983cc
diff --git a/dev-python/oslo-context/metadata.xml b/dev-python/oslo-context/metadata.xml
new file mode 100644
index 000000000000..511a7b2f8d1d
--- /dev/null
+++ b/dev-python/oslo-context/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo context library has helpers to maintain useful information about a request context. The request context is usually populated in the WSGI pipeline and used by various modules such as logging
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.context</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-context/oslo-context-0.1.0-r1.ebuild b/dev-python/oslo-context/oslo-context-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..909485b5837f
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-0.1.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.context"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
+S="${WORKDIR}/oslo.context-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-context/oslo-context-0.1.0.ebuild b/dev-python/oslo-context/oslo-context-0.1.0.ebuild
new file mode 100644
index 000000000000..82e864ef7150
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-0.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.context"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
+S="${WORKDIR}/oslo.context-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-context/oslo-context-0.2.0.ebuild b/dev-python/oslo-context/oslo-context-0.2.0.ebuild
new file mode 100644
index 000000000000..02d568716e2b
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-0.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.context"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
+S="${WORKDIR}/oslo.context-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-context/oslo-context-0.3.0.ebuild b/dev-python/oslo-context/oslo-context-0.3.0.ebuild
new file mode 100644
index 000000000000..91d2d350a1e4
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-0.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.context"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.context/oslo.context-${PV}.tar.gz"
+S="${WORKDIR}/oslo.context-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-db/Manifest b/dev-python/oslo-db/Manifest
new file mode 100644
index 000000000000..4150a23c3f71
--- /dev/null
+++ b/dev-python/oslo-db/Manifest
@@ -0,0 +1,6 @@
+DIST oslo.db-1.0.2.tar.gz 90060 SHA256 7092525eab0352748fc0c58a7facd3d6ae967d9130589b4afc12bfa171bee837 SHA512 77412e531f93966229c6cb866f34cb22c9b97e419f6035f0cb51a093ed218277aed85bf6b8a684b68ceb212ca9f17b0bda8073601cc4a569c3503d2dd1b59311 WHIRLPOOL ccde39e352adf7916b73b9883da1ef3aa99ce862d3dbd4b3ce86c058118cd49a43a50918237e0fb13ce7655cc6a88b3f745a5aee47af9af9e2a431dbb6cd4714
+DIST oslo.db-1.4.1.tar.gz 127166 SHA256 e1fc76e17db9552c42ddca7b95ef8dce9a2049c68b90c0130ed2e27c7a9d82fb SHA512 138bef9fb82d08be9f2d13061689f6f2af7f16e75968d51e423d58a0c6a5bcc12b13a3849dbb0862789256f737e9c3e72be844125bd2cdcfcce0df91b8694ecc WHIRLPOOL 7a98eae42a620699518415f191af4099b4d2cfc8d68392b2d5ae29e90d2f501670110bf19edfd223a55f52b078cb7c26125f7e99fded99eb52715a45afd578d0
+DIST oslo.db-1.7.1.tar.gz 134351 SHA256 21ceab26d3fe4f69e8ec3a7444cff2f13bc8a6e298cc8ffbfbe965f782931b74 SHA512 02f48ec51c4af4eaa76d2ead7c73f5748b6f8340d7d9d304334f44b718b6aa8f841cc7b48166521f6ca6d93d8ee2a33d06570ec99b8ef1b1b628b6aa6d1eb789 WHIRLPOOL 11f2aa7a5a67bc822216cb3694623d5d6121dd9fc48d78e4837c56af589a73b8b43c2b01b8be2e799993e0af8e57972503d4e404f9242dcca1582ca7b17cbba2
+DIST oslo.db-1.7.2.tar.gz 134542 SHA256 e10b1bc9b128aaeae652809e1659ec2d2f64e2d1a143b9c9c66eb9cfef66c02c SHA512 341289a7bdbf61382bbeab101b41e889ebea7297986fb765d0fbeeec027d47d78d249f8b1df3ff6fed77f3c457e75fca249826dbbe5a7417ae3b6da7f766dc5c WHIRLPOOL 7b29b0d6088ca666af931f90d0ec1b1cea9340066a9a90756f179cbd1944cd6e70d07b709718c6df2db50a7f14561004f4fd5411677484d20bd96764b06fb823
+DIST oslo.db-1.8.0.tar.gz 143208 SHA256 0688ced3c34c975e2a68139e0f91601ef43c79fb73308d75674fdc40d30a2d4c SHA512 c97fd671572dc1fdc2bff642e5680f1b8910c737d295ff8d79bed6e4886de46216361de47c1e7f0ac88315988b7d1cd448d6cffff58d906524d8f9ec86d2e582 WHIRLPOOL 70d72ac5f0baf1c01eea040908a2b35336f793b3c7968f218e83a2c1699fd7381ca84cabef9a612069020a1292c3e195047a5795ca6fd9c62b961c68393b3f38
+DIST oslo.db-1.9.0.tar.gz 143040 SHA256 028ed6a38c1ed6d39d04f3dc2d7b7e2e0aca3cf53e72e145c3c07a5a0fb80eb8 SHA512 2131b2641502007b9b42aecbcb7e83a0cc90527edda2df91d52507dc58f0418b0111c9fb22e9d8bcf40ed53588adc9f02bec1b3df5788d99c775c328c1b3118b WHIRLPOOL f6205bb8e06efaf549d433c236069a5f0432cf49d1c64aadab0617f7badf4b6ea1a7277e42da1f62428c81d33f802adbb8895daf3cbbf9bd0e3e95f475a6bc80
diff --git a/dev-python/oslo-db/metadata.xml b/dev-python/oslo-db/metadata.xml
new file mode 100644
index 000000000000..35df51154681
--- /dev/null
+++ b/dev-python/oslo-db/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenStack Common DB Code
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.db</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-db/oslo-db-1.0.2.ebuild b/dev-python/oslo-db/oslo-db-1.0.2.ebuild
new file mode 100644
index 000000000000..b3291ddd1c07
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.0.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.6.4[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-0.3.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ (
+ >=dev-python/sqlalchemy-0.8.4[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.8.99[sqlite,${PYTHON_USEDEP}]
+ )
+ (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ (
+ >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}]
+ )
+ (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ (
+ >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}]
+ )
+ (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.1[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-migrate-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/oslo-db-1.4.1.ebuild b/dev-python/oslo-db/oslo-db-1.4.1.ebuild
new file mode 100644
index 000000000000..26cb331c57e7
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.4.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.1[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-migrate-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/oslo-db-1.7.1.ebuild b/dev-python/oslo-db/oslo-db-1.7.1.ebuild
new file mode 100644
index 000000000000..a6a5315fbe8a
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.7.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/oslo-db-1.7.2.ebuild b/dev-python/oslo-db/oslo-db-1.7.2.ebuild
new file mode 100644
index 000000000000..ea9e64e2d7f2
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.7.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/oslo-db-1.8.0.ebuild b/dev-python/oslo-db/oslo-db-1.8.0.ebuild
new file mode 100644
index 000000000000..5a6c2877d221
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.8.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/oslo-db-1.9.0.ebuild b/dev-python/oslo-db/oslo-db-1.9.0.ebuild
new file mode 100644
index 000000000000..5a6c2877d221
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-1.9.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.2[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ sqlite? (
+ || (
+ >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
+ )
+ )
+ mysql? (
+ dev-python/mysql-python
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ postgres? (
+ dev-python/psycopg:2
+ || (
+ >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ )
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-i18n/Manifest b/dev-python/oslo-i18n/Manifest
new file mode 100644
index 000000000000..073eefa2661b
--- /dev/null
+++ b/dev-python/oslo-i18n/Manifest
@@ -0,0 +1,5 @@
+DIST oslo.i18n-1.0.0.tar.gz 31042 SHA256 008f86bc297ee05c63b1e2e4a85985802f086c81b16b0853e8e47df0592b23bc SHA512 907971cf4a85bfd2f935faf30dced837614eaa08397b7243a497c6fb50c1228c5cd5f562fb452ebc2a0ad929073724b1e44b38df9b5f424833ed958dcbfc96ab WHIRLPOOL b6ffb2bfce611bb5dd99bd62d24709dfa8626bc93edc7e51aa27e422f556851b31a3525e15fcb2481a72d6b225acc957ecf1ae64bdd38dcae8411173cc8b999d
+DIST oslo.i18n-1.3.1.tar.gz 35050 SHA256 8e1b9b3f87cea9e43a2414bb02d8c79b0a688c916afa1f1453f6a0a65ffd85f6 SHA512 987beef5e59b213988001fb53f1b2e41b122b830bd476c64a4481f7650db45d31d66c94d79da26e1fc346035393c00a63febb1254d3ab881ce3d2b00398c5ac8 WHIRLPOOL 7b590d93c478d855edfdfba8a31dac491913426100c8e216cfd4b82ff47b60f98b34a56ff69e2af49d0c16d3e2ac1813731527ab21bb4f9fe2f33dc5847d0835
+DIST oslo.i18n-1.4.0.tar.gz 36140 SHA256 a3d64e8d2b4235a457da2c6269d8c97e867a90ba7d938fe0ed3cfc792c8c87bb SHA512 df1491bb4d98b9295c08f4b7dc18cfff2758834ff5edb9aa3bdc064e587ab475e7e060dc5212c5db1e7e2f34cc4177e5c713a4ac6908a9750f50dc6316105682 WHIRLPOOL 8e77849c0a8f3c5a7e5b314f756673f31a3464f2a65c35e8ad506fd0ce10430b2fea0fae97eaccfef258b74a24db2f86b0843575d25f3d3a84a3b19ae0c5ff12
+DIST oslo.i18n-1.5.0.tar.gz 36068 SHA256 cd09da0780e45737b784bdc026ea705ad006e3c003aa5dfeab83f269b4ea0e70 SHA512 20a640950b7e0eef69371eece396fc6b284c87e195b98a98ec689f207f9ab4f8a41c70cac1c64b0f68621742b6e9da8001d422f67242a3e03e6b4cf09d8add96 WHIRLPOOL ce22737d5285abe18a7e62d01894da59f7d1068a0d16dd055ba62d40888bba7d1408f3d739bfa6a5da7f7149fc84f3794067db4562538f7cee99fca3871924ac
+DIST oslo.i18n-1.6.0.tar.gz 36136 SHA256 29be916f3f4c79cca76d57e604a187b3020354a2ca89d486647b79d8a9adbb9e SHA512 c3a338ce0e5f7fb22f193aa749b4d2402f394af6b010cbb8dddbe2ec259cf39ff8a31d1730da4517ec24208b1bf439af48b97bfdb34acfecd78876bb3f6f4ec1 WHIRLPOOL 50274047e4ee12dc4c823f23e3dd9c7459f381d7882339e8de4b743a67ae433e9a062b1042fc4304c9b9dd9544744a76d3139265f0d1cef8320e91cd7af2fc06
diff --git a/dev-python/oslo-i18n/metadata.xml b/dev-python/oslo-i18n/metadata.xml
new file mode 100644
index 000000000000..d91740215fc9
--- /dev/null
+++ b/dev-python/oslo-i18n/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.i18n</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-i18n/oslo-i18n-1.0.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-1.0.0.ebuild
new file mode 100644
index 000000000000..f87a4a1ff10f
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-1.0.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.i18n library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-i18n/oslo-i18n-1.3.1.ebuild b/dev-python/oslo-i18n/oslo-i18n-1.3.1.ebuild
new file mode 100644
index 000000000000..3330a521e535
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-1.3.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.i18n library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-i18n/oslo-i18n-1.4.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-1.4.0.ebuild
new file mode 100644
index 000000000000..3b10df6f1a0f
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-1.4.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.i18n library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-i18n/oslo-i18n-1.5.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-1.5.0.ebuild
new file mode 100644
index 000000000000..f71536ce9e72
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-1.5.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.i18n library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-i18n/oslo-i18n-1.6.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-1.6.0.ebuild
new file mode 100644
index 000000000000..f183acb3578f
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-1.6.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.i18n library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-log/Manifest b/dev-python/oslo-log/Manifest
new file mode 100644
index 000000000000..0e03e1dd4eae
--- /dev/null
+++ b/dev-python/oslo-log/Manifest
@@ -0,0 +1,3 @@
+DIST oslo.log-0.3.0.tar.gz 33955 SHA256 c32f85824f2634ffbb34fc7bc1dfebdc706b404ff787d97df98ccc508b311e59 SHA512 d50ead9274e29a9fa3d03f7cfa4de51601b4e2d3c28ccf1ded3a389d7485e5d858c418a5eafbedaec164f4d47ff40e066b0a3f6e11530f270a9d0a4a93d20556 WHIRLPOOL 6d1177899b4771660685a34ce7f91835803c27533bb8d60a047db889e243fac9e49f91ab691244beb0dbdc226bb6b0186e5d3e845e68e96005d4b574aeed01ba
+DIST oslo.log-1.0.0.tar.gz 34366 SHA256 3d66e9a70b82bc1c7c0b70114d093620e86bef679177ee1ec668c6e0a1acf52a SHA512 420a019592778e69cf339617d21b2eabde8220709f9067bbfe61ce11b8defc54f6635b8f120557b032bea15eac936ad4957e23f9f041556390c9e0b641ca0c0f WHIRLPOOL b579fe52acba0ca5957a55b6720862ef7343d0f41157e667f7bd63e57c6779af683cbaf083440c98a1cf0184cc162eb91b64a52a1a19c1e9732a7eb4ce8530c7
+DIST oslo.log-1.1.0.tar.gz 40991 SHA256 a568d567a99443b617338e4a9f120d3c866896b99e5aad2eff1bcfa448ea7e28 SHA512 761324c6a48e6c43411c44a741c7c8e38bdc0ad08e1eeadaf4efd3b264e00c428042b873bc294a0176bc0831d7a612d08e49da838611ad66e2954a7547cc42a0 WHIRLPOOL f680ce7722818bb3d1f2e682bce447ae37fd16a1ba066ac264c5c7ae1b29803c3c12e33138d6b66afcc5e222a401526f1b1eb07f294974551eef0184e83e575d
diff --git a/dev-python/oslo-log/metadata.xml b/dev-python/oslo-log/metadata.xml
new file mode 100644
index 000000000000..78bc1ad14f00
--- /dev/null
+++ b/dev-python/oslo-log/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+OpenStack logging configuration library provides standardized configuration for all openstack projects.
+It also provides custom formatters, handlers and support for context specific logging (like resource id’s etc).
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.log</remote-id>
+ <remote-id type="github">openstack/oslo.log</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-log/oslo-log-0.3.0.ebuild b/dev-python/oslo-log/oslo-log-0.3.0.ebuild
new file mode 100644
index 000000000000..74bd15c8eb80
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-0.3.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack logging config library provides standardized configuration for all openstack projects."
+HOMEPAGE="http://pypi.python.org/pypi/oslo.log https://github.com/openstack/oslo.log"
+SRC_URI="mirror://pypi/o/oslo.log/oslo.log-${PV}.tar.gz"
+S="${WORKDIR}/oslo.log-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests oslo_log/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/oslo-log/oslo-log-1.0.0.ebuild b/dev-python/oslo-log/oslo-log-1.0.0.ebuild
new file mode 100644
index 000000000000..a4e42d8532a5
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-1.0.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack logging config library provides standardized configuration for all openstack projects."
+HOMEPAGE="http://pypi.python.org/pypi/oslo.log https://github.com/openstack/oslo.log"
+SRC_URI="mirror://pypi/o/oslo.log/oslo.log-${PV}.tar.gz"
+S="${WORKDIR}/oslo.log-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests oslo_log/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/oslo-log/oslo-log-1.1.0.ebuild b/dev-python/oslo-log/oslo-log-1.1.0.ebuild
new file mode 100644
index 000000000000..1cc85e61c7cf
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-1.1.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack logging config library provides standardized configuration for all openstack projects."
+HOMEPAGE="http://pypi.python.org/pypi/oslo.log https://github.com/openstack/oslo.log"
+SRC_URI="mirror://pypi/o/oslo.log/oslo.log-${PV}.tar.gz"
+S="${WORKDIR}/oslo.log-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests oslo_log/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/Manifest b/dev-python/oslo-messaging/Manifest
new file mode 100644
index 000000000000..8e9ab4451537
--- /dev/null
+++ b/dev-python/oslo-messaging/Manifest
@@ -0,0 +1,8 @@
+DIST oslo.messaging-1.10.0.tar.gz 216864 SHA256 d7044bf66bf65848778a10955ac3ee9d7c5174c9b07687c2e36a624417e91d06 SHA512 e2a6e06248a52ddab4cf1fd02510e8d900b39002944df191776289290efac3455a78751caed018b5755158a643b31d9beaa825f0af5147caaf1571e5dbad2a50 WHIRLPOOL 61baa991eaabe168a2b2383913b74be545ac009010d0297dbac2ebb5165b2cae8c00226bf3539071a00c79d5d2db510d64c1accb9b64d03631e8b8b485818294
+DIST oslo.messaging-1.4.1.tar.gz 144160 SHA256 28243db5fb84287016d6f58fa485a71496c825bcfca3ae806035017700a11945 SHA512 e5099bafa81f0dd86459034cf8a11031fb84b1af3b1fa7820e526f45241f37e8b2eea1a11b7aa420e38b36b3d7fbc2116ceeffe6cf635af9c36cc4ef8bb3b76a WHIRLPOOL 5732bcc2857448e996743914dc1e43b56fe13c6d5715b40967177dfbe0718b6e9d166e5a90fb394ae210150487bca2e3977335971ee9bf2780003ee790cb81d3
+DIST oslo.messaging-1.5.1.tar.gz 146353 SHA256 b1bac4fe771b089e839ae6b071a441f18468a5ac7c506a506d93875dce200250 SHA512 657633df4900321dccf0ede8d1e047d628c9451c9f33d5a4f61cd4bf1e476d1212b7b05351afab8e1020555ef69e567446e26970a2593c97cceaf2153259f640 WHIRLPOOL b869843f1f9e03054466b3324887922b011868b9b520231f7299d0496bc3d7decdea9b12f437c2bc2f8b1883231c7c5af269a86662c5e40740aecc7ce463050c
+DIST oslo.messaging-1.7.0.tar.gz 201952 SHA256 dd18921a9bcdc8d34c64410bb684dcd852a7a320e6be4992b0c93a7dc02b12f8 SHA512 1531d19a585609091f490138044b5c543ef26c34811e0268245a4710d945d61bdb77cc5729cd7b3f4477e2d78c1feda3801c614e8994c9d3f2638e93af73c7f7 WHIRLPOOL f53580b6b955ffccae0e7f80e39e11895e4cc7a2e22755c0183bfc5a6c13af42ebebd71c8137a6be767f66f83d6de20510bb46e67f02de6f9dc1717a82c80687
+DIST oslo.messaging-1.8.0.tar.gz 201858 SHA256 afff6d8367e6723a64dcb518d709d4ed0f91e15960360051d2498fc34e4ddda2 SHA512 5a2f79350f0763af52df984a43464bc12126e1520e4761c2c055b011f6063604e9aac4273732f45b1056a6af7aff120d005140ee89b2a9e5118f347c0918ad0d WHIRLPOOL 1343e4b6d691756240b252fbae90301bfde08b64ed7a0fade0d8b1662913ab55d1e844dade8215dbad68c4fab64e50005b1691b68aa35772d4ece862fe3bb9e7
+DIST oslo.messaging-1.8.2.tar.gz 208688 SHA256 31222c9afe3b5655401424a6229f633bebf20cfe5027e69d2e12f7e954556f1a SHA512 a8940635fb1d08871675730d2eb841af74896963d1f9624fec6ecff03e99f280091f342abba683aa9a5eac209009e75618f637571e34c5ef76fd8617f4ffe525 WHIRLPOOL 0fa2f5531178763ff607b062b8741ba02d396e868cc41a4e668e2ec26ef119f12dfa4261da418ec314c915e36e90f2cbd8da88f1bf559460fa0e442cd4a9b0f1
+DIST oslo.messaging-1.8.3.tar.gz 208757 SHA256 149d325431e2c4415edd5bdaec0cff4e9109c02e8f428382610cfa1a238692ea SHA512 98fd93a4ae366ac413ec0ad0310b669d9e0dddf61a03b2da40bfdfb3aec63de95a187556bcdecc19a209c38398f2ed0359aa05c9024bbad429e4c79c35b91b01 WHIRLPOOL 22f2a4237f874f3a681d3ea6e87bea7ed9759f967dfe8abfa8c6dc0f68d362b248f54b98fb7e64ff388de7c406f0cde29861fd17fe2fef5a8a688855b67c436c
+DIST oslo.messaging-1.9.0.tar.gz 214963 SHA256 ac5f58378515597e6d5759653cac3828eb2ee6bb11e2bbf94ee0d65a692990ed SHA512 2e7de860fed55b0548f3cfa4a911cba0750889fd807ed7addb83192dd37f84997ceecd92faf480be97873e58286748865c8c57a09014ae0de97c60be826cd27f WHIRLPOOL 8e331116313757c93b2add853a35929e0a0603b691f9ffb322f4e39c422e13d83ee757277e42ce9b0360cf9e5823bb066a48fadc8eb706f7ebca018b014e1e06
diff --git a/dev-python/oslo-messaging/metadata.xml b/dev-python/oslo-messaging/metadata.xml
new file mode 100644
index 000000000000..d885208542e6
--- /dev/null
+++ b/dev-python/oslo-messaging/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo messaging API supports RPC and notifications over a number of different messaging transports.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.messaging</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.10.0.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.10.0.ebuild
new file mode 100644
index 000000000000..bef7b6d33633
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.10.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.4.1.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.4.1.ebuild
new file mode 100644
index 000000000000..ea0b2f1e87c8
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.4.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.4.8[${PYTHON_USEDEP}]"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.5.1.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.5.1.ebuild
new file mode 100644
index 000000000000..52afa0cdcc16
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.5.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.15.2[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-0.1.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.7.0.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.7.0.ebuild
new file mode 100644
index 000000000000..1a8e147514a4
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.7.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.8.0.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.8.0.ebuild
new file mode 100644
index 000000000000..afacc9f6726f
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.8.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.8.2.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.8.2.ebuild
new file mode 100644
index 000000000000..660f9bf92665
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.8.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.8.3.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.8.3.ebuild
new file mode 100644
index 000000000000..222256f0d4d8
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.8.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-messaging/oslo-messaging-1.9.0.ebuild b/dev-python/oslo-messaging/oslo-messaging-1.9.0.ebuild
new file mode 100644
index 000000000000..8be57bd51ef0
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-1.9.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.messaging"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ dev-python/qpid-python[${PYTHON_USEDEP}]
+ >=dev-python/redis-py-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-14.3.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0
+ <dev-python/oslo-context-0.3.0
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/aioeventlet-0.4[${PYTHON_USEDEP}]
+ >=dev-python/trollius-1.0.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/Manifest b/dev-python/oslo-middleware/Manifest
new file mode 100644
index 000000000000..5b1ab12d777e
--- /dev/null
+++ b/dev-python/oslo-middleware/Manifest
@@ -0,0 +1,6 @@
+DIST oslo.middleware-0.4.0.tar.gz 21486 SHA256 d300f8342b5faaf712890d58da111789740aebb4b46874e41b45110b704719cb SHA512 6001ecdf42b0a2cf99c51bd43492e5d8dded2e41669e25a866808407d7762c90cdb8da2a8f5070c64df1ca81b5dedeac8dd012d2576c14fb201d236e73ed2188 WHIRLPOOL d431f55b50a6eccb29c9c4e061c8424d57a818007cec77792eb1ca2ea38c2309186f4ed5949558a60a1e385ac1a7dfb7b03940de129e3fc3f3421722b51f7503
+DIST oslo.middleware-0.5.0.tar.gz 23161 SHA256 c2d2a78debef27181d69e4f2e887cb2e4617f32ad4681a26c0d67210151bddf0 SHA512 a92c1e3bc82fdacf8028170e32600d48e4da0c422a1290ee4dde5fd848b367cc4c8906b7db1f1116d6a3a81a1d4e5d896f3bd3a89c121e58f2a108b532debe4a WHIRLPOOL 3d108f06e30273fbb99450be52512b548a152a7cd75143ff7a015b929506ed7070f4cf6b216b80d5b4c6a07724e9d72cfebaa4ae459f29d3516ebc7bc846c05e
+DIST oslo.middleware-1.0.0.tar.gz 23209 SHA256 5ccf160ae5ce23f3f59b86535352e3b5a9fa35dab0edc4ede8b17438da559995 SHA512 d1658c4608a1ba8f6501d9c576263560e2c77c24d6653081c17115f96011f298b0d203b1511830b4842efc08303b0d7452e6608f3e848145c25e9b960d11613c WHIRLPOOL 0a6c71290c2bbf5d8eca5c7264cd97f981e650139695f08a7fc6e320508cea9bdbb1d4c6d5b01f7cf702d11d5e21712477f73aa2fe2f62e17aa2c731022417d8
+DIST oslo.middleware-1.1.0.tar.gz 29957 SHA256 0647456ebf1611e2a0efc445673af3583780b0ccf694f61a8830d54fb5d6f63c SHA512 ae497098fe4edccf79ce93de1bd42967081616a81f7be8ec255a8732021943e8f377a6b57f6cc23c992506a5bed2641299d2653fcce6f6619d2ca1eff318cf71 WHIRLPOOL 410e422ea3b36e843e2ee91d64c23d84ffd86819bfca7e226fda3f1c2a6d11c9e8a8a4e7d5696764ce276a0b9984becf9361967861c17676b4fd9d77894baf82
+DIST oslo.middleware-1.2.0.tar.gz 29850 SHA256 0597ae9df233ba58e3f58e03878ba1f1d34a30918895bb109ebe50d8760495b7 SHA512 021836c40d096d96effc904a1ddd4889dde7f40e598aa435be3e8b5a0ff5dce013515bae878bf4eb05680fe01737c9fa20701de46bad151e7b795b229309e9db WHIRLPOOL 627b3c968e806cb1256768286ea580aa2ff4edd37107e3873db52030224cddda19ae2a4b341616f6a103dc4c456260d5c02f6645be4bf805758587eb54fece68
+DIST oslo.middleware-1.3.0.tar.gz 29172 SHA256 9e0fcf28f5d635c10e684bce26524e79a9da78a5c3d380c6759d2f419a0ff1c5 SHA512 39f3ba43aac0839aa47112eb6406286ae5e9ff92c53b46540e456d885617ad583a5a1ec3d86bdd1f95be9bb31354b3dba061da1fe28e6174ce01adc75901e6c7 WHIRLPOOL 05d57f094c22cddae6982cd3cc45cbf2fb881b181eceb39fc7295e9f930425180d4c2e72ce0ee700c979dffd0f40bc65d4d83eaada424553cc047cb7a8123db3
diff --git a/dev-python/oslo-middleware/metadata.xml b/dev-python/oslo-middleware/metadata.xml
new file mode 100644
index 000000000000..b9665513ba25
--- /dev/null
+++ b/dev-python/oslo-middleware/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Oslo middleware library includes components that can be injected into wsgi pipelines to intercept request/response flows. The base class can be enhanced with functionality like add/delete/modification of http headers and support for limiting size/connection etc
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.middleware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-middleware/oslo-middleware-0.4.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-0.4.0.ebuild
new file mode 100644
index 000000000000..9ac1ec6c3e05
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-0.4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/oslo-middleware-0.5.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-0.5.0.ebuild
new file mode 100644
index 000000000000..a692c4f007cd
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-0.5.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/oslo-middleware-1.0.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-1.0.0.ebuild
new file mode 100644
index 000000000000..d7d813393aef
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-1.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/oslo-middleware-1.1.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-1.1.0.ebuild
new file mode 100644
index 000000000000..6df908b15467
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-1.1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/oslo-middleware-1.2.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-1.2.0.ebuild
new file mode 100644
index 000000000000..96f95ba10e87
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-1.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-middleware/oslo-middleware-1.3.0.ebuild b/dev-python/oslo-middleware/oslo-middleware-1.3.0.ebuild
new file mode 100644
index 000000000000..1d182ae78756
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-1.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library includes components to be injected into wsgi pipelines to intercept request/response flows."
+HOMEPAGE="https://pypi.python.org/pypi/oslo.middleware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-policy/Manifest b/dev-python/oslo-policy/Manifest
new file mode 100644
index 000000000000..d5820f0bb3b7
--- /dev/null
+++ b/dev-python/oslo-policy/Manifest
@@ -0,0 +1 @@
+DIST oslo.policy-0.3.2.tar.gz 31745 SHA256 e69a5c559f95bcbf91eb0ea9f16aa65f0fe5fccc7fa03693d4cc991b76e969a6 SHA512 55043f7cbb93799dc53735844d8a315bbdfdba6c83121612737e6125f78e9396f071b2ff6d67133b582228e7e3a36912a4ab02aaa6641ce62f8820a1500bdd99 WHIRLPOOL a93e99f46db150e14327f5a6109dec56993a78c28ef93daa630418685da4d60d1017d8d805ae856eccf8e7553983dec7cc4b87005f12b965a9b4d75348e288e7
diff --git a/dev-python/oslo-policy/metadata.xml b/dev-python/oslo-policy/metadata.xml
new file mode 100644
index 000000000000..e0f0463b6ffb
--- /dev/null
+++ b/dev-python/oslo-policy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo Policy library provides support for RBAC policy enforcement across all OpenStack services.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.policy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-policy/oslo-policy-0.3.2.ebuild b/dev-python/oslo-policy/oslo-policy-0.3.2.ebuild
new file mode 100644
index 000000000000..034d0a2d730d
--- /dev/null
+++ b/dev-python/oslo-policy/oslo-policy-0.3.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4)
+
+inherit distutils-r1
+
+DESCRIPTION="The Oslo Policy library provides support for RBAC policy enforcement across all OpenStack services."
+HOMEPAGE="https://pypi.python.org/pypi/oslo.policy"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.policy/oslo.policy-${PV}.tar.gz"
+S="${WORKDIR}/oslo.policy-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-rootwrap/Manifest b/dev-python/oslo-rootwrap/Manifest
new file mode 100644
index 000000000000..29a1a0a78ca8
--- /dev/null
+++ b/dev-python/oslo-rootwrap/Manifest
@@ -0,0 +1,3 @@
+DIST oslo.rootwrap-1.2.0.tar.gz 21838 SHA256 95dcb20ebeb5a178fa25e7815d3a17e0cbd92c5eaf0b6e9e677c1eadd2c5fc22 SHA512 868a0ca97049ca2d750b7d52401a1e87efcfefb170e8dea4768b2e75e60f01d797181421c93e1aa1166d44e5ef8abceecc69c267a249706cf8ba05bb5c21f872 WHIRLPOOL 34a0728d6e93fd27c474a9234f73ddc6d0e2762917222ea5b847251f8ae52329a02de4e29987cb9a867596cb8a43b34a80d20f9bc391090785d785863eec11f5
+DIST oslo.rootwrap-1.3.0.tar.gz 37576 SHA256 42081a30779be0a8e33ee53f4e1235c17080278c4285505a6b65243740aab629 SHA512 256b2da73818ff7b7c02a0fbfaa90f9c93877e1f5f1ec15b2f68af6c90169fde639bb6334d2eae352cbd80a3006f6de472843bf7e499d96eb056b6d57077ca56 WHIRLPOOL 4b05d567bc2ce63f6da9f144de91246ab9d6857b388f75bbb80fc529339eda1be4b485c057249e4a67fdd5702f2474fb2010f8b4155053cd607ce18df4f64533
+DIST oslo.rootwrap-1.6.0.tar.gz 48419 SHA256 5fe6d1619a5306f9181899c7cc5251ba5a0de0d3c60f85b2172a2f7d400a4962 SHA512 89f6615f87e9d45e7810157a07df3f8ceeab5f7b6826bc16256294eb9c6031cf6c5c698d92816f31e160d1f5bb98b7564cbf54079b0370ec47b9dbe83c3c2b0f WHIRLPOOL 4109b2e393b41c70e7e94f9f71674b6ea8dc6ae369cfe094f31a3372d049355f690f5bcf2a90804b5f1a0d02560d798471b855c39fcea3b5a577b1f86fba8f10
diff --git a/dev-python/oslo-rootwrap/metadata.xml b/dev-python/oslo-rootwrap/metadata.xml
new file mode 100644
index 000000000000..cfdefbb90e7e
--- /dev/null
+++ b/dev-python/oslo-rootwrap/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo Rootwrap allows fine filtering of shell commands to run as root from OpenStack services.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.rootwrap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-rootwrap/oslo-rootwrap-1.2.0.ebuild b/dev-python/oslo-rootwrap/oslo-rootwrap-1.2.0.ebuild
new file mode 100644
index 000000000000..e4c9c81c8d0f
--- /dev/null
+++ b/dev-python/oslo-rootwrap/oslo-rootwrap-1.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="The Oslo Rootwrap allows fine filtering of shell commands to run as root from OpenStack services"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.config"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.rootwrap/oslo.rootwrap-${PV}.tar.gz"
+S="${WORKDIR}/oslo.rootwrap-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/six-1.4.1[${PYTHON_USEDEP}]"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ sed -i 's/sbin\/ip/bin\/ip/g' tests/test_rootwrap.py
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-rootwrap/oslo-rootwrap-1.3.0.ebuild b/dev-python/oslo-rootwrap/oslo-rootwrap-1.3.0.ebuild
new file mode 100644
index 000000000000..10647f92a098
--- /dev/null
+++ b/dev-python/oslo-rootwrap/oslo-rootwrap-1.3.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="The Oslo Rootwrap allows fine filtering of shell commands to run as root from OpenStack services"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.config"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.rootwrap/oslo.rootwrap-${PV}.tar.gz"
+S="${WORKDIR}/oslo.rootwrap-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.15.1[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
+
+# This time half the doc files are missing; Do you want them?
+
+python_test() {
+ sed -i 's/sbin\/ip/bin\/ip/g' tests/test_rootwrap.py
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-rootwrap/oslo-rootwrap-1.6.0.ebuild b/dev-python/oslo-rootwrap/oslo-rootwrap-1.6.0.ebuild
new file mode 100644
index 000000000000..b4177a800399
--- /dev/null
+++ b/dev-python/oslo-rootwrap/oslo-rootwrap-1.6.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="The Oslo Rootwrap allows fine filtering of shell commands to run as root from OpenStack services"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.config"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.rootwrap/oslo.rootwrap-${PV}.tar.gz"
+S="${WORKDIR}/oslo.rootwrap-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ sed -i 's/sbin\/ip/bin\/ip/g' tests/test_rootwrap.py
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-serialization/Manifest b/dev-python/oslo-serialization/Manifest
new file mode 100644
index 000000000000..a957512bd296
--- /dev/null
+++ b/dev-python/oslo-serialization/Manifest
@@ -0,0 +1,4 @@
+DIST oslo.serialization-1.0.0.tar.gz 16242 SHA256 f9748cfbce1cb2a48942f12cf64a558f607135cddd610dadef8a036aa879063c SHA512 5cde309368b61f7fbf4ea6ece4c7e26bb1c43f4eb96adee8aea89810d81d0b112a1d8443b658f6d25558c0e9071b55ba81ddbea608bc51459afb3704ac9bd78b WHIRLPOOL 2c7dc9223e23d8df3e5ac0c3962ca1d8f66c3bf1f67943274aefc03245f65d312ab33353ea3dc8b63a748a785524b1e5a846361965f2c381fcec90dff51becd4
+DIST oslo.serialization-1.3.0.tar.gz 22586 SHA256 6d5b0f8a0bdb59a7818e62c4c85c4f1ea81f634f2add368b553c93a5c4f28e93 SHA512 47db8850d8f3111e5dd0ef7d506cd629ba36d0996487dfe80256557f505d66accbc83131d6066e323eec85f1b9b22776c4a351372e50ab66e059c89a61f8ad16 WHIRLPOOL b4a9889a66c96da0f43f40cf7647da4ea848ec408192170eefe9f3d8cea435eacd5d5e55e2d4701b961b6819147faed82189f3e90cc3e33b1766b014bdc3aa5b
+DIST oslo.serialization-1.4.0.tar.gz 20631 SHA256 082dca272f0a941e1cdca1dc02849c5ddac65fa7d19604096be54cd41e7b4317 SHA512 d6f1428dbceecdad7e0bff8895a8312f00613f17f93b9a9ed66ff4c00e803331b2b19c547ebe3e13eccdd08dce82babd5753c8ede873705bff1cc70cafc1bfd9 WHIRLPOOL 5fe72f5e5ee85d828482bcef066ee86950cc69b1b7850c3340d60b18d2cc3b5221f63e5ef449a081f57c4f31c0f15864610847f072e529da6d832be67d3439de
+DIST oslo.serialization-1.5.0.tar.gz 24068 SHA256 3ca368c96777cb54a656b6429914717d17f05a7bda13ce6065c0930dce0d4f78 SHA512 5d5f7bce43b5ac3b2c7f12a53fb78340bc0a1eb7454426f43f2e9e45c913425a58e7828cd89bcf7b1b7ba58e1e50fe09097fb9b836872a89eb85676baa40b7a8 WHIRLPOOL 68553208d25e0c8f617258ef9c8eafb3d7b331794b26659963c170474435f7456cf4e7fe33134407965cb0f5b490a48655b08a7154bb76988327dbe344cc2c87
diff --git a/dev-python/oslo-serialization/metadata.xml b/dev-python/oslo-serialization/metadata.xml
new file mode 100644
index 000000000000..d046d5582843
--- /dev/null
+++ b/dev-python/oslo-serialization/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.serialization</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.0.0-r1.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..e73e476cef18
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.0.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.0.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.0.0.ebuild
new file mode 100644
index 000000000000..6c446bc57246
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.0.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.3.0-r1.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..95cf01c96535
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.3.0-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.3.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.3.0.ebuild
new file mode 100644
index 000000000000..e110bba05c58
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.3.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.4.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.4.0.ebuild
new file mode 100644
index 000000000000..b271274f5441
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.4.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-serialization/oslo-serialization-1.5.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-1.5.0.ebuild
new file mode 100644
index 000000000000..e3ecfd8bdb7f
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-1.5.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="oslo.serialization library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+# Note: not in tree
+#test? ( <dev-python/hacking-0.8[${PYTHON_USEDEP}] )
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due ot the use of namespace packages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ PYTHONPATH="${TEST_DIR}/lib:${PYTHONPATH}"
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-sphinx/Manifest b/dev-python/oslo-sphinx/Manifest
new file mode 100644
index 000000000000..14325dad08e9
--- /dev/null
+++ b/dev-python/oslo-sphinx/Manifest
@@ -0,0 +1,3 @@
+DIST oslosphinx-2.2.0.tar.gz 21094 SHA256 a0f650b9c79c333a4fbd51ebeab7c6f5f957c400c13f5b89a936afbc16de8874 SHA512 d8efc5c1852dd195ff5a13847674093915eb1fcaed94bd46ec50667888b851786f362340182e507cbecabbb4155ed456af4f4611c689db67738613c409bc0473 WHIRLPOOL 5e48bcac16123041f6ca9d5e2eaca329af10729a995ff8ad1db6bd01acf926891a4162515940a7984a6cca872fc80c9063ab721ccf76991eec91888f3b8d60b6
+DIST oslosphinx-2.5.0.tar.gz 26445 SHA256 d0452adbfee87d70ccddc270173362efc14c423cad3b27f96409932613051a7d SHA512 91ea48d70ff3f850f4c7ada54500f150b40f63bed2476312dc5aab3714533c906171fa88a564bc541f9c1103242dd7e96809e564fef21d6f8a529770b387159a WHIRLPOOL a58e5f7e3d391c2e91e21dd86fbafb30e7b15af7bea07994a7aa5f02da85bf44575b7b3047c34a435968d4dbfd6e70b0806f5a63943262453665380d11b44886
+DIST oslosphinx-3.0.0.tar.gz 25644 SHA256 d39129be6b6076e087ab9a108c1b17f67cbb233ffc2481528df3d76b612cc1f6 SHA512 f2b5f35124bac9bf661ba45af1f18703725d5b5432cc708689a548bde6918975722729f321fb4c1fc8a146011c7e86c1c6abfdc746806d4bf7fa7d640e057a0c WHIRLPOOL 8ccc00a71a3d5f67a33a989120ad2591977169b93a5d81fd2c7798a6b93ad33ce45e6ebd2be69c7e0b0e4fa2e79719e393e63f9a250b50e7b5b9d4621bf03e94
diff --git a/dev-python/oslo-sphinx/metadata.xml b/dev-python/oslo-sphinx/metadata.xml
new file mode 100644
index 000000000000..be8e747352d4
--- /dev/null
+++ b/dev-python/oslo-sphinx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Theme and extension support for Sphinx documentation from the OpenStack project.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslosphinx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-sphinx/oslo-sphinx-2.2.0-r1.ebuild b/dev-python/oslo-sphinx/oslo-sphinx-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..030d3c62be24
--- /dev/null
+++ b/dev-python/oslo-sphinx/oslo-sphinx-2.2.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="${PN//-/}"
+
+DESCRIPTION="OpenStack Sphinx Extensions"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+# NOTE: dev-python/hacking is unecessary as there are no tests
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+RDEPEND=""
diff --git a/dev-python/oslo-sphinx/oslo-sphinx-2.5.0.ebuild b/dev-python/oslo-sphinx/oslo-sphinx-2.5.0.ebuild
new file mode 100644
index 000000000000..d605f8c88dba
--- /dev/null
+++ b/dev-python/oslo-sphinx/oslo-sphinx-2.5.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="${PN//-/}"
+
+DESCRIPTION="OpenStack Sphinx Extensions"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~ppc64 x86"
+IUSE=""
+
+# NOTE: dev-python/hacking is unecessary as there are no tests
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-sphinx/oslo-sphinx-3.0.0.ebuild b/dev-python/oslo-sphinx/oslo-sphinx-3.0.0.ebuild
new file mode 100644
index 000000000000..0c4d9831e309
--- /dev/null
+++ b/dev-python/oslo-sphinx/oslo-sphinx-3.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="${PN//-/}"
+
+DESCRIPTION="OpenStack Sphinx Extensions and Theme"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/requests-2.5.2[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest
new file mode 100644
index 000000000000..d7c00aa8e8dc
--- /dev/null
+++ b/dev-python/oslo-utils/Manifest
@@ -0,0 +1,6 @@
+DIST oslo.utils-1.0.0.tar.gz 32719 SHA256 4d1fdb896eb7a690ddf2a04b47c347caefaf1117bb2be83723546fbaa5141864 SHA512 09c6b759f39eb90ec382f68f3cf70e600847bdc6c44802a82e279a10be75587fe5e67f5e5b136ab6ac338b69ff484a869dbf236e0e46fc72a90ca69619a53c9b WHIRLPOOL 470720887a248afc953c691ba8e659fb010b3b59708992a34387814487b3077f723879f603d931d1a14efd87fe95f868103ca7beaa8bb78c97a9510c28e8364c
+DIST oslo.utils-1.1.0.tar.gz 40359 SHA256 f12dfba246ff52e94ec005d5c5862c0300e6cd295ceb953b37b876571a544dc1 SHA512 6b6ffc086e88c0222e9931c78680f15f021b9e9bb211bcb9b4114cc62f47b5bf85846b58e7b792355c7bfe1c01dddcb78871f981fde719360c3889daa85a5ddc WHIRLPOOL f44c34acdecd1d4bd495c60e65d41cebdaa7ef1a39fc4a749a339161ec428e3d274462e34fa8729aa2e7bcdc1f0de66e8d3f87c022c6c91425f1778ca7bef145
+DIST oslo.utils-1.2.1.tar.gz 54946 SHA256 9cd8bcde345554582fd12c6daab81a7327a90c72861aa644e8b7b3fbfed5deba SHA512 f928afe21ef908cb6f20beb42502c4709827fdcc7e44f81fd5adeb4ac8faf07649c813824702e0a1972e8100ec894f441017dfc3a887f1b56afd4bfa24846803 WHIRLPOOL c91b4e2eb283b46df6341d7f52ca61ee20b286c84afd8ca8a287627a7d3be914b343c9fd1ea141e02f2c7179c96921ab38c6d094666ba3979dc639fa5fb2e4f7
+DIST oslo.utils-1.3.0.tar.gz 57677 SHA256 1586065ba1cb4e5dbd731fd612d52945af815b9e3e1404209d8c955b87909b84 SHA512 cd8855ab3fc7123b6410c52142a82fbce0813defe77ca6e7434bd2d4f678c8c477a045aa6abd9fde8915874e45f058094f017a6150f4e07917db44b545788f01 WHIRLPOOL 1cecace92c179f7db2c382d0e6cbf53cb7a2ec8f38d4108f87b78de7ae4204d044af8d3cd5e5a75facda0d71b3933f5339d0bc5f9ff2869696173862cdf309f6
+DIST oslo.utils-1.4.0.tar.gz 61352 SHA256 f90e1d52542225031bc7e3d9bdc1b1270a80388e30285532124586e45e9317f6 SHA512 43cb855a9f05986db34f6aec845d0c4d6eb4c2e5fdb10b7f348786a6e28122eb6f476bb09af76bb406a985e4fae3f0b94eb5f1bbfd5b41fa5853cbb2d94b3a24 WHIRLPOOL f7f282199641a22f23fd3214b73ca1c52a7f241ebd4b67c1f1ba8505b62a42d70c7ed6a665357fb017de8ac1e8d7267f0f367bf88786dc97b23b0a9669328372
+DIST oslo.utils-1.5.0.tar.gz 67945 SHA256 797c048eb266abd7cf2e872b460e466453cc593efa524675e40b5abd3cdcaba6 SHA512 c9a582ef45223eab01ef49a8c248345cfccf57edb9d7d257c71f0f6014fdc95e6d47ecc84905b380dd1a4869636cdcf84f5f5648741a01323a37e16d818f3f14 WHIRLPOOL fb15d70b4b81faddd61d1d32f07e41a8e65052c407f3dfddb1d77a7f44150ba5da99327e28edad3f8eb65a6140f30bd83d6b68646ad2bf10985ba870c1d2442a
diff --git a/dev-python/oslo-utils/metadata.xml b/dev-python/oslo-utils/metadata.xml
new file mode 100644
index 000000000000..9a4d5257d746
--- /dev/null
+++ b/dev-python/oslo-utils/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.utils</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-utils/oslo-utils-1.0.0.ebuild b/dev-python/oslo-utils/oslo-utils-1.0.0.ebuild
new file mode 100644
index 000000000000..090b028c6b71
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+DISTUTILS_IN_SOURCE_BUILD=TRUE
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.1[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due to the use of namespace packcages but root
+# cause was never truly established.
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/oslo-utils-1.1.0.ebuild b/dev-python/oslo-utils/oslo-utils-1.1.0.ebuild
new file mode 100644
index 000000000000..23555d7c3d0a
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.1.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due to the use of namespace packages but root
+# cause was never truly established.
+#
+# Tests fail with:
+# ImportError: No module named 'oslo.utils
+
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/oslo-utils-1.2.1.ebuild b/dev-python/oslo-utils/oslo-utils-1.2.1.ebuild
new file mode 100644
index 000000000000..069dad234755
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.2.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation.
+#
+# Installation appears to fail due to the use of namespace packages but root
+# cause was never truly established.
+#
+# Tests fail with:
+# ImportError: No module named 'oslo.utils
+
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/oslo-utils-1.3.0.ebuild b/dev-python/oslo-utils/oslo-utils-1.3.0.ebuild
new file mode 100644
index 000000000000..df4701eed26c
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.3.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.9.1[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation
+#
+# Installation appears to fail due to the use of namespace packages but root
+# cause was never truly established.
+#
+# Tests fail with:
+# ImportError: No module named 'oslo.utils
+
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/oslo-utils-1.4.0.ebuild b/dev-python/oslo-utils/oslo-utils-1.4.0.ebuild
new file mode 100644
index 000000000000..42d027bb37c8
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.4.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.9.1[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation
+#
+# Installation appears to fail due to the use of namespace packages but root
+# cause was never truly established.
+#
+# Tests fail with:
+# ImportError: No module named 'oslo.utils
+
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-utils/oslo-utils-1.5.0.ebuild b/dev-python/oslo-utils/oslo-utils-1.5.0.ebuild
new file mode 100644
index 000000000000..214f10a8e662
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-1.5.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+# Note: Tests fail due to requiring installation
+#
+# Installation appears to fail due to the use of namespace packages but root
+# cause was never truly established.
+#
+# Tests fail with:
+# ImportError: No module named 'oslo.utils
+
+RESTRICT="test"
+
+python_test() {
+ distutils_install_for_testing
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPTYHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oslo-vmware/Manifest b/dev-python/oslo-vmware/Manifest
new file mode 100644
index 000000000000..1e59a5ff9d1b
--- /dev/null
+++ b/dev-python/oslo-vmware/Manifest
@@ -0,0 +1,3 @@
+DIST oslo.vmware-0.11.1.tar.gz 103846 SHA256 594231dfeb2294d2cee627da9c4ec8438d985c03e4e711f8d10c073641cde293 SHA512 04c27708e5da05710ef7f86e0a2dace7c3400e27728947d02d2d5fe4362811baa42b0e1c5298709b1bb416e45327129345276dce0c34bc9b2fa6f3d338f8d0ba WHIRLPOOL 6f6337ab64a0de5773791b1f282c1c9cef221705c4ea346a067d4b450b4e6e17ae27990244f2f8051996cf7e739e4c027f96c01e6cc3b3381e17d5c0bf985a3b
+DIST oslo.vmware-0.11.2.tar.gz 102933 SHA256 036cf0ad6ab0d4defd743678999851d570c2ca1ff34eba916920ce54d9a5d348 SHA512 632635adcc09749d0fe8bd204e1b06374e9790cec4d53cbaa06b2afa6745460cd417d60df26cb1e287d6e9de98eaa09788c6797993a06d8649b765a9298d0f39 WHIRLPOOL dd77312f307e5f65a969bae52e52dbab175e4a25f627d3ccf35435ac64c551093b8b67b707388d46175d93f344e2731ebdfa2ba6062ac3b562a00877cc98b880
+DIST oslo.vmware-0.7.0.tar.gz 69513 SHA256 c4c7f3b0a3734d357122beec977fea3cb48988c09c34ad4c5cfcd8211853484f SHA512 02e899613c23f4d7b2f46b7388a5a15aceae2537af0d9bf311b0b2a4b22d3afd534b07d0d444e1bfe2a0c0ae481924970a2b9b0274ca496dce1b6ff909f8eaab WHIRLPOOL 049cd90379a11b0e59884a25c5f8224bca40b8cdd28aaa5d8c2cc9da2c83850fb6ace2bd92cf04e665c4658831eb94bbaa3ffcbd702bb4e1e6663624d154bbd7
diff --git a/dev-python/oslo-vmware/metadata.xml b/dev-python/oslo-vmware/metadata.xml
new file mode 100644
index 000000000000..b86dca4897a6
--- /dev/null
+++ b/dev-python/oslo-vmware/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>openstack@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo messaging API supports RPC and notifications over a number of different messaging transports.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslo.vmware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-vmware/oslo-vmware-0.11.1.ebuild b/dev-python/oslo-vmware/oslo-vmware-0.11.1.ebuild
new file mode 100644
index 000000000000..23d1df818134
--- /dev/null
+++ b/dev-python/oslo-vmware/oslo-vmware-0.11.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo VMware library for OpenStack projects"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.vmware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.vmware/oslo.vmware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.vmware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/pylint-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/suds-0.4[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.8.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-1.4.1[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-vmware/oslo-vmware-0.11.2.ebuild b/dev-python/oslo-vmware/oslo-vmware-0.11.2.ebuild
new file mode 100644
index 000000000000..d0f882ec9eab
--- /dev/null
+++ b/dev-python/oslo-vmware/oslo-vmware-0.11.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo VMware library for OpenStack projects"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.vmware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.vmware/oslo.vmware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.vmware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/pylint-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ <dev-python/mock-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.8.3[${PYTHON_USEDEP}]
+ <dev-python/urllib3-1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
+"
+python_prepare() {
+ sed -i '/suds-jurko/d' requirements-py3.txt || die
+}
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslo-vmware/oslo-vmware-0.7.0.ebuild b/dev-python/oslo-vmware/oslo-vmware-0.7.0.ebuild
new file mode 100644
index 000000000000..d0bdcbfea06a
--- /dev/null
+++ b/dev-python/oslo-vmware/oslo-vmware-0.7.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo VMware library for OpenStack projects"
+HOMEPAGE="https://pypi.python.org/pypi/oslo.vmware"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.vmware/oslo.vmware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.vmware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ ~dev-python/pylint-0.25.2[${PYTHON_USEDEP}]
+
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/suds-0.4[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.15.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests tests/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest
new file mode 100644
index 000000000000..113f0987cb3f
--- /dev/null
+++ b/dev-python/oslotest/Manifest
@@ -0,0 +1,4 @@
+DIST oslotest-1.3.0.tar.gz 18084 SHA256 7c29dcf2289b4de8b3a64764ae617626e86bda948746aced80c49452df9e038a SHA512 f2db5ba6eedebc5937cbee94aa18e3b5ea9933d833ceb1e3906a18d7bc2bc9b423c7608ecad4ab4f8e9099a57ace1b610259a8b1dd7e8ad7f1d60a46ba717bcb WHIRLPOOL 2a4bd1e55ef379a0c7fd413a79af35e208ec3ff90b90fcc84bf36bb2e1a17bc3954545d81e32de4adf410872832b763e470dc3c99ce1893cea5dc1339df9d4ae
+DIST oslotest-1.5.0.tar.gz 20622 SHA256 df732f8bd4b6b5d6869e4b570624c4a0ee3f906bee9b4cd70e8933b0dcef5586 SHA512 9e4f335d8eaa9b4c22f127b43ae5a96cf036ea0238b557a549a2b3b465e5f06e7b4c58a72e752e6d1be40a9dc6cee6c331bca4635679eb80c0a36d858c195ae4 WHIRLPOOL 552cd5c5e96634d39fd334619807645eb8258879c1048771b64c618bca3497a1c9449b5b51111a86c7b231e9721a4982b6679fbbb22bf08d546fdbe219814498
+DIST oslotest-1.5.1.tar.gz 20723 SHA256 8123fb3471d82b141614728e66beecedecdd33c2844d1ef0c14c89b833339981 SHA512 b69770d260060bfec4185a3d1484d304be0e48c4dfa6ab2613eb3a73fd046eb3b0ad90ed061d8c6cca65bd3e76d7fdbe8832a73ea6674e5c9aa92d7a3978322f WHIRLPOOL 777c6c8a93502e795b3c61ddab62d8b3dffdaed62b65f73b6c63180721a00b4a64fef48a631919ef75c3c2b7e42237d71be78548ef62198113e27ffead4c1ef9
+DIST oslotest-1.6.0.tar.gz 21226 SHA256 cb65b53b753375b669dcdb4717c362a205d19e3d16ca26310c0916cfd359354c SHA512 e7eb97dfde919b523c302d7dc495d835791c646b98ce579a6056e2412b93c1791d6d7e2c8333d142b89f1e7a414f1d5c61a321b41d8ad0ba4592227f9e3073a7 WHIRLPOOL 3b8f984f9adccf9abfdd70f5b593a16a0061bac0705c3331d0065a1ad6bc4a97b402e7f4e757a22f01e203980865510bf7741baffc9ede77ad1f652e15b6dfb1
diff --git a/dev-python/oslotest/metadata.xml b/dev-python/oslotest/metadata.xml
new file mode 100644
index 000000000000..acff0385e32d
--- /dev/null
+++ b/dev-python/oslotest/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenStack test framework and test fixtures
+ The oslotest package is cross-tested against its consuming projects to
+ ensure that no changes to the library break the tests in those other projects.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">oslotest</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslotest/oslotest-1.3.0.ebuild b/dev-python/oslotest/oslotest-1.3.0.ebuild
new file mode 100644
index 000000000000..0abebfe40a73
--- /dev/null
+++ b/dev-python/oslotest/oslotest-1.3.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack test framework"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -rf .testrepository || die "coudln't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use doc && doman doc/build/man/oslotest.1
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "man page installation requires USE=doc"
+}
diff --git a/dev-python/oslotest/oslotest-1.5.0.ebuild b/dev-python/oslotest/oslotest-1.5.0.ebuild
new file mode 100644
index 000000000000..c2cdee57e800
--- /dev/null
+++ b/dev-python/oslotest/oslotest-1.5.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack test framework"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "coudln't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use doc && doman doc/build/man/oslotest.1
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "man page installation requires USE=doc"
+}
diff --git a/dev-python/oslotest/oslotest-1.5.1.ebuild b/dev-python/oslotest/oslotest-1.5.1.ebuild
new file mode 100644
index 000000000000..e4ab5e2ce8e8
--- /dev/null
+++ b/dev-python/oslotest/oslotest-1.5.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack test framework"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "coudln't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use doc && doman doc/build/man/oslotest.1
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "man page installation requires USE=doc"
+}
diff --git a/dev-python/oslotest/oslotest-1.6.0.ebuild b/dev-python/oslotest/oslotest-1.6.0.ebuild
new file mode 100644
index 000000000000..59926b5de5ba
--- /dev/null
+++ b/dev-python/oslotest/oslotest-1.6.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="http://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ rm -rf .testrepository || die "coudln't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use doc && doman doc/build/man/oslotest.1
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "man page installation requires USE=doc"
+}
diff --git a/dev-python/osprofiler/Manifest b/dev-python/osprofiler/Manifest
new file mode 100644
index 000000000000..941889a4159c
--- /dev/null
+++ b/dev-python/osprofiler/Manifest
@@ -0,0 +1 @@
+DIST osprofiler-0.3.0.tar.gz 42443 SHA256 7d7e1d0b93ce96901f7a307a712196273818a8f20e59916ff099589b48f53207 SHA512 a25c076f090b6e931efde487b8b000695be7077ca235e860997499dc3a67699cbf7ead9299f1aba77bcb9c402e7fc3dabc1005f349d349b9400b70c995001851 WHIRLPOOL cdc192ba11974de635f1e21da93cb1b5123c168c604fabf73471921618bc04f337d7173e8f9a5be4fdfc360ddf2f902b8e118af04804c4d9768745ef9a27d813
diff --git a/dev-python/osprofiler/metadata.xml b/dev-python/osprofiler/metadata.xml
new file mode 100644
index 000000000000..0960b3e8e578
--- /dev/null
+++ b/dev-python/osprofiler/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenStack Profiler Library
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">osprofiler</remote-id>
+ <remote-id type="launchpad">osprofiler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/osprofiler/osprofiler-0.3.0.ebuild b/dev-python/osprofiler/osprofiler-0.3.0.ebuild
new file mode 100644
index 000000000000..96628bb2ea4e
--- /dev/null
+++ b/dev-python/osprofiler/osprofiler-0.3.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Profiler Library"
+HOMEPAGE="http://launchpad.net/osprofiler"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pSQL/Manifest b/dev-python/pSQL/Manifest
new file mode 100644
index 000000000000..e874b105d6ed
--- /dev/null
+++ b/dev-python/pSQL/Manifest
@@ -0,0 +1,2 @@
+DIST pSQL-1.2.0.tar.gz 21046 SHA256 fc955844e1263ccaa8e59f10266e280569b8c043c3bade178bda66daf58f80b2 SHA512 f6dc4a87db7faca23a9b70dd20413f9f4f35dee3be001bd443bc8e3bc572316b6103c02de8ff40406811e6c62b40b2b54efa72421dd2742ecc023168c709a3ce WHIRLPOOL 94e1cc3da19b5c2ce5ac9a10710c83ebace2e7e929f061ad670b5baf2af5e38762945fbdba4250961c31d756ed2048f763b9a66d5d99e8b54e9c3d424c5df996
+DIST pSQL-1.2.1.tar.gz 21158 SHA256 9467f379656fa3b4053de67baa5bb0e650f1bcc437bbe0c0a7b088d1bf4e31d0 SHA512 39b21327eb2cd1ad6207c08e2ce6507c7d05992ef852fd06427dcb461e5175b24e983e432c8616c759f291d3bfd9906a654834afa79e37cc7c839ddb5e181779 WHIRLPOOL ed997754faa3b100e38656a6cc5b16574327fe0a05de17516bc5b5e6e5329f42c95151f373f45623bb666ed57c314e43d8562f6aa7944ee7afafb4df6ddaf3ed
diff --git a/dev-python/pSQL/metadata.xml b/dev-python/pSQL/metadata.xml
new file mode 100644
index 000000000000..361f5aeb05ee
--- /dev/null
+++ b/dev-python/pSQL/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pSQL/pSQL-1.2.0.ebuild b/dev-python/pSQL/pSQL-1.2.0.ebuild
new file mode 100644
index 000000000000..674b2ab45a44
--- /dev/null
+++ b/dev-python/pSQL/pSQL-1.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+DESCRIPTION="MySQL abstraction layer for python"
+HOMEPAGE="http://software.fionet.com/pSQL/"
+SRC_URI="http://software.fionet.com/pSQL/release/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-python/mysql-python[${PYTHON_USEDEP}]
+ dev-python/egenix-mx-base[${PYTHON_USEDEP}]"
+DEPEND=""
+
+src_install() {
+ python_parallel_foreach_impl python_domodule pSQL.py
+
+ dodoc *pSQL
+}
diff --git a/dev-python/pSQL/pSQL-1.2.1.ebuild b/dev-python/pSQL/pSQL-1.2.1.ebuild
new file mode 100644
index 000000000000..674b2ab45a44
--- /dev/null
+++ b/dev-python/pSQL/pSQL-1.2.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+DESCRIPTION="MySQL abstraction layer for python"
+HOMEPAGE="http://software.fionet.com/pSQL/"
+SRC_URI="http://software.fionet.com/pSQL/release/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-python/mysql-python[${PYTHON_USEDEP}]
+ dev-python/egenix-mx-base[${PYTHON_USEDEP}]"
+DEPEND=""
+
+src_install() {
+ python_parallel_foreach_impl python_domodule pSQL.py
+
+ dodoc *pSQL
+}
diff --git a/dev-python/paisley/Manifest b/dev-python/paisley/Manifest
new file mode 100644
index 000000000000..624a602f61a3
--- /dev/null
+++ b/dev-python/paisley/Manifest
@@ -0,0 +1 @@
+DIST paisley-0.3.1.tar.gz 6373 SHA256 531767b266c82e72d7f58e91b8e8093da6d227c779069894b50253f1fad280a3 SHA512 abfceece7c3156fd3ed234e1c2ed07e8f3e366c735969e382feb3b8c464679d8a9f0a224be0720c351b3e19d576bb5aff6fc11d789bfd879a0f2aba40dfaef73 WHIRLPOOL fe4955aebadf9a508210f55b2a20c47bf5af974949fd1cec1d7192a7f109ae089ed336dd86e8c839dfb5a29a0b455d4268e655ccbc706458857b95e6980fd2e1
diff --git a/dev-python/paisley/metadata.xml b/dev-python/paisley/metadata.xml
new file mode 100644
index 000000000000..ead40ea006d1
--- /dev/null
+++ b/dev-python/paisley/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">paisley</remote-id>
+ <remote-id type="launchpad">paisley</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paisley/paisley-0.3.1-r1.ebuild b/dev-python/paisley/paisley-0.3.1-r1.ebuild
new file mode 100644
index 000000000000..a83a2687f239
--- /dev/null
+++ b/dev-python/paisley/paisley-0.3.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Paisley is a CouchDB client written in Python to be used within a Twisted application"
+HOMEPAGE="http://launchpad.net/paisley http://pypi.python.org/pypi/paisley"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/paisley/paisley-0.3.1.ebuild b/dev-python/paisley/paisley-0.3.1.ebuild
new file mode 100644
index 000000000000..cbdf944435f3
--- /dev/null
+++ b/dev-python/paisley/paisley-0.3.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+DISTUTILS_SRC_TEST="nosetests"
+
+inherit distutils
+
+DESCRIPTION="Paisley is a CouchDB client written in Python to be used within a Twisted application"
+HOMEPAGE="http://launchpad.net/paisley http://pypi.python.org/pypi/paisley"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="dev-python/simplejson
+ dev-python/twisted-core
+ dev-python/twisted-web"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
new file mode 100644
index 000000000000..f1eb82bdf474
--- /dev/null
+++ b/dev-python/pandas/Manifest
@@ -0,0 +1 @@
+DIST pandas-0.16.2.tar.gz 4931751 SHA256 e01853dfe111f3aea005315573400b7216ddbabbf1f28d482a71217d67ae4f81 SHA512 44874e12a42a01dd7ed88f3f97e954732a534a5e2dc4815ef6203bdb2d88850a607e6631a35ae8fc79f4621a5dfaa34f39bb1c9a0ecfb17da1cf0c10f35ff27b WHIRLPOOL 6f2874ac07b49f4b2aaefdb87375b7c5adb31e3ff60c6b808f3e3467ad82999dd894de884ebbfd64fc7235e875d17ce871b516c96ff71a17310b708597168702
diff --git a/dev-python/pandas/metadata.xml b/dev-python/pandas/metadata.xml
new file mode 100644
index 000000000000..f56691dffb38
--- /dev/null
+++ b/dev-python/pandas/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Pandas is a Python package providing fast, flexible, and expressive
+ data structures designed to make working with "relational" or
+ "labeled" data both easy and intuitive. It aims to be the
+ fundamental high-level building block for doing practical, real
+ world data analysis in Python.
+</longdescription>
+ <use>
+ <flag name="excel">Pull a few Python packages for Microsoft Excel i/o</flag>
+ <flag name="html">Enable HTML i/o via <pkg>dev-python/beautifulsoup</pkg></flag>
+ <flag name="R">Enable support for R via <pkg>dev-python/rpy</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">pandas</remote-id>
+ <remote-id type="github">pydata/pandas</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pandas/pandas-0.16.2.ebuild b/dev-python/pandas/pandas-0.16.2.ebuild
new file mode 100644
index 000000000000..abe7e64f9143
--- /dev/null
+++ b/dev-python/pandas/pandas-0.16.2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils flag-o-matic virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="http://pandas.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc excel html test R"
+
+EXTRA_DEPEND="
+ >=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/pymysql[${PYTHON_USEDEP}]
+ dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ "
+CDEPEND="
+ >dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
+ !~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ dev-python/xlrd[$(python_gen_usedep 'python2_7')]
+ dev-python/xlwt[$(python_gen_usedep 'python2_7')]
+ x11-misc/xclip
+ )
+ test? (
+ ${EXTRA_DEPEND}
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )"
+# dev-python/statsmodels invokes a circular dep
+# hence rm from doc? ( ), again
+RDEPEND="${CDEPEND}
+ >=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytables[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ excel? (
+ dev-python/xlrd[$(python_gen_usedep 'python2_7')]
+ dev-python/xlwt[$(python_gen_usedep 'python2_7')]
+ || (
+ dev-python/xlsxwriter[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+ )
+ )
+ html? (
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ || (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}] )
+ )
+ R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # To build docs the need be located in $BUILD_DIR,
+ # else PYTHONPATH points to unusable modules.
+ if use doc; then
+ cd "${BUILD_DIR}"/lib || die
+ cp -ar "${S}"/doc . && cd doc || die
+ LANG=C PYTHONPATH=. "${EPYTHON}" make.py html || die
+ fi
+}
+
+python_test() {
+ local test_pandas='not network and not disabled'
+ [[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ VIRTUALX_COMMAND="nosetests"
+ PYTHONPATH=. MPLCONFIGDIR=. HOME=. \
+ virtualmake --verbosity=3 -A "${test_pandas}" pandas
+ popd > /dev/null
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+ einfo "An initial build of docs is absent of references to statsmodels"
+ einfo "due to circular dependency. To have them included, emerge"
+ einfo "statsmodels next and re-emerge pandas with USE doc"
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ local x
+ elog "Please install"
+ for x in ${EXTRA_DEPEND}; do
+ optfeature "additional functionality" "${x%%[*}"
+ done
+}
diff --git a/dev-python/pandas/pandas-9999.ebuild b/dev-python/pandas/pandas-9999.ebuild
new file mode 100644
index 000000000000..8eea8e99e511
--- /dev/null
+++ b/dev-python/pandas/pandas-9999.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils flag-o-matic git-r3 virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="http://pandas.pydata.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/pydata/pandas.git"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS=""
+IUSE="doc excel html test R"
+
+EXTRA_DEPEND="
+ >=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/pymysql[${PYTHON_USEDEP}]
+ dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/xlsxwriter[${PYTHON_USEDEP}]
+ "
+CDEPEND="
+ >dev-python/numpy-1.7[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
+ !~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ doc? (
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+ dev-python/xlrd[$(python_gen_usedep 'python2_7')]
+ dev-python/xlwt[$(python_gen_usedep 'python2_7')]
+ x11-misc/xclip
+ )
+ test? (
+ ${EXTRA_DEPEND}
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )"
+# dev-python/statsmodels invokes a circular dep
+# hence rm from doc? ( ), again
+RDEPEND="${CDEPEND}
+ >=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytables[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ excel? (
+ >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+ dev-python/xlrd[$(python_gen_usedep 'python2_7')]
+ dev-python/xlwt[$(python_gen_usedep 'python2_7')]
+ )
+ html? (
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ || (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}] )
+ )
+ R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # To build docs the need be located in $BUILD_DIR,
+ # else PYTHONPATH points to unusable modules.
+ if use doc; then
+ cd "${BUILD_DIR}"/lib || die
+ cp -ar "${S}"/doc . && cd doc || die
+ LANG=C PYTHONPATH=. "${EPYTHON}" make.py html || die
+ fi
+}
+
+python_test() {
+ local test_pandas='not network and not disabled'
+ [[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ VIRTUALX_COMMAND="nosetests"
+ PYTHONPATH=. MPLCONFIGDIR=. HOME=. \
+ virtualmake --verbosity=3 -A "${test_pandas}" pandas
+ popd > /dev/null
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+ einfo "An initial build of docs is absent of references to statsmodels"
+ einfo "due to circular dependency. To have them included, emerge"
+ einfo "statsmodels next and re-emerge pandas with USE doc"
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ local x
+ elog "Please install"
+ for x in ${EXTRA_DEPEND}; do
+ optfeature "additional functionality" "${x%%[*}"
+ done
+}
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
new file mode 100644
index 000000000000..3a9ed3e04bab
--- /dev/null
+++ b/dev-python/paramiko/Manifest
@@ -0,0 +1,5 @@
+DIST paramiko-1.10.1.tar.gz 822839 SHA256 5fac0dbb3d7498bf4a7e1b8fac920cb8977a90e260d43d7e30fac2d6dd5fbabc SHA512 89d2333592ceff1bb5de9d9cbc4e6b44d29e470c26eeecfe0f34c3506cbead87934347ccfa5a1ac72a70024ce4961858f01b51990569d99971dc24177eac407f WHIRLPOOL 91873637f22068264033a41da517e5b2504bc779aee0ca0252ea0158b80dad1cc472310d40e1a8dfc33e25d86ce80748935e459a0b2e591da9d279127ee0629f
+DIST paramiko-1.12.2.tar.gz 907747 SHA256 d73bdafd1cb7181f7fd22164b55578f2389487aa50e58fa915b22e2f539b50cb SHA512 a8247c27ef3068b1c73ca39d7ce0da36ea7cbf28bdac805c92fd73bbe57c7f84e38433d330d54ea850ef952c57ff596dfb6627caee8e8b9c4ce69b1958fed094 WHIRLPOOL 13b03cb6fa1ec09451a45cba148b6d9790b75affb74bacfb20ada00ffb4e5cc7db5de6a6eda24433882ad305c76ccb1bb29e1e7170d53420e5b2c055b3b98dc3
+DIST paramiko-1.13.0.tar.gz 1108744 SHA256 920d68fdb549189c7ebff89f432cc242161d76554a91ae38fad94e7ab70349f5 SHA512 b05b93eb27600ac9df178aa4f045ee6b20f0052ea5e3f937d4eb6c6e1940208b02f9d6ddabf3070edaf4a68b86ca817ae77ebfb24a7d1dc725be86f99b071fc6 WHIRLPOOL 47baf72cbc9f51532477cc1f4665c6c7a66eaf47eb5b856d506cc4286d832cdda2881f86ef919837dfe43e6db99c186a127d01dbecf012d4b4d4afbd1a7215df
+DIST paramiko-1.15.1.tar.gz 1219256 SHA256 6ed97e2281bb48728692cdc621f6b86a65fdc1d46b178ce250cfec10b977a04c SHA512 146076792e42965aaca08e74630c18422ed767a3da64c63fa63da9a464e1dade5a3f77635a5aae569e5a382d9a31eb4ee738399cd93895e355b4a57119c99f1c WHIRLPOOL 4f4bb6276363130d14c80e55d5c6858712a25404735e9671969d79ff1d1b1399918e24b6c80b275bbf76373a95cb407ca34fba5da8bc92bcd1322e4651ad1354
+DIST paramiko-1.15.2.tar.gz 1220578 SHA256 4f56a671a3eecbb76e6143e6e4ca007d503a39aa79aa9e14ade667fa53fd6e55 SHA512 c8fe6c5e4c99ac0922c08f3c006b55852f54c3043eb3ddae5b6e5fba0592bf08b10ec399ec6865bbe84c759c8a15a00722247409b666f42e93b18bfd658158cd WHIRLPOOL 477e9e3d93f4faa9471c2a3e87ac96e7fe0ecdbdfb838b348ba2873e4bc408e78a5840f02002db6bbea18de8b9e2c83240db5a3c16543e4949ea62250de7a26a
diff --git a/dev-python/paramiko/metadata.xml b/dev-python/paramiko/metadata.xml
new file mode 100644
index 000000000000..3684fd934053
--- /dev/null
+++ b/dev-python/paramiko/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+This is a library for making SSH2 connections (client or server).
+Emphasis is on using SSH2 as an alternative to SSL for making secure
+connections between python scripts. All major ciphers and hash methods
+are supported. SFTP client mode is now supported too.
+</longdescription>
+ <longdescription lang="ja">
+ã“ã‚Œã¯SSH2コãƒã‚¯ã‚·ãƒ§ãƒ³(クライアントã¨ã‚µãƒ¼ãƒãƒ¼)を作り出ã™ãŸã‚ã®ãƒ©ã‚¤ãƒ–ラリã§ã™ã€‚注
+目点ã¯Python言語スクリプト間ã®ã‚»ã‚­ãƒ¥ã‚¢ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’作り出ã™SSLã®ä»£ç”¨ã«SSHを利
+用ã—ã¦ã„る所ã§ã™ã€‚有åãªCipherã¨Hash処ç†ã®å…¨ã¦ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚SFTPクライ
+アントもサãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">paramiko</remote-id>
+ <remote-id type="github">paramiko/paramiko</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paramiko/paramiko-1.10.1.ebuild b/dev-python/paramiko/paramiko-1.10.1.ebuild
new file mode 100644
index 000000000000..b5e1fc876107
--- /dev/null
+++ b/dev-python/paramiko/paramiko-1.10.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="https://github.com/paramiko/paramiko/ http://pypi.python.org/pypi/paramiko"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND=">=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paramiko/paramiko-1.12.2.ebuild b/dev-python/paramiko/paramiko-1.12.2.ebuild
new file mode 100644
index 000000000000..cd18bbed72d3
--- /dev/null
+++ b/dev-python/paramiko/paramiko-1.12.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="https://github.com/paramiko/paramiko/ http://pypi.python.org/pypi/paramiko"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND=">=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]
+ dev-python/ecdsa"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paramiko/paramiko-1.13.0.ebuild b/dev-python/paramiko/paramiko-1.13.0.ebuild
new file mode 100644
index 000000000000..e3ae8f1d7ce2
--- /dev/null
+++ b/dev-python/paramiko/paramiko-1.13.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="http://www.paramiko.org/ https://github.com/paramiko/paramiko/ http://pypi.python.org/pypi/paramiko/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND=">=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]
+ >=dev-python/ecdsa-0.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# Required for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paramiko/paramiko-1.15.1-r1.ebuild b/dev-python/paramiko/paramiko-1.15.1-r1.ebuild
new file mode 100644
index 000000000000..b6c6c04f5932
--- /dev/null
+++ b/dev-python/paramiko/paramiko-1.15.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="http://www.paramiko.org/ https://github.com/paramiko/paramiko/ http://pypi.python.org/pypi/paramiko/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]
+ !=dev-python/pycrypto-2.4[${PYTHON_USEDEP}]
+ >=dev-python/ecdsa-0.11[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# Required for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paramiko/paramiko-1.15.2.ebuild b/dev-python/paramiko/paramiko-1.15.2.ebuild
new file mode 100644
index 000000000000..327973d633eb
--- /dev/null
+++ b/dev-python/paramiko/paramiko-1.15.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="http://www.paramiko.org/ https://github.com/paramiko/paramiko/ http://pypi.python.org/pypi/paramiko/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]
+ !=dev-python/pycrypto-2.4[${PYTHON_USEDEP}]
+ >=dev-python/ecdsa-0.11[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# Required for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paramunittest/Manifest b/dev-python/paramunittest/Manifest
new file mode 100644
index 000000000000..07e6d2635409
--- /dev/null
+++ b/dev-python/paramunittest/Manifest
@@ -0,0 +1 @@
+DIST ParamUnittest-0.2.tar.gz 2482 SHA256 a14509549171465c3a444fa631cb7066787e05970777e6370fbb17cde148e74e SHA512 ad39def15e5983ebe6b018b10f966b7f83085facccc50e71010f88b8bcfdb704e889ce021535b2e4dd84bc1ae413088e7c028990d934d4fe28d3186b4b01a3b7 WHIRLPOOL 48c923527872f075421144c4e9a487ffd974e18a511f292c5746202fe29a803778c1c4c239bceb90fcb1742f76faab5a64b91906b7801c79f6dfa249e3d8ba74
diff --git a/dev-python/paramunittest/metadata.xml b/dev-python/paramunittest/metadata.xml
new file mode 100644
index 000000000000..57fc2a75dfe5
--- /dev/null
+++ b/dev-python/paramunittest/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">ParamUnittest</remote-id>
+ <remote-id type="github">rik0/ParamUnittest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paramunittest/paramunittest-0.2.ebuild b/dev-python/paramunittest/paramunittest-0.2.ebuild
new file mode 100644
index 000000000000..9ae13c1abf85
--- /dev/null
+++ b/dev-python/paramunittest/paramunittest-0.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN=ParamUnittest
+
+DESCRIPTION="Simple extension to have parametrized unit tests."
+HOMEPAGE="https://github.com/rik0/ParamUnittest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/parse-type/Manifest b/dev-python/parse-type/Manifest
new file mode 100644
index 000000000000..e5a0767b702a
--- /dev/null
+++ b/dev-python/parse-type/Manifest
@@ -0,0 +1 @@
+DIST parse_type-0.3.4.tar.gz 62199 SHA256 3dd0b323bafcb8c25e000ce5589042a1c99cba9c3bec77b9f591e46bc9606147 SHA512 5ef80ed820cc7e2f4fa8fd0fbf64160c81f77b4a1af38015e3ec7e3be3f613ecc2211d5dba15ef600cbe11c556a2c1fb6cdc8374c52c608914aa903fad84267f WHIRLPOOL 236c047e7cbbb22bdde0424bc446404141694492cf4b0c7bb63f99f6fc8c7fa2a02b4a97e4c6b3d957a2d2a2156b3a514e9614761011f20ca4414a363c551e56
diff --git a/dev-python/parse-type/metadata.xml b/dev-python/parse-type/metadata.xml
new file mode 100644
index 000000000000..2a20f8bc86c2
--- /dev/null
+++ b/dev-python/parse-type/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">parse_type</remote-id>
+ <remote-id type="github">jenisys/parse_type</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/parse-type/parse-type-0.3.4.ebuild b/dev-python/parse-type/parse-type-0.3.4.ebuild
new file mode 100644
index 000000000000..87577c185f63
--- /dev/null
+++ b/dev-python/parse-type/parse-type-0.3.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplifies to build parse types based on the parse module"
+HOMEPAGE="https://github.com/jenisys/parse_type"
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/parse-1.6[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' 'python2*' 'python3_3')
+"
+
+python_test() {
+ py.test tests || "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/parse/Manifest b/dev-python/parse/Manifest
new file mode 100644
index 000000000000..c1a0bb1dca4e
--- /dev/null
+++ b/dev-python/parse/Manifest
@@ -0,0 +1 @@
+DIST parse-1.6.4.tar.gz 24025 SHA256 a7cccad221632f1e2553d585b428b20d362738311e6f58933ef46b4389c16054 SHA512 2848e3331f1b2604bb5f1a8a0084ff0b7e0f12b2d3832395461f4b76729637783250d18a134048106ffa6768794f38fc51534dbe5a88db303f0426530587dcee WHIRLPOOL 2c3b91ec933ac206aaf2c2201b3108bb291a448f458d79aa2e6db5cdee676e05c200f1bf60f3f9810161e126c7ae4633efe498276fb2d1b270b10ebc4ca2047c
diff --git a/dev-python/parse/metadata.xml b/dev-python/parse/metadata.xml
new file mode 100644
index 000000000000..8cc34e969fc7
--- /dev/null
+++ b/dev-python/parse/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">parse</remote-id>
+ <remote-id type="github">r1chardj0n3s/parse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/parse/parse-1.6.4.ebuild b/dev-python/parse/parse-1.6.4.ebuild
new file mode 100644
index 000000000000..68e397a104b9
--- /dev/null
+++ b/dev-python/parse/parse-1.6.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="parse() is the opposite of format()"
+HOMEPAGE="https://github.com/r1chardj0n3s/parse"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" test_parse.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/parsedatetime/Manifest b/dev-python/parsedatetime/Manifest
new file mode 100644
index 000000000000..b86c2debf336
--- /dev/null
+++ b/dev-python/parsedatetime/Manifest
@@ -0,0 +1 @@
+DIST parsedatetime-1.5.tar.gz 61150 SHA256 4698420df9765f8f4ea41d9e771874ea8dff907e695f26634919b41f39590980 SHA512 cd76711f403e1344a6d4ac56c7d39ad280a47c10333a09ec2a65152b79f7a284d1d6ba3af7b7d7df9a32f650036012a115a3811d34f5dfe13582acec2ee5f130 WHIRLPOOL c90b54c16dfac0f98ce18c6595eed42ee09f0234e2314d054d64d3a01fc3c47a692a76dd867f843b67d1e76ce48cd910d581c68f63be03e40fe52e9119b66507
diff --git a/dev-python/parsedatetime/metadata.xml b/dev-python/parsedatetime/metadata.xml
new file mode 100644
index 000000000000..3be1e82eb364
--- /dev/null
+++ b/dev-python/parsedatetime/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/parsedatetime/parsedatetime-1.5.ebuild b/dev-python/parsedatetime/parsedatetime-1.5.ebuild
new file mode 100644
index 000000000000..a6b437d2313d
--- /dev/null
+++ b/dev-python/parsedatetime/parsedatetime-1.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Parse human-readable date/time strings"
+HOMEPAGE="https://github.com/bear/parsedatetime"
+SRC_URI="https://github.com/bear/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} run_tests.py || die
+}
diff --git a/dev-python/parsley/Manifest b/dev-python/parsley/Manifest
new file mode 100644
index 000000000000..9f86b23eb8a3
--- /dev/null
+++ b/dev-python/parsley/Manifest
@@ -0,0 +1 @@
+DIST parsley-1.2.tar.gz 106385 SHA256 1b5465f8244fd930929fe99c8ef710ab3d65d8a12814f73181eeb1ce22fea416 SHA512 55810ec6c77c6ed60bd84c34bffbeba6f65132907e46ee9b85c8f27215e2be08960edc98ae20cdd431bd74d6cf0ca494ca914e8b1cfd091c549e82bb019490e5 WHIRLPOOL 1a3f59072d642148f18049d31b92f3d2873ac337200e53ab73faf91398fbbb8876909d9e5c37ac90b743ef8a0ab6c629b08a3c3f6668e11f213d7aa9a5f180a8
diff --git a/dev-python/parsley/metadata.xml b/dev-python/parsley/metadata.xml
new file mode 100644
index 000000000000..bf01c094db61
--- /dev/null
+++ b/dev-python/parsley/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">python-parsley/parsley</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/parsley/parsley-1.2.ebuild b/dev-python/parsley/parsley-1.2.ebuild
new file mode 100644
index 000000000000..129dcb03dedb
--- /dev/null
+++ b/dev-python/parsley/parsley-1.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Pattern-Matching Language Based on OMeta and Python"
+HOMEPAGE="https://github.com/python-parsley/parsley"
+SRC_URI="https://github.com/python-${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/passlib/Manifest b/dev-python/passlib/Manifest
new file mode 100644
index 000000000000..c150f79dfdda
--- /dev/null
+++ b/dev-python/passlib/Manifest
@@ -0,0 +1,2 @@
+DIST passlib-1.6.1.tar.gz 395855 SHA256 00cfb564feb2d97ebaf6b28acdc9277a0c73c3c1df7b2a7b65605c76e724177b SHA512 93c047dc0a06f19a20e5da97db43c5c76e06d69baeac15cc932ef0306ae22dac5c1a3925889a140fd181ab4e00ac513ec829951e15babf5aad89bd2d08dc9907 WHIRLPOOL b0840a1fd903000db06c1739d902e01c3cc4fb9f63692b0316fd60bd3393fa5be134037476da135306cc258fe38853269ebbb424d13f45edda9dd1c1b370d957
+DIST passlib-1.6.2.tar.gz 408950 SHA256 e987f6000d16272f75314c7147eb015727e8532a3b747b1a8fb58e154c68392d SHA512 4c58df875549d9d4a5a9cb5d7b8e853b2614cab1c67a35d0d113fcd6332bbe0f5b6d2521d71eade2e020d0a42cd9ce0a6e866c82bc1a840391f9005ba0baceea WHIRLPOOL 74bc9eceb460108d435eb25a46db1dd91acef146c4972fffcd065a8774247faf423ddcb3bfe6d143a65b1f2a681aa562424ba881bf71e088633aa201c7ceb3d9
diff --git a/dev-python/passlib/metadata.xml b/dev-python/passlib/metadata.xml
new file mode 100644
index 000000000000..03438f6f4e73
--- /dev/null
+++ b/dev-python/passlib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ comprehensive password hashing framework supporting over 20 schemes
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">passlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/passlib/passlib-1.6.1-r1.ebuild b/dev-python/passlib/passlib-1.6.1-r1.ebuild
new file mode 100644
index 000000000000..3d60e4682cd1
--- /dev/null
+++ b/dev-python/passlib/passlib-1.6.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Password hashing framework supporting over 20 schemes"
+HOMEPAGE="http://code.google.com/p/passlib/"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
+}
diff --git a/dev-python/passlib/passlib-1.6.2.ebuild b/dev-python/passlib/passlib-1.6.2.ebuild
new file mode 100644
index 000000000000..829deb71169d
--- /dev/null
+++ b/dev-python/passlib/passlib-1.6.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Password hashing framework supporting over 20 schemes"
+HOMEPAGE="http://code.google.com/p/passlib/"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="test doc"
+
+RDEPEND="dev-python/bcrypt[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ # https://code.google.com/p/passlib/issues/detail?id=50
+ # py3 on testing choaks on the suite
+ if ! python_is_python3; then
+ nosetests -w "${BUILD_DIR}"/lib \
+ -e test_90_django_reference -e test_91_django_generation \
+ -e test_77_fuzz_input -e test_config \
+ -e test_registry.py || die "Tests fail with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
+}
diff --git a/dev-python/passwordmeter/Manifest b/dev-python/passwordmeter/Manifest
new file mode 100644
index 000000000000..0831c32e5c63
--- /dev/null
+++ b/dev-python/passwordmeter/Manifest
@@ -0,0 +1 @@
+DIST passwordmeter-0.1.7.tar.gz 51122 SHA256 7342315ea145cc22c5403c93f59e6b87c3643767646ad86039c7e2a2000eeace SHA512 a5911af9a1caed35ecc881d324ab0514de54babc41b9fd2ba91542fdef3d0875a737d181023caeb81537006777b71d63806e5fd2118c6e5b74d8b87c7d6866bf WHIRLPOOL fe2b6025ffbee53109f5aac7ea11c3a5075fe4e22690e3e94636c10cf31131cb5e5d0b0be9e74bf95a0494d0ef00ec61a1d7e8f4f7f2b83be9c1d26a356a6521
diff --git a/dev-python/passwordmeter/metadata.xml b/dev-python/passwordmeter/metadata.xml
new file mode 100644
index 000000000000..ed769ec3d925
--- /dev/null
+++ b/dev-python/passwordmeter/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">passwordmeter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/passwordmeter/passwordmeter-0.1.7-r1.ebuild b/dev-python/passwordmeter/passwordmeter-0.1.7-r1.ebuild
new file mode 100644
index 000000000000..42d9f3747b2e
--- /dev/null
+++ b/dev-python/passwordmeter/passwordmeter-0.1.7-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A password strength measuring library"
+HOMEPAGE="https://pypi.python.org/pypi/passwordmeter/ https://github.com/cadithealth/passwordmeter"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/asset-0.6.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ sed \
+ -e '/distribute/d' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbose || die
+}
diff --git a/dev-python/paste/Manifest b/dev-python/paste/Manifest
new file mode 100644
index 000000000000..2b6d4408db17
--- /dev/null
+++ b/dev-python/paste/Manifest
@@ -0,0 +1,2 @@
+DIST Paste-1.7.5.1.tar.gz 523304 SHA256 11645842ba8ec986ae8cfbe4c6cacff5c35f0f4527abf4f5581ae8b4ad49c0b6 SHA512 058a86dec41f132c22b14f3bc882d9c02c04bb0cc9ea5fc5371911698c3d7a89859742a4b806ad388c7fe37289b816db16c50bce21f56c8371293c4d91b5ccb6 WHIRLPOOL 5928a6f20c136a77576b653df34337f1eb110845b8d53d7637eeb6c792fe7f10fe622adefec382378aef16c1abee91c37e90e5fe17dbaa07046681a393f6c5c8
+DIST Paste-2.0.2.tar.gz 627842 SHA256 adac3ac893a2dac6b8ffd49901377dd6819e05be3436b374d698641071daba99 SHA512 32eddeab1bab9d0b1a30848d89613b40ed02a77912f7ef5a86880e1c1a860c5637cd45114bd58cc5ac84410a569ede67e6ebd7afd2007c588433d54d6940f529 WHIRLPOOL 08c997079e632b92e592211d942298235228ec22b997d549f608552f139a941cdd47a5c2da859867c279cab0ad7f388823f1af163ed7ea8aeaaa7558407e3750
diff --git a/dev-python/paste/files/paste-1.7.5.1-email-mime.patch b/dev-python/paste/files/paste-1.7.5.1-email-mime.patch
new file mode 100644
index 000000000000..4c06997b0809
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-email-mime.patch
@@ -0,0 +1,19 @@
+--- a/paste/exceptions/reporter.py
++++ b/paste/exceptions/reporter.py
+@@ -1,8 +1,14 @@
+ # (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
+ # Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
+
+-from email.MIMEText import MIMEText
+-from email.MIMEMultipart import MIMEMultipart
++try:
++ from email.MIMEText import MIMEText
++except:
++ from email.mime.text import MIMEText
++try:
++ from email.MIMEMultipart import MIMEMultipart
++except:
++ from email.mime.multipart import MIMEMultipart
+ import smtplib
+ import time
+ try:
diff --git a/dev-python/paste/files/paste-1.7.5.1-fix-tests-for-pypy.patch b/dev-python/paste/files/paste-1.7.5.1-fix-tests-for-pypy.patch
new file mode 100644
index 000000000000..b5e9430c3bb9
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-fix-tests-for-pypy.patch
@@ -0,0 +1,24 @@
+Ignore the exception detail for two exceptions that are slightly
+different on pypy.
+
+diff -r 7f90a96378ed tests/test_template.txt
+--- a/tests/test_template.txt Mon Mar 05 21:14:08 2012 +0100
++++ b/tests/test_template.txt Wed May 16 23:29:46 2012 +0200
+@@ -6,7 +6,7 @@
+ 'Hi Ian'
+ >>> Template('Hi {{repr(name)}}').substitute(name='Ian')
+ "Hi 'Ian'"
+- >>> Template('Hi {{name+1}}').substitute(name='Ian')
++ >>> Template('Hi {{name+1}}').substitute(name='Ian') #doctest: +IGNORE_EXCEPTION_DETAIL
+ Traceback (most recent call last):
+ ...
+ TypeError: cannot concatenate 'str' and 'int' objects at line 1 column 6
+@@ -125,7 +125,7 @@
+ >>> sub('{{default x=1}}{{x}}')
+ '1'
+ >>> # The normal case:
+- >>> sub('{{x}}')
++ >>> sub('{{x}}') #doctest: +IGNORE_EXCEPTION_DETAIL
+ Traceback (most recent call last):
+ ...
+ NameError: name 'x' is not defined at line 1 column 3
diff --git a/dev-python/paste/files/paste-1.7.5.1-hmac.patch b/dev-python/paste/files/paste-1.7.5.1-hmac.patch
new file mode 100644
index 000000000000..c86d0f977cfe
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-hmac.patch
@@ -0,0 +1,11 @@
+--- a/paste/auth/cookie.py
++++ b/paste/auth/cookie.py
+@@ -52,7 +52,7 @@
+
+ def make_time(value):
+ return time.strftime("%Y%m%d%H%M", time.gmtime(value))
+-_signature_size = len(hmac.new('x', 'x', sha1).digest())
++_signature_size = len(hmac.new(b'x', b'x', sha1).digest())
+ _header_size = _signature_size + len(make_time(time.time()))
+
+ # @@: Should this be using urllib.quote?
diff --git a/dev-python/paste/files/paste-1.7.5.1-python27-lambda.patch b/dev-python/paste/files/paste-1.7.5.1-python27-lambda.patch
new file mode 100644
index 000000000000..91dcad137153
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-python27-lambda.patch
@@ -0,0 +1,12 @@
+diff -r 30425672adf7 paste/auth/cookie.py
+--- a/paste/auth/cookie.py Wed Jun 23 17:15:45 2010 -0500
++++ b/paste/auth/cookie.py Mon Aug 02 20:06:43 2010 -0700
+@@ -62,7 +62,7 @@
+ _decode = [(v, k) for (k, v) in _encode]
+ _decode.reverse()
+ def encode(s, sublist = _encode):
+- return reduce((lambda a, (b, c): a.replace(b, c)), sublist, str(s))
++ return reduce((lambda a, b: a.replace(b[0], b[1])), sublist, str(s))
+ decode = lambda s: encode(s, _decode)
+
+ class CookieTooLarge(RuntimeError):
diff --git a/dev-python/paste/files/paste-1.7.5.1-rfc822.patch b/dev-python/paste/files/paste-1.7.5.1-rfc822.patch
new file mode 100644
index 000000000000..e0950fcaabef
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-rfc822.patch
@@ -0,0 +1,14 @@
+--- a/paste/httpheaders.py
++++ b/paste/httpheaders.py
+@@ -137,7 +137,10 @@
+ import mimetypes
+ import urllib2
+ import re
+-from rfc822 import formatdate, parsedate_tz, mktime_tz
++try:
++ from rfc822 import formatdate, parsedate_tz, mktime_tz
++except ImportError:
++ from email.utils import formatdate, parsedate_tz, mktime_tz
+ from time import time as now
+ from httpexceptions import HTTPBadRequest
+
diff --git a/dev-python/paste/files/paste-1.7.5.1-types.patch b/dev-python/paste/files/paste-1.7.5.1-types.patch
new file mode 100644
index 000000000000..87ea53c39648
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-types.patch
@@ -0,0 +1,57 @@
+--- a/paste/lint.py
++++ b/paste/lint.py
+@@ -111,7 +111,6 @@
+
+ import re
+ import sys
+-from types import DictType, StringType, TupleType, ListType
+ import warnings
+
+ header_re = re.compile(r'^[a-zA-Z][a-zA-Z0-9\-_]*$')
+@@ -282,7 +281,7 @@
+ "Iterator garbage collected without being closed")
+
+ def check_environ(environ):
+- assert type(environ) is DictType, (
++ assert isinstance(environ,dict), (
+ "Environment is not of the right type: %r (environment: %r)"
+ % (type(environ), environ))
+
+@@ -309,11 +308,11 @@
+ if '.' in key:
+ # Extension, we don't care about its type
+ continue
+- assert type(environ[key]) is StringType, (
++ assert isinstance(environ[key], str), (
+ "Environmental variable %s is not a string: %r (value: %r)"
+ % (key, type(environ[key]), environ[key]))
+
+- assert type(environ['wsgi.version']) is TupleType, (
++ assert isinstance(environ['wsgi.version'], tuple), (
+ "wsgi.version should be a tuple (%r)" % environ['wsgi.version'])
+ assert environ['wsgi.url_scheme'] in ('http', 'https'), (
+ "wsgi.url_scheme unknown: %r" % environ['wsgi.url_scheme'])
+@@ -359,7 +358,7 @@
+ % (wsgi_errors, attr))
+
+ def check_status(status):
+- assert type(status) is StringType, (
++ assert isinstance(status, str), (
+ "Status must be a string (not %r)" % status)
+ # Implicitly check that we can turn it into an integer:
+ status_code = status.split(None, 1)[0]
+@@ -374,12 +373,12 @@
+ % status, WSGIWarning)
+
+ def check_headers(headers):
+- assert type(headers) is ListType, (
++ assert isinstance(headers,list), (
+ "Headers (%r) must be of type list: %r"
+ % (headers, type(headers)))
+ header_names = {}
+ for item in headers:
+- assert type(item) is TupleType, (
++ assert isinstance(item, tuple), (
+ "Individual headers (%r) must be of type tuple: %r"
+ % (item, type(item)))
+ assert len(item) == 2
diff --git a/dev-python/paste/files/paste-1.7.5.1-unbundle-stdlib.patch b/dev-python/paste/files/paste-1.7.5.1-unbundle-stdlib.patch
new file mode 100644
index 000000000000..b389df2482c7
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-unbundle-stdlib.patch
@@ -0,0 +1,1211 @@
+--- a/paste/debug/fsdiff.py
++++ b/paste/debug/fsdiff.py
+@@ -12,7 +12,10 @@
+ import os
+ from fnmatch import fnmatch
+ from datetime import datetime
+-from paste.util.UserDict24 import IterableUserDict
++try:
++ from UserDict import IterableUserDict
++except ImportError:
++ from paste.util.UserDict24 import IterableUserDict
+ import operator
+ import re
+
+--- a/paste/debug/doctest_webapp.py
++++ b/paste/debug/doctest_webapp.py
+@@ -8,10 +8,7 @@
+ These are functions for use when doctest-testing a document.
+ """
+
+-try:
+- import subprocess
+-except ImportError:
+- from paste.util import subprocess24 as subprocess
++import subprocess
+ import doctest
+ import os
+ import sys
+--- a/paste/debug/wdg_validate.py
++++ b/paste/debug/wdg_validate.py
+@@ -6,10 +6,7 @@
+ """
+
+ from cStringIO import StringIO
+-try:
+- import subprocess
+-except ImportError:
+- from paste.util import subprocess24 as subprocess
++import subprocess
+ from paste.response import header_value
+ import re
+ import cgi
+--- a/paste/fixture.py
++++ b/paste/fixture.py
+@@ -26,10 +26,7 @@
+ except ImportError:
+ from StringIO import StringIO
+ import re
+-try:
+- import subprocess
+-except ImportError:
+- from paste.util import subprocess24 as subprocess
++import subprocess
+
+ from paste import wsgilib
+ from paste import lint
+--- a/paste/util/subprocess24.py
++++ /dev/null
+@@ -1,1152 +0,0 @@
+-# subprocess - Subprocesses with accessible I/O streams
+-#
+-# For more information about this module, see PEP 324.
+-#
+-# This module should remain compatible with Python 2.2, see PEP 291.
+-#
+-# Copyright (c) 2003-2005 by Peter Astrand <astrand@lysator.liu.se>
+-#
+-# Licensed to PSF under a Contributor Agreement.
+-# See http://www.python.org/2.4/license for licensing details.
+-
+-r"""subprocess - Subprocesses with accessible I/O streams
+-
+-This module allows you to spawn processes, connect to their
+-input/output/error pipes, and obtain their return codes. This module
+-intends to replace several other, older modules and functions, like:
+-
+-os.system
+-os.spawn*
+-os.popen*
+-popen2.*
+-commands.*
+-
+-Information about how the subprocess module can be used to replace these
+-modules and functions can be found below.
+-
+-
+-
+-Using the subprocess module
+-===========================
+-This module defines one class called Popen:
+-
+-class Popen(args, bufsize=0, executable=None,
+- stdin=None, stdout=None, stderr=None,
+- preexec_fn=None, close_fds=False, shell=False,
+- cwd=None, env=None, universal_newlines=False,
+- startupinfo=None, creationflags=0):
+-
+-
+-Arguments are:
+-
+-args should be a string, or a sequence of program arguments. The
+-program to execute is normally the first item in the args sequence or
+-string, but can be explicitly set by using the executable argument.
+-
+-On UNIX, with shell=False (default): In this case, the Popen class
+-uses os.execvp() to execute the child program. args should normally
+-be a sequence. A string will be treated as a sequence with the string
+-as the only item (the program to execute).
+-
+-On UNIX, with shell=True: If args is a string, it specifies the
+-command string to execute through the shell. If args is a sequence,
+-the first item specifies the command string, and any additional items
+-will be treated as additional shell arguments.
+-
+-On Windows: the Popen class uses CreateProcess() to execute the child
+-program, which operates on strings. If args is a sequence, it will be
+-converted to a string using the list2cmdline method. Please note that
+-not all MS Windows applications interpret the command line the same
+-way: The list2cmdline is designed for applications using the same
+-rules as the MS C runtime.
+-
+-bufsize, if given, has the same meaning as the corresponding argument
+-to the built-in open() function: 0 means unbuffered, 1 means line
+-buffered, any other positive value means use a buffer of
+-(approximately) that size. A negative bufsize means to use the system
+-default, which usually means fully buffered. The default value for
+-bufsize is 0 (unbuffered).
+-
+-stdin, stdout and stderr specify the executed programs' standard
+-input, standard output and standard error file handles, respectively.
+-Valid values are PIPE, an existing file descriptor (a positive
+-integer), an existing file object, and None. PIPE indicates that a
+-new pipe to the child should be created. With None, no redirection
+-will occur; the child's file handles will be inherited from the
+-parent. Additionally, stderr can be STDOUT, which indicates that the
+-stderr data from the applications should be captured into the same
+-file handle as for stdout.
+-
+-If preexec_fn is set to a callable object, this object will be called
+-in the child process just before the child is executed.
+-
+-If close_fds is true, all file descriptors except 0, 1 and 2 will be
+-closed before the child process is executed.
+-
+-if shell is true, the specified command will be executed through the
+-shell.
+-
+-If cwd is not None, the current directory will be changed to cwd
+-before the child is executed.
+-
+-If env is not None, it defines the environment variables for the new
+-process.
+-
+-If universal_newlines is true, the file objects stdout and stderr are
+-opened as a text files, but lines may be terminated by any of '\n',
+-the Unix end-of-line convention, '\r', the Macintosh convention or
+-'\r\n', the Windows convention. All of these external representations
+-are seen as '\n' by the Python program. Note: This feature is only
+-available if Python is built with universal newline support (the
+-default). Also, the newlines attribute of the file objects stdout,
+-stdin and stderr are not updated by the communicate() method.
+-
+-The startupinfo and creationflags, if given, will be passed to the
+-underlying CreateProcess() function. They can specify things such as
+-appearance of the main window and priority for the new process.
+-(Windows only)
+-
+-
+-This module also defines two shortcut functions:
+-
+-call(*args, **kwargs):
+- Run command with arguments. Wait for command to complete, then
+- return the returncode attribute. The arguments are the same as for
+- the Popen constructor. Example:
+-
+- retcode = call(["ls", "-l"])
+-
+-
+-Exceptions
+-----------
+-Exceptions raised in the child process, before the new program has
+-started to execute, will be re-raised in the parent. Additionally,
+-the exception object will have one extra attribute called
+-'child_traceback', which is a string containing traceback information
+-from the childs point of view.
+-
+-The most common exception raised is OSError. This occurs, for
+-example, when trying to execute a non-existent file. Applications
+-should prepare for OSErrors.
+-
+-A ValueError will be raised if Popen is called with invalid arguments.
+-
+-
+-Security
+---------
+-Unlike some other popen functions, this implementation will never call
+-/bin/sh implicitly. This means that all characters, including shell
+-metacharacters, can safely be passed to child processes.
+-
+-
+-Popen objects
+-=============
+-Instances of the Popen class have the following methods:
+-
+-poll()
+- Check if child process has terminated. Returns returncode
+- attribute.
+-
+-wait()
+- Wait for child process to terminate. Returns returncode attribute.
+-
+-communicate(input=None)
+- Interact with process: Send data to stdin. Read data from stdout
+- and stderr, until end-of-file is reached. Wait for process to
+- terminate. The optional stdin argument should be a string to be
+- sent to the child process, or None, if no data should be sent to
+- the child.
+-
+- communicate() returns a tuple (stdout, stderr).
+-
+- Note: The data read is buffered in memory, so do not use this
+- method if the data size is large or unlimited.
+-
+-The following attributes are also available:
+-
+-stdin
+- If the stdin argument is PIPE, this attribute is a file object
+- that provides input to the child process. Otherwise, it is None.
+-
+-stdout
+- If the stdout argument is PIPE, this attribute is a file object
+- that provides output from the child process. Otherwise, it is
+- None.
+-
+-stderr
+- If the stderr argument is PIPE, this attribute is file object that
+- provides error output from the child process. Otherwise, it is
+- None.
+-
+-pid
+- The process ID of the child process.
+-
+-returncode
+- The child return code. A None value indicates that the process
+- hasn't terminated yet. A negative value -N indicates that the
+- child was terminated by signal N (UNIX only).
+-
+-
+-Replacing older functions with the subprocess module
+-====================================================
+-In this section, "a ==> b" means that b can be used as a replacement
+-for a.
+-
+-Note: All functions in this section fail (more or less) silently if
+-the executed program cannot be found; this module raises an OSError
+-exception.
+-
+-In the following examples, we assume that the subprocess module is
+-imported with "from subprocess import *".
+-
+-
+-Replacing /bin/sh shell backquote
+----------------------------------
+-output=`mycmd myarg`
+-==>
+-output = Popen(["mycmd", "myarg"], stdout=PIPE).communicate()[0]
+-
+-
+-Replacing shell pipe line
+--------------------------
+-output=`dmesg | grep hda`
+-==>
+-p1 = Popen(["dmesg"], stdout=PIPE)
+-p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
+-output = p2.communicate()[0]
+-
+-
+-Replacing os.system()
+----------------------
+-sts = os.system("mycmd" + " myarg")
+-==>
+-p = Popen("mycmd" + " myarg", shell=True)
+-sts = os.waitpid(p.pid, 0)
+-
+-Note:
+-
+-* Calling the program through the shell is usually not required.
+-
+-* It's easier to look at the returncode attribute than the
+- exitstatus.
+-
+-A more real-world example would look like this:
+-
+-try:
+- retcode = call("mycmd" + " myarg", shell=True)
+- if retcode < 0:
+- print >>sys.stderr, "Child was terminated by signal", -retcode
+- else:
+- print >>sys.stderr, "Child returned", retcode
+-except OSError, e:
+- print >>sys.stderr, "Execution failed:", e
+-
+-
+-Replacing os.spawn*
+--------------------
+-P_NOWAIT example:
+-
+-pid = os.spawnlp(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg")
+-==>
+-pid = Popen(["/bin/mycmd", "myarg"]).pid
+-
+-
+-P_WAIT example:
+-
+-retcode = os.spawnlp(os.P_WAIT, "/bin/mycmd", "mycmd", "myarg")
+-==>
+-retcode = call(["/bin/mycmd", "myarg"])
+-
+-
+-Vector example:
+-
+-os.spawnvp(os.P_NOWAIT, path, args)
+-==>
+-Popen([path] + args[1:])
+-
+-
+-Environment example:
+-
+-os.spawnlpe(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg", env)
+-==>
+-Popen(["/bin/mycmd", "myarg"], env={"PATH": "/usr/bin"})
+-
+-
+-Replacing os.popen*
+--------------------
+-pipe = os.popen(cmd, mode='r', bufsize)
+-==>
+-pipe = Popen(cmd, shell=True, bufsize=bufsize, stdout=PIPE).stdout
+-
+-pipe = os.popen(cmd, mode='w', bufsize)
+-==>
+-pipe = Popen(cmd, shell=True, bufsize=bufsize, stdin=PIPE).stdin
+-
+-
+-(child_stdin, child_stdout) = os.popen2(cmd, mode, bufsize)
+-==>
+-p = Popen(cmd, shell=True, bufsize=bufsize,
+- stdin=PIPE, stdout=PIPE, close_fds=True)
+-(child_stdin, child_stdout) = (p.stdin, p.stdout)
+-
+-
+-(child_stdin,
+- child_stdout,
+- child_stderr) = os.popen3(cmd, mode, bufsize)
+-==>
+-p = Popen(cmd, shell=True, bufsize=bufsize,
+- stdin=PIPE, stdout=PIPE, stderr=PIPE, close_fds=True)
+-(child_stdin,
+- child_stdout,
+- child_stderr) = (p.stdin, p.stdout, p.stderr)
+-
+-
+-(child_stdin, child_stdout_and_stderr) = os.popen4(cmd, mode, bufsize)
+-==>
+-p = Popen(cmd, shell=True, bufsize=bufsize,
+- stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
+-(child_stdin, child_stdout_and_stderr) = (p.stdin, p.stdout)
+-
+-
+-Replacing popen2.*
+-------------------
+-Note: If the cmd argument to popen2 functions is a string, the command
+-is executed through /bin/sh. If it is a list, the command is directly
+-executed.
+-
+-(child_stdout, child_stdin) = popen2.popen2("somestring", bufsize, mode)
+-==>
+-p = Popen(["somestring"], shell=True, bufsize=bufsize
+- stdin=PIPE, stdout=PIPE, close_fds=True)
+-(child_stdout, child_stdin) = (p.stdout, p.stdin)
+-
+-
+-(child_stdout, child_stdin) = popen2.popen2(["mycmd", "myarg"], bufsize, mode)
+-==>
+-p = Popen(["mycmd", "myarg"], bufsize=bufsize,
+- stdin=PIPE, stdout=PIPE, close_fds=True)
+-(child_stdout, child_stdin) = (p.stdout, p.stdin)
+-
+-The popen2.Popen3 and popen3.Popen4 basically works as subprocess.Popen,
+-except that:
+-
+-* subprocess.Popen raises an exception if the execution fails
+-* the capturestderr argument is replaced with the stderr argument.
+-* stdin=PIPE and stdout=PIPE must be specified.
+-* popen2 closes all filedescriptors by default, but you have to specify
+- close_fds=True with subprocess.Popen.
+-
+-
+-"""
+-
+-import sys
+-mswindows = (sys.platform == "win32")
+-
+-import os
+-import types
+-import traceback
+-
+-if mswindows:
+- import threading
+- import msvcrt
+- ## @@: Changed in Paste
+- ## Since this module is only used on pre-python-2.4 systems, they probably
+- ## don't have _subprocess installed, but hopefully have the win32 stuff
+- ## installed.
+- if 1: # <-- change this to use pywin32 instead of the _subprocess driver
+- import pywintypes
+- from win32api import GetStdHandle, STD_INPUT_HANDLE, \
+- STD_OUTPUT_HANDLE, STD_ERROR_HANDLE
+- from win32api import GetCurrentProcess, DuplicateHandle, \
+- GetModuleFileName, GetVersion
+- from win32con import DUPLICATE_SAME_ACCESS, SW_HIDE
+- from win32pipe import CreatePipe
+- from win32process import CreateProcess, STARTUPINFO, \
+- GetExitCodeProcess, STARTF_USESTDHANDLES, \
+- STARTF_USESHOWWINDOW, CREATE_NEW_CONSOLE
+- from win32event import WaitForSingleObject, INFINITE, WAIT_OBJECT_0
+- else:
+- from _subprocess import *
+- class STARTUPINFO:
+- dwFlags = 0
+- hStdInput = None
+- hStdOutput = None
+- hStdError = None
+- class pywintypes:
+- error = IOError
+-else:
+- import select
+- import errno
+- import fcntl
+- import pickle
+-
+-__all__ = ["Popen", "PIPE", "STDOUT", "call"]
+-
+-try:
+- MAXFD = os.sysconf("SC_OPEN_MAX")
+-except:
+- MAXFD = 256
+-
+-# True/False does not exist on 2.2.0
+-try:
+- False
+-except NameError:
+- False = 0
+- True = 1
+-
+-_active = []
+-
+-def _cleanup():
+- for inst in _active[:]:
+- inst.poll()
+-
+-PIPE = -1
+-STDOUT = -2
+-
+-
+-def call(*args, **kwargs):
+- """Run command with arguments. Wait for command to complete, then
+- return the returncode attribute.
+-
+- The arguments are the same as for the Popen constructor. Example:
+-
+- retcode = call(["ls", "-l"])
+- """
+- return Popen(*args, **kwargs).wait()
+-
+-
+-def list2cmdline(seq):
+- """
+- Translate a sequence of arguments into a command line
+- string, using the same rules as the MS C runtime:
+-
+- 1) Arguments are delimited by white space, which is either a
+- space or a tab.
+-
+- 2) A string surrounded by double quotation marks is
+- interpreted as a single argument, regardless of white space
+- contained within. A quoted string can be embedded in an
+- argument.
+-
+- 3) A double quotation mark preceded by a backslash is
+- interpreted as a literal double quotation mark.
+-
+- 4) Backslashes are interpreted literally, unless they
+- immediately precede a double quotation mark.
+-
+- 5) If backslashes immediately precede a double quotation mark,
+- every pair of backslashes is interpreted as a literal
+- backslash. If the number of backslashes is odd, the last
+- backslash escapes the next double quotation mark as
+- described in rule 3.
+- """
+-
+- # See
+- # http://msdn.microsoft.com/library/en-us/vccelng/htm/progs_12.asp
+- result = []
+- needquote = False
+- for arg in seq:
+- bs_buf = []
+-
+- # Add a space to separate this argument from the others
+- if result:
+- result.append(' ')
+-
+- needquote = (" " in arg) or ("\t" in arg)
+- if needquote:
+- result.append('"')
+-
+- for c in arg:
+- if c == '\\':
+- # Don't know if we need to double yet.
+- bs_buf.append(c)
+- elif c == '"':
+- # Double backspaces.
+- result.append('\\' * len(bs_buf)*2)
+- bs_buf = []
+- result.append('\\"')
+- else:
+- # Normal char
+- if bs_buf:
+- result.extend(bs_buf)
+- bs_buf = []
+- result.append(c)
+-
+- # Add remaining backspaces, if any.
+- if bs_buf:
+- result.extend(bs_buf)
+-
+- if needquote:
+- result.extend(bs_buf)
+- result.append('"')
+-
+- return ''.join(result)
+-
+-
+-class Popen(object):
+- def __init__(self, args, bufsize=0, executable=None,
+- stdin=None, stdout=None, stderr=None,
+- preexec_fn=None, close_fds=False, shell=False,
+- cwd=None, env=None, universal_newlines=False,
+- startupinfo=None, creationflags=0):
+- """Create new Popen instance."""
+- _cleanup()
+-
+- if not isinstance(bufsize, (int, long)):
+- raise TypeError("bufsize must be an integer")
+-
+- if mswindows:
+- if preexec_fn is not None:
+- raise ValueError("preexec_fn is not supported on Windows "
+- "platforms")
+- if close_fds:
+- raise ValueError("close_fds is not supported on Windows "
+- "platforms")
+- else:
+- # POSIX
+- if startupinfo is not None:
+- raise ValueError("startupinfo is only supported on Windows "
+- "platforms")
+- if creationflags != 0:
+- raise ValueError("creationflags is only supported on Windows "
+- "platforms")
+-
+- self.stdin = None
+- self.stdout = None
+- self.stderr = None
+- self.pid = None
+- self.returncode = None
+- self.universal_newlines = universal_newlines
+-
+- # Input and output objects. The general principle is like
+- # this:
+- #
+- # Parent Child
+- # ------ -----
+- # p2cwrite ---stdin---> p2cread
+- # c2pread <--stdout--- c2pwrite
+- # errread <--stderr--- errwrite
+- #
+- # On POSIX, the child objects are file descriptors. On
+- # Windows, these are Windows file handles. The parent objects
+- # are file descriptors on both platforms. The parent objects
+- # are None when not using PIPEs. The child objects are None
+- # when not redirecting.
+-
+- (p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite) = self._get_handles(stdin, stdout, stderr)
+-
+- self._execute_child(args, executable, preexec_fn, close_fds,
+- cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
+- p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite)
+-
+- if p2cwrite:
+- self.stdin = os.fdopen(p2cwrite, 'wb', bufsize)
+- if c2pread:
+- if universal_newlines:
+- self.stdout = os.fdopen(c2pread, 'rU', bufsize)
+- else:
+- self.stdout = os.fdopen(c2pread, 'rb', bufsize)
+- if errread:
+- if universal_newlines:
+- self.stderr = os.fdopen(errread, 'rU', bufsize)
+- else:
+- self.stderr = os.fdopen(errread, 'rb', bufsize)
+-
+- _active.append(self)
+-
+-
+- def _translate_newlines(self, data):
+- data = data.replace("\r\n", "\n")
+- data = data.replace("\r", "\n")
+- return data
+-
+-
+- if mswindows:
+- #
+- # Windows methods
+- #
+- def _get_handles(self, stdin, stdout, stderr):
+- """Construct and return tupel with IO objects:
+- p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
+- """
+- if stdin == None and stdout == None and stderr == None:
+- return (None, None, None, None, None, None)
+-
+- p2cread, p2cwrite = None, None
+- c2pread, c2pwrite = None, None
+- errread, errwrite = None, None
+-
+- if stdin == None:
+- p2cread = GetStdHandle(STD_INPUT_HANDLE)
+- elif stdin == PIPE:
+- p2cread, p2cwrite = CreatePipe(None, 0)
+- # Detach and turn into fd
+- p2cwrite = p2cwrite.Detach()
+- p2cwrite = msvcrt.open_osfhandle(p2cwrite, 0)
+- elif type(stdin) == types.IntType:
+- p2cread = msvcrt.get_osfhandle(stdin)
+- else:
+- # Assuming file-like object
+- p2cread = msvcrt.get_osfhandle(stdin.fileno())
+- p2cread = self._make_inheritable(p2cread)
+-
+- if stdout == None:
+- c2pwrite = GetStdHandle(STD_OUTPUT_HANDLE)
+- elif stdout == PIPE:
+- c2pread, c2pwrite = CreatePipe(None, 0)
+- # Detach and turn into fd
+- c2pread = c2pread.Detach()
+- c2pread = msvcrt.open_osfhandle(c2pread, 0)
+- elif type(stdout) == types.IntType:
+- c2pwrite = msvcrt.get_osfhandle(stdout)
+- else:
+- # Assuming file-like object
+- c2pwrite = msvcrt.get_osfhandle(stdout.fileno())
+- c2pwrite = self._make_inheritable(c2pwrite)
+-
+- if stderr == None:
+- errwrite = GetStdHandle(STD_ERROR_HANDLE)
+- elif stderr == PIPE:
+- errread, errwrite = CreatePipe(None, 0)
+- # Detach and turn into fd
+- errread = errread.Detach()
+- errread = msvcrt.open_osfhandle(errread, 0)
+- elif stderr == STDOUT:
+- errwrite = c2pwrite
+- elif type(stderr) == types.IntType:
+- errwrite = msvcrt.get_osfhandle(stderr)
+- else:
+- # Assuming file-like object
+- errwrite = msvcrt.get_osfhandle(stderr.fileno())
+- errwrite = self._make_inheritable(errwrite)
+-
+- return (p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite)
+-
+-
+- def _make_inheritable(self, handle):
+- """Return a duplicate of handle, which is inheritable"""
+- return DuplicateHandle(GetCurrentProcess(), handle,
+- GetCurrentProcess(), 0, 1,
+- DUPLICATE_SAME_ACCESS)
+-
+-
+- def _find_w9xpopen(self):
+- """Find and return absolut path to w9xpopen.exe"""
+- w9xpopen = os.path.join(os.path.dirname(GetModuleFileName(0)),
+- "w9xpopen.exe")
+- if not os.path.exists(w9xpopen):
+- # Eeek - file-not-found - possibly an embedding
+- # situation - see if we can locate it in sys.exec_prefix
+- w9xpopen = os.path.join(os.path.dirname(sys.exec_prefix),
+- "w9xpopen.exe")
+- if not os.path.exists(w9xpopen):
+- raise RuntimeError("Cannot locate w9xpopen.exe, which is "
+- "needed for Popen to work with your "
+- "shell or platform.")
+- return w9xpopen
+-
+-
+- def _execute_child(self, args, executable, preexec_fn, close_fds,
+- cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
+- p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite):
+- """Execute program (MS Windows version)"""
+-
+- if not isinstance(args, types.StringTypes):
+- args = list2cmdline(args)
+-
+- # Process startup details
+- default_startupinfo = STARTUPINFO()
+- if startupinfo == None:
+- startupinfo = default_startupinfo
+- if not None in (p2cread, c2pwrite, errwrite):
+- startupinfo.dwFlags |= STARTF_USESTDHANDLES
+- startupinfo.hStdInput = p2cread
+- startupinfo.hStdOutput = c2pwrite
+- startupinfo.hStdError = errwrite
+-
+- if shell:
+- default_startupinfo.dwFlags |= STARTF_USESHOWWINDOW
+- default_startupinfo.wShowWindow = SW_HIDE
+- comspec = os.environ.get("COMSPEC", "cmd.exe")
+- args = comspec + " /c " + args
+- if (GetVersion() >= 0x80000000L or
+- os.path.basename(comspec).lower() == "command.com"):
+- # Win9x, or using command.com on NT. We need to
+- # use the w9xpopen intermediate program. For more
+- # information, see KB Q150956
+- # (http://web.archive.org/web/20011105084002/http://support.microsoft.com/support/kb/articles/Q150/9/56.asp)
+- w9xpopen = self._find_w9xpopen()
+- args = '"%s" %s' % (w9xpopen, args)
+- # Not passing CREATE_NEW_CONSOLE has been known to
+- # cause random failures on win9x. Specifically a
+- # dialog: "Your program accessed mem currently in
+- # use at xxx" and a hopeful warning about the
+- # stability of your system. Cost is Ctrl+C wont
+- # kill children.
+- creationflags |= CREATE_NEW_CONSOLE
+-
+- # Start the process
+- try:
+- hp, ht, pid, tid = CreateProcess(executable, args,
+- # no special security
+- None, None,
+- # must inherit handles to pass std
+- # handles
+- 1,
+- creationflags,
+- env,
+- cwd,
+- startupinfo)
+- except pywintypes.error, e:
+- # Translate pywintypes.error to WindowsError, which is
+- # a subclass of OSError. FIXME: We should really
+- # translate errno using _sys_errlist (or simliar), but
+- # how can this be done from Python?
+- raise WindowsError(*e.args)
+-
+- # Retain the process handle, but close the thread handle
+- self._handle = hp
+- self.pid = pid
+- ht.Close()
+-
+- # Child is launched. Close the parent's copy of those pipe
+- # handles that only the child should have open. You need
+- # to make sure that no handles to the write end of the
+- # output pipe are maintained in this process or else the
+- # pipe will not close when the child process exits and the
+- # ReadFile will hang.
+- if p2cread != None:
+- p2cread.Close()
+- if c2pwrite != None:
+- c2pwrite.Close()
+- if errwrite != None:
+- errwrite.Close()
+-
+-
+- def poll(self):
+- """Check if child process has terminated. Returns returncode
+- attribute."""
+- if self.returncode == None:
+- if WaitForSingleObject(self._handle, 0) == WAIT_OBJECT_0:
+- self.returncode = GetExitCodeProcess(self._handle)
+- _active.remove(self)
+- return self.returncode
+-
+-
+- def wait(self):
+- """Wait for child process to terminate. Returns returncode
+- attribute."""
+- if self.returncode == None:
+- obj = WaitForSingleObject(self._handle, INFINITE)
+- self.returncode = GetExitCodeProcess(self._handle)
+- _active.remove(self)
+- return self.returncode
+-
+-
+- def _readerthread(self, fh, buffer):
+- buffer.append(fh.read())
+-
+-
+- def communicate(self, input=None):
+- """Interact with process: Send data to stdin. Read data from
+- stdout and stderr, until end-of-file is reached. Wait for
+- process to terminate. The optional input argument should be a
+- string to be sent to the child process, or None, if no data
+- should be sent to the child.
+-
+- communicate() returns a tuple (stdout, stderr)."""
+- stdout = None # Return
+- stderr = None # Return
+-
+- if self.stdout:
+- stdout = []
+- stdout_thread = threading.Thread(target=self._readerthread,
+- args=(self.stdout, stdout))
+- stdout_thread.setDaemon(True)
+- stdout_thread.start()
+- if self.stderr:
+- stderr = []
+- stderr_thread = threading.Thread(target=self._readerthread,
+- args=(self.stderr, stderr))
+- stderr_thread.setDaemon(True)
+- stderr_thread.start()
+-
+- if self.stdin:
+- if input != None:
+- self.stdin.write(input)
+- self.stdin.close()
+-
+- if self.stdout:
+- stdout_thread.join()
+- if self.stderr:
+- stderr_thread.join()
+-
+- # All data exchanged. Translate lists into strings.
+- if stdout != None:
+- stdout = stdout[0]
+- if stderr != None:
+- stderr = stderr[0]
+-
+- # Translate newlines, if requested. We cannot let the file
+- # object do the translation: It is based on stdio, which is
+- # impossible to combine with select (unless forcing no
+- # buffering).
+- if self.universal_newlines and hasattr(open, 'newlines'):
+- if stdout:
+- stdout = self._translate_newlines(stdout)
+- if stderr:
+- stderr = self._translate_newlines(stderr)
+-
+- self.wait()
+- return (stdout, stderr)
+-
+- else:
+- #
+- # POSIX methods
+- #
+- def _get_handles(self, stdin, stdout, stderr):
+- """Construct and return tupel with IO objects:
+- p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
+- """
+- p2cread, p2cwrite = None, None
+- c2pread, c2pwrite = None, None
+- errread, errwrite = None, None
+-
+- if stdin == None:
+- pass
+- elif stdin == PIPE:
+- p2cread, p2cwrite = os.pipe()
+- elif type(stdin) == types.IntType:
+- p2cread = stdin
+- else:
+- # Assuming file-like object
+- p2cread = stdin.fileno()
+-
+- if stdout == None:
+- pass
+- elif stdout == PIPE:
+- c2pread, c2pwrite = os.pipe()
+- elif type(stdout) == types.IntType:
+- c2pwrite = stdout
+- else:
+- # Assuming file-like object
+- c2pwrite = stdout.fileno()
+-
+- if stderr == None:
+- pass
+- elif stderr == PIPE:
+- errread, errwrite = os.pipe()
+- elif stderr == STDOUT:
+- errwrite = c2pwrite
+- elif type(stderr) == types.IntType:
+- errwrite = stderr
+- else:
+- # Assuming file-like object
+- errwrite = stderr.fileno()
+-
+- return (p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite)
+-
+-
+- def _set_cloexec_flag(self, fd):
+- try:
+- cloexec_flag = fcntl.FD_CLOEXEC
+- except AttributeError:
+- cloexec_flag = 1
+-
+- old = fcntl.fcntl(fd, fcntl.F_GETFD)
+- fcntl.fcntl(fd, fcntl.F_SETFD, old | cloexec_flag)
+-
+-
+- def _close_fds(self, but):
+- for i in range(3, MAXFD):
+- if i == but:
+- continue
+- try:
+- os.close(i)
+- except:
+- pass
+-
+-
+- def _execute_child(self, args, executable, preexec_fn, close_fds,
+- cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
+- p2cread, p2cwrite,
+- c2pread, c2pwrite,
+- errread, errwrite):
+- """Execute program (POSIX version)"""
+-
+- if isinstance(args, types.StringTypes):
+- args = [args]
+-
+- if shell:
+- args = ["/bin/sh", "-c"] + args
+-
+- if executable == None:
+- executable = args[0]
+-
+- # For transferring possible exec failure from child to parent
+- # The first char specifies the exception type: 0 means
+- # OSError, 1 means some other error.
+- errpipe_read, errpipe_write = os.pipe()
+- self._set_cloexec_flag(errpipe_write)
+-
+- self.pid = os.fork()
+- if self.pid == 0:
+- # Child
+- try:
+- # Close parent's pipe ends
+- if p2cwrite:
+- os.close(p2cwrite)
+- if c2pread:
+- os.close(c2pread)
+- if errread:
+- os.close(errread)
+- os.close(errpipe_read)
+-
+- # Dup fds for child
+- if p2cread:
+- os.dup2(p2cread, 0)
+- if c2pwrite:
+- os.dup2(c2pwrite, 1)
+- if errwrite:
+- os.dup2(errwrite, 2)
+-
+- # Close pipe fds. Make sure we doesn't close the same
+- # fd more than once.
+- if p2cread:
+- os.close(p2cread)
+- if c2pwrite and c2pwrite not in (p2cread,):
+- os.close(c2pwrite)
+- if errwrite and errwrite not in (p2cread, c2pwrite):
+- os.close(errwrite)
+-
+- # Close all other fds, if asked for
+- if close_fds:
+- self._close_fds(but=errpipe_write)
+-
+- if cwd != None:
+- os.chdir(cwd)
+-
+- if preexec_fn:
+- apply(preexec_fn)
+-
+- if env == None:
+- os.execvp(executable, args)
+- else:
+- os.execvpe(executable, args, env)
+-
+- except:
+- exc_type, exc_value, tb = sys.exc_info()
+- # Save the traceback and attach it to the exception object
+- exc_lines = traceback.format_exception(exc_type,
+- exc_value,
+- tb)
+- exc_value.child_traceback = ''.join(exc_lines)
+- os.write(errpipe_write, pickle.dumps(exc_value))
+-
+- # This exitcode won't be reported to applications, so it
+- # really doesn't matter what we return.
+- os._exit(255)
+-
+- # Parent
+- os.close(errpipe_write)
+- if p2cread and p2cwrite:
+- os.close(p2cread)
+- if c2pwrite and c2pread:
+- os.close(c2pwrite)
+- if errwrite and errread:
+- os.close(errwrite)
+-
+- # Wait for exec to fail or succeed; possibly raising exception
+- data = os.read(errpipe_read, 1048576) # Exceptions limited to 1 MB
+- os.close(errpipe_read)
+- if data != "":
+- os.waitpid(self.pid, 0)
+- child_exception = pickle.loads(data)
+- raise child_exception
+-
+-
+- def _handle_exitstatus(self, sts):
+- if os.WIFSIGNALED(sts):
+- self.returncode = -os.WTERMSIG(sts)
+- elif os.WIFEXITED(sts):
+- self.returncode = os.WEXITSTATUS(sts)
+- else:
+- # Should never happen
+- raise RuntimeError("Unknown child exit status!")
+-
+- _active.remove(self)
+-
+-
+- def poll(self):
+- """Check if child process has terminated. Returns returncode
+- attribute."""
+- if self.returncode == None:
+- try:
+- pid, sts = os.waitpid(self.pid, os.WNOHANG)
+- if pid == self.pid:
+- self._handle_exitstatus(sts)
+- except os.error:
+- pass
+- return self.returncode
+-
+-
+- def wait(self):
+- """Wait for child process to terminate. Returns returncode
+- attribute."""
+- if self.returncode == None:
+- pid, sts = os.waitpid(self.pid, 0)
+- self._handle_exitstatus(sts)
+- return self.returncode
+-
+-
+- def communicate(self, input=None):
+- """Interact with process: Send data to stdin. Read data from
+- stdout and stderr, until end-of-file is reached. Wait for
+- process to terminate. The optional input argument should be a
+- string to be sent to the child process, or None, if no data
+- should be sent to the child.
+-
+- communicate() returns a tuple (stdout, stderr)."""
+- read_set = []
+- write_set = []
+- stdout = None # Return
+- stderr = None # Return
+-
+- if self.stdin:
+- # Flush stdio buffer. This might block, if the user has
+- # been writing to .stdin in an uncontrolled fashion.
+- self.stdin.flush()
+- if input:
+- write_set.append(self.stdin)
+- else:
+- self.stdin.close()
+- if self.stdout:
+- read_set.append(self.stdout)
+- stdout = []
+- if self.stderr:
+- read_set.append(self.stderr)
+- stderr = []
+-
+- while read_set or write_set:
+- rlist, wlist, xlist = select.select(read_set, write_set, [])
+-
+- if self.stdin in wlist:
+- # When select has indicated that the file is writable,
+- # we can write up to PIPE_BUF bytes without risk
+- # blocking. POSIX defines PIPE_BUF >= 512
+- bytes_written = os.write(self.stdin.fileno(), input[:512])
+- input = input[bytes_written:]
+- if not input:
+- self.stdin.close()
+- write_set.remove(self.stdin)
+-
+- if self.stdout in rlist:
+- data = os.read(self.stdout.fileno(), 1024)
+- if data == "":
+- self.stdout.close()
+- read_set.remove(self.stdout)
+- stdout.append(data)
+-
+- if self.stderr in rlist:
+- data = os.read(self.stderr.fileno(), 1024)
+- if data == "":
+- self.stderr.close()
+- read_set.remove(self.stderr)
+- stderr.append(data)
+-
+- # All data exchanged. Translate lists into strings.
+- if stdout != None:
+- stdout = ''.join(stdout)
+- if stderr != None:
+- stderr = ''.join(stderr)
+-
+- # Translate newlines, if requested. We cannot let the file
+- # object do the translation: It is based on stdio, which is
+- # impossible to combine with select (unless forcing no
+- # buffering).
+- if self.universal_newlines and hasattr(open, 'newlines'):
+- if stdout:
+- stdout = self._translate_newlines(stdout)
+- if stderr:
+- stderr = self._translate_newlines(stderr)
+-
+- self.wait()
+- return (stdout, stderr)
+-
+-
+-def _demo_posix():
+- #
+- # Example 1: Simple redirection: Get process list
+- #
+- plist = Popen(["ps"], stdout=PIPE).communicate()[0]
+- print "Process list:"
+- print plist
+-
+- #
+- # Example 2: Change uid before executing child
+- #
+- if os.getuid() == 0:
+- p = Popen(["id"], preexec_fn=lambda: os.setuid(100))
+- p.wait()
+-
+- #
+- # Example 3: Connecting several subprocesses
+- #
+- print "Looking for 'hda'..."
+- p1 = Popen(["dmesg"], stdout=PIPE)
+- p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
+- print repr(p2.communicate()[0])
+-
+- #
+- # Example 4: Catch execution error
+- #
+- print
+- print "Trying a weird file..."
+- try:
+- print Popen(["/this/path/does/not/exist"]).communicate()
+- except OSError, e:
+- if e.errno == errno.ENOENT:
+- print "The file didn't exist. I thought so..."
+- print "Child traceback:"
+- print e.child_traceback
+- else:
+- print "Error", e.errno
+- else:
+- print >>sys.stderr, "Gosh. No error."
+-
+-
+-def _demo_windows():
+- #
+- # Example 1: Connecting several subprocesses
+- #
+- print "Looking for 'PROMPT' in set output..."
+- p1 = Popen("set", stdout=PIPE, shell=True)
+- p2 = Popen('find "PROMPT"', stdin=p1.stdout, stdout=PIPE)
+- print repr(p2.communicate()[0])
+-
+- #
+- # Example 2: Simple execution of program
+- #
+- print "Executing calc..."
+- p = Popen("calc")
+- p.wait()
+-
+-
+-if __name__ == "__main__":
+- if mswindows:
+- _demo_windows()
+- else:
+- _demo_posix()
diff --git a/dev-python/paste/files/paste-1.7.5.1-unbundle-tempita.patch b/dev-python/paste/files/paste-1.7.5.1-unbundle-tempita.patch
new file mode 100644
index 000000000000..689973fd88a8
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-unbundle-tempita.patch
@@ -0,0 +1,1860 @@
+Index: Paste-1.7.4/paste/util/looper/__init__.py
+===================================================================
+--- /dev/null
++++ Paste-1.7.4/paste/util/looper/__init__.py
+@@ -0,0 +1,4 @@
++try:
++ from tempita._looper import *
++except ImportError:
++ from _looper import *
+Index: Paste-1.7.4/paste/util/looper/_looper.py
+===================================================================
+--- /dev/null
++++ Paste-1.7.4/paste/util/looper/_looper.py
+@@ -0,0 +1,152 @@
++"""
++Helper for looping over sequences, particular in templates.
++
++Often in a loop in a template it's handy to know what's next up,
++previously up, if this is the first or last item in the sequence, etc.
++These can be awkward to manage in a normal Python loop, but using the
++looper you can get a better sense of the context. Use like::
++
++ >>> for loop, item in looper(['a', 'b', 'c']):
++ ... print loop.number, item
++ ... if not loop.last:
++ ... print '---'
++ 1 a
++ ---
++ 2 b
++ ---
++ 3 c
++
++"""
++
++__all__ = ['looper']
++
++class looper(object):
++ """
++ Helper for looping (particularly in templates)
++
++ Use this like::
++
++ for loop, item in looper(seq):
++ if loop.first:
++ ...
++ """
++
++ def __init__(self, seq):
++ self.seq = seq
++
++ def __iter__(self):
++ return looper_iter(self.seq)
++
++ def __repr__(self):
++ return '<%s for %r>' % (
++ self.__class__.__name__, self.seq)
++
++class looper_iter(object):
++
++ def __init__(self, seq):
++ self.seq = list(seq)
++ self.pos = 0
++
++ def __iter__(self):
++ return self
++
++ def next(self):
++ if self.pos >= len(self.seq):
++ raise StopIteration
++ result = loop_pos(self.seq, self.pos), self.seq[self.pos]
++ self.pos += 1
++ return result
++
++class loop_pos(object):
++
++ def __init__(self, seq, pos):
++ self.seq = seq
++ self.pos = pos
++
++ def __repr__(self):
++ return '<loop pos=%r at %r>' % (
++ self.seq[pos], pos)
++
++ def index(self):
++ return self.pos
++ index = property(index)
++
++ def number(self):
++ return self.pos + 1
++ number = property(number)
++
++ def item(self):
++ return self.seq[self.pos]
++ item = property(item)
++
++ def next(self):
++ try:
++ return self.seq[self.pos+1]
++ except IndexError:
++ return None
++ next = property(next)
++
++ def previous(self):
++ if self.pos == 0:
++ return None
++ return self.seq[self.pos-1]
++ previous = property(previous)
++
++ def odd(self):
++ return not self.pos % 2
++ odd = property(odd)
++
++ def even(self):
++ return self.pos % 2
++ even = property(even)
++
++ def first(self):
++ return self.pos == 0
++ first = property(first)
++
++ def last(self):
++ return self.pos == len(self.seq)-1
++ last = property(last)
++
++ def length(self):
++ return len(self.seq)
++ length = property(length)
++
++ def first_group(self, getter=None):
++ """
++ Returns true if this item is the start of a new group,
++ where groups mean that some attribute has changed. The getter
++ can be None (the item itself changes), an attribute name like
++ ``'.attr'``, a function, or a dict key or list index.
++ """
++ if self.first:
++ return True
++ return self._compare_group(self.item, self.previous, getter)
++
++ def last_group(self, getter=None):
++ """
++ Returns true if this item is the end of a new group,
++ where groups mean that some attribute has changed. The getter
++ can be None (the item itself changes), an attribute name like
++ ``'.attr'``, a function, or a dict key or list index.
++ """
++ if self.last:
++ return True
++ return self._compare_group(self.item, self.next, getter)
++
++ def _compare_group(self, item, other, getter):
++ if getter is None:
++ return item != other
++ elif (isinstance(getter, basestring)
++ and getter.startswith('.')):
++ getter = getter[1:]
++ if getter.endswith('()'):
++ getter = getter[:-2]
++ return getattr(item, getter)() != getattr(other, getter)()
++ else:
++ return getattr(item, getter) != getattr(other, getter)
++ elif callable(getter):
++ return getter(item) != getter(other)
++ else:
++ return item[getter] != other[getter]
++
+Index: Paste-1.7.4/paste/util/looper.py
+===================================================================
+--- Paste-1.7.4.orig/paste/util/looper.py
++++ /dev/null
+@@ -1,152 +0,0 @@
+-"""
+-Helper for looping over sequences, particular in templates.
+-
+-Often in a loop in a template it's handy to know what's next up,
+-previously up, if this is the first or last item in the sequence, etc.
+-These can be awkward to manage in a normal Python loop, but using the
+-looper you can get a better sense of the context. Use like::
+-
+- >>> for loop, item in looper(['a', 'b', 'c']):
+- ... print loop.number, item
+- ... if not loop.last:
+- ... print '---'
+- 1 a
+- ---
+- 2 b
+- ---
+- 3 c
+-
+-"""
+-
+-__all__ = ['looper']
+-
+-class looper(object):
+- """
+- Helper for looping (particularly in templates)
+-
+- Use this like::
+-
+- for loop, item in looper(seq):
+- if loop.first:
+- ...
+- """
+-
+- def __init__(self, seq):
+- self.seq = seq
+-
+- def __iter__(self):
+- return looper_iter(self.seq)
+-
+- def __repr__(self):
+- return '<%s for %r>' % (
+- self.__class__.__name__, self.seq)
+-
+-class looper_iter(object):
+-
+- def __init__(self, seq):
+- self.seq = list(seq)
+- self.pos = 0
+-
+- def __iter__(self):
+- return self
+-
+- def next(self):
+- if self.pos >= len(self.seq):
+- raise StopIteration
+- result = loop_pos(self.seq, self.pos), self.seq[self.pos]
+- self.pos += 1
+- return result
+-
+-class loop_pos(object):
+-
+- def __init__(self, seq, pos):
+- self.seq = seq
+- self.pos = pos
+-
+- def __repr__(self):
+- return '<loop pos=%r at %r>' % (
+- self.seq[pos], pos)
+-
+- def index(self):
+- return self.pos
+- index = property(index)
+-
+- def number(self):
+- return self.pos + 1
+- number = property(number)
+-
+- def item(self):
+- return self.seq[self.pos]
+- item = property(item)
+-
+- def next(self):
+- try:
+- return self.seq[self.pos+1]
+- except IndexError:
+- return None
+- next = property(next)
+-
+- def previous(self):
+- if self.pos == 0:
+- return None
+- return self.seq[self.pos-1]
+- previous = property(previous)
+-
+- def odd(self):
+- return not self.pos % 2
+- odd = property(odd)
+-
+- def even(self):
+- return self.pos % 2
+- even = property(even)
+-
+- def first(self):
+- return self.pos == 0
+- first = property(first)
+-
+- def last(self):
+- return self.pos == len(self.seq)-1
+- last = property(last)
+-
+- def length(self):
+- return len(self.seq)
+- length = property(length)
+-
+- def first_group(self, getter=None):
+- """
+- Returns true if this item is the start of a new group,
+- where groups mean that some attribute has changed. The getter
+- can be None (the item itself changes), an attribute name like
+- ``'.attr'``, a function, or a dict key or list index.
+- """
+- if self.first:
+- return True
+- return self._compare_group(self.item, self.previous, getter)
+-
+- def last_group(self, getter=None):
+- """
+- Returns true if this item is the end of a new group,
+- where groups mean that some attribute has changed. The getter
+- can be None (the item itself changes), an attribute name like
+- ``'.attr'``, a function, or a dict key or list index.
+- """
+- if self.last:
+- return True
+- return self._compare_group(self.item, self.next, getter)
+-
+- def _compare_group(self, item, other, getter):
+- if getter is None:
+- return item != other
+- elif (isinstance(getter, basestring)
+- and getter.startswith('.')):
+- getter = getter[1:]
+- if getter.endswith('()'):
+- getter = getter[:-2]
+- return getattr(item, getter)() != getattr(other, getter)()
+- else:
+- return getattr(item, getter) != getattr(other, getter)
+- elif callable(getter):
+- return getter(item) != getter(other)
+- else:
+- return item[getter] != other[getter]
+-
+Index: Paste-1.7.4/paste/util/template/__init__.py
+===================================================================
+--- /dev/null
++++ Paste-1.7.4/paste/util/template/__init__.py
+@@ -0,0 +1,6 @@
++try:
++ from tempita import *
++ from tempita import paste_script_template_renderer
++except ImportError:
++ from _template import *
++ from _template import paste_script_template_renderer
+Index: Paste-1.7.4/paste/util/template/_template.py
+===================================================================
+--- /dev/null
++++ Paste-1.7.4/paste/util/template/_template.py
+@@ -0,0 +1,758 @@
++"""
++A small templating language
++
++This implements a small templating language for use internally in
++Paste and Paste Script. This language implements if/elif/else,
++for/continue/break, expressions, and blocks of Python code. The
++syntax is::
++
++ {{any expression (function calls etc)}}
++ {{any expression | filter}}
++ {{for x in y}}...{{endfor}}
++ {{if x}}x{{elif y}}y{{else}}z{{endif}}
++ {{py:x=1}}
++ {{py:
++ def foo(bar):
++ return 'baz'
++ }}
++ {{default var = default_value}}
++ {{# comment}}
++
++You use this with the ``Template`` class or the ``sub`` shortcut.
++The ``Template`` class takes the template string and the name of
++the template (for errors) and a default namespace. Then (like
++``string.Template``) you can call the ``tmpl.substitute(**kw)``
++method to make a substitution (or ``tmpl.substitute(a_dict)``).
++
++``sub(content, **kw)`` substitutes the template immediately. You
++can use ``__name='tmpl.html'`` to set the name of the template.
++
++If there are syntax errors ``TemplateError`` will be raised.
++"""
++
++import re
++import sys
++import cgi
++import urllib
++from paste.util.looper import looper
++
++__all__ = ['TemplateError', 'Template', 'sub', 'HTMLTemplate',
++ 'sub_html', 'html', 'bunch']
++
++token_re = re.compile(r'\{\{|\}\}')
++in_re = re.compile(r'\s+in\s+')
++var_re = re.compile(r'^[a-z_][a-z0-9_]*$', re.I)
++
++class TemplateError(Exception):
++ """Exception raised while parsing a template
++ """
++
++ def __init__(self, message, position, name=None):
++ self.message = message
++ self.position = position
++ self.name = name
++
++ def __str__(self):
++ msg = '%s at line %s column %s' % (
++ self.message, self.position[0], self.position[1])
++ if self.name:
++ msg += ' in %s' % self.name
++ return msg
++
++class _TemplateContinue(Exception):
++ pass
++
++class _TemplateBreak(Exception):
++ pass
++
++class Template(object):
++
++ default_namespace = {
++ 'start_braces': '{{',
++ 'end_braces': '}}',
++ 'looper': looper,
++ }
++
++ default_encoding = 'utf8'
++
++ def __init__(self, content, name=None, namespace=None):
++ self.content = content
++ self._unicode = isinstance(content, unicode)
++ self.name = name
++ self._parsed = parse(content, name=name)
++ if namespace is None:
++ namespace = {}
++ self.namespace = namespace
++
++ def from_filename(cls, filename, namespace=None, encoding=None):
++ f = open(filename, 'rb')
++ c = f.read()
++ f.close()
++ if encoding:
++ c = c.decode(encoding)
++ return cls(content=c, name=filename, namespace=namespace)
++
++ from_filename = classmethod(from_filename)
++
++ def __repr__(self):
++ return '<%s %s name=%r>' % (
++ self.__class__.__name__,
++ hex(id(self))[2:], self.name)
++
++ def substitute(self, *args, **kw):
++ if args:
++ if kw:
++ raise TypeError(
++ "You can only give positional *or* keyword arguments")
++ if len(args) > 1:
++ raise TypeError(
++ "You can only give on positional argument")
++ kw = args[0]
++ ns = self.default_namespace.copy()
++ ns.update(self.namespace)
++ ns.update(kw)
++ result = self._interpret(ns)
++ return result
++
++ def _interpret(self, ns):
++ __traceback_hide__ = True
++ parts = []
++ self._interpret_codes(self._parsed, ns, out=parts)
++ return ''.join(parts)
++
++ def _interpret_codes(self, codes, ns, out):
++ __traceback_hide__ = True
++ for item in codes:
++ if isinstance(item, basestring):
++ out.append(item)
++ else:
++ self._interpret_code(item, ns, out)
++
++ def _interpret_code(self, code, ns, out):
++ __traceback_hide__ = True
++ name, pos = code[0], code[1]
++ if name == 'py':
++ self._exec(code[2], ns, pos)
++ elif name == 'continue':
++ raise _TemplateContinue()
++ elif name == 'break':
++ raise _TemplateBreak()
++ elif name == 'for':
++ vars, expr, content = code[2], code[3], code[4]
++ expr = self._eval(expr, ns, pos)
++ self._interpret_for(vars, expr, content, ns, out)
++ elif name == 'cond':
++ parts = code[2:]
++ self._interpret_if(parts, ns, out)
++ elif name == 'expr':
++ parts = code[2].split('|')
++ base = self._eval(parts[0], ns, pos)
++ for part in parts[1:]:
++ func = self._eval(part, ns, pos)
++ base = func(base)
++ out.append(self._repr(base, pos))
++ elif name == 'default':
++ var, expr = code[2], code[3]
++ if var not in ns:
++ result = self._eval(expr, ns, pos)
++ ns[var] = result
++ elif name == 'comment':
++ return
++ else:
++ assert 0, "Unknown code: %r" % name
++
++ def _interpret_for(self, vars, expr, content, ns, out):
++ __traceback_hide__ = True
++ for item in expr:
++ if len(vars) == 1:
++ ns[vars[0]] = item
++ else:
++ if len(vars) != len(item):
++ raise ValueError(
++ 'Need %i items to unpack (got %i items)'
++ % (len(vars), len(item)))
++ for name, value in zip(vars, item):
++ ns[name] = value
++ try:
++ self._interpret_codes(content, ns, out)
++ except _TemplateContinue:
++ continue
++ except _TemplateBreak:
++ break
++
++ def _interpret_if(self, parts, ns, out):
++ __traceback_hide__ = True
++ # @@: if/else/else gets through
++ for part in parts:
++ assert not isinstance(part, basestring)
++ name, pos = part[0], part[1]
++ if name == 'else':
++ result = True
++ else:
++ result = self._eval(part[2], ns, pos)
++ if result:
++ self._interpret_codes(part[3], ns, out)
++ break
++
++ def _eval(self, code, ns, pos):
++ __traceback_hide__ = True
++ try:
++ value = eval(code, ns)
++ return value
++ except:
++ exc_info = sys.exc_info()
++ e = exc_info[1]
++ if getattr(e, 'args'):
++ arg0 = e.args[0]
++ else:
++ arg0 = str(e)
++ e.args = (self._add_line_info(arg0, pos),)
++ raise exc_info[0], e, exc_info[2]
++
++ def _exec(self, code, ns, pos):
++ __traceback_hide__ = True
++ try:
++ exec code in ns
++ except:
++ exc_info = sys.exc_info()
++ e = exc_info[1]
++ e.args = (self._add_line_info(e.args[0], pos),)
++ raise exc_info[0], e, exc_info[2]
++
++ def _repr(self, value, pos):
++ __traceback_hide__ = True
++ try:
++ if value is None:
++ return ''
++ if self._unicode:
++ try:
++ value = unicode(value)
++ except UnicodeDecodeError:
++ value = str(value)
++ else:
++ value = str(value)
++ except:
++ exc_info = sys.exc_info()
++ e = exc_info[1]
++ e.args = (self._add_line_info(e.args[0], pos),)
++ raise exc_info[0], e, exc_info[2]
++ else:
++ if self._unicode and isinstance(value, str):
++ if not self.decode_encoding:
++ raise UnicodeDecodeError(
++ 'Cannot decode str value %r into unicode '
++ '(no default_encoding provided)' % value)
++ value = value.decode(self.default_encoding)
++ elif not self._unicode and isinstance(value, unicode):
++ if not self.decode_encoding:
++ raise UnicodeEncodeError(
++ 'Cannot encode unicode value %r into str '
++ '(no default_encoding provided)' % value)
++ value = value.encode(self.default_encoding)
++ return value
++
++
++ def _add_line_info(self, msg, pos):
++ msg = "%s at line %s column %s" % (
++ msg, pos[0], pos[1])
++ if self.name:
++ msg += " in file %s" % self.name
++ return msg
++
++def sub(content, **kw):
++ name = kw.get('__name')
++ tmpl = Template(content, name=name)
++ return tmpl.substitute(kw)
++ return result
++
++def paste_script_template_renderer(content, vars, filename=None):
++ tmpl = Template(content, name=filename)
++ return tmpl.substitute(vars)
++
++class bunch(dict):
++
++ def __init__(self, **kw):
++ for name, value in kw.items():
++ setattr(self, name, value)
++
++ def __setattr__(self, name, value):
++ self[name] = value
++
++ def __getattr__(self, name):
++ try:
++ return self[name]
++ except KeyError:
++ raise AttributeError(name)
++
++ def __getitem__(self, key):
++ if 'default' in self:
++ try:
++ return dict.__getitem__(self, key)
++ except KeyError:
++ return dict.__getitem__(self, 'default')
++ else:
++ return dict.__getitem__(self, key)
++
++ def __repr__(self):
++ items = [
++ (k, v) for k, v in self.items()]
++ items.sort()
++ return '<%s %s>' % (
++ self.__class__.__name__,
++ ' '.join(['%s=%r' % (k, v) for k, v in items]))
++
++############################################################
++## HTML Templating
++############################################################
++
++class html(object):
++ def __init__(self, value):
++ self.value = value
++ def __str__(self):
++ return self.value
++ def __repr__(self):
++ return '<%s %r>' % (
++ self.__class__.__name__, self.value)
++
++def html_quote(value):
++ if value is None:
++ return ''
++ if not isinstance(value, basestring):
++ if hasattr(value, '__unicode__'):
++ value = unicode(value)
++ else:
++ value = str(value)
++ value = cgi.escape(value, 1)
++ if isinstance(value, unicode):
++ value = value.encode('ascii', 'xmlcharrefreplace')
++ return value
++
++def url(v):
++ if not isinstance(v, basestring):
++ if hasattr(v, '__unicode__'):
++ v = unicode(v)
++ else:
++ v = str(v)
++ if isinstance(v, unicode):
++ v = v.encode('utf8')
++ return urllib.quote(v)
++
++def attr(**kw):
++ kw = kw.items()
++ kw.sort()
++ parts = []
++ for name, value in kw:
++ if value is None:
++ continue
++ if name.endswith('_'):
++ name = name[:-1]
++ parts.append('%s="%s"' % (html_quote(name), html_quote(value)))
++ return html(' '.join(parts))
++
++class HTMLTemplate(Template):
++
++ default_namespace = Template.default_namespace.copy()
++ default_namespace.update(dict(
++ html=html,
++ attr=attr,
++ url=url,
++ ))
++
++ def _repr(self, value, pos):
++ plain = Template._repr(self, value, pos)
++ if isinstance(value, html):
++ return plain
++ else:
++ return html_quote(plain)
++
++def sub_html(content, **kw):
++ name = kw.get('__name')
++ tmpl = HTMLTemplate(content, name=name)
++ return tmpl.substitute(kw)
++ return result
++
++
++############################################################
++## Lexing and Parsing
++############################################################
++
++def lex(s, name=None, trim_whitespace=True):
++ """
++ Lex a string into chunks:
++
++ >>> lex('hey')
++ ['hey']
++ >>> lex('hey {{you}}')
++ ['hey ', ('you', (1, 7))]
++ >>> lex('hey {{')
++ Traceback (most recent call last):
++ ...
++ TemplateError: No }} to finish last expression at line 1 column 7
++ >>> lex('hey }}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: }} outside expression at line 1 column 7
++ >>> lex('hey {{ {{')
++ Traceback (most recent call last):
++ ...
++ TemplateError: {{ inside expression at line 1 column 10
++
++ """
++ in_expr = False
++ chunks = []
++ last = 0
++ last_pos = (1, 1)
++ for match in token_re.finditer(s):
++ expr = match.group(0)
++ pos = find_position(s, match.end())
++ if expr == '{{' and in_expr:
++ raise TemplateError('{{ inside expression', position=pos,
++ name=name)
++ elif expr == '}}' and not in_expr:
++ raise TemplateError('}} outside expression', position=pos,
++ name=name)
++ if expr == '{{':
++ part = s[last:match.start()]
++ if part:
++ chunks.append(part)
++ in_expr = True
++ else:
++ chunks.append((s[last:match.start()], last_pos))
++ in_expr = False
++ last = match.end()
++ last_pos = pos
++ if in_expr:
++ raise TemplateError('No }} to finish last expression',
++ name=name, position=last_pos)
++ part = s[last:]
++ if part:
++ chunks.append(part)
++ if trim_whitespace:
++ chunks = trim_lex(chunks)
++ return chunks
++
++statement_re = re.compile(r'^(?:if |elif |else |for |py:)')
++single_statements = ['endif', 'endfor', 'continue', 'break']
++trail_whitespace_re = re.compile(r'\n[\t ]*$')
++lead_whitespace_re = re.compile(r'^[\t ]*\n')
++
++def trim_lex(tokens):
++ r"""
++ Takes a lexed set of tokens, and removes whitespace when there is
++ a directive on a line by itself:
++
++ >>> tokens = lex('{{if x}}\nx\n{{endif}}\ny', trim_whitespace=False)
++ >>> tokens
++ [('if x', (1, 3)), '\nx\n', ('endif', (3, 3)), '\ny']
++ >>> trim_lex(tokens)
++ [('if x', (1, 3)), 'x\n', ('endif', (3, 3)), 'y']
++ """
++ for i in range(len(tokens)):
++ current = tokens[i]
++ if isinstance(tokens[i], basestring):
++ # we don't trim this
++ continue
++ item = current[0]
++ if not statement_re.search(item) and item not in single_statements:
++ continue
++ if not i:
++ prev = ''
++ else:
++ prev = tokens[i-1]
++ if i+1 >= len(tokens):
++ next = ''
++ else:
++ next = tokens[i+1]
++ if (not isinstance(next, basestring)
++ or not isinstance(prev, basestring)):
++ continue
++ if ((not prev or trail_whitespace_re.search(prev))
++ and (not next or lead_whitespace_re.search(next))):
++ if prev:
++ m = trail_whitespace_re.search(prev)
++ # +1 to leave the leading \n on:
++ prev = prev[:m.start()+1]
++ tokens[i-1] = prev
++ if next:
++ m = lead_whitespace_re.search(next)
++ next = next[m.end():]
++ tokens[i+1] = next
++ return tokens
++
++
++def find_position(string, index):
++ """Given a string and index, return (line, column)"""
++ leading = string[:index].splitlines()
++ return (len(leading), len(leading[-1])+1)
++
++def parse(s, name=None):
++ r"""
++ Parses a string into a kind of AST
++
++ >>> parse('{{x}}')
++ [('expr', (1, 3), 'x')]
++ >>> parse('foo')
++ ['foo']
++ >>> parse('{{if x}}test{{endif}}')
++ [('cond', (1, 3), ('if', (1, 3), 'x', ['test']))]
++ >>> parse('series->{{for x in y}}x={{x}}{{endfor}}')
++ ['series->', ('for', (1, 11), ('x',), 'y', ['x=', ('expr', (1, 27), 'x')])]
++ >>> parse('{{for x, y in z:}}{{continue}}{{endfor}}')
++ [('for', (1, 3), ('x', 'y'), 'z', [('continue', (1, 21))])]
++ >>> parse('{{py:x=1}}')
++ [('py', (1, 3), 'x=1')]
++ >>> parse('{{if x}}a{{elif y}}b{{else}}c{{endif}}')
++ [('cond', (1, 3), ('if', (1, 3), 'x', ['a']), ('elif', (1, 12), 'y', ['b']), ('else', (1, 23), None, ['c']))]
++
++ Some exceptions::
++
++ >>> parse('{{continue}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: continue outside of for loop at line 1 column 3
++ >>> parse('{{if x}}foo')
++ Traceback (most recent call last):
++ ...
++ TemplateError: No {{endif}} at line 1 column 3
++ >>> parse('{{else}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: else outside of an if block at line 1 column 3
++ >>> parse('{{if x}}{{for x in y}}{{endif}}{{endfor}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: Unexpected endif at line 1 column 25
++ >>> parse('{{if}}{{endif}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: if with no expression at line 1 column 3
++ >>> parse('{{for x y}}{{endfor}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: Bad for (no "in") in 'x y' at line 1 column 3
++ >>> parse('{{py:x=1\ny=2}}')
++ Traceback (most recent call last):
++ ...
++ TemplateError: Multi-line py blocks must start with a newline at line 1 column 3
++ """
++ tokens = lex(s, name=name)
++ result = []
++ while tokens:
++ next, tokens = parse_expr(tokens, name)
++ result.append(next)
++ return result
++
++def parse_expr(tokens, name, context=()):
++ if isinstance(tokens[0], basestring):
++ return tokens[0], tokens[1:]
++ expr, pos = tokens[0]
++ expr = expr.strip()
++ if expr.startswith('py:'):
++ expr = expr[3:].lstrip(' \t')
++ if expr.startswith('\n'):
++ expr = expr[1:]
++ else:
++ if '\n' in expr:
++ raise TemplateError(
++ 'Multi-line py blocks must start with a newline',
++ position=pos, name=name)
++ return ('py', pos, expr), tokens[1:]
++ elif expr in ('continue', 'break'):
++ if 'for' not in context:
++ raise TemplateError(
++ 'continue outside of for loop',
++ position=pos, name=name)
++ return (expr, pos), tokens[1:]
++ elif expr.startswith('if '):
++ return parse_cond(tokens, name, context)
++ elif (expr.startswith('elif ')
++ or expr == 'else'):
++ raise TemplateError(
++ '%s outside of an if block' % expr.split()[0],
++ position=pos, name=name)
++ elif expr in ('if', 'elif', 'for'):
++ raise TemplateError(
++ '%s with no expression' % expr,
++ position=pos, name=name)
++ elif expr in ('endif', 'endfor'):
++ raise TemplateError(
++ 'Unexpected %s' % expr,
++ position=pos, name=name)
++ elif expr.startswith('for '):
++ return parse_for(tokens, name, context)
++ elif expr.startswith('default '):
++ return parse_default(tokens, name, context)
++ elif expr.startswith('#'):
++ return ('comment', pos, tokens[0][0]), tokens[1:]
++ return ('expr', pos, tokens[0][0]), tokens[1:]
++
++def parse_cond(tokens, name, context):
++ start = tokens[0][1]
++ pieces = []
++ context = context + ('if',)
++ while 1:
++ if not tokens:
++ raise TemplateError(
++ 'Missing {{endif}}',
++ position=start, name=name)
++ if (isinstance(tokens[0], tuple)
++ and tokens[0][0] == 'endif'):
++ return ('cond', start) + tuple(pieces), tokens[1:]
++ next, tokens = parse_one_cond(tokens, name, context)
++ pieces.append(next)
++
++def parse_one_cond(tokens, name, context):
++ (first, pos), tokens = tokens[0], tokens[1:]
++ content = []
++ if first.endswith(':'):
++ first = first[:-1]
++ if first.startswith('if '):
++ part = ('if', pos, first[3:].lstrip(), content)
++ elif first.startswith('elif '):
++ part = ('elif', pos, first[5:].lstrip(), content)
++ elif first == 'else':
++ part = ('else', pos, None, content)
++ else:
++ assert 0, "Unexpected token %r at %s" % (first, pos)
++ while 1:
++ if not tokens:
++ raise TemplateError(
++ 'No {{endif}}',
++ position=pos, name=name)
++ if (isinstance(tokens[0], tuple)
++ and (tokens[0][0] == 'endif'
++ or tokens[0][0].startswith('elif ')
++ or tokens[0][0] == 'else')):
++ return part, tokens
++ next, tokens = parse_expr(tokens, name, context)
++ content.append(next)
++
++def parse_for(tokens, name, context):
++ first, pos = tokens[0]
++ tokens = tokens[1:]
++ context = ('for',) + context
++ content = []
++ assert first.startswith('for ')
++ if first.endswith(':'):
++ first = first[:-1]
++ first = first[3:].strip()
++ match = in_re.search(first)
++ if not match:
++ raise TemplateError(
++ 'Bad for (no "in") in %r' % first,
++ position=pos, name=name)
++ vars = first[:match.start()]
++ if '(' in vars:
++ raise TemplateError(
++ 'You cannot have () in the variable section of a for loop (%r)'
++ % vars, position=pos, name=name)
++ vars = tuple([
++ v.strip() for v in first[:match.start()].split(',')
++ if v.strip()])
++ expr = first[match.end():]
++ while 1:
++ if not tokens:
++ raise TemplateError(
++ 'No {{endfor}}',
++ position=pos, name=name)
++ if (isinstance(tokens[0], tuple)
++ and tokens[0][0] == 'endfor'):
++ return ('for', pos, vars, expr, content), tokens[1:]
++ next, tokens = parse_expr(tokens, name, context)
++ content.append(next)
++
++def parse_default(tokens, name, context):
++ first, pos = tokens[0]
++ assert first.startswith('default ')
++ first = first.split(None, 1)[1]
++ parts = first.split('=', 1)
++ if len(parts) == 1:
++ raise TemplateError(
++ "Expression must be {{default var=value}}; no = found in %r" % first,
++ position=pos, name=name)
++ var = parts[0].strip()
++ if ',' in var:
++ raise TemplateError(
++ "{{default x, y = ...}} is not supported",
++ position=pos, name=name)
++ if not var_re.search(var):
++ raise TemplateError(
++ "Not a valid variable name for {{default}}: %r"
++ % var, position=pos, name=name)
++ expr = parts[1].strip()
++ return ('default', pos, var, expr), tokens[1:]
++
++_fill_command_usage = """\
++%prog [OPTIONS] TEMPLATE arg=value
++
++Use py:arg=value to set a Python value; otherwise all values are
++strings.
++"""
++
++def fill_command(args=None):
++ import sys, optparse, pkg_resources, os
++ if args is None:
++ args = sys.argv[1:]
++ dist = pkg_resources.get_distribution('Paste')
++ parser = optparse.OptionParser(
++ version=str(dist),
++ usage=_fill_command_usage)
++ parser.add_option(
++ '-o', '--output',
++ dest='output',
++ metavar="FILENAME",
++ help="File to write output to (default stdout)")
++ parser.add_option(
++ '--html',
++ dest='use_html',
++ action='store_true',
++ help="Use HTML style filling (including automatic HTML quoting)")
++ parser.add_option(
++ '--env',
++ dest='use_env',
++ action='store_true',
++ help="Put the environment in as top-level variables")
++ options, args = parser.parse_args(args)
++ if len(args) < 1:
++ print 'You must give a template filename'
++ print dir(parser)
++ assert 0
++ template_name = args[0]
++ args = args[1:]
++ vars = {}
++ if options.use_env:
++ vars.update(os.environ)
++ for value in args:
++ if '=' not in value:
++ print 'Bad argument: %r' % value
++ sys.exit(2)
++ name, value = value.split('=', 1)
++ if name.startswith('py:'):
++ name = name[:3]
++ value = eval(value)
++ vars[name] = value
++ if template_name == '-':
++ template_content = sys.stdin.read()
++ template_name = '<stdin>'
++ else:
++ f = open(template_name, 'rb')
++ template_content = f.read()
++ f.close()
++ if options.use_html:
++ TemplateClass = HTMLTemplate
++ else:
++ TemplateClass = Template
++ template = TemplateClass(template_content, name=template_name)
++ result = template.substitute(vars)
++ if options.output:
++ f = open(options.output, 'wb')
++ f.write(result)
++ f.close()
++ else:
++ sys.stdout.write(result)
++
++if __name__ == '__main__':
++ from paste.util.template import fill_command
++ fill_command()
++
++
+Index: Paste-1.7.4/paste/util/template.py
+===================================================================
+--- Paste-1.7.4.orig/paste/util/template.py
++++ /dev/null
+@@ -1,758 +0,0 @@
+-"""
+-A small templating language
+-
+-This implements a small templating language for use internally in
+-Paste and Paste Script. This language implements if/elif/else,
+-for/continue/break, expressions, and blocks of Python code. The
+-syntax is::
+-
+- {{any expression (function calls etc)}}
+- {{any expression | filter}}
+- {{for x in y}}...{{endfor}}
+- {{if x}}x{{elif y}}y{{else}}z{{endif}}
+- {{py:x=1}}
+- {{py:
+- def foo(bar):
+- return 'baz'
+- }}
+- {{default var = default_value}}
+- {{# comment}}
+-
+-You use this with the ``Template`` class or the ``sub`` shortcut.
+-The ``Template`` class takes the template string and the name of
+-the template (for errors) and a default namespace. Then (like
+-``string.Template``) you can call the ``tmpl.substitute(**kw)``
+-method to make a substitution (or ``tmpl.substitute(a_dict)``).
+-
+-``sub(content, **kw)`` substitutes the template immediately. You
+-can use ``__name='tmpl.html'`` to set the name of the template.
+-
+-If there are syntax errors ``TemplateError`` will be raised.
+-"""
+-
+-import re
+-import sys
+-import cgi
+-import urllib
+-from paste.util.looper import looper
+-
+-__all__ = ['TemplateError', 'Template', 'sub', 'HTMLTemplate',
+- 'sub_html', 'html', 'bunch']
+-
+-token_re = re.compile(r'\{\{|\}\}')
+-in_re = re.compile(r'\s+in\s+')
+-var_re = re.compile(r'^[a-z_][a-z0-9_]*$', re.I)
+-
+-class TemplateError(Exception):
+- """Exception raised while parsing a template
+- """
+-
+- def __init__(self, message, position, name=None):
+- self.message = message
+- self.position = position
+- self.name = name
+-
+- def __str__(self):
+- msg = '%s at line %s column %s' % (
+- self.message, self.position[0], self.position[1])
+- if self.name:
+- msg += ' in %s' % self.name
+- return msg
+-
+-class _TemplateContinue(Exception):
+- pass
+-
+-class _TemplateBreak(Exception):
+- pass
+-
+-class Template(object):
+-
+- default_namespace = {
+- 'start_braces': '{{',
+- 'end_braces': '}}',
+- 'looper': looper,
+- }
+-
+- default_encoding = 'utf8'
+-
+- def __init__(self, content, name=None, namespace=None):
+- self.content = content
+- self._unicode = isinstance(content, unicode)
+- self.name = name
+- self._parsed = parse(content, name=name)
+- if namespace is None:
+- namespace = {}
+- self.namespace = namespace
+-
+- def from_filename(cls, filename, namespace=None, encoding=None):
+- f = open(filename, 'rb')
+- c = f.read()
+- f.close()
+- if encoding:
+- c = c.decode(encoding)
+- return cls(content=c, name=filename, namespace=namespace)
+-
+- from_filename = classmethod(from_filename)
+-
+- def __repr__(self):
+- return '<%s %s name=%r>' % (
+- self.__class__.__name__,
+- hex(id(self))[2:], self.name)
+-
+- def substitute(self, *args, **kw):
+- if args:
+- if kw:
+- raise TypeError(
+- "You can only give positional *or* keyword arguments")
+- if len(args) > 1:
+- raise TypeError(
+- "You can only give on positional argument")
+- kw = args[0]
+- ns = self.default_namespace.copy()
+- ns.update(self.namespace)
+- ns.update(kw)
+- result = self._interpret(ns)
+- return result
+-
+- def _interpret(self, ns):
+- __traceback_hide__ = True
+- parts = []
+- self._interpret_codes(self._parsed, ns, out=parts)
+- return ''.join(parts)
+-
+- def _interpret_codes(self, codes, ns, out):
+- __traceback_hide__ = True
+- for item in codes:
+- if isinstance(item, basestring):
+- out.append(item)
+- else:
+- self._interpret_code(item, ns, out)
+-
+- def _interpret_code(self, code, ns, out):
+- __traceback_hide__ = True
+- name, pos = code[0], code[1]
+- if name == 'py':
+- self._exec(code[2], ns, pos)
+- elif name == 'continue':
+- raise _TemplateContinue()
+- elif name == 'break':
+- raise _TemplateBreak()
+- elif name == 'for':
+- vars, expr, content = code[2], code[3], code[4]
+- expr = self._eval(expr, ns, pos)
+- self._interpret_for(vars, expr, content, ns, out)
+- elif name == 'cond':
+- parts = code[2:]
+- self._interpret_if(parts, ns, out)
+- elif name == 'expr':
+- parts = code[2].split('|')
+- base = self._eval(parts[0], ns, pos)
+- for part in parts[1:]:
+- func = self._eval(part, ns, pos)
+- base = func(base)
+- out.append(self._repr(base, pos))
+- elif name == 'default':
+- var, expr = code[2], code[3]
+- if var not in ns:
+- result = self._eval(expr, ns, pos)
+- ns[var] = result
+- elif name == 'comment':
+- return
+- else:
+- assert 0, "Unknown code: %r" % name
+-
+- def _interpret_for(self, vars, expr, content, ns, out):
+- __traceback_hide__ = True
+- for item in expr:
+- if len(vars) == 1:
+- ns[vars[0]] = item
+- else:
+- if len(vars) != len(item):
+- raise ValueError(
+- 'Need %i items to unpack (got %i items)'
+- % (len(vars), len(item)))
+- for name, value in zip(vars, item):
+- ns[name] = value
+- try:
+- self._interpret_codes(content, ns, out)
+- except _TemplateContinue:
+- continue
+- except _TemplateBreak:
+- break
+-
+- def _interpret_if(self, parts, ns, out):
+- __traceback_hide__ = True
+- # @@: if/else/else gets through
+- for part in parts:
+- assert not isinstance(part, basestring)
+- name, pos = part[0], part[1]
+- if name == 'else':
+- result = True
+- else:
+- result = self._eval(part[2], ns, pos)
+- if result:
+- self._interpret_codes(part[3], ns, out)
+- break
+-
+- def _eval(self, code, ns, pos):
+- __traceback_hide__ = True
+- try:
+- value = eval(code, ns)
+- return value
+- except:
+- exc_info = sys.exc_info()
+- e = exc_info[1]
+- if getattr(e, 'args'):
+- arg0 = e.args[0]
+- else:
+- arg0 = str(e)
+- e.args = (self._add_line_info(arg0, pos),)
+- raise exc_info[0], e, exc_info[2]
+-
+- def _exec(self, code, ns, pos):
+- __traceback_hide__ = True
+- try:
+- exec code in ns
+- except:
+- exc_info = sys.exc_info()
+- e = exc_info[1]
+- e.args = (self._add_line_info(e.args[0], pos),)
+- raise exc_info[0], e, exc_info[2]
+-
+- def _repr(self, value, pos):
+- __traceback_hide__ = True
+- try:
+- if value is None:
+- return ''
+- if self._unicode:
+- try:
+- value = unicode(value)
+- except UnicodeDecodeError:
+- value = str(value)
+- else:
+- value = str(value)
+- except:
+- exc_info = sys.exc_info()
+- e = exc_info[1]
+- e.args = (self._add_line_info(e.args[0], pos),)
+- raise exc_info[0], e, exc_info[2]
+- else:
+- if self._unicode and isinstance(value, str):
+- if not self.decode_encoding:
+- raise UnicodeDecodeError(
+- 'Cannot decode str value %r into unicode '
+- '(no default_encoding provided)' % value)
+- value = value.decode(self.default_encoding)
+- elif not self._unicode and isinstance(value, unicode):
+- if not self.decode_encoding:
+- raise UnicodeEncodeError(
+- 'Cannot encode unicode value %r into str '
+- '(no default_encoding provided)' % value)
+- value = value.encode(self.default_encoding)
+- return value
+-
+-
+- def _add_line_info(self, msg, pos):
+- msg = "%s at line %s column %s" % (
+- msg, pos[0], pos[1])
+- if self.name:
+- msg += " in file %s" % self.name
+- return msg
+-
+-def sub(content, **kw):
+- name = kw.get('__name')
+- tmpl = Template(content, name=name)
+- return tmpl.substitute(kw)
+- return result
+-
+-def paste_script_template_renderer(content, vars, filename=None):
+- tmpl = Template(content, name=filename)
+- return tmpl.substitute(vars)
+-
+-class bunch(dict):
+-
+- def __init__(self, **kw):
+- for name, value in kw.items():
+- setattr(self, name, value)
+-
+- def __setattr__(self, name, value):
+- self[name] = value
+-
+- def __getattr__(self, name):
+- try:
+- return self[name]
+- except KeyError:
+- raise AttributeError(name)
+-
+- def __getitem__(self, key):
+- if 'default' in self:
+- try:
+- return dict.__getitem__(self, key)
+- except KeyError:
+- return dict.__getitem__(self, 'default')
+- else:
+- return dict.__getitem__(self, key)
+-
+- def __repr__(self):
+- items = [
+- (k, v) for k, v in self.items()]
+- items.sort()
+- return '<%s %s>' % (
+- self.__class__.__name__,
+- ' '.join(['%s=%r' % (k, v) for k, v in items]))
+-
+-############################################################
+-## HTML Templating
+-############################################################
+-
+-class html(object):
+- def __init__(self, value):
+- self.value = value
+- def __str__(self):
+- return self.value
+- def __repr__(self):
+- return '<%s %r>' % (
+- self.__class__.__name__, self.value)
+-
+-def html_quote(value):
+- if value is None:
+- return ''
+- if not isinstance(value, basestring):
+- if hasattr(value, '__unicode__'):
+- value = unicode(value)
+- else:
+- value = str(value)
+- value = cgi.escape(value, 1)
+- if isinstance(value, unicode):
+- value = value.encode('ascii', 'xmlcharrefreplace')
+- return value
+-
+-def url(v):
+- if not isinstance(v, basestring):
+- if hasattr(v, '__unicode__'):
+- v = unicode(v)
+- else:
+- v = str(v)
+- if isinstance(v, unicode):
+- v = v.encode('utf8')
+- return urllib.quote(v)
+-
+-def attr(**kw):
+- kw = kw.items()
+- kw.sort()
+- parts = []
+- for name, value in kw:
+- if value is None:
+- continue
+- if name.endswith('_'):
+- name = name[:-1]
+- parts.append('%s="%s"' % (html_quote(name), html_quote(value)))
+- return html(' '.join(parts))
+-
+-class HTMLTemplate(Template):
+-
+- default_namespace = Template.default_namespace.copy()
+- default_namespace.update(dict(
+- html=html,
+- attr=attr,
+- url=url,
+- ))
+-
+- def _repr(self, value, pos):
+- plain = Template._repr(self, value, pos)
+- if isinstance(value, html):
+- return plain
+- else:
+- return html_quote(plain)
+-
+-def sub_html(content, **kw):
+- name = kw.get('__name')
+- tmpl = HTMLTemplate(content, name=name)
+- return tmpl.substitute(kw)
+- return result
+-
+-
+-############################################################
+-## Lexing and Parsing
+-############################################################
+-
+-def lex(s, name=None, trim_whitespace=True):
+- """
+- Lex a string into chunks:
+-
+- >>> lex('hey')
+- ['hey']
+- >>> lex('hey {{you}}')
+- ['hey ', ('you', (1, 7))]
+- >>> lex('hey {{')
+- Traceback (most recent call last):
+- ...
+- TemplateError: No }} to finish last expression at line 1 column 7
+- >>> lex('hey }}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: }} outside expression at line 1 column 7
+- >>> lex('hey {{ {{')
+- Traceback (most recent call last):
+- ...
+- TemplateError: {{ inside expression at line 1 column 10
+-
+- """
+- in_expr = False
+- chunks = []
+- last = 0
+- last_pos = (1, 1)
+- for match in token_re.finditer(s):
+- expr = match.group(0)
+- pos = find_position(s, match.end())
+- if expr == '{{' and in_expr:
+- raise TemplateError('{{ inside expression', position=pos,
+- name=name)
+- elif expr == '}}' and not in_expr:
+- raise TemplateError('}} outside expression', position=pos,
+- name=name)
+- if expr == '{{':
+- part = s[last:match.start()]
+- if part:
+- chunks.append(part)
+- in_expr = True
+- else:
+- chunks.append((s[last:match.start()], last_pos))
+- in_expr = False
+- last = match.end()
+- last_pos = pos
+- if in_expr:
+- raise TemplateError('No }} to finish last expression',
+- name=name, position=last_pos)
+- part = s[last:]
+- if part:
+- chunks.append(part)
+- if trim_whitespace:
+- chunks = trim_lex(chunks)
+- return chunks
+-
+-statement_re = re.compile(r'^(?:if |elif |else |for |py:)')
+-single_statements = ['endif', 'endfor', 'continue', 'break']
+-trail_whitespace_re = re.compile(r'\n[\t ]*$')
+-lead_whitespace_re = re.compile(r'^[\t ]*\n')
+-
+-def trim_lex(tokens):
+- r"""
+- Takes a lexed set of tokens, and removes whitespace when there is
+- a directive on a line by itself:
+-
+- >>> tokens = lex('{{if x}}\nx\n{{endif}}\ny', trim_whitespace=False)
+- >>> tokens
+- [('if x', (1, 3)), '\nx\n', ('endif', (3, 3)), '\ny']
+- >>> trim_lex(tokens)
+- [('if x', (1, 3)), 'x\n', ('endif', (3, 3)), 'y']
+- """
+- for i in range(len(tokens)):
+- current = tokens[i]
+- if isinstance(tokens[i], basestring):
+- # we don't trim this
+- continue
+- item = current[0]
+- if not statement_re.search(item) and item not in single_statements:
+- continue
+- if not i:
+- prev = ''
+- else:
+- prev = tokens[i-1]
+- if i+1 >= len(tokens):
+- next = ''
+- else:
+- next = tokens[i+1]
+- if (not isinstance(next, basestring)
+- or not isinstance(prev, basestring)):
+- continue
+- if ((not prev or trail_whitespace_re.search(prev))
+- and (not next or lead_whitespace_re.search(next))):
+- if prev:
+- m = trail_whitespace_re.search(prev)
+- # +1 to leave the leading \n on:
+- prev = prev[:m.start()+1]
+- tokens[i-1] = prev
+- if next:
+- m = lead_whitespace_re.search(next)
+- next = next[m.end():]
+- tokens[i+1] = next
+- return tokens
+-
+-
+-def find_position(string, index):
+- """Given a string and index, return (line, column)"""
+- leading = string[:index].splitlines()
+- return (len(leading), len(leading[-1])+1)
+-
+-def parse(s, name=None):
+- r"""
+- Parses a string into a kind of AST
+-
+- >>> parse('{{x}}')
+- [('expr', (1, 3), 'x')]
+- >>> parse('foo')
+- ['foo']
+- >>> parse('{{if x}}test{{endif}}')
+- [('cond', (1, 3), ('if', (1, 3), 'x', ['test']))]
+- >>> parse('series->{{for x in y}}x={{x}}{{endfor}}')
+- ['series->', ('for', (1, 11), ('x',), 'y', ['x=', ('expr', (1, 27), 'x')])]
+- >>> parse('{{for x, y in z:}}{{continue}}{{endfor}}')
+- [('for', (1, 3), ('x', 'y'), 'z', [('continue', (1, 21))])]
+- >>> parse('{{py:x=1}}')
+- [('py', (1, 3), 'x=1')]
+- >>> parse('{{if x}}a{{elif y}}b{{else}}c{{endif}}')
+- [('cond', (1, 3), ('if', (1, 3), 'x', ['a']), ('elif', (1, 12), 'y', ['b']), ('else', (1, 23), None, ['c']))]
+-
+- Some exceptions::
+-
+- >>> parse('{{continue}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: continue outside of for loop at line 1 column 3
+- >>> parse('{{if x}}foo')
+- Traceback (most recent call last):
+- ...
+- TemplateError: No {{endif}} at line 1 column 3
+- >>> parse('{{else}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: else outside of an if block at line 1 column 3
+- >>> parse('{{if x}}{{for x in y}}{{endif}}{{endfor}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: Unexpected endif at line 1 column 25
+- >>> parse('{{if}}{{endif}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: if with no expression at line 1 column 3
+- >>> parse('{{for x y}}{{endfor}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: Bad for (no "in") in 'x y' at line 1 column 3
+- >>> parse('{{py:x=1\ny=2}}')
+- Traceback (most recent call last):
+- ...
+- TemplateError: Multi-line py blocks must start with a newline at line 1 column 3
+- """
+- tokens = lex(s, name=name)
+- result = []
+- while tokens:
+- next, tokens = parse_expr(tokens, name)
+- result.append(next)
+- return result
+-
+-def parse_expr(tokens, name, context=()):
+- if isinstance(tokens[0], basestring):
+- return tokens[0], tokens[1:]
+- expr, pos = tokens[0]
+- expr = expr.strip()
+- if expr.startswith('py:'):
+- expr = expr[3:].lstrip(' \t')
+- if expr.startswith('\n'):
+- expr = expr[1:]
+- else:
+- if '\n' in expr:
+- raise TemplateError(
+- 'Multi-line py blocks must start with a newline',
+- position=pos, name=name)
+- return ('py', pos, expr), tokens[1:]
+- elif expr in ('continue', 'break'):
+- if 'for' not in context:
+- raise TemplateError(
+- 'continue outside of for loop',
+- position=pos, name=name)
+- return (expr, pos), tokens[1:]
+- elif expr.startswith('if '):
+- return parse_cond(tokens, name, context)
+- elif (expr.startswith('elif ')
+- or expr == 'else'):
+- raise TemplateError(
+- '%s outside of an if block' % expr.split()[0],
+- position=pos, name=name)
+- elif expr in ('if', 'elif', 'for'):
+- raise TemplateError(
+- '%s with no expression' % expr,
+- position=pos, name=name)
+- elif expr in ('endif', 'endfor'):
+- raise TemplateError(
+- 'Unexpected %s' % expr,
+- position=pos, name=name)
+- elif expr.startswith('for '):
+- return parse_for(tokens, name, context)
+- elif expr.startswith('default '):
+- return parse_default(tokens, name, context)
+- elif expr.startswith('#'):
+- return ('comment', pos, tokens[0][0]), tokens[1:]
+- return ('expr', pos, tokens[0][0]), tokens[1:]
+-
+-def parse_cond(tokens, name, context):
+- start = tokens[0][1]
+- pieces = []
+- context = context + ('if',)
+- while 1:
+- if not tokens:
+- raise TemplateError(
+- 'Missing {{endif}}',
+- position=start, name=name)
+- if (isinstance(tokens[0], tuple)
+- and tokens[0][0] == 'endif'):
+- return ('cond', start) + tuple(pieces), tokens[1:]
+- next, tokens = parse_one_cond(tokens, name, context)
+- pieces.append(next)
+-
+-def parse_one_cond(tokens, name, context):
+- (first, pos), tokens = tokens[0], tokens[1:]
+- content = []
+- if first.endswith(':'):
+- first = first[:-1]
+- if first.startswith('if '):
+- part = ('if', pos, first[3:].lstrip(), content)
+- elif first.startswith('elif '):
+- part = ('elif', pos, first[5:].lstrip(), content)
+- elif first == 'else':
+- part = ('else', pos, None, content)
+- else:
+- assert 0, "Unexpected token %r at %s" % (first, pos)
+- while 1:
+- if not tokens:
+- raise TemplateError(
+- 'No {{endif}}',
+- position=pos, name=name)
+- if (isinstance(tokens[0], tuple)
+- and (tokens[0][0] == 'endif'
+- or tokens[0][0].startswith('elif ')
+- or tokens[0][0] == 'else')):
+- return part, tokens
+- next, tokens = parse_expr(tokens, name, context)
+- content.append(next)
+-
+-def parse_for(tokens, name, context):
+- first, pos = tokens[0]
+- tokens = tokens[1:]
+- context = ('for',) + context
+- content = []
+- assert first.startswith('for ')
+- if first.endswith(':'):
+- first = first[:-1]
+- first = first[3:].strip()
+- match = in_re.search(first)
+- if not match:
+- raise TemplateError(
+- 'Bad for (no "in") in %r' % first,
+- position=pos, name=name)
+- vars = first[:match.start()]
+- if '(' in vars:
+- raise TemplateError(
+- 'You cannot have () in the variable section of a for loop (%r)'
+- % vars, position=pos, name=name)
+- vars = tuple([
+- v.strip() for v in first[:match.start()].split(',')
+- if v.strip()])
+- expr = first[match.end():]
+- while 1:
+- if not tokens:
+- raise TemplateError(
+- 'No {{endfor}}',
+- position=pos, name=name)
+- if (isinstance(tokens[0], tuple)
+- and tokens[0][0] == 'endfor'):
+- return ('for', pos, vars, expr, content), tokens[1:]
+- next, tokens = parse_expr(tokens, name, context)
+- content.append(next)
+-
+-def parse_default(tokens, name, context):
+- first, pos = tokens[0]
+- assert first.startswith('default ')
+- first = first.split(None, 1)[1]
+- parts = first.split('=', 1)
+- if len(parts) == 1:
+- raise TemplateError(
+- "Expression must be {{default var=value}}; no = found in %r" % first,
+- position=pos, name=name)
+- var = parts[0].strip()
+- if ',' in var:
+- raise TemplateError(
+- "{{default x, y = ...}} is not supported",
+- position=pos, name=name)
+- if not var_re.search(var):
+- raise TemplateError(
+- "Not a valid variable name for {{default}}: %r"
+- % var, position=pos, name=name)
+- expr = parts[1].strip()
+- return ('default', pos, var, expr), tokens[1:]
+-
+-_fill_command_usage = """\
+-%prog [OPTIONS] TEMPLATE arg=value
+-
+-Use py:arg=value to set a Python value; otherwise all values are
+-strings.
+-"""
+-
+-def fill_command(args=None):
+- import sys, optparse, pkg_resources, os
+- if args is None:
+- args = sys.argv[1:]
+- dist = pkg_resources.get_distribution('Paste')
+- parser = optparse.OptionParser(
+- version=str(dist),
+- usage=_fill_command_usage)
+- parser.add_option(
+- '-o', '--output',
+- dest='output',
+- metavar="FILENAME",
+- help="File to write output to (default stdout)")
+- parser.add_option(
+- '--html',
+- dest='use_html',
+- action='store_true',
+- help="Use HTML style filling (including automatic HTML quoting)")
+- parser.add_option(
+- '--env',
+- dest='use_env',
+- action='store_true',
+- help="Put the environment in as top-level variables")
+- options, args = parser.parse_args(args)
+- if len(args) < 1:
+- print 'You must give a template filename'
+- print dir(parser)
+- assert 0
+- template_name = args[0]
+- args = args[1:]
+- vars = {}
+- if options.use_env:
+- vars.update(os.environ)
+- for value in args:
+- if '=' not in value:
+- print 'Bad argument: %r' % value
+- sys.exit(2)
+- name, value = value.split('=', 1)
+- if name.startswith('py:'):
+- name = name[:3]
+- value = eval(value)
+- vars[name] = value
+- if template_name == '-':
+- template_content = sys.stdin.read()
+- template_name = '<stdin>'
+- else:
+- f = open(template_name, 'rb')
+- template_content = f.read()
+- f.close()
+- if options.use_html:
+- TemplateClass = HTMLTemplate
+- else:
+- TemplateClass = Template
+- template = TemplateClass(template_content, name=template_name)
+- result = template.substitute(vars)
+- if options.output:
+- f = open(options.output, 'wb')
+- f.write(result)
+- f.close()
+- else:
+- sys.stdout.write(result)
+-
+-if __name__ == '__main__':
+- from paste.util.template import fill_command
+- fill_command()
+-
+-
diff --git a/dev-python/paste/files/paste-1.7.5.1-userdict.patch b/dev-python/paste/files/paste-1.7.5.1-userdict.patch
new file mode 100644
index 000000000000..061f38a52828
--- /dev/null
+++ b/dev-python/paste/files/paste-1.7.5.1-userdict.patch
@@ -0,0 +1,64 @@
+--- a/paste/debug/fsdiff.py
++++ b/paste/debug/fsdiff.py
+@@ -12,10 +12,14 @@
+ import os
+ from fnmatch import fnmatch
+ from datetime import datetime
++
+ try:
+- from UserDict import IterableUserDict
++ import collections.UserDict as IterableUserDict
+ except ImportError:
+- from paste.util.UserDict24 import IterableUserDict
++ try:
++ from UserDict import IterableUserDict
++ except ImportError:
++ from paste.util.UserDict24 import IterableUserDict
+ import operator
+ import re
+
+--- a/paste/request.py
++++ b/paste/request.py
+@@ -22,10 +22,12 @@
+ from StringIO import StringIO
+ import urlparse
+ import urllib
++
+ try:
+ from UserDict import DictMixin
+ except ImportError:
+- from paste.util.UserDict24 import DictMixin
++ from collections import MutableMapping as DictMixin
++
+ from paste.util.multidict import MultiDict
+
+ __all__ = ['get_cookies', 'get_cookie_dict', 'parse_querystring',
+--- a/paste/urlmap.py
++++ b/paste/urlmap.py
+@@ -4,7 +4,10 @@
+ Map URL prefixes to WSGI applications. See ``URLMap``
+ """
+
+-from UserDict import DictMixin
++try:
++ from UserDict import DictMixin
++except ImportError:
++ from collections import MutableMapping as DictMixin
+ import re
+ import os
+ import cgi
+--- a/paste/util/multidict.py
++++ b/paste/util/multidict.py
+@@ -3,7 +3,11 @@
+ import cgi
+ import copy
+ import sys
+-from UserDict import DictMixin
++
++try:
++ from UserDict import DictMixin
++except ImportError:
++ from collections import MutableMapping as DictMixin
+
+ class MultiDict(DictMixin):
+
diff --git a/dev-python/paste/files/paste-2.0.2-unbundle-tempita.patch b/dev-python/paste/files/paste-2.0.2-unbundle-tempita.patch
new file mode 100644
index 000000000000..eef7abb4108e
--- /dev/null
+++ b/dev-python/paste/files/paste-2.0.2-unbundle-tempita.patch
@@ -0,0 +1,36 @@
+ paste/util/looper/__init__.py | 4 ++++
+ paste/util/{looper.py => looper/_looper.py} | 0
+ paste/util/template/__init__.py | 6 ++++++
+ paste/util/{template.py => template/_template.py} | 0
+ 4 files changed, 10 insertions(+)
+
+diff --git a/paste/util/looper/__init__.py b/paste/util/looper/__init__.py
+new file mode 100644
+index 0000000..77d7e80
+--- /dev/null
++++ b/paste/util/looper/__init__.py
+@@ -0,0 +1,4 @@
++try:
++ from tempita._looper import *
++except ImportError:
++ from _looper import *
+diff --git a/paste/util/looper.py b/paste/util/looper/_looper.py
+similarity index 100%
+rename from paste/util/looper.py
+rename to paste/util/looper/_looper.py
+diff --git a/paste/util/template/__init__.py b/paste/util/template/__init__.py
+new file mode 100644
+index 0000000..a0a5730
+--- /dev/null
++++ b/paste/util/template/__init__.py
+@@ -0,0 +1,6 @@
++try:
++ from tempita import *
++ from tempita import paste_script_template_renderer
++except ImportError:
++ from _template import *
++ from _template import paste_script_template_renderer
+diff --git a/paste/util/template.py b/paste/util/template/_template.py
+similarity index 100%
+rename from paste/util/template.py
+rename to paste/util/template/_template.py
diff --git a/dev-python/paste/metadata.xml b/dev-python/paste/metadata.xml
new file mode 100644
index 000000000000..60a4c1835023
--- /dev/null
+++ b/dev-python/paste/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="flup">enable support for flup (and therefore for various
+ wgsi servers and middleware)</flag>
+ <flag name="openid">enable OpenID support</flag>
+ </use>
+ <longdescription lang="en">This package provides several pieces of "middleware" (or filters) that can
+ be nested to build web applications. Each piece of middleware uses the WSGI
+ (PEP 333) interface, and should be compatible with other middleware based on
+ those interfaces.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Paste</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paste/paste-1.7.5.1-r1.ebuild b/dev-python/paste/paste-1.7.5.1-r1.ebuild
new file mode 100644
index 000000000000..e3e8a3f7a006
--- /dev/null
+++ b/dev-python/paste/paste-1.7.5.1-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Paste"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
+HOMEPAGE="http://pythonpaste.org http://pypi.python.org/pypi/Paste"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc flup openid"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ flup? ( dev-python/flup[${PYTHON_USEDEP}] )
+ openid? ( dev-python/python-openid[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable failing tests.
+ rm -f tests/test_cgiapp.py
+ sed \
+ -e "s/test_find_file/_&/" \
+ -e "s/test_deep/_&/" \
+ -e "s/test_static_parser/_&/" \
+ -i tests/test_urlparser.py || die "sed failed"
+
+ # Remove a test that runs against the paste website.
+ rm -f tests/test_proxy.py
+
+ local PATCHES=(
+ "${FILESDIR}/${P}-fix-tests-for-pypy.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests -P || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paste/paste-1.7.5.1-r2.ebuild b/dev-python/paste/paste-1.7.5.1-r2.ebuild
new file mode 100644
index 000000000000..1267db6af929
--- /dev/null
+++ b/dev-python/paste/paste-1.7.5.1-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+# notes wrt py-3 compatibility:
+# Debian ships paste for py3 using 2to3. Many tests fail when using such converted code and
+# the fact that the errors are sometimes nested inside paste indicate that the
+# result is indeed broken. Upstream is not responsive nor interested in porting.
+
+inherit distutils-r1
+
+MY_PN="Paste"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
+HOMEPAGE="http://pythonpaste.org http://pypi.python.org/pypi/Paste"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc flup openid"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.5.2_pre20130828[${PYTHON_USEDEP}]
+ flup? ( dev-python/flup[${PYTHON_USEDEP}] )
+ openid? ( dev-python/python-openid[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable failing tests.
+ rm -f tests/test_cgiapp.py
+ sed \
+ -e "s/test_find_file/_&/" \
+ -e "s/test_deep/_&/" \
+ -e "s/test_static_parser/_&/" \
+ -i tests/test_urlparser.py || die "sed failed"
+
+ # Remove a test that runs against the paste website.
+ rm -f tests/test_proxy.py
+
+ local PATCHES=(
+ "${FILESDIR}/${P}-fix-tests-for-pypy.patch"
+ "${FILESDIR}/${P}-python27-lambda.patch"
+ "${FILESDIR}/${P}-unbundle-stdlib.patch"
+ "${FILESDIR}/${P}-unbundle-tempita.patch"
+ "${FILESDIR}/${P}-userdict.patch"
+ "${FILESDIR}/${P}-rfc822.patch"
+ "${FILESDIR}/${P}-email-mime.patch"
+ "${FILESDIR}/${P}-types.patch"
+ "${FILESDIR}/${P}-hmac.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests -P || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/paste/paste-2.0.2.ebuild b/dev-python/paste/paste-2.0.2.ebuild
new file mode 100644
index 000000000000..38c1b01e6d81
--- /dev/null
+++ b/dev-python/paste/paste-2.0.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="Paste"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
+HOMEPAGE="http://pythonpaste.org http://pypi.python.org/pypi/Paste"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc flup openid"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.5.2_pre20130828[${PYTHON_USEDEP}]
+ flup? ( dev-python/flup[$(python_gen_usedep 'python2*')] )
+ openid? ( dev-python/python-openid[$(python_gen_usedep 'python2*')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable failing tests.
+ rm -f tests/test_cgiapp.py || die
+ sed \
+ -e "s/test_find_file/_&/" \
+ -e "s/test_deep/_&/" \
+ -e "s/test_static_parser/_&/" \
+ -i tests/test_urlparser.py || die "sed failed"
+
+ # Remove a test that runs against the paste website.
+ rm -f tests/test_proxy.py || die
+
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.5.1-fix-tests-for-pypy.patch
+ "${FILESDIR}"/${P}-unbundle-tempita.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests -P -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install egg_info --egg-base "${BUILD_DIR}/lib"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pastedeploy/Manifest b/dev-python/pastedeploy/Manifest
new file mode 100644
index 000000000000..94cc2861890a
--- /dev/null
+++ b/dev-python/pastedeploy/Manifest
@@ -0,0 +1 @@
+DIST PasteDeploy-1.5.2.tar.gz 24006 SHA256 d5858f89a255e6294e63ed46b73613c56e3b9a2d82a42f1df4d06c8421a9e3cb SHA512 03147b2e735f4504b928066d35f46e7d19a49b85afc506b793fba69c8827a4d5b8185074bdd4a963ac392cc104f5a608d1db9a3538d7d3239da5febcbff4ccab WHIRLPOOL 0a48c72278c71376f8b4ddc708c1b6c3370b13f66fc3d438d1a485e69d413814ca37cf580d8e09e0d49a8a35f7e6e0104744440a3fe6b1dfeb5914d3a0557793
diff --git a/dev-python/pastedeploy/metadata.xml b/dev-python/pastedeploy/metadata.xml
new file mode 100644
index 000000000000..12e6c22fb53d
--- /dev/null
+++ b/dev-python/pastedeploy/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Paste Deployment is a system for finding and configuring WSGI applications
+ and servers. For WSGI application consumers it provides a single, simple
+ function (loadapp) for loading a WSGI application from a configuration file
+ or a Python Egg. For WSGI application providers it only asks for a single,
+ simple entry point to your application, so that application users don't need
+ to be exposed to the implementation details of your application.</longdescription>
+ <upstream>
+ <remote-id type="pypi">PasteDeploy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pastedeploy/pastedeploy-1.5.2.ebuild b/dev-python/pastedeploy/pastedeploy-1.5.2.ebuild
new file mode 100644
index 000000000000..ddad671f9d64
--- /dev/null
+++ b/dev-python/pastedeploy/pastedeploy-1.5.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="PasteDeploy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Load, configure, and compose WSGI applications and servers"
+HOMEPAGE="http://pythonpaste.org/deploy/ http://pypi.python.org/pypi/PasteDeploy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ use doc && dodoc docs/*.txt
+}
diff --git a/dev-python/pastescript/Manifest b/dev-python/pastescript/Manifest
new file mode 100644
index 000000000000..14429e6a55df
--- /dev/null
+++ b/dev-python/pastescript/Manifest
@@ -0,0 +1 @@
+DIST PasteScript-2.0.2.tar.gz 117521 SHA256 c03f249805538cc2328741ae8d262a9200ae1c993119b3d9bac4cd422cb476c0 SHA512 2f093eb982972fed354219c75c2e008931cea553960cea8aaafbe57cde8556de5626e7eb9bb3b9b7328bad3b7d9899f11fc9773a65380396dae506e7531516de WHIRLPOOL 951c16499bb9e120813749871cfdc7b36b04660c4dbb4c0d2c7335312a8b58c412dc0ca49029ce674be90207645eb1657bde8ae869ffb72d29c592ca978cdca9
diff --git a/dev-python/pastescript/files/pastescript-setup.py-exclude-tests.patch b/dev-python/pastescript/files/pastescript-setup.py-exclude-tests.patch
new file mode 100644
index 000000000000..24190a783f06
--- /dev/null
+++ b/dev-python/pastescript/files/pastescript-setup.py-exclude-tests.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User Mike Gilbert <floppym@gentoo.org>
+# Date 1353179174 18000
+# Node ID 814fbc493e7a9999086127f64c2406ecb1794990
+# Parent 510ff7d7627750eb0dbbc0d36fa63c72ffa6b303
+Exclude subpackages of tests.
+
+diff --git a/setup.py b/setup.py
+--- a/setup.py
++++ b/setup.py
+@@ -61,7 +61,7 @@
+ url="http://pythonpaste.org/script/",
+ namespace_packages=['paste'],
+ license='MIT',
+- packages=find_packages(exclude='tests'),
++ packages=find_packages(exclude=['tests','tests.*']),
+ package_data={
+ 'paste.script': ['paster-templates/basic_package/setup.*',
+ 'paster-templates/basic_package/tests/*.py',
diff --git a/dev-python/pastescript/metadata.xml b/dev-python/pastescript/metadata.xml
new file mode 100644
index 000000000000..6b387078e551
--- /dev/null
+++ b/dev-python/pastescript/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PasteScript</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pastescript/pastescript-2.0.2.ebuild b/dev-python/pastescript/pastescript-2.0.2.ebuild
new file mode 100644
index 000000000000..f583a86f8880
--- /dev/null
+++ b/dev-python/pastescript/pastescript-2.0.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN="PasteScript"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A pluggable command-line frontend, including commands to setup package file layouts"
+HOMEPAGE="http://pythonpaste.org/script/ http://pypi.python.org/pypi/PasteScript"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="
+ >=dev-python/paste-1.3[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Tests are broken.
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ esetup.py build_sphinx
+ fi
+}
+
+python_test() {
+ nosetests -v -v || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ cd "${BUILD_DIR}"/sphinx/html || die
+ dohtml -r [a-z]* _static
+ fi
+}
diff --git a/dev-python/path-py/Manifest b/dev-python/path-py/Manifest
new file mode 100644
index 000000000000..fc2d054e84a8
--- /dev/null
+++ b/dev-python/path-py/Manifest
@@ -0,0 +1,2 @@
+DIST path.py-7.2.zip 33360 SHA256 5e2330895ff3a7873c90cf2600da51b0baae0a3d5fd3ce47d22b32b15db65e1f SHA512 b3c810305e04a4167d86a0732a3fdfd95e545252fa0ade3eb9d41ce76d5e2cc7b0396a707af99c9ab475a2fcb7df2ea3858cfe183ba8da25217fe9f27855392f WHIRLPOOL 72a753879a6420dce2d504dffe1f1c7f10f53819a7c7f8e7b10b29e106083f02005ac2824b40e556392591592eaead17adc33f221eeec875d066bb5ed6685600
+DIST path.py-7.3.zip 33549 SHA256 f7d146f40768e3742199a5316fbe3eb6a6091b9feedcb4b969c7348dc03151e1 SHA512 f676b81deda7b42a2a29fef0827d7c8ecbe743d0fa5efdc8221a78f3e744f357a179a9b8451264636ca2626f58d422a02d6ad77cc57eef74dd3b186585863433 WHIRLPOOL 7da96c488aa6bcdea0a65c69b412710dbc85f7bed04dd571389ca190d43fea2e711659ca3546b926efc69d631a1408b5905839c39866d7e98b7dde19803d0c4f
diff --git a/dev-python/path-py/metadata.xml b/dev-python/path-py/metadata.xml
new file mode 100644
index 000000000000..d1a9051ef223
--- /dev/null
+++ b/dev-python/path-py/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">path.py</remote-id>
+ <remote-id type="github">jaraco/path.py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/path-py/path-py-7.2.ebuild b/dev-python/path-py/path-py-7.2.ebuild
new file mode 100644
index 000000000000..8b4f05706610
--- /dev/null
+++ b/dev-python/path-py/path-py-7.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_P="path.py-${PV}"
+
+DESCRIPTION="A module wrapper for os.path"
+HOMEPAGE="http://pythonhosted.org/path.py https://pypi.python.org/pypi/path.py https://github.com/jaraco/path.py"
+SRC_URI="mirror://pypi/p/path.py/${MY_P}.zip"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/path-py/path-py-7.3.ebuild b/dev-python/path-py/path-py-7.3.ebuild
new file mode 100644
index 000000000000..8b4f05706610
--- /dev/null
+++ b/dev-python/path-py/path-py-7.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_P="path.py-${PV}"
+
+DESCRIPTION="A module wrapper for os.path"
+HOMEPAGE="http://pythonhosted.org/path.py https://pypi.python.org/pypi/path.py https://github.com/jaraco/path.py"
+SRC_URI="mirror://pypi/p/path.py/${MY_P}.zip"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/pathlib/Manifest b/dev-python/pathlib/Manifest
new file mode 100644
index 000000000000..19de82323369
--- /dev/null
+++ b/dev-python/pathlib/Manifest
@@ -0,0 +1 @@
+DIST pathlib-1.0.1.tar.gz 49298 SHA256 6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f SHA512 d85e45dfcc85ce75a7e7b609163dc8c75c688f279c1833510185f280af5501e473376dc09bddc6a804d1fcc3177a939db85af37b7b8d5b183b9bc2b85b3b0f8b WHIRLPOOL 3cb4b7c11e5cd0f3c942ffdd4478999c021a2c8167b586c99fea467bb145a71a51350d61be727f85ae63539d6407fe920cd07cacea654c3002cadf48e52e972a
diff --git a/dev-python/pathlib/metadata.xml b/dev-python/pathlib/metadata.xml
new file mode 100644
index 000000000000..71126cde3058
--- /dev/null
+++ b/dev-python/pathlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pathlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pathlib/pathlib-1.0.1.ebuild b/dev-python/pathlib/pathlib-1.0.1.ebuild
new file mode 100644
index 000000000000..a85afa5784d8
--- /dev/null
+++ b/dev-python/pathlib/pathlib-1.0.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# In Python 3.4, pathlib is now part of the standard library.
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Object-oriented filesystem paths"
+HOMEPAGE="https://pathlib.readthedocs.org/"
+SRC_URI="mirror://pypi/p/pathlib/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/pathtools/Manifest b/dev-python/pathtools/Manifest
new file mode 100644
index 000000000000..de36df170feb
--- /dev/null
+++ b/dev-python/pathtools/Manifest
@@ -0,0 +1 @@
+DIST pathtools-0.1.2.tar.gz 11006 SHA256 7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0 SHA512 e014cb17f3d61ce7979e36663f94a44d4f1116c35e3d2ec8c4ac207a81935dde246495ed06597e6edade1509f384b9e5729a97ffd3eec31b1d1c4a8372d1dfd7 WHIRLPOOL b08011d5cea80535a91d7e3145e6f9c3435a9717589b307c7c0f5334c7a249c9aace68b2037682ac0364a623e70847ee1c0752df205b99bd66fa464622e8a0fb
diff --git a/dev-python/pathtools/metadata.xml b/dev-python/pathtools/metadata.xml
new file mode 100644
index 000000000000..fb0a6d8541ca
--- /dev/null
+++ b/dev-python/pathtools/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pathtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pathtools/pathtools-0.1.2.ebuild b/dev-python/pathtools/pathtools-0.1.2.ebuild
new file mode 100644
index 000000000000..a4b837217b1f
--- /dev/null
+++ b/dev-python/pathtools/pathtools-0.1.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy)
+inherit distutils-r1
+
+DESCRIPTION="Pattern matching and various utilities for file systems paths"
+HOMEPAGE="https://pypi.python.org/pypi/pathtools/"
+SRC_URI="mirror://pypi/p/pathtools/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/patsy/Manifest b/dev-python/patsy/Manifest
new file mode 100644
index 000000000000..31c617b218d7
--- /dev/null
+++ b/dev-python/patsy/Manifest
@@ -0,0 +1,3 @@
+DIST patsy-0.2.0.tar.gz 315486 SHA256 1d399e504dc7c9e5f35460698dd4ebf098aa215e861ea4f5ded29e98e73740c3 SHA512 4e1028dcab58e2fc938c4f8dec0aeb148fbf7d2430855d8caa844bc19088b66a8ab9b83edc3f3066df41e751f1e0ff6d24478109be562e420da6c84e3f76763f WHIRLPOOL 2da9956373cc9bd2f13d277bcca37467ab8f5b37223f9c6bf6d59b6c69e7c54bdcc70433c990ea4a02aa424c497be08031966963721194af308cda1bb36edb13
+DIST patsy-0.2.1.tar.gz 316115 SHA256 31374ce25275813d8f1c48bdda40bba06f7a16cce7dcdfad73f43a555393d065 SHA512 b7cbd9b224081b2496292b23c134abfdd9decedfda433bc7c289b899003c527184e0ba0f729eca1f3bceceac0c43090d9b611b8b1f593df5ce2a01129fabf9f6 WHIRLPOOL 91b8bc896146e48c272429482d3294a35cbc0a46662e66b913811491b2d89005371dc6eb09f38a4a043e507fba3b359dcf3a1fc61e9bf88c462c8b9ebeb995d9
+DIST patsy-0.3.0.zip 414947 SHA256 a55dd4ca09af4b9608b81f30322beb450510964c022708ab50e83a065ccf15f0 SHA512 e716588372ca5c2cb8923b5a04c11be4911cb44e7af2c82ebf92aba478bd9ec6707bea5abfa11439038a6be7522c80fb5d67d452725669f38bc81bc9a0c1e2e8 WHIRLPOOL c0e82d8f15961d4954245c7abe03973b8f660c58e57962dbb3d0523a6a544d4a922c578f3394d72e00ca5656ed5a552aeab5633317bf52d33fd856e135094c30
diff --git a/dev-python/patsy/metadata.xml b/dev-python/patsy/metadata.xml
new file mode 100644
index 000000000000..5296bb5bc086
--- /dev/null
+++ b/dev-python/patsy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription>
+ A Python package for describing statistical models and for building
+ design matrices. It is closely inspired by and compatible with the
+ 'formula' mini-language used in R and S.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">patsy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/patsy/patsy-0.2.0.ebuild b/dev-python/patsy/patsy-0.2.0.ebuild
new file mode 100644
index 000000000000..e7fa8e258f5d
--- /dev/null
+++ b/dev-python/patsy/patsy-0.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to describe statistical models and design matrices"
+HOMEPAGE="http://patsy.readthedocs.org/en/latest/index.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/ipython
+ dev-python/matplotlib
+ dev-python/sphinx )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/_build/html/*
+}
diff --git a/dev-python/patsy/patsy-0.2.1.ebuild b/dev-python/patsy/patsy-0.2.1.ebuild
new file mode 100644
index 000000000000..e7fa8e258f5d
--- /dev/null
+++ b/dev-python/patsy/patsy-0.2.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to describe statistical models and design matrices"
+HOMEPAGE="http://patsy.readthedocs.org/en/latest/index.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/ipython
+ dev-python/matplotlib
+ dev-python/sphinx )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/_build/html/*
+}
diff --git a/dev-python/patsy/patsy-0.3.0-r1.ebuild b/dev-python/patsy/patsy-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..fec3066e0249
--- /dev/null
+++ b/dev-python/patsy/patsy-0.3.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to describe statistical models and design matrices"
+HOMEPAGE="http://patsy.readthedocs.org/en/latest/index.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/_build/html/*
+}
diff --git a/dev-python/patsy/patsy-0.3.0.ebuild b/dev-python/patsy/patsy-0.3.0.ebuild
new file mode 100644
index 000000000000..ebc5e84d7f19
--- /dev/null
+++ b/dev-python/patsy/patsy-0.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to describe statistical models and design matrices"
+HOMEPAGE="http://patsy.readthedocs.org/en/latest/index.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/_build/html/*
+}
diff --git a/dev-python/paver/Manifest b/dev-python/paver/Manifest
new file mode 100644
index 000000000000..2b6912aa9dff
--- /dev/null
+++ b/dev-python/paver/Manifest
@@ -0,0 +1,2 @@
+DIST Paver-1.2.3.tar.gz 365188 SHA256 85944a3c485707761a804131a29be07a63d799155583f7e6c6a9e519eea34053 SHA512 c45f6d6f898c679357b89273a078942ff3b199f72c86dd5422955f274a9eae09189a1e6d48d626c02417f7a2e7fbfa0d796448c812c7c838fd1dc0f918f10be1 WHIRLPOOL 039ea516e5e650d7a59a7beeba4ab2545af6cc6a9ddaaab9d06a3fe9e5dde1919acb22215c783e404d04ffc1216b4bcb6d7e34d6b68573f5f4a1e8b9326bcaf4
+DIST Paver-1.2.4.tar.gz 328794 SHA256 6e155686eda543f3a863ef1d4389bce389a9738468a02f8aefc4b8b71cf6777e SHA512 ba737f2da0582d4c3364b654a79d9868bb394fcbf1102feea3604821a65075631fbdb7b767ba8977f3231bcb6cf167abd994fb1dd9fd080046ea8bcfde8cdeb7 WHIRLPOOL 924380325dc63ffc9eb77742c7cb428a240c6d18c91977418492cbdb419c60f294c1313dfaeca86b4a78c97487f10cfc600454e0be147a2ad293a1038c6ff3cc
diff --git a/dev-python/paver/files/paver-1.2.0-skip-cog-tests.patch b/dev-python/paver/files/paver-1.2.0-skip-cog-tests.patch
new file mode 100644
index 000000000000..1ee339dd3bba
--- /dev/null
+++ b/dev-python/paver/files/paver-1.2.0-skip-cog-tests.patch
@@ -0,0 +1,34 @@
+From 1b9641cd841fe5d22ba4c5ef4198e47995c74f04 Mon Sep 17 00:00:00 2001
+From: Almad <bugs@almad.net>
+Date: Wed, 27 Feb 2013 02:56:12 +0100
+Subject: [PATCH] Skip cog tests if tests are not installed (refs #93)
+
+---
+ paver/tests/test_doctools.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/paver/tests/test_doctools.py b/paver/tests/test_doctools.py
+index bc0cf8c..6104b3f 100644
+--- a/paver/tests/test_doctools.py
++++ b/paver/tests/test_doctools.py
+@@ -137,6 +137,8 @@ def test_include_lookup():
+ """, "Second was '%s'" % (second)
+
+ def test_cogging():
++ if not paver.doctools.has_cog:
++ raise SkipTest("Cog must be installed for this test")
+ _no25()
+ env = tasks.Environment(doctools)
+ tasks.environment = env
+@@ -159,6 +161,8 @@ def test_cogging():
+ assert "print sys.path" not in data
+
+ def test_cogging_with_markers_removed():
++ if not paver.doctools.has_cog:
++ raise SkipTest("Cog must be installed for this test")
+ _no25()
+ env = tasks.Environment(doctools)
+ tasks.environment = env
+--
+1.7.10
+
diff --git a/dev-python/paver/metadata.xml b/dev-python/paver/metadata.xml
new file mode 100644
index 000000000000..eacac6c8f0d0
--- /dev/null
+++ b/dev-python/paver/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Paver</remote-id>
+ <remote-id type="github">paver/paver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/paver/paver-1.2.3.ebuild b/dev-python/paver/paver-1.2.3.ebuild
new file mode 100644
index 000000000000..77472610bc07
--- /dev/null
+++ b/dev-python/paver/paver-1.2.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/p/P}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python-based software project scripting tool along the lines of Make"
+HOMEPAGE="http://www.blueskyonmars.com/projects/paver/ http://pypi.python.org/pypi/Paver"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/paver/paver-1.2.4.ebuild b/dev-python/paver/paver-1.2.4.ebuild
new file mode 100644
index 000000000000..b47dad8249b6
--- /dev/null
+++ b/dev-python/paver/paver-1.2.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/p/P}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python-based software project scripting tool along the lines of Make"
+HOMEPAGE="http://www.blueskyonmars.com/projects/paver/ http://github.com/paver/paver"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ # There is a regression in tests
+ # https://github.com/paver/paver/issues/143
+ nosetests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/pbkdf2/Manifest b/dev-python/pbkdf2/Manifest
new file mode 100644
index 000000000000..d97cc40669db
--- /dev/null
+++ b/dev-python/pbkdf2/Manifest
@@ -0,0 +1 @@
+DIST pbkdf2-1.3.tar.gz 6360 SHA256 ac6397369f128212c43064a2b4878038dab78dab41875364554aaf2a684e6979 SHA512 1297950d045f9b56f5eb9f771fe65091802c1f12f090a8a80fb5e36bfa10f1c1ac3b9dc8088f4a640b840fb7073aadd3fdf39f3979118046ba5cde477d071244 WHIRLPOOL 85dc9f380d469fc3fe016cb5054c8078dd07d38481df6a7ea51512be238f272dcf1f74a5bed6d5874045edc418913db8d096f355081318803995da5647869a6a
diff --git a/dev-python/pbkdf2/metadata.xml b/dev-python/pbkdf2/metadata.xml
new file mode 100644
index 000000000000..b987fb894b5c
--- /dev/null
+++ b/dev-python/pbkdf2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pbkdf2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pbkdf2/pbkdf2-1.3.ebuild b/dev-python/pbkdf2/pbkdf2-1.3.ebuild
new file mode 100644
index 000000000000..43ba8c171a9b
--- /dev/null
+++ b/dev-python/pbkdf2/pbkdf2-1.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Implementation of the password-based key derivation function, PBKDF2, specified in RSA PKCS#5 v2.0"
+HOMEPAGE="http://www.dlitz.net/software/python-pbkdf2/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/pbr/Manifest b/dev-python/pbr/Manifest
new file mode 100644
index 000000000000..0446612fc9c6
--- /dev/null
+++ b/dev-python/pbr/Manifest
@@ -0,0 +1,8 @@
+DIST pbr-0.10.8.tar.gz 82952 SHA256 a741650c697abe9dd3da00039a57a45a15a6eed017a16f6b7e4c0161fae2b4b2 SHA512 d79455288657ca07e38a64393d54bda8f88b75242b929ea9f88ac809ba88fffa4793eba0459cae368d822164de5a89721c77fadd05ab624db5897f6cf447b1f4 WHIRLPOOL 621f34852dc31cd149422a36fc0416fdc8640f9103439267f9b6f117a80c5dd949fab18287c10c5d5022248812b792f83766b32a62608d42d8b08066c890753e
+DIST pbr-0.11.0.tar.gz 94347 SHA256 d7f0d69aef367a764d69a4728afd966025ce9394d6029a924ef838ecdf592f6d SHA512 6ddcbc39b25e57d20108f72334934f5243d397e2b5316ad26bdbdf32ae6e5bed0ad6fcb47d8e92d6c73a9bd369c463a962cae9fce5800096dd819f2ce58a045b WHIRLPOOL 0f239031cd89fde32f92b792c5e8d7b030644cd277cab6492028a75a5b0e2c8610ac2cf908fd644998663b21bb1a188147a1be0727d60726d4ba5c0edc0ddae5
+DIST pbr-0.8.2.tar.gz 77790 SHA256 eef2ace8d65d5902582cbc9ad3b2ecff0e86a6f90ad4837d8b17d568dd9dd20e SHA512 76d7d4c97660d5a6bbe9a33498a93b32528073024520e570739c511c0138ba1af7e35139bf77ca2a94063e5979baccd6252619449d6aed546fd1331be81ab52a WHIRLPOOL d6331fcd6e7d4eb750e3285e92fd21dfdfbb054b880f954156d1e781025a0c0e1c464e0c23cad587799ceba787928af092d34071eb0a5c4595b0e8aa6db52ff0
+DIST pbr-1.0.1.tar.gz 96438 SHA256 fc3d19ab844647388cc13a3df403bda872d2fc16662803d0ebcc1787d3645552 SHA512 4c4d623a558761edb5724ccb55122bf37a57a2ef48c5a2788df0d564d913a0aa59887f12da698d019e2636d70e92f45002520aeb6b7401f4b47d10c4c76b7567 WHIRLPOOL 1c08bad2d47e3805d59464a62365423fdd46a711d3ca860375962af2ba899d8e8165912f28d3c35957554116a466cbb16c57272a24eeba73d8ce0ca417c23837
+DIST pbr-1.1.1.tar.gz 97607 SHA256 3d63cc8e145e5e20624859d6453d783ae1451704483ae23d3315041d65e4d423 SHA512 bf997b85ef1b1f3ff51050ca9314f48ffd3119ba0da3acfe0e97b8498eb4af5137a528a3359527c21bbbcc6425b2eebaff69177c3eecb612a1d137b020bd019c WHIRLPOOL 45c6e4ca421df003a9ec19dca500972395644a55cafa1482c8860a87baf3ffa71ef9c4180f07dfe4db3c8b2ac0ca8171233a7e54245622cd9108f5a975ec1b80
+DIST pbr-1.2.0.tar.gz 99092 SHA256 1543fc3e00261369c160fc8cf700717aad15fbc1f0ea0e8dc4f372cb91a655d0 SHA512 e5adc396596f4b42a8eb569c970a3cf571b119740b9ca221dc57c6f34c088df1dbfca3c704b7dd3b2d6676d48f9eba17ddb535e28ef6ab0572206620b894c5a2 WHIRLPOOL 6baaeecc6dc7c228d76f7a8f42af19cf179540483267ea863323e09654a3faac0cabbea6dc6d83b36e0c4496cd5872f05e1e9b7f5c5a36272fc746f84e2dd504
+DIST pbr-1.3.0.tar.gz 99701 SHA256 1a6f8d514fc11d2571c75c207d932c106f024f199b5f12d25f8ca022b026c59d SHA512 29f661a1d8bed6df5017bb342209e702f19e72c321952a9131d84222162599208bea67922485a87b6f3505e072d62cb13fdfcdd4fbb7c085b3476f6ff5a07df9 WHIRLPOOL 978d943efd2f582b8067a898f102005c749df8addee4ec3d6f4f4c4078e3190263ceba46409281e7bd38ab59ad12f45d3d208cfd6ba58ece72d973161dfd08e9
+DIST pbr-1.4.0.tar.gz 102181 SHA256 f080232fb6b208615b4c1854bf4277bb097d19c9ef89f94f203c1436fe600e92 SHA512 c6ccc8fd6598e089eb80342ce0d76f26dd1242eedb64aa7c0020be43ba74b1591cff52a5eec9d9c9b958315e7902b78bf120bf758aacc28fcec3f07ac5173150 WHIRLPOOL 9cee1204273256588982065c388c06e053253ebd2ae242a89b5f60a8052c1fe58e2136a30c289b8278131e9487a902ce8902e883cbd3b73c34f9fe87de1229c5
diff --git a/dev-python/pbr/metadata.xml b/dev-python/pbr/metadata.xml
new file mode 100644
index 000000000000..bbc246e7b750
--- /dev/null
+++ b/dev-python/pbr/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python Build Reasonableness
+ PBR is a library that injects some useful and sensible default behaviors into your setuptools run.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pbr</remote-id>
+ <remote-id type="github">openstack-dev/pbr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pbr/pbr-0.10.8.ebuild b/dev-python/pbr/pbr-0.10.8.ebuild
new file mode 100644
index 000000000000..6b80a8ca5916
--- /dev/null
+++ b/dev-python/pbr/pbr-0.10.8.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">dev-python/pip-1.4[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init || die
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-0.11.0.ebuild b/dev-python/pbr/pbr-0.11.0.ebuild
new file mode 100644
index 000000000000..c4e10f6000a2
--- /dev/null
+++ b/dev-python/pbr/pbr-0.11.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init || die
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-0.8.2-r1.ebuild b/dev-python/pbr/pbr-0.8.2-r1.ebuild
new file mode 100644
index 000000000000..12f82a9ff37e
--- /dev/null
+++ b/dev-python/pbr/pbr-0.8.2-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="PBR is a library that injects some useful and sensible default
+behaviors into your setuptools run."
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">dev-python/pip-1.4[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-0.8.2.ebuild b/dev-python/pbr/pbr-0.8.2.ebuild
new file mode 100644
index 000000000000..d6a5f3dc47d6
--- /dev/null
+++ b/dev-python/pbr/pbr-0.8.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="PBR is a library that injects some useful and sensible default
+behaviors into your setuptools run."
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha ~amd64 arm hppa ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/flake8-2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">dev-python/pip-1.4[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+# You can do this in about 3 different ways; throw it in a src_test() and prepend it to a
+# distutils-r1_src_test or os it a distutils-r1_python_test, but really it makes for a HUGE 'meh'
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ sed -e s':test_console_script_develop:_&:' -i pbr/tests/test_core.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run || die "Testsuite failed under ${EPYTHON}"
+ flake8 "${PN}"/tests || die "Run over tests folder by flake8 drew error"
+}
diff --git a/dev-python/pbr/pbr-1.0.1.ebuild b/dev-python/pbr/pbr-1.0.1.ebuild
new file mode 100644
index 000000000000..1a554bb0274f
--- /dev/null
+++ b/dev-python/pbr/pbr-1.0.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init || die
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-1.1.1.ebuild b/dev-python/pbr/pbr-1.1.1.ebuild
new file mode 100644
index 000000000000..f9498baa6b22
--- /dev/null
+++ b/dev-python/pbr/pbr-1.1.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init || die
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-1.2.0.ebuild b/dev-python/pbr/pbr-1.2.0.ebuild
new file mode 100644
index 000000000000..db41123120d1
--- /dev/null
+++ b/dev-python/pbr/pbr-1.2.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; removed tests pass once package is emerged,
+ # it's the suite's design that breaks form, not the tests' intended purpose
+ testr init || die
+ testr run || die "Testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/pbr/pbr-1.3.0.ebuild b/dev-python/pbr/pbr-1.3.0.ebuild
new file mode 100644
index 000000000000..1c676517645b
--- /dev/null
+++ b/dev-python/pbr/pbr-1.3.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; Tests, that have been removed, pass once package is emerged.
+ esetup.py testr
+}
diff --git a/dev-python/pbr/pbr-1.4.0.ebuild b/dev-python/pbr/pbr-1.4.0.ebuild
new file mode 100644
index 000000000000..0016a6f8418c
--- /dev/null
+++ b/dev-python/pbr/pbr-1.4.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Inject some useful and sensible default behaviors into setuptools"
+HOMEPAGE="https://github.com/openstack-dev/pbr"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+#KEYWORDS="~amd64 ~hppa ~amd64-linux ~x86-linux"
+KEYWORDS=""
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.2[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="dev-python/pip[${PYTHON_USEDEP}]"
+
+# Requ'd for testsuite
+DISTUTILS_IN_SOURCE_BUILD=1
+
+# This normally actually belongs here.
+python_prepare_all() {
+ # This test passes when run within the source and doesn't represent a failure, but rather
+ # a gentoo sandbox constraint
+ # Rm tests that rely upon the package being already installed and fail
+ sed -e s':test_console_script_develop:_&:' \
+ -e s':test_console_script_install:_&:' \
+ -e s':test_sdist_extra_files:_&:' \
+ -e s':test_command_hooks:_&:' \
+ -e s':test_sdist_git_extra_files:_&:' \
+ -i pbr/tests/test_core.py || die
+ sed -e s':test_command_hooks:_&:' \
+ -e s':test_global_setup_hooks:_&:' \
+ -i pbr/tests/test_hooks.py || die
+ einfo "rogue tests disabled"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Note; Tests, that have been removed, pass once package is emerged.
+ esetup.py testr
+}
diff --git a/dev-python/pdfrw/Manifest b/dev-python/pdfrw/Manifest
new file mode 100644
index 000000000000..1f5e474d439b
--- /dev/null
+++ b/dev-python/pdfrw/Manifest
@@ -0,0 +1,2 @@
+DIST pdfrw-0.1.tar.gz 30366 SHA256 8a85cb87b888c030d87cc3fce10ad93e5f99e721b80b99bf50e29a074c048f83 SHA512 16b79beec6281c499c03106dbf91e17aaf060966f9deef1983155a37dcde64b4e5dac16db89d29e6e9aca4897bb61be109fef5c6d87bd986bfd40f2f149c3d31 WHIRLPOOL 49c0250565309c66c184f6eb106c61b847dcd1cf54f725742cd643d5339a9154b78b5135c1be4b233f713b2f8aa72e7149eb634b262a488533f5e79e49572794
+DIST pdfrw-0.2.tar.gz 69177 SHA256 09f734df28f9ad712a2c14308b1d60e7202762c3ce2e32a6ad30e7ec149822b2 SHA512 4f1ed3b7ddb42969110291b31e02e15e1f98316ede25eaa4d63cdbc443497a278267309769351e04cff52651cdbc44c93771e521cb953ba08d57152f81ee516f WHIRLPOOL efbe6fa4e2ce53f27f1aed76183d2098ff2e1a9792a581078a219c27ec02c787ad6252a3d0120beda01214bcb3aa85600d23f48e90d8deaf45eec49ae88cfade
diff --git a/dev-python/pdfrw/metadata.xml b/dev-python/pdfrw/metadata.xml
new file mode 100644
index 000000000000..04c2cee1f08b
--- /dev/null
+++ b/dev-python/pdfrw/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pdfrw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pdfrw/pdfrw-0.1.ebuild b/dev-python/pdfrw/pdfrw-0.1.ebuild
new file mode 100644
index 000000000000..8bb0032eedf1
--- /dev/null
+++ b/dev-python/pdfrw/pdfrw-0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="PDF file reader/writer library"
+HOMEPAGE="https://code.google.com/p/pdfrw/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc ~ppc64 x86"
+IUSE=""
diff --git a/dev-python/pdfrw/pdfrw-0.2.ebuild b/dev-python/pdfrw/pdfrw-0.2.ebuild
new file mode 100644
index 000000000000..b70002ad80fe
--- /dev/null
+++ b/dev-python/pdfrw/pdfrw-0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="PDF file reader/writer library"
+HOMEPAGE="https://code.google.com/p/pdfrw/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE=""
diff --git a/dev-python/peak-rules/Manifest b/dev-python/peak-rules/Manifest
new file mode 100644
index 000000000000..6146f5de165c
--- /dev/null
+++ b/dev-python/peak-rules/Manifest
@@ -0,0 +1 @@
+DIST peak-rules-0.5.tar.gz 113173 SHA256 f6883f455f231d8eb72d1fd276eaae2dd91f415ad6abd6e2ec05ba8a2b4a3d55 SHA512 7ab915641829f6366b681b4c576e7213097cbd2be76bd526fdbb4f128762c04c08ee20e3fe3ef36e1df0e544719f71c28079745c9c88f98911074da51ecfa169 WHIRLPOOL 19d7c78c6689b4af1d6386f8146cb915cfe05871d7d596ceeb4c5e35876d855644ea4783ecd7c2906e3f85191cfb9d20f47e282ccef5fabe14232d41380817fc
diff --git a/dev-python/peak-rules/metadata.xml b/dev-python/peak-rules/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/peak-rules/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/peak-rules/peak-rules-0.5.ebuild b/dev-python/peak-rules/peak-rules-0.5.ebuild
new file mode 100644
index 000000000000..caec4bf05ed6
--- /dev/null
+++ b/dev-python/peak-rules/peak-rules-0.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="PEAK-Rules"
+MY_P="${MY_PN}-${PV}a1.dev-r2713"
+
+DESCRIPTION="Generic functions and business rules support systems"
+HOMEPAGE="http://peak.telecommunity.com/ https://pypi.python.org/pypi/PEAK-Rules/"
+SRC_URI="http://peak.telecommunity.com/snapshots/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DOCS=( Code-Generation.txt Criteria.txt Indexing.txt README.txt Syntax-Matching.txt )
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/bytecodeassembler-0.6[${PYTHON_USEDEP}]
+ >=dev-python/addons-0.6[${PYTHON_USEDEP}]
+ >=dev-python/extremes-1.1[${PYTHON_USEDEP}]
+ test? ( >=dev-python/importing-1.10[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_test() {
+ PYTHONPATH=$PYTHONPATH:"${S}"/peak/rules/ "${PYTHON}" test_rules.py \
+ && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+src_test() {
+ # Relative import misfires for core.py during emerge
+ sed -e "s:from peak.rules.core:from core:" -i test_rules.py
+ distutils-r1_src_test
+ # Return to original statefor final install
+ sed -e "s:from core:from peak.rules.core:" -i test_rules.py
+}
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
new file mode 100644
index 000000000000..4dee79104abd
--- /dev/null
+++ b/dev-python/peewee/Manifest
@@ -0,0 +1,4 @@
+DIST peewee-2.5.1.tar.gz 556698 SHA256 65f426a5eb403b1427e97732ca36db4edba3581334fa8de68bcf82068e02169e SHA512 f6a014f7a28f31fa1459f192ea376dc8df39b969e032cc875e9ba48d59a4d20994cc20d7bf797976a220d2a5e53a2f8637a1efe37f530224f09c87b739768902 WHIRLPOOL 8ecfd5dc922c027c67f421015574334fa33153c552721d61c5d844dc46b8dd4d164061d382344422d4bab1d0622d45700012b8ec574e952c921198cc841456d4
+DIST peewee-2.6.0.tar.gz 558595 SHA256 724c4dbd81062a21562d164b828abec7c506f1a49ef5ece41f015bd669ddf447 SHA512 6d9c7ef89ac61bb294d7a9dd1249cf4a089f4f83b2680b86964dd8b67dcdbd0cf597cf897d66e141866148838e34ecd4e1d1ede10d1cc01db41318a0ac09cb71 WHIRLPOOL 357f55fbc95b3600d1a758b1192e88fd2b9e570b00468e2c98490188dd28c415bb36932bd38095c6c1db79217085eb641fea9a87ff1a9ee51d546d0e7525940d
+DIST peewee-2.6.1.tar.gz 567141 SHA256 e5162d9c8043ef36d163b594a53a1095f6b4fe7589ec5427896f77a94d59445b SHA512 84f3b05509fda503265796fadf3b029a96bc9500073e8e5f861d0d6c69d9dcf6a3a0a3efefbbfc1c3ac3878d14a004e72b5d0fa11008d1ac0ea23ce8762c248d WHIRLPOOL de1b72f141bd6da97e3d7faaefe969024c73e0db763ec37b68be948df5cdd0d2e97a1a4135a9b1bab17b91f28d91a4d598a97ab75291fe0b0805e82cd20be79a
+DIST peewee-2.6.2.tar.gz 574383 SHA256 2e9ee19d6beef477a14436be6bc173d2472f6ddc0afb28763fd5a4e8fb287e35 SHA512 a38b46d39c04106ddc047f56cd8ebbf48218547a3d8f7dec693f99b9c9b82df505c1948f91155177a00797765d0758ffea79d5ee5da5cf9b59adcd4b2e269483 WHIRLPOOL bff5aa5ef22f08cda83a70b933a4e5734ffb5adaa5388b399694ed8246a92b89edecb78375e6d561aafa6768f7d22bcd3cab1623fd43665be5a6712893b6f9ee
diff --git a/dev-python/peewee/metadata.xml b/dev-python/peewee/metadata.xml
new file mode 100644
index 000000000000..dfaea1228fe1
--- /dev/null
+++ b/dev-python/peewee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">coleifer/peewee</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/peewee/peewee-2.5.1.ebuild b/dev-python/peewee/peewee-2.5.1.ebuild
new file mode 100644
index 000000000000..143f63ab712e
--- /dev/null
+++ b/dev-python/peewee/peewee-2.5.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Small python ORM"
+HOMEPAGE="https://github.com/coleifer/peewee/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Req'd to ensure a unique tmp.db for each python impl running the testsuite.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" ./runtests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-2.6.0.ebuild b/dev-python/peewee/peewee-2.6.0.ebuild
new file mode 100644
index 000000000000..9070a3191b33
--- /dev/null
+++ b/dev-python/peewee/peewee-2.6.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Small python ORM"
+HOMEPAGE="https://github.com/coleifer/peewee/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Req'd to ensure a unique tmp.db for each python impl running the testsuite.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Testsuite run using runtests.py does not require deps listed in previous ebuild
+ "${PYTHON}" ./runtests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-2.6.1.ebuild b/dev-python/peewee/peewee-2.6.1.ebuild
new file mode 100644
index 000000000000..9070a3191b33
--- /dev/null
+++ b/dev-python/peewee/peewee-2.6.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Small python ORM"
+HOMEPAGE="https://github.com/coleifer/peewee/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Req'd to ensure a unique tmp.db for each python impl running the testsuite.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Testsuite run using runtests.py does not require deps listed in previous ebuild
+ "${PYTHON}" ./runtests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-2.6.2.ebuild b/dev-python/peewee/peewee-2.6.2.ebuild
new file mode 100644
index 000000000000..9070a3191b33
--- /dev/null
+++ b/dev-python/peewee/peewee-2.6.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Small python ORM"
+HOMEPAGE="https://github.com/coleifer/peewee/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+# Req'd to ensure a unique tmp.db for each python impl running the testsuite.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Testsuite run using runtests.py does not require deps listed in previous ebuild
+ "${PYTHON}" ./runtests.py || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pep8/Manifest b/dev-python/pep8/Manifest
new file mode 100644
index 000000000000..c4cec7c92eeb
--- /dev/null
+++ b/dev-python/pep8/Manifest
@@ -0,0 +1,5 @@
+DIST pep8-1.4.5.tar.gz 63021 SHA256 dd908e7df835ebb1b82ba0675e1b7e173ea9c55d7ae62808ecad2e6db2a6ee0e SHA512 c4d8e5b116762480e1aad2ddad1cd02d2d74779adcef8153739c7ca1e56d33bd81b42c984c525797548d915245f24d3cea636d6b89ade8e9e428f31b0a6fe8a6 WHIRLPOOL c597328ce58d226311162c7126c949f92e9142f0fa9a979cdd0ede29f71b839587ef4c5cef57ac8fdd608753f52a6c91220b90807ca9b3b56cc5b5772c688b9a
+DIST pep8-1.5.6.tar.gz 66944 SHA256 1a8be992f8daac6144af0f3972f40159f46d81cb36dde4adeea01576e4bf041a SHA512 9de60df0f56eeb28be835b3f11d060150e08c19403552b769abe0794a1aca65e3a17fd8b45f35b34b11593f527c2f4521ab72823aa1475963b1281c044c71ec1 WHIRLPOOL 97f90d9b4ae69d87cf5eb014998f74d8fc97640a31a457a2b39db495eeb9bc0634d5a56a6bf7636d44dbef70179a3c0c0098e7963a5d63e7d3cfccd0b250675b
+DIST pep8-1.5.7.tar.gz 67302 SHA256 15b42131b25f376165d195fe4e17b0a28311182aaf9330d5eb575bbeda5a6989 SHA512 ae5cc6cc47d71e90059fec0c89f5e8e7b71b08d185c95b0c8cf0aa9acaee4841d0cfc617fb1ca6d7af7f4721480a1992b6178dc845d80dfe87fe3792d515a3eb WHIRLPOOL 09621e17fec73de00ab4840365898084651bab4cbcf982a1393eba5e0bb2d04c0374c5dd69bf6915b6542b4ce6ac13a614395811387badf6384f266d0b61fec3
+DIST pep8-1.6.1.tar.gz 73103 SHA256 573677cb85ff089244b0f99af955f76c2e37456632610b6deda6167139ce155a SHA512 7a9d83cfe7b61b2ef598c74a465b81971ad1d0be3a708410e431d8475fc507204979857c10dbf4332701aac0d28244f19dc9c400ca85161acdd61d8084158ef8 WHIRLPOOL 0a032be9cdea4f45c86255dddbb06e1629e148e8b15e6a83d8abc7ed06f52d6c184f2953367dca5b94978e2351b3873c6cf3bc02c811aa9f8ce50964b31306c5
+DIST pep8-1.6.2.tar.gz 74534 SHA256 b8b7e35630b5539e26a197dfc6005be9e1e9a135496b377723a8ebc01b9bcbff SHA512 f046a1e3ed68a7c409ad6c501a54ed14188de670f0e0d873d2d7960e45fec0c4e2c27067877854ecbb20f3690f9d2ca1fa4bc1cc52b22e1f71bd0aec4ddb6fc9 WHIRLPOOL cf482b333da7a7c936277e2fdab057b6e9b30ef7597dde0f4e49abc3b18727584814779d15216977371a8e72b593395083bda8728600d55fab6ce3b43ce777ee
diff --git a/dev-python/pep8/metadata.xml b/dev-python/pep8/metadata.xml
new file mode 100644
index 000000000000..3be2d3b02ee5
--- /dev/null
+++ b/dev-python/pep8/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pep8</remote-id>
+ <remote-id type="github">jcrocholl/pep8</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pep8/pep8-1.4.5.ebuild b/dev-python/pep8/pep8-1.4.5.ebuild
new file mode 100644
index 000000000000..0d60b9781687
--- /dev/null
+++ b/dev-python/pep8/pep8-1.4.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker"
+HOMEPAGE="http://github.com/jcrocholl/pep8 http://pypi.python.org/pypi/pep8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGES.txt )
+
+python_test() {
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py -v --testsuite=testsuite || die
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py --doctest -v || die
+}
diff --git a/dev-python/pep8/pep8-1.5.6.ebuild b/dev-python/pep8/pep8-1.5.6.ebuild
new file mode 100644
index 000000000000..447be257597a
--- /dev/null
+++ b/dev-python/pep8/pep8-1.5.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker"
+HOMEPAGE="http://github.com/jcrocholl/pep8 http://pypi.python.org/pypi/pep8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py -v --testsuite=testsuite || die
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py --doctest -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pep8/pep8-1.5.7.ebuild b/dev-python/pep8/pep8-1.5.7.ebuild
new file mode 100644
index 000000000000..deaec149283b
--- /dev/null
+++ b/dev-python/pep8/pep8-1.5.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker"
+HOMEPAGE="http://github.com/jcrocholl/pep8 http://pypi.python.org/pypi/pep8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py -v --testsuite=testsuite || die
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py --doctest -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pep8/pep8-1.6.1.ebuild b/dev-python/pep8/pep8-1.6.1.ebuild
new file mode 100644
index 000000000000..c6c3d0e87854
--- /dev/null
+++ b/dev-python/pep8/pep8-1.6.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker"
+HOMEPAGE="http://github.com/jcrocholl/pep8 http://pypi.python.org/pypi/pep8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py -v --testsuite=testsuite || die
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py --doctest -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pep8/pep8-1.6.2.ebuild b/dev-python/pep8/pep8-1.6.2.ebuild
new file mode 100644
index 000000000000..e4bdafa2417a
--- /dev/null
+++ b/dev-python/pep8/pep8-1.6.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker"
+HOMEPAGE="http://github.com/jcrocholl/pep8 http://pypi.python.org/pypi/pep8"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py -v --testsuite=testsuite || die
+ PYTHONPATH="${S}" "${PYTHON}" pep8.py --doctest -v || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peppercorn/Manifest b/dev-python/peppercorn/Manifest
new file mode 100644
index 000000000000..cc6fd2f09ad9
--- /dev/null
+++ b/dev-python/peppercorn/Manifest
@@ -0,0 +1,2 @@
+DIST peppercorn-0.4.tar.gz 18349 SHA256 9a53edd7259a73256519a0d4b23fdc210ea3dfc415e0becdba1d2498cbf7e28a SHA512 b89d36e5c5887f8a21f6bc0d9da33ef0c57a19848dc61fad105bf076eb5214119fb2fa75beeefb936a95e6aa98da7c48ad60596f68da629383820111ef127100 WHIRLPOOL a76793182e65eff1b498f7a872222d427d27a17cae8985fcf1bbb7ab87732f5d4fb6357b94556dd1ac5ea4b4b2d152bfa9864e83e9efaa7879fbf7a01c3dee2a
+DIST peppercorn-0.5.tar.gz 19637 SHA256 921cba5d51fa211e6da0fbd2120b9a98d663422a80f5bb669ad81ffb0909774b SHA512 37f9df282872b0c664780f5e27caf81cc379b05009756cf6c79290b09893d88427f3619916688412dabf20e99f264da8832d959563943e2910b1fcac696edc31 WHIRLPOOL a104c3dca197c5bdd32a9a3f4fafb7c93459cbb8da13f8e581990962ac9afc56c22cdbb101d17271983b61fb0e83f4c0b25590a88d8f54c403110067ea3ba12f
diff --git a/dev-python/peppercorn/metadata.xml b/dev-python/peppercorn/metadata.xml
new file mode 100644
index 000000000000..0d46aa06c986
--- /dev/null
+++ b/dev-python/peppercorn/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">peppercorn</remote-id>
+ <remote-id type="github">Pylons/peppercorn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/peppercorn/peppercorn-0.4-r1.ebuild b/dev-python/peppercorn/peppercorn-0.4-r1.ebuild
new file mode 100644
index 000000000000..f5656f600a0c
--- /dev/null
+++ b/dev-python/peppercorn/peppercorn-0.4-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for converting a token stream into a data structure for use in web form posts"
+HOMEPAGE="https://github.com/Pylons/peppercorn http://pypi.python.org/pypi/peppercorn"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# Include COPYRIGHT.txt because the license seems to require it.
+DOCS=( CHANGES.txt README.txt COPYRIGHT.txt )
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ # Install only the .rst source, as sphinx processing requires a
+ # theme only available from git that contains hardcoded references
+ # to files on https://static.pylonsproject.org/ (so the docs would
+ # not actually work offline). Install into a "docs" subdirectory
+ # so the reference in the README remains correct.
+ docinto docs
+ dodoc docs/*.rst
+}
diff --git a/dev-python/peppercorn/peppercorn-0.5.ebuild b/dev-python/peppercorn/peppercorn-0.5.ebuild
new file mode 100644
index 000000000000..7d14d3b628b4
--- /dev/null
+++ b/dev-python/peppercorn/peppercorn-0.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for converting a token stream into a data structure for use in web form posts"
+HOMEPAGE="https://github.com/Pylons/peppercorn http://pypi.python.org/pypi/peppercorn"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+# Include COPYRIGHT.txt because the license seems to require it
+DOCS=( CHANGES.txt README.txt COPYRIGHT.txt )
+
+python_prepare_all() {
+ # Fix Sphinx theme. courtesy of Arfrever
+ sed -e "/# Add and use Pylons theme/,+36d" -i docs/conf.py || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pexpect/Manifest b/dev-python/pexpect/Manifest
new file mode 100644
index 000000000000..95581b8e9c5c
--- /dev/null
+++ b/dev-python/pexpect/Manifest
@@ -0,0 +1,5 @@
+DIST pexpect-2.4.tar.gz 113251 SHA256 43c788f59dcf4bed677fd0b16891787dbf747e210ffedb6e90156fbbbd4d3b7b SHA512 0d5db34f3dc0e1a5bf7d8d0ab584897e4142592f35765762e4ca60d112106b91485098c91ad95a3cb3ad1f3d600619fa0ad41d930085e75974d78e0f06280a9f WHIRLPOOL 587a94b785645a950a643bff7bf972af285faea9dcf73064eb40e96d7cb29e87543bb14c65cdc2366573236ec56cc03c4076bc952899e567872628ff5c4d9785
+DIST pexpect-3.0.tar.gz 146662 SHA256 1d6cee0fa5ab212f9ddac9852bab0df5fff11a173ed1bfde9346d5c8aa42d14c SHA512 f84cbc843978baf0ab05bae63dd080d4ca14e8fd51de4e53cf33ddb6219c9e460f68861e44104a59ddb2c1b9dc8568bc87ee778ea52b10e18e365b771ca9aa63 WHIRLPOOL e2def4eb61007d5cbb5370daa82672f6063bf87a2a238237720652f85051bb72383b4d808c8a7148063fafe020ce1253a83f97237594b52a75f8a49689e38171
+DIST pexpect-3.1.tar.gz 130404 SHA256 bd0045066718fba98481032303f07565cca6b22b3b7f104efe3e077a55e9ee8d SHA512 8b6edfc6537dcd241446807f0b659c5040ee3a87329df03c76bed0d0328070e3bd144f957661e1ce46f0a6dae89f869ea99d38b22257fc20c2eb3377c4ccafc8 WHIRLPOOL 2472a6b0166c2096cf20056495eb3445c3266edb59c0b2db7dc0a32e8504e2b1755f1bef8245b8c9514325f2d5196d4b6dbed241222b14dd46644fb2e0e60fc9
+DIST pexpect-3.2.tar.gz 131070 SHA256 dbc4c9a01c118e198d1b6ca76f31eb7292f212567f253e6b36a880e5168e961f SHA512 2d25ebb7c19168a083b7af6a84a4ab5162b9fa5ae19b5786ee9592c663dd9ca264c1d1840a219f0ff44bc14853fc801c1d2e73a053f5d2afc2d1eea174b0b505 WHIRLPOOL 70ac0fe69e3410cd74d5b99b4dc654171f5aa763629793f6eed5a6fb607b1bd604b070fd8ee511998c8e40e188877f20c4233bd567579d8f891a32533865804c
+DIST pexpect-3.3.tar.gz 132330 SHA256 dfea618d43e83cfff21504f18f98019ba520f330e4142e5185ef7c73527de5ba SHA512 66cc501f1c7bb8ba0be4cdc0db840629f51416dc54ae44dc770adb38f1a385116b0a8b9bc7f1cc1447f05ede36ef1b519f5c4e710e6cb736c923ecfc87497cfa WHIRLPOOL e708e722d4e2598958f8d724b84148608e9a53041077b1a1a2af84d5281e11f0c6c050ee88489eebc48bd5556c22e0fe9386680d34b1941ddf21539296629513
diff --git a/dev-python/pexpect/metadata.xml b/dev-python/pexpect/metadata.xml
new file mode 100644
index 000000000000..c6bb9600883f
--- /dev/null
+++ b/dev-python/pexpect/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pexpect</remote-id>
+ <remote-id type="github">pexpect/pexpect</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pexpect/pexpect-2.4-r1.ebuild b/dev-python/pexpect/pexpect-2.4-r1.ebuild
new file mode 100644
index 000000000000..2496ff53f3ef
--- /dev/null
+++ b/dev-python/pexpect/pexpect-2.4-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pexpect/pexpect-2.4.ebuild b/dev-python/pexpect/pexpect-2.4.ebuild
new file mode 100644
index 000000000000..fe95ec3c8b26
--- /dev/null
+++ b/dev-python/pexpect/pexpect-2.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+PYTHON_DEPEND="2"
+
+inherit distutils
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+RESTRICT_PYTHON_ABIS="3.*"
+
+PYTHON_MODNAME="ANSI.py fdpexpect.py FSM.py pexpect.py pxssh.py screen.py"
+
+src_install() {
+ distutils_src_install
+
+ use doc && dohtml -r doc/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pexpect/pexpect-3.0.ebuild b/dev-python/pexpect/pexpect-3.0.ebuild
new file mode 100644
index 000000000000..57be2dac6e29
--- /dev/null
+++ b/dev-python/pexpect/pexpect-3.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pexpect/pexpect-3.1.ebuild b/dev-python/pexpect/pexpect-3.1.ebuild
new file mode 100644
index 000000000000..436773d86b4a
--- /dev/null
+++ b/dev-python/pexpect/pexpect-3.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~amd64-fbsd ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pexpect/pexpect-3.2.ebuild b/dev-python/pexpect/pexpect-3.2.ebuild
new file mode 100644
index 000000000000..3121d13adc17
--- /dev/null
+++ b/dev-python/pexpect/pexpect-3.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~amd64-fbsd ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ . test.env || die
+ "${PYTHON}" tools/testall.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pexpect/pexpect-3.3.ebuild b/dev-python/pexpect/pexpect-3.3.ebuild
new file mode 100644
index 000000000000..60511a2df5af
--- /dev/null
+++ b/dev-python/pexpect/pexpect-3.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for spawning child applications and responding to expected patterns"
+HOMEPAGE="http://pexpect.sourceforge.net/ http://pypi.python.org/pypi/pexpect/ https://github.com/pexpect/pexpect/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pgasync/Manifest b/dev-python/pgasync/Manifest
new file mode 100644
index 000000000000..82b9c248d484
--- /dev/null
+++ b/dev-python/pgasync/Manifest
@@ -0,0 +1 @@
+DIST pgasync-2.01.tar.gz 22314 SHA256 c38ac6ae200d54c22ad480ea020e0019692e69992344abce287232b30ccfe56c SHA512 36916ce3dcebf82367eace8fd689e0d300ffc040250869794191bfb723053050c9766fa5ce251341c317f7fbab418ace4dc36345d5c73eea92c1d04d36e802af WHIRLPOOL 6ac847535e7e8efdc28cf64323b302ee590bb38103049d19bc8f41aab6d2c9ec50d0493da0fea014e44f610871aed446c713e58b46f80db6414195b6d6327ab3
diff --git a/dev-python/pgasync/metadata.xml b/dev-python/pgasync/metadata.xml
new file mode 100644
index 000000000000..664c1a06cc54
--- /dev/null
+++ b/dev-python/pgasync/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>postgresql</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pgasync/pgasync-2.01-r1.ebuild b/dev-python/pgasync/pgasync-2.01-r1.ebuild
new file mode 100644
index 000000000000..4bb12ae62417
--- /dev/null
+++ b/dev-python/pgasync/pgasync-2.01-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An asynchronous API to PostgreSQL for twisted"
+HOMEPAGE="http://www.jamwt.com/pgasync/"
+SRC_URI="http://www.jamwt.com/pgasync/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/twisted-core[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS="CHANGELOG PKG-INFO README TODO"
+
+src_install() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pgmagick/Manifest b/dev-python/pgmagick/Manifest
new file mode 100644
index 000000000000..8a900c28dbdd
--- /dev/null
+++ b/dev-python/pgmagick/Manifest
@@ -0,0 +1,2 @@
+DIST pgmagick-0.5.10.tar.gz 39826 SHA256 89274107200a84e56e0fc4f6c482fd3b865d28c820c6d3e81cdbd4089e2dd233 SHA512 a5b05c50e8ffd61dc84547d7dcba7d47b4d31d19b00c372eac84324faa9b88194ef3283224a60ce0bc17fa1de8f22cec188dc03388fb119ace7c4b6c6eab875f WHIRLPOOL aeaee541af0ebc6f474fc20a5b38d635cd27602594602d7132ab96cc11172509fa5218e71719a46792a7dfe63872a30ef11019c92eb0d0bb433a468de59b7494
+DIST pgmagick-0.5.11.tar.gz 39872 SHA256 83d611bb516eb2465a0167463f427f3fbdd6fa4efa1b8a24caa64fcec6bc8b3d SHA512 6b53204319538ca05e25e601135c47acfffb8af7f062c567875ad5740daf0d30263aefe7180a478d605b98922a7f3e5a2ae1f56d01b2e5f1d5c6b4b34fb6d44f WHIRLPOOL f53bacd57521bddea70564fbe934de918dc1563859656804c4d1d5e941e9c23869c4636b047ceab6baff726b83040a45849f5e4eabdb805198aa5bc694021358
diff --git a/dev-python/pgmagick/metadata.xml b/dev-python/pgmagick/metadata.xml
new file mode 100644
index 000000000000..961ad9f0991c
--- /dev/null
+++ b/dev-python/pgmagick/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pgmagick</remote-id>
+ <remote-id type="bitbucket">hhatto/pgmagick</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pgmagick/pgmagick-0.5.10.ebuild b/dev-python/pgmagick/pgmagick-0.5.10.ebuild
new file mode 100644
index 000000000000..e75928f81720
--- /dev/null
+++ b/dev-python/pgmagick/pgmagick-0.5.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Yet another boost.python based wrapper for GraphicsMagick"
+HOMEPAGE="https://pypi.python.org/pypi/pgmagick/ http://bitbucket.org/hhatto/pgmagick/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="media-gfx/graphicsmagick[cxx]
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ media-fonts/corefonts )"
+
+python_test() {
+ # https://bitbucket.org/hhatto/pgmagick/issue/46/
+ for test in test/test_*.py; do
+ "${PYTHON}" $test
+ done
+}
diff --git a/dev-python/pgmagick/pgmagick-0.5.11.ebuild b/dev-python/pgmagick/pgmagick-0.5.11.ebuild
new file mode 100644
index 000000000000..e75928f81720
--- /dev/null
+++ b/dev-python/pgmagick/pgmagick-0.5.11.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Yet another boost.python based wrapper for GraphicsMagick"
+HOMEPAGE="https://pypi.python.org/pypi/pgmagick/ http://bitbucket.org/hhatto/pgmagick/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="media-gfx/graphicsmagick[cxx]
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ media-fonts/corefonts )"
+
+python_test() {
+ # https://bitbucket.org/hhatto/pgmagick/issue/46/
+ for test in test/test_*.py; do
+ "${PYTHON}" $test
+ done
+}
diff --git a/dev-python/pgpdump/Manifest b/dev-python/pgpdump/Manifest
new file mode 100644
index 000000000000..c317f8191556
--- /dev/null
+++ b/dev-python/pgpdump/Manifest
@@ -0,0 +1 @@
+DIST pgpdump-1.5.tar.gz 69446 SHA256 1c4700857bf7ba735b08cfe4101aa3a4f5fd839657af249c17b2697c20829668 SHA512 b9fc7f78b920296301acaad2dbbafefff7b5f1658cbb65f5892a28d0b4d5110581bba984ad5cdabde3330025e3828387d7127c689cb86a7163c0b5ac0d0d2de0 WHIRLPOOL 81b3bfc26f89419261d0104d848f584b602f280efa62b078c902224f3c545b757d2864c946adea7800df08ab693b9dd182a9ed43aa617480f9e04865f7372a81
diff --git a/dev-python/pgpdump/metadata.xml b/dev-python/pgpdump/metadata.xml
new file mode 100644
index 000000000000..2002d32b2e55
--- /dev/null
+++ b/dev-python/pgpdump/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pgpdump</remote-id>
+ <remote-id type="github">toofishes/python-pgpdump</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pgpdump/pgpdump-1.5.ebuild b/dev-python/pgpdump/pgpdump-1.5.ebuild
new file mode 100644
index 000000000000..66fdc27d347c
--- /dev/null
+++ b/dev-python/pgpdump/pgpdump-1.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="PGP packet parser library"
+HOMEPAGE="https://pypi.python.org/pypi/pgpdump https://github.com/toofishes/python-pgpdump"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/piddle/Manifest b/dev-python/piddle/Manifest
new file mode 100644
index 000000000000..60bd59ce2029
--- /dev/null
+++ b/dev-python/piddle/Manifest
@@ -0,0 +1 @@
+DIST piddle-1.0.15.tar.gz 454044 SHA256 84c33ba0d054e6b585005aae3a4a99aa5e0d735798fb015c220c24a548d1364d SHA512 5ab216f67721b47360a6e757bddb268173b7fbe3d1a54dfc6dda0a7c050064f833e24911f16882e98af1d56a6ee840a205aa4d0d2e394a375c7abc98d0074a07 WHIRLPOOL e32f4246c8a6eebc155b93ba96c6c5c437c0dd70817513e9e2c0dea43bb3940935d5282969c3a0076dfe9015761978f039e9dd26f8a2294dac051a009735f375
diff --git a/dev-python/piddle/metadata.xml b/dev-python/piddle/metadata.xml
new file mode 100644
index 000000000000..974f176f52ac
--- /dev/null
+++ b/dev-python/piddle/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+PIDDLE is a Python module for creating two-dimensional graphics in a
+manner that is both cross-platform and cross-media; that is, it can
+support screen graphics (e.g. QuickDraw, Windows, Tk) as well as file
+output (PostScript, PDF, GIF, etc.). It makes use of the native 2D
+drawing calls of each backend, for maximum efficiency and quality. It
+works by defining a base class (piddle.Canvas) with methods for all
+supported drawing primitives. A particular drawing context is provided
+in the form of a derived class. PIDDLE applications will be able to
+automatically select an appropriate backend for the user's environment.
+</longdescription>
+ <longdescription lang="ja">
+PIDDLEã¯ã‚¯ãƒ­ã‚¹ãƒ—ラットフォームã¨ã‚¯ãƒ­ã‚¹ãƒ¡ãƒ‡ã‚£ã‚¢ã®ä¸¡æ–¹ã®ãƒžãƒŠãƒ¼ã«æ²¿ã£ãŸäºŒæ¬¡å…ƒç”»åƒã‚’
+作æˆã™ã‚‹ãŸã‚ã®Python言語モジュールã§ã™ã€‚ã¤ã¾ã‚Šã€ã“ã‚Œã¯ãƒ•ã‚¡ã‚¤ãƒ«å‡ºåŠ›(Postscript, PDF, GIFãªã©)ã¨åŒã˜æ§˜ã«ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ãƒ»ã‚°ãƒ©ãƒ•ã‚£ãƒƒã‚¯(例ãˆã°QuickDraw, TK)をサãƒãƒ¼ãƒˆã—&gt;ã¾ã™ã€‚最大é™ã®åŠ¹æžœã¨å“質ã®ãŸã‚ã€ãƒã‚¤ãƒ†ã‚£ãƒ–2Dæ画をå„ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®å‘¼å‡ºã—ã®ã‚ˆã†ã«
+ã—ã¾ã™ã€‚ã“ã‚Œã¯åŽŸå§‹çš„ãªã‚µãƒãƒ¼ãƒˆã•ã‚ŒãŸæ画方法を指ã™ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æŒã£ãŸãƒ™ãƒ¼ã‚¹ãƒ»ã‚¯ãƒ©ã‚¹
+(Paddle.Canvas)を明確ã«ã™ã‚‹äº‹ã§åƒãã¾ã™ã€‚特別ã®ãƒ‰ãƒ­ãƒ¼ãƒ»ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã¯æ´¾ç”Ÿå…ƒã‚¯ãƒ©&gt;スã®ãƒ•ã‚©ãƒ¼ãƒ ã§æä¾›ã•ã‚Œã¾ã™ã€‚PIDDLEアプリケーションã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ç’°å¢ƒã«é©åˆ‡ãªãƒãƒƒã‚¯ã‚¨
+ンドを自動的ã«é¸æŠžã™ã‚‹ã§ã—ょã†ã€‚
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">piddle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/piddle/piddle-1.0.15-r1.ebuild b/dev-python/piddle/piddle-1.0.15-r1.ebuild
new file mode 100644
index 000000000000..e411e656bd30
--- /dev/null
+++ b/dev-python/piddle/piddle-1.0.15-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Cross-media, cross-platform 2D graphics package"
+HOMEPAGE="http://piddle.sourceforge.net/"
+SRC_URI="mirror://sourceforge/piddle/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="doc"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/piddle/piddle-1.0.15.ebuild b/dev-python/piddle/piddle-1.0.15.ebuild
new file mode 100644
index 000000000000..31406622425b
--- /dev/null
+++ b/dev-python/piddle/piddle-1.0.15.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+DESCRIPTION="Cross-media, cross-platform 2D graphics package"
+HOMEPAGE="http://piddle.sourceforge.net/"
+SRC_URI="mirror://sourceforge/piddle/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ia64 x86"
+IUSE=""
+
+src_install() {
+ distutils_src_install
+ dohtml -r docs/*
+}
diff --git a/dev-python/pika/Manifest b/dev-python/pika/Manifest
new file mode 100644
index 000000000000..ca37cd4ed5de
--- /dev/null
+++ b/dev-python/pika/Manifest
@@ -0,0 +1 @@
+DIST pika-0.9.14.tar.gz 72651 SHA256 5e2be3cb4ebdc267abd8e481c09bc30e95919a24e3a5f3f69744959490ead0e3 SHA512 c5b279c48341cef7b86d11414159de778afd3cf043d0ba8ba45adff6e8fbf72ec39642ed533c4d3674df3555fdaa0d7ff32a1844001bc56c1c380643d075870c WHIRLPOOL 3f73bbf4b892b9f60a5c113dd65027103de84578cad895b306fcff9ec02861429d4e32a8ba4a22f5def2a1030e8f10dceffb8f9c715d3bb845394fe012c6808f
diff --git a/dev-python/pika/metadata.xml b/dev-python/pika/metadata.xml
new file mode 100644
index 000000000000..a0484b5114c6
--- /dev/null
+++ b/dev-python/pika/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>xarthisius@gentoo.org</email>
+ <name>Kacper Kowalik</name>
+ </maintainer>
+ <longdescription>Pika is a pure-Python implementation of the AMQP 0-9-1 protocol that tries to stay fairly independent of the underlying network support library. Pika was developed primarily for use with RabbitMQ, but should also work with other AMQP 0-9-1 brokers.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pika</remote-id>
+ <remote-id type="github">pika/pika</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pika/pika-0.9.14.ebuild b/dev-python/pika/pika-0.9.14.ebuild
new file mode 100644
index 000000000000..26dee82841c3
--- /dev/null
+++ b/dev-python/pika/pika-0.9.14.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the AMQP"
+HOMEPAGE="https://pika.readthedocs.org/ https://github.com/pika/pika"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
new file mode 100644
index 000000000000..e5be260f342c
--- /dev/null
+++ b/dev-python/pillow/Manifest
@@ -0,0 +1,4 @@
+DIST Pillow-2.5.3.zip 6873222 SHA256 62ff6c6cb88d4a1d6e856315b1691186b06cb923f18fde86d6abac9eeb9096d1 SHA512 09d8cb9391f1627e01898eef15109ddd1deecc0bcd342f35e85b7cc0eacc61952ed8c297c460b858815d05ed9ab65c3674ef1c4b73d583ff37fd7eed7368af35 WHIRLPOOL 99f8bd559eaad619db872bb29673abd0073dc5e3f4f85056e51a4e59c5e85193de10934e4b725ef9b40af535c8dac7128debf441982fa3a2355411944d495527
+DIST Pillow-2.8.1.zip 9275663 SHA256 4363b52527c263e77f5b18c3dfffd15ae454edf0c4457197ecbe29863a651938 SHA512 75c0cfb53530549a2bac66cc3457747c239779233c64fe944fa661e7401acd915700e0dfd74e13c93d96afb9b50a112f09cbaea49205e83d8797e832a52534e4 WHIRLPOOL e71a39be415c2b83b7d554af7ad86652c08594c302344c919352a64ca48cfc7c1a88ca8dacccdacb283d8a42ad14cd3cb230c2900a9f11dc31ad20e203d6596d
+DIST Pillow-2.8.2.zip 9402887 SHA256 57a900c2f30e53ed054adad401ab69643d9ab21e3acb0a647749a168e4e24446 SHA512 2bc1e17cb65d5e953e30ea1606dbf79059d51f60ff5c2b000869fc2d9f93f8bbf5cf41b0147fc83974c48341cc68df6964d3d8203e0d6cc6a45ede95f3e0bc2f WHIRLPOOL 4b5ad1db34427a161ce1885a858df72e4aaffd61b5bf9010702803874f44391678d228f71777fca058f424c6ac6208e8c3d7421eeff88c42bb6df94d1d13d771
+DIST Pillow-2.9.0.zip 9612840 SHA256 d1db8dfed77547076037d589b598e04f2cbc1a7835d3d3f137bf20c8994854d5 SHA512 d06371fbe67eca66229cdec7896423f55c9335be50698168c7bf4f4635352454b2f946eae90b404c68d6b939ec1d7353916d32bc9964d5b8986b8098381d5180 WHIRLPOOL c664fec07c6634cad37791375fb1cb38b0edd542d93e099703dbc520e0d54125a1f00f205bbcdb8493df4dfd05ae1c2088ba305f23e66f0cc3e309f446c44fa5
diff --git a/dev-python/pillow/files/imaging-1.1.7-no-xv.patch b/dev-python/pillow/files/imaging-1.1.7-no-xv.patch
new file mode 100644
index 000000000000..1cbaf515bd4a
--- /dev/null
+++ b/dev-python/pillow/files/imaging-1.1.7-no-xv.patch
@@ -0,0 +1,18 @@
+--- PIL/ImageShow.py.old 2009-11-30 10:28:37.000000000 +0100
++++ PIL/ImageShow.py 2009-11-30 10:29:02.000000000 +0100
+@@ -149,13 +149,10 @@
+ def get_command_ex(self, file, title=None, **options):
+ # note: xv is pretty outdated. most modern systems have
+ # imagemagick's display command instead.
+- command = executable = "xv"
+- if title:
+- # FIXME: do full escaping
+- command = command + " -name \"%s\"" % title
++ command = executable = "xdg-open"
+ return command, executable
+
+- if which("xv"):
++ if which("xdg-open"):
+ register(XVViewer)
+
+ if __name__ == "__main__":
diff --git a/dev-python/pillow/files/pillow-2.0.0-delete_hardcoded_paths.patch b/dev-python/pillow/files/pillow-2.0.0-delete_hardcoded_paths.patch
new file mode 100644
index 000000000000..ed5bdca65cb3
--- /dev/null
+++ b/dev-python/pillow/files/pillow-2.0.0-delete_hardcoded_paths.patch
@@ -0,0 +1,178 @@
+--- setup.py
++++ setup.py
+@@ -56,11 +56,6 @@
+ return None
+
+
+-def _lib_include(root):
+- # map root to (root/lib, root/include)
+- return os.path.join(root, "lib"), os.path.join(root, "include")
+-
+-
+ def _read(file):
+ return open(file, 'rb').read()
+
+@@ -105,102 +100,17 @@
+ _add_directory(include_dirs, include_root)
+
+ #
+- # add platform directories
+-
+- if sys.platform == "cygwin":
+- # pythonX.Y.dll.a is in the /usr/lib/pythonX.Y/config directory
+- _add_directory(library_dirs, os.path.join(
+- "/usr/lib", "python%s" % sys.version[:3], "config"))
+-
+- elif sys.platform == "darwin":
+- # attempt to make sure we pick freetype2 over other versions
+- _add_directory(include_dirs, "/sw/include/freetype2")
+- _add_directory(include_dirs, "/sw/lib/freetype2/include")
+- # fink installation directories
+- _add_directory(library_dirs, "/sw/lib")
+- _add_directory(include_dirs, "/sw/include")
+- # darwin ports installation directories
+- _add_directory(library_dirs, "/opt/local/lib")
+- _add_directory(include_dirs, "/opt/local/include")
+- # freetype2 ships with X11
+- _add_directory(library_dirs, "/usr/X11/lib")
+- _add_directory(include_dirs, "/usr/X11/include")
+-
+- elif sys.platform.startswith("linux"):
+- for platform_ in (platform.processor(),platform.architecture()[0]):
+- if not platform_: continue
+-
+- if platform_ in ["x86_64", "64bit"]:
+- _add_directory(library_dirs, "/lib64")
+- _add_directory(library_dirs, "/usr/lib64")
+- _add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
+- break
+- elif platform_ in ["i386", "i686", "32bit"]:
+- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
+- break
+- else:
+- raise ValueError("Unable to identify Linux platform: `%s`" % platform_)
+-
+- # XXX Kludge. Above /\ we brute force support multiarch. Here we
+- # try Barry's more general approach. Afterward, something should
+- # work ;-)
+- self.add_multiarch_paths()
+-
+- _add_directory(library_dirs, "/usr/local/lib")
+- # FIXME: check /opt/stuff directories here?
+-
+- prefix = sysconfig.get_config_var("prefix")
+- if prefix:
+- _add_directory(library_dirs, os.path.join(prefix, "lib"))
+- _add_directory(include_dirs, os.path.join(prefix, "include"))
+-
+- #
+ # locate tkinter libraries
+
+
+ if _tkinter:
+ TCL_VERSION = _tkinter.TCL_VERSION[:3]
+
+- if _tkinter and not TCL_ROOT:
+- # we have Tkinter but the TCL_ROOT variable was not set;
+- # try to locate appropriate Tcl/Tk libraries
+- PYVERSION = sys.version[0] + sys.version[2]
+- TCLVERSION = TCL_VERSION[0] + TCL_VERSION[2]
+- roots = [
+- # common installation directories, mostly for Windows
+- # (for Unix-style platforms, we'll check in well-known
+- # locations later)
+- os.path.join("/py" + PYVERSION, "Tcl"),
+- os.path.join("/python" + PYVERSION, "Tcl"),
+- "/Tcl", "/Tcl" + TCLVERSION, "/Tcl" + TCL_VERSION,
+- os.path.join(os.environ.get("ProgramFiles", ""), "Tcl"),
+- ]
+- for TCL_ROOT in roots:
+- TCL_ROOT = os.path.abspath(TCL_ROOT)
+- if os.path.isfile(os.path.join(TCL_ROOT, "include", "tk.h")):
+- # FIXME: use distutils logging (?)
+- print("--- using Tcl/Tk libraries at", TCL_ROOT)
+- print("--- using Tcl/Tk version", TCL_VERSION)
+- TCL_ROOT = _lib_include(TCL_ROOT)
+- break
+- else:
+- TCL_ROOT = None
+-
+
+ #
+ # add standard directories
+
+- # look for tcl specific subdirectory (e.g debian)
+- if _tkinter:
+- tcl_dir = "/usr/include/tcl" + TCL_VERSION
+- if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
+- _add_directory(include_dirs, tcl_dir)
+-
+ # standard locations
+- _add_directory(library_dirs, "/usr/local/lib")
+- _add_directory(include_dirs, "/usr/local/include")
+-
+- _add_directory(library_dirs, "/usr/lib")
+ _add_directory(include_dirs, "/usr/include")
+
+ #
+@@ -333,28 +243,7 @@
+ "_webp", ["_webp.c"], libraries=["webp"]))
+
+
+- if sys.platform == "darwin":
+- # locate Tcl/Tk frameworks
+- frameworks = []
+- framework_roots = [
+- "/Library/Frameworks",
+- "/System/Library/Frameworks"]
+- for root in framework_roots:
+- if (os.path.exists(os.path.join(root, "Tcl.framework")) and
+- os.path.exists(os.path.join(root, "Tk.framework"))):
+- print("--- using frameworks at %s" % root)
+- frameworks = ["-framework", "Tcl", "-framework", "Tk"]
+- dir = os.path.join(root, "Tcl.framework", "Headers")
+- _add_directory(self.compiler.include_dirs, dir, 0)
+- dir = os.path.join(root, "Tk.framework", "Headers")
+- _add_directory(self.compiler.include_dirs, dir, 1)
+- break
+- if frameworks:
+- exts.append(Extension(
+- "_imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
+- extra_compile_args=frameworks, extra_link_args=frameworks))
+- feature.tcl = feature.tk = 1 # mark as present
+- elif feature.tcl and feature.tk:
++ if feature.tcl and feature.tk:
+ exts.append(Extension(
+ "_imagingtk", ["_imagingtk.c", "Tk/tkImaging.c"],
+ libraries=[feature.tcl, feature.tk]))
+@@ -445,30 +334,6 @@
+ if m.group(1) < "1.2.3":
+ return m.group(1)
+
+- # http://hg.python.org/users/barry/rev/7e8deab93d5a
+- def add_multiarch_paths(self):
+- # Debian/Ubuntu multiarch support.
+- # https://wiki.ubuntu.com/MultiarchSpec
+- # self.build_temp
+- tmpfile = os.path.join(self.build_temp, 'multiarch')
+- if not os.path.exists(self.build_temp):
+- os.makedirs(self.build_temp)
+- ret = os.system('dpkg-architecture -qDEB_HOST_MULTIARCH > %s' %
+- tmpfile)
+- ret = os.system(
+- 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
+- tmpfile)
+- try:
+- if ret >> 8 == 0:
+- fp = open(tmpfile, 'r')
+- multiarch_path_component = fp.readline().strip()
+- _add_directory(self.compiler.library_dirs,
+- '/usr/lib/' + multiarch_path_component)
+- _add_directory(self.compiler.include_dirs,
+- '/usr/include/' + multiarch_path_component)
+- finally:
+- os.unlink(tmpfile)
+-
+ setup(
+ name=NAME,
+ version=VERSION,
diff --git a/dev-python/pillow/files/pillow-2.0.0-libm_linking.patch b/dev-python/pillow/files/pillow-2.0.0-libm_linking.patch
new file mode 100644
index 000000000000..35d1df5a406b
--- /dev/null
+++ b/dev-python/pillow/files/pillow-2.0.0-libm_linking.patch
@@ -0,0 +1,20 @@
+--- setup.py
++++ setup.py
+@@ -197,7 +197,7 @@
+ for file in _LIB_IMAGING:
+ files.append(os.path.join("libImaging", file + ".c"))
+
+- libs = []
++ libs = ["m"]
+ defs = []
+ if feature.jpeg:
+ libs.append(feature.jpeg)
+@@ -249,7 +249,7 @@
+ libraries=[feature.tcl, feature.tk]))
+
+ if os.path.isfile("_imagingmath.c"):
+- exts.append(Extension("_imagingmath", ["_imagingmath.c"]))
++ exts.append(Extension("_imagingmath", ["_imagingmath.c"], libraries=["m"]))
+
+ self.extensions[:] = exts
+
diff --git a/dev-python/pillow/files/pillow-2.8.1-ico-backport.patch b/dev-python/pillow/files/pillow-2.8.1-ico-backport.patch
new file mode 100644
index 000000000000..a4214f332ee9
--- /dev/null
+++ b/dev-python/pillow/files/pillow-2.8.1-ico-backport.patch
@@ -0,0 +1,36 @@
+ PIL/IcoImagePlugin.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/PIL/IcoImagePlugin.py b/PIL/IcoImagePlugin.py
+index b4817db..dff4efc 100644
+--- a/PIL/IcoImagePlugin.py
++++ b/PIL/IcoImagePlugin.py
+@@ -49,7 +49,7 @@ def _save(im, fp, filename):
+ filter(lambda x: False if (x[0] > width or x[1] > height or
+ x[0] > 255 or x[1] > 255) else True, sizes)
+ sizes = sorted(sizes, key=lambda x: x[0])
+- fp.write(struct.pack("H", len(sizes))) # idCount(2)
++ fp.write(struct.pack("<H", len(sizes))) # idCount(2)
+ offset = fp.tell() + len(sizes)*16
+ for size in sizes:
+ width, height = size
+@@ -58,7 +58,7 @@ def _save(im, fp, filename):
+ fp.write(b"\0") # bColorCount(1)
+ fp.write(b"\0") # bReserved(1)
+ fp.write(b"\0\0") # wPlanes(2)
+- fp.write(struct.pack("H", 32)) # wBitCount(2)
++ fp.write(struct.pack("<H", 32)) # wBitCount(2)
+
+ image_io = BytesIO()
+ tmp = im.copy()
+@@ -67,8 +67,8 @@ def _save(im, fp, filename):
+ image_io.seek(0)
+ image_bytes = image_io.read()
+ bytes_len = len(image_bytes)
+- fp.write(struct.pack("I", bytes_len)) # dwBytesInRes(4)
+- fp.write(struct.pack("I", offset)) # dwImageOffset(4)
++ fp.write(struct.pack("<I", bytes_len)) # dwBytesInRes(4)
++ fp.write(struct.pack("<I", offset)) # dwImageOffset(4)
+ current = fp.tell()
+ fp.seek(offset)
+ fp.write(image_bytes)
diff --git a/dev-python/pillow/files/pillow-freetype-2.5.1.patch b/dev-python/pillow/files/pillow-freetype-2.5.1.patch
new file mode 100644
index 000000000000..5e949e4f241a
--- /dev/null
+++ b/dev-python/pillow/files/pillow-freetype-2.5.1.patch
@@ -0,0 +1,28 @@
+From c6040f618d8f2706a7b46d1cdf37d1a587f9701f Mon Sep 17 00:00:00 2001
+From: Andrew Stromnov <stromnov@gmail.com>
+Date: Thu, 28 Nov 2013 16:58:43 +0400
+Subject: [PATCH] fix compiling with FreeType 2.5.1
+
+---
+ _imagingft.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/_imagingft.c b/_imagingft.c
+index 47d50bd..f19555b 100644
+--- a/_imagingft.c
++++ b/_imagingft.c
+@@ -59,7 +59,11 @@ struct {
+ const char* message;
+ } ft_errors[] =
+
++#if defined(USE_FREETYPE_2_1)
++#include FT_ERRORS_H
++#else
+ #include <freetype/fterrors.h>
++#endif
+
+ /* -------------------------------------------------------------------- */
+ /* font objects */
+--
+1.8.5.1
+
diff --git a/dev-python/pillow/metadata.xml b/dev-python/pillow/metadata.xml
new file mode 100644
index 000000000000..848581db03a4
--- /dev/null
+++ b/dev-python/pillow/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="webp">Enable support for webp image format.</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">Pillow</remote-id>
+ <remote-id type="github">python-imaging/Pillow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pillow/pillow-2.5.3-r1.ebuild b/dev-python/pillow/pillow-2.5.3-r1.ebuild
new file mode 100644
index 000000000000..23478dfcdb92
--- /dev/null
+++ b/dev-python/pillow/pillow-2.5.3-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://github.com/python-imaging/Pillow https://pypi.python.org/pypi/Pillow"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg jpeg2k lcms scanner test tiff tk truetype webp zlib"
+REQUIRED_USE="test? ( jpeg )"
+
+RDEPEND="
+ truetype? ( media-libs/freetype:2= )
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ scanner? ( media-gfx/sane-backends:0= )
+ tiff? ( media-libs/tiff:0= )
+ webp? ( media-libs/libwebp:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx
+ dev-python/sphinx-better-theme
+ )"
+RDEPEND+=" !dev-python/imaging"
+
+S="${WORKDIR}/${MY_P}"
+
+# See _render and _clean in Tests/test_imagefont.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg lcms tiff tk webp zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+ if ! use jpeg2k; then
+ sed -i -e 's:feature.jpeg2000 =:& None #:' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+# XXX: split into two ebuilds?
+wrap_phase() {
+ "${@}"
+
+ if use scanner; then
+ cd Sane || die
+ "${@}"
+ fi
+}
+
+python_compile() {
+ wrap_phase distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ nosetests -v Tests/test_*.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ wrap_phase distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+
+ if use scanner; then
+ docinto sane
+ dodoc Sane/{CHANGES,README.rst,sanedoc.txt}
+ fi
+
+ if use examples && use scanner; then
+ docinto examples/sane
+ dodoc Sane/demo_*.py
+ fi
+}
diff --git a/dev-python/pillow/pillow-2.8.1.ebuild b/dev-python/pillow/pillow-2.8.1.ebuild
new file mode 100644
index 000000000000..a8764f99d7b8
--- /dev/null
+++ b/dev-python/pillow/pillow-2.8.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://github.com/python-imaging/Pillow https://pypi.python.org/pypi/Pillow"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg jpeg2k lcms test tiff tk truetype webp zlib"
+
+REQUIRED_USE="test? ( jpeg )"
+
+RDEPEND="
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-better-theme[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+RDEPEND+=" !dev-python/imaging"
+
+S="${WORKDIR}/${MY_P}"
+
+# See _render and _clean in Tests/test_imagefont.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${P}-ico-backport.patch )
+
+python_prepare_all() {
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg lcms tiff tk webp zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+ if ! use jpeg2k; then
+ sed -i -e 's:feature.jpeg2000 =:& None #:' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ nosetests -vx Tests/test_*.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow/pillow-2.8.2.ebuild b/dev-python/pillow/pillow-2.8.2.ebuild
new file mode 100644
index 000000000000..4d30a97cbaa0
--- /dev/null
+++ b/dev-python/pillow/pillow-2.8.2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://github.com/python-imaging/Pillow https://pypi.python.org/pypi/Pillow"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg jpeg2k lcms test tiff tk truetype webp zlib"
+
+REQUIRED_USE="test? ( jpeg )"
+
+RDEPEND="
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-better-theme[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+RDEPEND+=" !dev-python/imaging"
+
+S="${WORKDIR}/${MY_P}"
+
+# See _render and _clean in Tests/test_imagefont.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${PN}-2.8.1-ico-backport.patch )
+
+python_prepare_all() {
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg lcms tiff tk webp zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+ if ! use jpeg2k; then
+ sed -i -e 's:feature.jpeg2000 =:& None #:' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ nosetests -vx Tests/test_*.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow/pillow-2.9.0.ebuild b/dev-python/pillow/pillow-2.9.0.ebuild
new file mode 100644
index 000000000000..a5e8507fe090
--- /dev/null
+++ b/dev-python/pillow/pillow-2.9.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1 eutils
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="https://github.com/python-imaging/Pillow https://pypi.python.org/pypi/Pillow"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="doc examples jpeg jpeg2k lcms test tiff tk truetype webp zlib"
+
+REQUIRED_USE="test? ( jpeg )"
+
+RDEPEND="
+ jpeg? ( virtual/jpeg:0 )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:0= )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:0= )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-better-theme[${PYTHON_USEDEP}]
+ >=dev-python/sphinx_rtd_theme-0.1[${PYTHON_USEDEP}]
+ <dev-python/sphinx_rtd_theme-0.2[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+RDEPEND+=" !dev-python/imaging"
+
+S="${WORKDIR}/${MY_P}"
+
+# See _render and _clean in Tests/test_imagefont.py
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Disable all the stuff we don't want.
+ local f
+ for f in jpeg lcms tiff tk webp zlib; do
+ if ! use ${f}; then
+ sed -i -e "s:feature.${f} =:& None #:" setup.py || die
+ fi
+ done
+ if ! use truetype; then
+ sed -i -e 's:feature.freetype =:& None #:' setup.py || die
+ fi
+ if ! use jpeg2k; then
+ sed -i -e 's:feature.jpeg2000 =:& None #:' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ nosetests -vx Tests/test_*.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader libImaging/{Imaging.h,ImPlatform.h}
+
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( Scripts/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
new file mode 100644
index 000000000000..e49ecf36d854
--- /dev/null
+++ b/dev-python/pip/Manifest
@@ -0,0 +1,7 @@
+DIST pip-1.5.6.tar.gz 938120 SHA256 b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c SHA512 cecd1da900e95bf3e6164e6d0c8c989e8ce17ef892beb9581a567857fe69dd3490b45d366cbb8e3bc84cebcf62ecf34420bcc1fae3fd8cf448927438ae257b68 WHIRLPOOL d6b77000ec465f8ba15db9dd4ce23c491937d5c7ee8fa148cf1cc88d59e972ad0a4a86adeca0d6b5227e97e83c16ae6d14b76976b605db572c08ac7019a02e6d
+DIST pip-6.0.8.tar.gz 1200024 SHA256 0d58487a1b7f5be2e5e965c11afbea1dc44ecec8069de03491a4d0d6c85f4551 SHA512 1e3458d184655e43955881054c8e9b0de4fe57c833bb6e70bf6e67ec834c6ab2dc5d0fd8e4c8f263c790bf58e3a20f302825f1ea553801fe9cc0c653bc95a00d WHIRLPOOL 2569c61f9c77bb83f8cf150b05faa0aa2fce623705a497046afe26ec7dc0ca14871fc2b5a210de89ff6c30ff35af248a6e48636978c557a9ec4552bf3e421d4b
+DIST pip-6.1.1.tar.gz 1051205 SHA256 89f3b626d225e08e7f20d85044afa40f612eb3284484169813dc2d0631f2a556 SHA512 e7d2e003ec60fce5a75a6a23711d7f9b155e898faebcf55f3abdd912ef513f4e0cf43daca8f9da7179a7a4efe6e4a625a532d051349818847df1364eb5b326de WHIRLPOOL 5db07d4ae3bc213cd9d137a4c2bd32ca6eba1044bba3a461ad319b57e77196c1dd7b7c358a95b52cb0cd3fcaa41c3849d0f50227cf0aecd31eac106f6f182e3d
+DIST pip-7.0.0.tar.gz 1053302 SHA256 7b46bfc1b95494731de306a688e2a7bc056d7fa7ad27e026908fb2ae67fed23d SHA512 85bbdca4376de98ee356d0edfb95e1c8ae7ca0fc6643cb6826efbef3c4c63018763b72febe4061d4fc024aae6bf0303fab2f8376ce8cedf0e658471d66568e1e WHIRLPOOL f700acd25ef00d024c6e50fa3b86050e3d5cfb4add15ba635524bcbb776ae41d861c4e81232a816e9c36129784015fe4f4caeb4c62ccd1982f5bd7dd2f47aab9
+DIST pip-7.0.1.tar.gz 1053513 SHA256 cfec177552fdd0b2d12b72651c8e874f955b4c62c1c2c9f2588cbdc1c0d0d416 SHA512 cade5fbcd45e888330a1f78409bba406e009efe819701fed8c4e4abecd0ee1c5099c59290636f961d3b7e8266e1952fa586a5a290aeef13d90359585a7ea6600 WHIRLPOOL c77192dcd25cd7c9433e6281a8b424aa1745feae9cbbd3fe1a251ae3bedbd95ee623b8b82e210bcc4555e310ff3317331b94ce566c9f9decba990d898eb456ce
+DIST pip-7.0.3.tar.gz 1054215 SHA256 b4c598825a6f6dc2cac65968feb28e6be6c1f7f1408493c60a07eaa731a0affd SHA512 b35efe45b4aff1a061f41561de7333415c081d9cbd2ee2eccf7af882ddaec643ec766d0f789b49bd94c961c60c6c2e420b31554f112b427bb3af690f4d00e731 WHIRLPOOL 23c45a70a87c61a3c01525abd46f877ec164e70c28e10aa3099590bf0c8421548828cb08f660016a1bdc73e535c18ebc85b734307b9a2f2e7c230518c574839e
+DIST pip-7.1.0.tar.gz 1049267 SHA256 d5275ba3221182a5dd1b6bcfbfc5ec277fb399dd23226d6fa018048f7e0f10f2 SHA512 abda274dfe5f81e121bef9b3bf7a64218f72786037c17b0d99f36c954b09d6b5200a8b78f43de4739c813628a49cbb9d300e869766958e4ed177cf9caad8d511 WHIRLPOOL 35b2953c00a2ff4838f5f550016292b125f06d10f90736b96efc2240dadeebbba8be3d1b860efbe9989bffd51f5a6c5fa43234615b513cdc1aa900df8eb25f2a
diff --git a/dev-python/pip/files/pip-6.0.2-disable-version-check.patch b/dev-python/pip/files/pip-6.0.2-disable-version-check.patch
new file mode 100644
index 000000000000..a192c228a997
--- /dev/null
+++ b/dev-python/pip/files/pip-6.0.2-disable-version-check.patch
@@ -0,0 +1,14 @@
+Don't check PyPI for new versions of pip by default, updates will occur when
+new releases are added to the tree.
+
+--- pip-6.0.2/pip/cmdoptions.py
++++ pip-6.0.2/pip/cmdoptions.py
+@@ -404,7 +404,7 @@
+ "--disable-pip-version-check",
+ dest="disable_pip_version_check",
+ action="store_true",
+- default=False,
++ default=True,
+ help="Don't periodically check PyPI to determine whether a new version "
+ "of pip is available for download.")
+
diff --git a/dev-python/pip/metadata.xml b/dev-python/pip/metadata.xml
new file mode 100644
index 000000000000..3181c2c8b4ad
--- /dev/null
+++ b/dev-python/pip/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pip/pip-1.5.6.ebuild b/dev-python/pip/pip-1.5.6.ebuild
new file mode 100644
index 000000000000..27c1fd8cfdec
--- /dev/null
+++ b/dev-python/pip/pip-1.5.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/runner.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/runner.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-6.0.8.ebuild b/dev-python/pip/pip-6.0.8.ebuild
new file mode 100644
index 000000000000..efadc8089881
--- /dev/null
+++ b/dev-python/pip/pip-6.0.8.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-6.1.1.ebuild b/dev-python/pip/pip-6.1.1.ebuild
new file mode 100644
index 000000000000..04aeedac8e1e
--- /dev/null
+++ b/dev-python/pip/pip-6.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-7.0.0.ebuild b/dev-python/pip/pip-7.0.0.ebuild
new file mode 100644
index 000000000000..c20b537e0003
--- /dev/null
+++ b/dev-python/pip/pip-7.0.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-7.0.1.ebuild b/dev-python/pip/pip-7.0.1.ebuild
new file mode 100644
index 000000000000..c20b537e0003
--- /dev/null
+++ b/dev-python/pip/pip-7.0.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-7.0.3.ebuild b/dev-python/pip/pip-7.0.3.ebuild
new file mode 100644
index 000000000000..c20b537e0003
--- /dev/null
+++ b/dev-python/pip/pip-7.0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pip/pip-7.1.0.ebuild b/dev-python/pip/pip-7.1.0.ebuild
new file mode 100644
index 000000000000..c20b537e0003
--- /dev/null
+++ b/dev-python/pip/pip-7.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="http://www.pip-installer.org/ http://pypi.python.org/pypi/pip/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# required test data isn't bundled with the tarball
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${PN}-6.0.2-disable-version-check.patch )
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ ${EPYTHON} pip/__init__.py completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${EPYTHON} pip/__init__.py completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pivy/Manifest b/dev-python/pivy/Manifest
new file mode 100644
index 000000000000..8e2a325bb707
--- /dev/null
+++ b/dev-python/pivy/Manifest
@@ -0,0 +1 @@
+DIST pivy-0.5_alpha20110303.tar.xz 6289744 SHA256 1df886b4976cde03aa528ccf05f16e42e0baff6a762b3284c1551d53705498b6 SHA512 fd0e90daa3efb3edcbed2a29dc218dadd45b728529de1ba278b3be11c3b4cf39832200babc426ca7ba688440e25a6865d38a04f3470dc5f220700fd3fef9f47f WHIRLPOOL 58d76defc763317eb592d1ce8370abdfbd7d84e2f06f8345afb71c1bcb0671b9c364dcebc0568f2ff5d7c256d845a957274b4b26f83511dc839c63ed9192f70b
diff --git a/dev-python/pivy/metadata.xml b/dev-python/pivy/metadata.xml
new file mode 100644
index 000000000000..59acc2cc580e
--- /dev/null
+++ b/dev-python/pivy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/dev-python/pivy/pivy-0.5_alpha20110303-r1.ebuild b/dev-python/pivy/pivy-0.5_alpha20110303-r1.ebuild
new file mode 100644
index 000000000000..a57d998acc2c
--- /dev/null
+++ b/dev-python/pivy/pivy-0.5_alpha20110303-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Coin3d binding for Python"
+HOMEPAGE="http://pivy.coin3d.org/"
+SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz"
+#identical to latest debian tarball at
+# http://ftp.de.debian.org/debian/pool/main/p/pivy/pivy_0.5.0~v609hg.orig.tar.bz2
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/coin
+ >=media-libs/SoQt-1.5.0"
+DEPEND="${RDEPEND}
+ dev-lang/swig"
diff --git a/dev-python/pivy/pivy-9999.ebuild b/dev-python/pivy/pivy-9999.ebuild
new file mode 100644
index 000000000000..792e0ff63faf
--- /dev/null
+++ b/dev-python/pivy/pivy-9999.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit mercurial distutils-r1
+
+DESCRIPTION="Coin3d binding for Python"
+HOMEPAGE="http://pivy.coin3d.org/"
+EHG_REPO_URI="http://hg.sim.no/Pivy/default"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="
+ media-libs/coin
+ >=media-libs/SoQt-1.5.0"
+DEPEND="${RDEPEND}
+ dev-lang/swig"
diff --git a/dev-python/pkgconfig/Manifest b/dev-python/pkgconfig/Manifest
new file mode 100644
index 000000000000..89265db518a2
--- /dev/null
+++ b/dev-python/pkgconfig/Manifest
@@ -0,0 +1 @@
+DIST pkgconfig-1.1.0.tar.gz 3887 SHA256 709daaf077aa2b33bedac12706373412c3683576a43013bbaa529fc2769d80df SHA512 77a551ca797723682c06a2e153ec1fde9468b655a108bebd666e8439f62f958a4edc8c916755ec0913c815b7c80e763b838005d9ef6d833ff4c4ad7c298a7957 WHIRLPOOL 5aeecb80bb58e208266c49c6bf374452e069af01f1890965ba125ff73467ebac0e6ba8e62c0c5492afd11ec3e152ca808dfb603dc6e0073cd0ac412254fb015a
diff --git a/dev-python/pkgconfig/metadata.xml b/dev-python/pkgconfig/metadata.xml
new file mode 100644
index 000000000000..95a000d2dd0b
--- /dev/null
+++ b/dev-python/pkgconfig/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pkgconfig</remote-id>
+ <remote-id type="github">matze/pkgconfig</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pkgconfig/pkgconfig-1.1.0.ebuild b/dev-python/pkgconfig/pkgconfig-1.1.0.ebuild
new file mode 100644
index 000000000000..d30c991e84a4
--- /dev/null
+++ b/dev-python/pkgconfig/pkgconfig-1.1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Interface Python with pkg-config"
+HOMEPAGE="https://pypi.python.org/pypi/pkgconfig/ http://github.com/matze/pkgconfig"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/nose-1[${PYTHON_USEDEP}] )
+"
+
+python_prepare_all() {
+ sed -e '/nose/d' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pkginfo/Manifest b/dev-python/pkginfo/Manifest
new file mode 100644
index 000000000000..938952673fb7
--- /dev/null
+++ b/dev-python/pkginfo/Manifest
@@ -0,0 +1,2 @@
+DIST pkginfo-1.0.tar.gz 24802 SHA256 27b171632c6894ae5d0d5677678dfc4e9b86f3b422eb3db1cc62960b1c9886f0 SHA512 1b0f9ed60b53202deb729fa9261059b7fe1b3e4561f27ad51152e5077c45dd4f47fcb81da45cd2e509b046e9bb05652533ae90de31f93831743a9d35c938b14d WHIRLPOOL 312e3bac0a8e4740a40484f9e77a137479e339b6c472409e890d3ba13059a6637c8c2bb0d8bd4496364d98ff3ac1fe7272d4750560c4cdc1d9735187ede0cd5c
+DIST pkginfo-1.2.1.tar.gz 31072 SHA256 ad3f6dfe8a831f96a7b56a588ca874137ca102cc6b79fc9b0a1c3b7ab7320f3c SHA512 8a530a164befdcbc6f1f550e106880e14e9d2c762a5e1055f926ccf0228d9e2312f11598454ef015e97dccb78ac7aeb7309f34279590cd318c19c2bd9a29ed2a WHIRLPOOL 1ab43db82665e0abed88bf59115df726475ba7c611b077803721cd6bfcfcc81120c7a996e8945e74ad18c1ec7f6c9e5a1396df37d4f2c0eca24924f4c22e9ee3
diff --git a/dev-python/pkginfo/metadata.xml b/dev-python/pkginfo/metadata.xml
new file mode 100644
index 000000000000..4bd145235c72
--- /dev/null
+++ b/dev-python/pkginfo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pkginfo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pkginfo/pkginfo-1.0.ebuild b/dev-python/pkginfo/pkginfo-1.0.ebuild
new file mode 100644
index 000000000000..bc94dba109cf
--- /dev/null
+++ b/dev-python/pkginfo/pkginfo-1.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides an API for querying the distutils metadata written in a PKG-INFO file"
+HOMEPAGE="http://pypi.python.org/pypi/pkginfo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+LICENSE="MIT"
+SLOT="0"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ sed -e 's:SPHINXBUILD = sphinx-build:SPHINXBUILD = /usr/bin/sphinx-build:' \
+ -i docs/Makefile || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ pushd pkginfo/tests/ > /dev/null
+ for test in test_*.py; do
+ ${PYTHON} ${test} || die "${test} failed with Python ${PYTHON_ABI}"
+ if [[ $? ]]; then
+ einfo "Test ${test} successful"
+ else
+ die "Test ${test} failed under ${EPYTHON}"
+ fi
+ done
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ use examples && local EXAMPLES=( docs/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pkginfo/pkginfo-1.2.1.ebuild b/dev-python/pkginfo/pkginfo-1.2.1.ebuild
new file mode 100644
index 000000000000..45d92a2a1a9b
--- /dev/null
+++ b/dev-python/pkginfo/pkginfo-1.2.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides an API for querying the distutils metadata written in a PKG-INFO file"
+HOMEPAGE="http://pypi.python.org/pypi/pkginfo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="doc examples"
+
+LICENSE="MIT"
+SLOT="0"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ sed -e 's:SPHINXBUILD = sphinx-build:SPHINXBUILD = /usr/bin/sphinx-build:' \
+ -i docs/Makefile || die
+
+ # Disable tests that seek to read the version of pkginfo from an installed state
+ # These test will still become installed and testable once installed
+ sed -e 's:test_w_directory_no_EGG_INFO:_&:' \
+ -e 's:test_w_module_and_metadata_version:_&:' \
+ -e 's:test_w_package_name_and_metadata_version:_&:' \
+ -i pkginfo/tests/test_utils.py || die
+ sed -e 's:test_ctor_w_path_nested_egg_info:_&:' \
+ -i pkginfo/tests/test_develop.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Test ${test} failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ use examples && local EXAMPLES=( docs/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pkipplib/Manifest b/dev-python/pkipplib/Manifest
new file mode 100644
index 000000000000..57b94e65e23e
--- /dev/null
+++ b/dev-python/pkipplib/Manifest
@@ -0,0 +1 @@
+DIST pkipplib-0.07.tar.gz 18704 SHA256 2a2c8fd9fda3d31c30cd48f93d22fe419ec6dc5de53c93183e66fbe579c1908b SHA512 223aaf7dcffa3a435ae9a407c1f7c31cd69a15f8b12f6a6d24f3ea589816b1e641cb1efbdf2ea0415e36d0df07d8dae83a55604e7f31d2f1bd7827a3f4724a2e WHIRLPOOL c672c5150c46d18eea0ed236fbda29b34bdde0a9e5e104d80d58639ed4fc133dd3fcd85823e3301bc8be09cf10dfd404abb74cd2b66a469922aa658211c03045
diff --git a/dev-python/pkipplib/metadata.xml b/dev-python/pkipplib/metadata.xml
new file mode 100644
index 000000000000..ad10d14bf48d
--- /dev/null
+++ b/dev-python/pkipplib/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
+
diff --git a/dev-python/pkipplib/pkipplib-0.07-r1.ebuild b/dev-python/pkipplib/pkipplib-0.07-r1.ebuild
new file mode 100644
index 000000000000..70e26f6492ab
--- /dev/null
+++ b/dev-python/pkipplib/pkipplib-0.07-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pkipplib is a Python module which parses IPP requests"
+HOMEPAGE="http://www.pykota.com/software/pkipplib/"
+SRC_URI="http://www.pykota.com/software/pkipplib/download/tarballs/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/placefinder/Manifest b/dev-python/placefinder/Manifest
new file mode 100644
index 000000000000..c8d11628256d
--- /dev/null
+++ b/dev-python/placefinder/Manifest
@@ -0,0 +1 @@
+DIST placefinder-0.3.tar.gz 2632 SHA256 9b42756d46566b681565f352c51fb8e2793338ffe732c56e8d2d500559780d49 SHA512 dcff0ec0e6a1ca361a726bd5996095855d289f0780238aa0371835821294799f13c49919e0966495a9f77b5ea18b3be9deb5d2b5efd6ce0cf8803f13e22f6249 WHIRLPOOL ffb09bafb45c566a300e06704cb672eca5e440cbaaefe44f34a2dce62aa100201fe3d40d5e66605c78974e829464f9a72db0a344268c8e652eeb25eca01c643d
diff --git a/dev-python/placefinder/metadata.xml b/dev-python/placefinder/metadata.xml
new file mode 100644
index 000000000000..7f97fccc20fc
--- /dev/null
+++ b/dev-python/placefinder/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">placefinder-py</remote-id>
+ <remote-id type="github">adampresley/placefinder-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/placefinder/placefinder-0.3.ebuild b/dev-python/placefinder/placefinder-0.3.ebuild
new file mode 100644
index 000000000000..4e1ff4ae0052
--- /dev/null
+++ b/dev-python/placefinder/placefinder-0.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}"-py
+
+DESCRIPTION="Yahoo! BOSS PlaceFinder Python Client"
+HOMEPAGE=" https://github.com/adampresley/placefinder-py"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-python/platinfo/Manifest b/dev-python/platinfo/Manifest
new file mode 100644
index 000000000000..bd6ba8774b05
--- /dev/null
+++ b/dev-python/platinfo/Manifest
@@ -0,0 +1 @@
+DIST platinfo-0.15.0.zip 31022 SHA256 57159fddb7e338576f34cd644ffe7793c61d11a3aa5ecaa3e4f5e46ebed46757 SHA512 504b25bf546a61965cca60b51418dcd6b110a43f9b8c6ad79841bbcbc2502c9d3e50beeb40ac9cc2f0e4d3a3f1c1923718aa1df2dd64091c2d8249bf819fc122 WHIRLPOOL b38b789818dfa8fbf63a25b395236fb1910547cb47f485526f3524bd718a09cda4b2fa391eb45cc5ca4b5bf8215f891bda379373f04cb8b1f633cc40c53994ed
diff --git a/dev-python/platinfo/metadata.xml b/dev-python/platinfo/metadata.xml
new file mode 100644
index 000000000000..4db3a662b0f4
--- /dev/null
+++ b/dev-python/platinfo/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a small Python module that determines and returns standardized
+ names for platforms, where the "standard" is Trent Mick's reasoning :)
+ from experience building ActivePython on a fairly large number of
+ platforms.
+
+ The driving goal is to provide platform names that are:
+ - relatively short
+ - readable (as much as possible making matching the given name to an
+ actually machine self-explanatory)
+ - be capable enough to produce all names needed to distinguish all
+ platform-specific application builds
+ - generally safe for usage in filenames
+ - not ugly (e.g. "MSWin32" is ugly)
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/platinfo/platinfo-0.15.0-r1.ebuild b/dev-python/platinfo/platinfo-0.15.0-r1.ebuild
new file mode 100644
index 000000000000..275fc879d603
--- /dev/null
+++ b/dev-python/platinfo/platinfo-0.15.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Determines and returns consistent names for platforms"
+HOMEPAGE="http://code.google.com/p/platinfo/"
+SRC_URI="http://platinfo.googlecode.com/files/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/ply/Manifest b/dev-python/ply/Manifest
new file mode 100644
index 000000000000..164ee420f947
--- /dev/null
+++ b/dev-python/ply/Manifest
@@ -0,0 +1,2 @@
+DIST ply-3.4.tar.gz 138342 SHA256 af435f11b7bdd69da5ffbc3fecb8d70a7073ec952e101764c88720cdefb2546b SHA512 6f6ee528393ff83eff2530ca468caf12e4c89b817a38302738597f1478dd41758036c8f32f88f60d1a26e70d9cfceab5530ddcfd3f058c1ee722be95c27e6bcc WHIRLPOOL f2f58e2d0c1170d35554999ca643c102d6821a7535b5782ee7317a4100cf56b5648d643c274cefd66a7b484ae3a9e952bcf4b98d50e7fd1ff220853f982a2f4c
+DIST ply-3.6.tar.gz 281690 SHA256 61367b9eb2f4b819f69ea116750305270f1df8859992c9e356d6a851f25a4b47 SHA512 1a408d7cd4cdc9d747154623672e6baaf37ad2190cb9d6d6a7c1e1cc3cb40f15547734441b8fc99ecd67d7804d767576bdf0ed219cc669bf3d0df37498c55c55 WHIRLPOOL 2868a0046519750a446b683a85966650407afc1ea32ab6d8209b46b280529ca6aa8c47816782020b4c90f6f92d4733dd07565b6518e20c7a036d743edc629496
diff --git a/dev-python/ply/files/3.6-lextab-None.patch b/dev-python/ply/files/3.6-lextab-None.patch
new file mode 100644
index 000000000000..cab0a466d66f
--- /dev/null
+++ b/dev-python/ply/files/3.6-lextab-None.patch
@@ -0,0 +1,49 @@
+From dbf122652d38ba03ff9f9fe4aa9bee3693e6775f Mon Sep 17 00:00:00 2001
+From: David Beazley <dave@dabeaz.com>
+Date: Fri, 8 May 2015 10:10:55 -0500
+Subject: [PATCH] Minor fix to account for bad None arguments for
+ tabmodule/lextab
+
+---
+ ply/lex.py | 4 ++++
+ ply/yacc.py | 5 ++++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/ply/lex.py b/ply/lex.py
+index ed1e2ed..772325c 100644
+--- a/ply/lex.py
++++ b/ply/lex.py
+@@ -859,6 +859,10 @@ def validate_module(self, module):
+ # -----------------------------------------------------------------------------
+ def lex(module=None, object=None, debug=False, optimize=False, lextab='lextab',
+ reflags=0, nowarn=False, outputdir=None, debuglog=None, errorlog=None):
++
++ if lextab is None:
++ lextab = 'lextab'
++
+ global lexer
+
+ ldict = None
+diff --git a/ply/yacc.py b/ply/yacc.py
+index e0b4faf..eb02cc2 100644
+--- a/ply/yacc.py
++++ b/ply/yacc.py
+@@ -2709,7 +2709,7 @@ def write_table(self, tabmodule, outputdir='', signature=''):
+ _lr_method = %r
+
+ _lr_signature = %r
+- ''' % (filename, __tabversion__, self.lr_method, signature))
++ ''' % (os.path.basename(filename), __tabversion__, self.lr_method, signature))
+
+ # Change smaller to 0 to go back to original tables
+ smaller = 1
+@@ -3183,6 +3183,9 @@ def yacc(method='LALR', debug=yaccdebug, module=None, tabmodule=tab_module, star
+ check_recursion=True, optimize=False, write_tables=True, debugfile=debug_file,
+ outputdir=None, debuglog=None, errorlog=None, picklefile=None):
+
++ if tabmodule is None:
++ tabmodule = tab_module
++
+ # Reference to the parsing method of the last built parser
+ global parse
+
diff --git a/dev-python/ply/files/3.6-picklefile-IOError.patch b/dev-python/ply/files/3.6-picklefile-IOError.patch
new file mode 100644
index 000000000000..85b39494a6fd
--- /dev/null
+++ b/dev-python/ply/files/3.6-picklefile-IOError.patch
@@ -0,0 +1,24 @@
+From f50768b0b2176998675e728d84ac05f0eef19614 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 17 May 2015 12:14:16 -0400
+Subject: [PATCH] Catch/ignore IOError when opening picklefile for reading in
+ yacc.yacc()
+
+Should resolve #66.
+---
+ ply/yacc.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ply/yacc.py b/ply/yacc.py
+index eb02cc2..2835c90 100644
+--- a/ply/yacc.py
++++ b/ply/yacc.py
+@@ -3265,6 +3265,8 @@ def yacc(method='LALR', debug=yaccdebug, module=None, tabmodule=tab_module, star
+ errorlog.warning(str(e))
+ except ImportError:
+ pass
++ except IOError:
++ pass
+
+ if debuglog is None:
+ if debug:
diff --git a/dev-python/ply/metadata.xml b/dev-python/ply/metadata.xml
new file mode 100644
index 000000000000..57a9a959420f
--- /dev/null
+++ b/dev-python/ply/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+PLY is a Python-only implementation of the popular compiler construction
+tools lex and yacc. The implementation borrows ideas from a number of
+previous efforts; most notably John Aycock's SPARK toolkit. However,
+the overall flavor of the implementation is more closely modeled after
+the C version of lex and yacc. The other significant feature of PLY is
+that it provides extensive input validation and error reporting--much
+more so than other Python parsing tools.
+</longdescription>
+<longdescription lang="ja">
+PLYã¯Lexã¨Yaccã®æœ‰åãªã‚³ãƒ³ãƒ‘イラ・コンストラクション・ツールã®Python言語実装ã§ã™
+。ã“ã®å®Ÿè£…ã¯ä»¥å‰ã®è©¦ã¿ã‹ã‚‰å¹¾ã¤ã‚‚ã®ã‚¢ã‚¤ãƒ‡ã‚£ã‚¢ã‚’借りã¦ã„ã¾ã™ã€‚ãã®ã»ã¨ã‚“ã©ãŒJohn Aycockã®SPARKツールキットã‹ã‚‰ã§ã™ã€‚ã—ã‹ã—ãªãŒã‚‰ã€å®Ÿè£…ã®å…¨ä½“åƒã¯C言語ã«ã‚ˆã‚‹Lexã¨Yaccã«ã‚ˆã‚Šè¿‘ã„モデルã§ã™ã€‚PLYã®ä»–ã®é‡è¦ç‚¹ã¯å¹…広ã„入力ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã¨ã‚¨ãƒ©ãƒ¼å ±å‘Šã‚’>æä¾›ã™ã‚‹ç‚¹ã§ã™ã€‚ -- ãã®äºŒç‚¹ã¯ä»–ã®Python言語パーサーより優れã¦ã„ã¾ã™ã€‚
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/ply/ply-3.4-r1.ebuild b/dev-python/ply/ply-3.4-r1.ebuild
new file mode 100644
index 000000000000..816c9961e2ee
--- /dev/null
+++ b/dev-python/ply/ply-3.4-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Lex-Yacc library"
+HOMEPAGE="http://www.dabeaz.com/ply/ http://pypi.python.org/pypi/ply"
+SRC_URI="http://www.dabeaz.com/ply/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# See bug #458648 for reference
+RESTRICT="test"
+
+DOCS=( ANNOUNCE CHANGES README TODO )
+
+python_test() {
+ cp -r -l test "${BUILD_DIR}"/ || die
+ cd "${BUILD_DIR}"/test || die
+
+ local t
+ for t in testlex.py testyacc.py; do
+ "${PYTHON}" "${t}" || die "${t} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ply/ply-3.6-r1.ebuild b/dev-python/ply/ply-3.6-r1.ebuild
new file mode 100644
index 000000000000..e302718f0d72
--- /dev/null
+++ b/dev-python/ply/ply-3.6-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Lex-Yacc library"
+HOMEPAGE="http://www.dabeaz.com/ply/ http://pypi.python.org/pypi/ply"
+SRC_URI="http://www.dabeaz.com/ply/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# See bug #458648 for reference
+RESTRICT="test"
+
+DOCS=( ANNOUNCE CHANGES TODO )
+PATCHES=(
+ "${FILESDIR}/3.6-lextab-None.patch"
+ "${FILESDIR}/3.6-picklefile-IOError.patch"
+)
+
+python_test() {
+ cp -r -l test "${BUILD_DIR}"/ || die
+ cd "${BUILD_DIR}"/test || die
+
+ local t
+ for t in testlex.py testyacc.py; do
+ "${PYTHON}" "${t}" || die "${t} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/plyr/Manifest b/dev-python/plyr/Manifest
new file mode 100644
index 000000000000..4a8c874ec706
--- /dev/null
+++ b/dev-python/plyr/Manifest
@@ -0,0 +1 @@
+DIST python-glyr-1.0.6.tar.gz 42952 SHA256 5bb41d3fb860ef02e560942e9f51d9bef167725cef03577af3667465005bacfd SHA512 c4b04b1379116048f78c3ce5f9d30c92fd0d7198bfda456891d3012d115b86a5970595d9b4bc1d43028e87c9d467c35a7d02c7f3a9f4670dae8a17c22d1ab58a WHIRLPOOL 182b43c2611e35455d152e0a7ef32c9da5530b819ae04bd8086e8e96f8e9c5ee661d940a42b31c56a063286074e1842e468c6d4c4a58513bf478ea2280892e8d
diff --git a/dev-python/plyr/metadata.xml b/dev-python/plyr/metadata.xml
new file mode 100644
index 000000000000..27cb2ccc4b7b
--- /dev/null
+++ b/dev-python/plyr/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>wtold.pilat@gmail.com</email>
+ <name>Witold Pilat</name>
+ <description>Proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">sahib/python-glyr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/plyr/plyr-1.0.6.ebuild b/dev-python/plyr/plyr-1.0.6.ebuild
new file mode 100644
index 000000000000..2e53bf55aa0d
--- /dev/null
+++ b/dev-python/plyr/plyr-1.0.6.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="python-glyr"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A python wrapper for Glyr"
+HOMEPAGE="http://sahib.github.com/python-glyr/intro.html
+ https://github.com/sahib/python-glyr"
+SRC_URI="https://github.com/sahib/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3+"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="media-libs/glyr"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable test requiring internet connection
+ sed -e 's:test_download:_&:' -i tests/test_misc.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ emake -C docs html || die "Generating documentation failed"
+ fi
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pmw/Manifest b/dev-python/pmw/Manifest
new file mode 100644
index 000000000000..d6614eb4c960
--- /dev/null
+++ b/dev-python/pmw/Manifest
@@ -0,0 +1,3 @@
+DIST Pmw-2.0.1.tar.gz 830448 SHA256 0b9d28f52755a7a081b44591c3dd912054f896e56c9a627db4dd228306ad1120 SHA512 99654e961aa40a64eebc08fe473e94da0ce431e6465255c68c251dfd544a51edef1a5d97dfd89ce756eb5f7fcf917dbef27f646ba9451ab72f3d460daa09a556 WHIRLPOOL 8486016696e0576794b0ca29c73b9df532be1effeaf2e267f1fc8172bfbbc9be43acbfbf550c3f06ff1660b933d31bae9a0dbf2fa65b4fc2d607762bda46eda7
+DIST Pmw.1.3.3.tar.gz 451232 SHA256 0727bada8afe2e8844e95eb007f5331777389e23f9fce8f49c4864b153e4a494 SHA512 d63fad8f8c5bb9b8cb940b10bdf9e3bc1dabe714e10f32c587d5e1097ef0767492602984089172d85cf57c8ebf34acf555b8fe73a2157c6f734ee36042803668 WHIRLPOOL 6b0aaa767d8553637b2fa709f2f8c19f120ddb680fd8e68d6db77e82826f4ab6c5f872a0100371118486d8b07d43e177f2774c51a7ff4e4aa3825ebe3459abe3
+DIST Pmw.2.0.0.tar.gz 422125 SHA256 72bfdbb206a3853c9855bf8527e7720b3b28bdb79d810b49b208dfb964518ff8 SHA512 409b5ccdc8397b48c4d339e297c9729a1bc3f33c2b256d29b99c4c0e2e013d7aeae4b3089b22112b0d8d43dd8cd5208306afbcc4e9f6ab98005c16773aed7117 WHIRLPOOL 066f2851dafb9f8a1995b58378e0432e337d0f5f1170bd5d32a725d546f7de50e2ffa365ebb791404da2fe46d59e4b5c1c9638edc2163df77db04f095265de05
diff --git a/dev-python/pmw/files/1.3.2-python2.5.patch b/dev-python/pmw/files/1.3.2-python2.5.patch
new file mode 100644
index 000000000000..ff8cce07ddaa
--- /dev/null
+++ b/dev-python/pmw/files/1.3.2-python2.5.patch
@@ -0,0 +1,54 @@
+Source: http://github.com/nanotube/pmw_fixes/commit/5e6dcbdaef2bb6c40037b922dd0efa081f1575ab (Daniel Folkinshteyn)
+
+fix bug in OptionMenu.setitems, introduced with the fixing of this python
+bug:
+http://bugs.python.org/issue1342811
+
+versions of python 2.5.4 and newer now automatically delete commands when
+items are deleted
+however, that causes error if the command is deleted manually beforehand.
+old versions, on the contrary, require manual command deletion to free up
+the objects.
+
+so we put in a python version check to see if we need to manually delete
+commands.
+
+fixes the Pmw bug referred to here:
+http://sourceforge.net/forum/forum.php?thread_id=3283195&forum_id=33675
+and here:
+http://sourceforge.net/tracker/?func=detail&aid=2795731&group_id=10743&ati
+d=110743
+
+--- a/src/Pmw/Pmw_1_3/lib/PmwOptionMenu.py
++++ b/src/Pmw/Pmw_1_3/lib/PmwOptionMenu.py
+@@ -1,6 +1,7 @@
+ import types
+ import Tkinter
+ import Pmw
++import sys
+
+ class OptionMenu(Pmw.MegaWidget):
+
+@@ -59,11 +60,17 @@ class OptionMenu(Pmw.MegaWidget):
+
+ def setitems(self, items, index = None):
+
+- # Clean up old items and callback commands.
+- for oldIndex in range(len(self._itemList)):
+- tclCommandName = str(self._menu.entrycget(oldIndex, 'command'))
+- if tclCommandName != '':
+- self._menu.deletecommand(tclCommandName)
++ # python version check
++ # python versions >= 2.5.4 automatically clean commands
++ # and manually cleaning them causes errors when deleting items
++
++ if sys.version_info[0] * 100 + sys.version_info[1] * 10 + \
++ sys.version_info[2] < 254:
++ # Clean up old items and callback commands.
++ for oldIndex in range(len(self._itemList)):
++ tclCommandName = str(self._menu.entrycget(oldIndex, 'command'))
++ if tclCommandName != '':
++ self._menu.deletecommand(tclCommandName)
+ self._menu.delete(0, 'end')
+ self._itemList = list(items)
+
diff --git a/dev-python/pmw/files/pmw-1.3.2-install-no-docs.patch b/dev-python/pmw/files/pmw-1.3.2-install-no-docs.patch
new file mode 100644
index 000000000000..325dc4e2998c
--- /dev/null
+++ b/dev-python/pmw/files/pmw-1.3.2-install-no-docs.patch
@@ -0,0 +1,13 @@
+diff -uNr Pmw.1.3.2.orig/src/setup.py Pmw.1.3.2/src/setup.py
+--- Pmw.1.3.2.orig/src/setup.py 2008-08-02 15:40:19.000000000 -0430
++++ Pmw.1.3.2/src/setup.py 2008-08-02 15:40:36.000000000 -0430
+@@ -16,9 +16,7 @@
+ 'Pmw.Pmw_1_3.lib',],
+
+ package_data={'Pmw': ['Pmw_1_3/lib/Pmw.def',
+- 'Pmw_1_3/doc/*',
+ 'Pmw_1_3/contrib/*',
+- 'Pmw_1_3/demos/*',
+ 'Pmw_1_3/tests/*',
+ 'Pmw_1_3/bin/*',
+ ]
diff --git a/dev-python/pmw/files/pmw-1.3.3-install-no-docs.patch b/dev-python/pmw/files/pmw-1.3.3-install-no-docs.patch
new file mode 100644
index 000000000000..979e24abf59a
--- /dev/null
+++ b/dev-python/pmw/files/pmw-1.3.3-install-no-docs.patch
@@ -0,0 +1,17 @@
+ src/setup.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/setup.py b/src/setup.py
+index a5f9039..cfcf8a2 100755
+--- a/src/setup.py
++++ b/src/setup.py
+@@ -16,9 +16,7 @@ setup(name="Pmw",
+ 'Pmw.Pmw_1_3_3.lib',],
+
+ package_data={'Pmw': ['Pmw_1_3_3/lib/Pmw.def',
+- 'Pmw_1_3_3/doc/*',
+ 'Pmw_1_3_3/contrib/*',
+- 'Pmw_1_3_3/demos/*',
+ 'Pmw_1_3_3/tests/*',
+ 'Pmw_1_3_3/bin/*',
+ ]
diff --git a/dev-python/pmw/metadata.xml b/dev-python/pmw/metadata.xml
new file mode 100644
index 000000000000..510bd1c1019e
--- /dev/null
+++ b/dev-python/pmw/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pmw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pmw/pmw-1.3.3-r2.ebuild b/dev-python/pmw/pmw-1.3.3-r2.ebuild
new file mode 100644
index 000000000000..62523454128b
--- /dev/null
+++ b/dev-python/pmw/pmw-1.3.3-r2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="Pmw.${PV}"
+
+DESCRIPTION="Toolkit for building high-level compound widgets in Python using the Tkinter module"
+HOMEPAGE="http://pmw.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="py2"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples"
+
+DEPEND="!dev-python/pmw:0"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/src"
+
+DOCS="Pmw/README"
+# http://sourceforge.net/p/pmw/bugs/39/
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}"/${P}-install-no-docs.patch )
+
+python_test() {
+ cd "${BUILD_DIR}/lib/Pmw/Pmw_1_3_3/" || die
+ PYTHONPATH=PYTHONPATH=tests:../../
+ cp tests/{flagup.bmp,earthris.gif} . || die
+ for test in tests/*_test.py; do
+ echo "running test "$test
+ PYTHONPATH=tests:../../ "${PYTHON}" $test || die
+ done
+}
+
+python_install_all() {
+ local DIR="Pmw/Pmw_1_3_3"
+
+ if use doc; then
+ dohtml -a html,gif,py ${DIR}/doc/*
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins ${DIR}/demos/*
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pmw/pmw-2.0.0-r2.ebuild b/dev-python/pmw/pmw-2.0.0-r2.ebuild
new file mode 100644
index 000000000000..0b91cbb7b5f6
--- /dev/null
+++ b/dev-python/pmw/pmw-2.0.0-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="Pmw.${PV}"
+
+DESCRIPTION="Toolkit for building high-level compound widgets in Python using the Tkinter module"
+HOMEPAGE="http://pmw.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="py3"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+DEPEND="!dev-python/pmw:0"
+RDEPEND="${DEPEND}"
+# http://sourceforge.net/p/pmw/bugs/39/
+RESTRICT="test"
+
+S="${WORKDIR}/src"
+
+DOCS="Pmw/README"
+
+python_prepare() {
+ distutils-r1_python_prepare
+ 2to3 Pmw
+}
+
+python_test() {
+ cd "${BUILD_DIR}/lib/Pmw/Pmw_2_0_0/" || die
+ PYTHONPATH=PYTHONPATH=tests:../../
+ cp tests/{flagup.bmp,earthris.gif} . || die
+ for test in tests/*_test.py; do
+ echo "running test "$test
+ PYTHONPATH=tests:../../ "${PYTHON}" $test || die
+ done
+}
+
+python_install_all() {
+ local DIR="Pmw/Pmw_2_0_0"
+
+ if use doc; then
+ dohtml -a html,gif,py "${DIR}"/doc/*
+ fi
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins "${DIR}"/demos/*
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pmw/pmw-2.0.1.ebuild b/dev-python/pmw/pmw-2.0.1.ebuild
new file mode 100644
index 000000000000..7aa8f53f1f9f
--- /dev/null
+++ b/dev-python/pmw/pmw-2.0.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1 virtualx
+
+MY_PN="Pmw"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Toolkit for building high-level compound widgets in Python using the Tkinter module"
+HOMEPAGE="http://pmw.sourceforge.net/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="py3"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+DEPEND="!dev-python/pmw:0"
+RDEPEND="${DEPEND}"
+# http://sourceforge.net/p/pmw/bugs/39/
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare() {
+ distutils-r1_python_prepare
+ 2to3 Pmw
+}
+
+python_test() {
+ VIRTUALX_COMMAND="${PYTHON}"
+ cd "${BUILD_DIR}/lib/Pmw/Pmw_${PV//./_}/" || die
+ cp tests/{flagup.bmp,earthris.gif} . || die
+ for test in tests/*_test.py; do
+ echo "running test "$test
+ PYTHONPATH=tests:../../ virtualmake $test || die
+ done
+}
+
+python_install_all() {
+ local DIR="Pmw/Pmw_${PV//./_}"
+
+ use doc && HTML_DOCS=( "${DIR}"/doc/. )
+ use examples && EXAMPLES=( "${DIR}"/demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/polib/Manifest b/dev-python/polib/Manifest
new file mode 100644
index 000000000000..7d88dccc0d65
--- /dev/null
+++ b/dev-python/polib/Manifest
@@ -0,0 +1 @@
+DIST polib-1.0.4.tar.gz 151634 SHA256 8b3276f75ce2fce9442e27db3ae63d842416e17f0e2095f39ff52dc735e5749a SHA512 a38d57acdaded0371be83825a28f14f178aebdbc0435724f33eebda109adb2b8210e33659ebec88d2d9e98aa60c482d7f8a958ec18f6769fda7a2fb14edd2744 WHIRLPOOL 1fe4e5bbf27444c1a6d7d79c70325078d3b2d15f6a5eb84852ccb080dfee4d03a7f8311127b6f93e1cb23ad633155bf93221317ec3518b1c5d7ec52b79fab87d
diff --git a/dev-python/polib/metadata.xml b/dev-python/polib/metadata.xml
new file mode 100644
index 000000000000..3b4d48a8b559
--- /dev/null
+++ b/dev-python/polib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">izi/polib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/polib/polib-1.0.4.ebuild b/dev-python/polib/polib-1.0.4.ebuild
new file mode 100644
index 000000000000..c0ae9d4d89fb
--- /dev/null
+++ b/dev-python/polib/polib-1.0.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to manipulate gettext files (.po and .mo files)"
+HOMEPAGE="https://bitbucket.org/izi/polib/wiki/Home"
+SRC_URI="https://www.bitbucket.org/izi/polib/downloads/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+"
+
+python_compile_all() {
+ if use doc; then
+ cd docs || die
+ emake html
+ fi
+}
+
+python_test() {
+ python tests/tests.py || die
+}
+
+python_install_all() {
+ local DOCS="CHANGELOG README.rst"
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/polygon/Manifest b/dev-python/polygon/Manifest
new file mode 100644
index 000000000000..8276f23a5dcf
--- /dev/null
+++ b/dev-python/polygon/Manifest
@@ -0,0 +1,3 @@
+DIST Polygon-2.0.4.zip 73544 SHA256 a9a85d81cc9faabba398001b1e9d32444e98147ac6e31cbdc5ef512c4f7c43dd SHA512 1d1b6a6f601298fc2a05f2fa30ff7ed81feb3e3651f4579524a3f2bb6403ceb404ab7a41545fc742ee8be626d034fd32d5e3554fec56811b1631f8c5b8352dd5 WHIRLPOOL db6342be7594666af6d441b36c825e9c0e8aa333ad5b77c18ca64ac27367b897bd7bcae0ea83fcb748007f3331514d16acafe3101ea1404e04f530441d566d7e
+DIST Polygon2-2.0.6.zip 73551 SHA256 3e0e1a5125e892faa5964523de28c0349b573ed102547e12a1affc3fed2cac3b SHA512 d0827fe3299449842e201598b59e423bf3029302037ffb9329dae0045b2be1727eb33951dfd22f560476360836305526be58e55d9d4cff36f3d9a4b0262b7aed WHIRLPOOL 50b176f05ade1780e21f8280d884996f04df3894a8479b5d82b1410cc53961c0faedea1b20b431b0eeb2996619abf91392e4c9291856a63c8b080605f646c67b
+DIST Polygon3-3.0.7.zip 76193 SHA256 627852f50fd6002b9a59eef291bb38c075d95e67c47a8d3b32713426ee137744 SHA512 e30cd8e51ad69a2d76b61a7d92ead4ac352e729093546b965f649866fd9c6a860e3cdcd9fcd7f8cc9f8d7735ccd1128fb5af00b3de89e4efd7128e446a70b33b WHIRLPOOL 7123420e402e3cb5034ad3ffaba561a8c250e6788ee6b89ca8376ed6a037a889611afcd34f135b1ee16261e2504a22895c491d91a691e1559628673682e1dead
diff --git a/dev-python/polygon/metadata.xml b/dev-python/polygon/metadata.xml
new file mode 100644
index 000000000000..9754f81c78b5
--- /dev/null
+++ b/dev-python/polygon/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ Polygon is a python package that handles polygonal shapes in 2D. It contains
+ Python bindings for gpc, the General Polygon Clipping Library by
+ Alan Murta and some extensions written in C and pure Python.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/polygon/polygon-2.0.4.ebuild b/dev-python/polygon/polygon-2.0.4.ebuild
new file mode 100644
index 000000000000..91a1da4c0613
--- /dev/null
+++ b/dev-python/polygon/polygon-2.0.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.5-jython"
+
+inherit distutils
+
+DESCRIPTION="Python package to handle polygonal shapes in 2D"
+HOMEPAGE="http://www.j-raedler.de/projects/polygon/"
+SRC_URI="mirror://github/jraedler/Polygon2/Polygon-${PV}.zip"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/Polygon-${PV}"
+
+src_test() {
+ testing() {
+ PYTHONPATH="$(dir -d build-${PYTHON_ABI}/lib*)" "$(PYTHON)" test/Test.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+ dodoc HISTORY doc/Polygon.txt
+}
diff --git a/dev-python/polygon/polygon-2.0.6.ebuild b/dev-python/polygon/polygon-2.0.6.ebuild
new file mode 100644
index 000000000000..b84f17892841
--- /dev/null
+++ b/dev-python/polygon/polygon-2.0.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package to handle polygonal shapes in 2D"
+HOMEPAGE="http://www.j-raedler.de/projects/polygon/"
+SRC_URI="https://www.bitbucket.org/jraedler/${PN}2/downloads/Polygon2-${PV}.zip"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}/Polygon2-${PV}
+
+DOCS=( HISTORY doc/Polygon.txt )
+
+python_test() {
+ ${PYTHON} test/Test.py || die "Tests failed"
+}
diff --git a/dev-python/polygon/polygon-3.0.7.ebuild b/dev-python/polygon/polygon-3.0.7.ebuild
new file mode 100644
index 000000000000..8273280c0139
--- /dev/null
+++ b/dev-python/polygon/polygon-3.0.7.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package to handle polygonal shapes in 2D"
+HOMEPAGE="http://www.j-raedler.de/projects/polygon"
+SRC_URI="https://www.bitbucket.org/jraedler/${PN}3/downloads/Polygon3-${PV}.zip"
+
+LICENSE="LGPL-2"
+SLOT="3"
+IUSE="examples"
+KEYWORDS="amd64 ppc x86"
+
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}/Polygon3-${PV}
+
+DOCS=( doc/{Polygon.txt,Polygon.pdf} )
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples || die
+ mv doc/{Examples.py,testpoly.gpf} examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${PYTHON} test/Test.py || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/posix_ipc/Manifest b/dev-python/posix_ipc/Manifest
new file mode 100644
index 000000000000..fd45b4eaa61d
--- /dev/null
+++ b/dev-python/posix_ipc/Manifest
@@ -0,0 +1 @@
+DIST posix_ipc-0.9.8.tar.gz 66589 SHA256 271446eb133efb7410eb51265807aa54e0acb8eb7c2abcf027e51b4cb36d36dd SHA512 d0618c302e6d0f9113b9515627095d6baf383dcf4ac603b3a4596ee814873a0baa473e8505918859bda37cb539f98e76fd601e29f6772dbc14f74d6059fd4200 WHIRLPOOL 1c7ff555fdd9050b6c075873141030e0672c6f159ba68ea2f1f9d80cb18539ed7cd9fbfba772ee2be7754fad85943befc11805f8b4ba7eb2bf0cbcf7db5eafe3
diff --git a/dev-python/posix_ipc/metadata.xml b/dev-python/posix_ipc/metadata.xml
new file mode 100644
index 000000000000..12f81c32d1bf
--- /dev/null
+++ b/dev-python/posix_ipc/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ POSIX IPC primitives (semaphores, shared memory and message queues) for Python
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">posix_ipc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/posix_ipc/posix_ipc-0.9.8.ebuild b/dev-python/posix_ipc/posix_ipc-0.9.8.ebuild
new file mode 100644
index 000000000000..f154f9444683
--- /dev/null
+++ b/dev-python/posix_ipc/posix_ipc-0.9.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="POSIX IPC primitives (semaphores, shared memory and message queues) for Python"
+HOMEPAGE="http://semanchuk.com/philip/posix_ipc/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND=""
diff --git a/dev-python/potr/Manifest b/dev-python/potr/Manifest
new file mode 100644
index 000000000000..ad2acf77ff86
--- /dev/null
+++ b/dev-python/potr/Manifest
@@ -0,0 +1 @@
+DIST python-potr-1.0.1.zip 30200 SHA256 a8a23fc1aac1e9c97b02fe462097f54f2d247f7979f0aa8ce4d66f88f6927bac SHA512 d38f2fc68ce9f72ccee18923183f8640ee51f079da1e79e1f2f22e37383c99da7a6336a8538e28bd90b483fe8e227956ebc052e9c03aa6d7b49e9fc4e8df5281 WHIRLPOOL e0b37d8c5fe6b046a072bebcc8785a55bfba1239de193ac072bc061c58826dc8ba92d35e0e51cc8065578be07af5b272dccde5d5cb2e2506d8e7cfa029a0edf7
diff --git a/dev-python/potr/metadata.xml b/dev-python/potr/metadata.xml
new file mode 100644
index 000000000000..42b14c532586
--- /dev/null
+++ b/dev-python/potr/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a pure Python OTR implementation; it does not bind to libotr.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-potr</remote-id>
+ <remote-id type="github">python-otr/pure-python-otr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/potr/potr-1.0.1.ebuild b/dev-python/potr/potr-1.0.1.ebuild
new file mode 100644
index 000000000000..8429d9b5e063
--- /dev/null
+++ b/dev-python/potr/potr-1.0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="python-${PN}"
+MY_P="${MY_PN}-${PV}"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure Python OTR implementation"
+HOMEPAGE="https://github.com/python-otr/pure-python-otr"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+CDEPEND=">=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pp/Manifest b/dev-python/pp/Manifest
new file mode 100644
index 000000000000..15fe775c4675
--- /dev/null
+++ b/dev-python/pp/Manifest
@@ -0,0 +1 @@
+DIST pp-1.6.4.tar.bz2 27166 SHA256 7f932d8eff4b35357bf5b48c1abd7734a955c98a50138c13b7b9eb36aadaf408 SHA512 213322aaa60e1485b855e96336a01c45407185892dede693c013a200554656ce08799ee23ee4a0cf628b382b98e0519445c99dbb89f209b1b907ac0a1fc8147e WHIRLPOOL fce8fe3ceaeb9e1d4133734107924faec6bcc5b4d862a37629443d0ec1774504956271dfa1af7de8dd2c06012e488e99dbe1220705fe3f4ae7c8cc8f721211da
diff --git a/dev-python/pp/metadata.xml b/dev-python/pp/metadata.xml
new file mode 100644
index 000000000000..d95e954c9ea7
--- /dev/null
+++ b/dev-python/pp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ PP is a python module which provides mechanism for parallel
+ execution of python code on SMP (systems with multiple processors or
+ cores) and clusters (computers connected via network).
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pp/pp-1.6.4-r1.ebuild b/dev-python/pp/pp-1.6.4-r1.ebuild
new file mode 100644
index 000000000000..167f813ba571
--- /dev/null
+++ b/dev-python/pp/pp-1.6.4-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Parallel and distributed programming for Python"
+HOMEPAGE="http://www.parallelpython.com/"
+SRC_URI="http://www.parallelpython.com/downloads/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+python_install_all() {
+ doman doc/ppserver.1
+ use doc && HTML_DOCS=( doc/ppdoc.html )
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r "${S}/examples"
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pretend/Manifest b/dev-python/pretend/Manifest
new file mode 100644
index 000000000000..8f1ceecc9919
--- /dev/null
+++ b/dev-python/pretend/Manifest
@@ -0,0 +1,2 @@
+DIST pretend-1.0.7.tar.gz 4788 SHA256 306906ea041a41ba23171aaf82112b49c516edbb08a29c8d0f113ee5def86d19 SHA512 9caa134a6b495c34bd05449b50f8f30e40ddceca9f70448f1735ae6d229996eeee370d01d7a3ed9acc40f385247544c201676699483599d8790e1971b6899f40 WHIRLPOOL c20c888b65f63ef1c4ea616714703529e5bf743970350c29d187f8a69f15c3db4fb1beda57584bb327105824e4ea01badac69a6b8fa4792c4d2ff53378cc31e7
+DIST pretend-1.0.8.tar.gz 4848 SHA256 930f2c1e18503e8f8c403abe2e02166c4a881941745147e712cdd4f49f3fb964 SHA512 25011216947289d340fb979ebc9e2c7f000571f006cf5ce15f10ff0e013164e4329a3a66933d202acf8ced498929cf9e5a2a3666aafa00f78348400615c5cec8 WHIRLPOOL 3148c08f98deadfea44ff59e673d053fc770a01541fb3bdac6416d156ad720658c42cd72b0f96d138962f636aab8080624400589ac5245d458c2cdff04d22015
diff --git a/dev-python/pretend/metadata.xml b/dev-python/pretend/metadata.xml
new file mode 100644
index 000000000000..d9c43ee47ef8
--- /dev/null
+++ b/dev-python/pretend/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pretend</remote-id>
+ <remote-id type="github">alex/pretend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pretend/pretend-1.0.7.ebuild b/dev-python/pretend/pretend-1.0.7.ebuild
new file mode 100644
index 000000000000..9d78f5e18536
--- /dev/null
+++ b/dev-python/pretend/pretend-1.0.7.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for stubbing in Python"
+HOMEPAGE="https://github.com/alex/pretend/ https://pypi.python.org/pypi/pretend/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pretend/pretend-1.0.8.ebuild b/dev-python/pretend/pretend-1.0.8.ebuild
new file mode 100644
index 000000000000..7df731fe547d
--- /dev/null
+++ b/dev-python/pretend/pretend-1.0.8.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for stubbing in Python"
+HOMEPAGE="https://github.com/alex/pretend/ https://pypi.python.org/pypi/pretend/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pretty-yaml/Manifest b/dev-python/pretty-yaml/Manifest
new file mode 100644
index 000000000000..a924d8fc34bd
--- /dev/null
+++ b/dev-python/pretty-yaml/Manifest
@@ -0,0 +1,2 @@
+DIST pyaml-14.05.7.tar.gz 7401 SHA256 8c1edf635edc0658d9f6cd222f175e35aecaaef1cad432b188206b71a9cdbd30 SHA512 4a977de705a85341ff817b51e29facea6029c0082cdc0d9b212748d6992a1be3c461d59a5a41f131a14c0cfc0b6db3aad9091e0ff86c05da70974fd3651eaea9 WHIRLPOOL ed5fe07b7dd686a8d460841bfcbbb326d833124f0078a7aa70a80ddd3c85fcc245d9808a2aa19676636fea3d299be986fefead3022d96f846e6a9571ae67024f
+DIST pyaml-15.5.7.tar.gz 14374 SHA256 85c44970d9bca68742faef77cb10a16d4a81be81281541c8d39c10f504042bc6 SHA512 c92250bba3bfded1a4d047940098b532989f9fe020d1e7ccdd45779260e1114c8720d9ef4d98de0abfa699807d9377e29e9ad9c979dd086456eade0fecf6f0ae WHIRLPOOL e7cb76e586f32eebb8cb56af949925030dabc81e5f2f7b1a575980b49ab020968c393739deb6b69afb98f2c4b3ef21601a43166b7ce092c1e88aa3e2e95758cf
diff --git a/dev-python/pretty-yaml/metadata.xml b/dev-python/pretty-yaml/metadata.xml
new file mode 100644
index 000000000000..4eb0ed72e473
--- /dev/null
+++ b/dev-python/pretty-yaml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyaml</remote-id>
+ <remote-id type="github">mk-fg/pretty-yaml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pretty-yaml/pretty-yaml-14.05.7.ebuild b/dev-python/pretty-yaml/pretty-yaml-14.05.7.ebuild
new file mode 100644
index 000000000000..3bdaa75ae6bc
--- /dev/null
+++ b/dev-python/pretty-yaml/pretty-yaml-14.05.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_{3,4}})
+
+inherit distutils-r1
+
+MY_PN="${PN//retty-}"
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="https://github.com/mk-fg/pretty-yaml"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-python/pretty-yaml/pretty-yaml-15.5.7.ebuild b/dev-python/pretty-yaml/pretty-yaml-15.5.7.ebuild
new file mode 100644
index 000000000000..5fac8288f0b7
--- /dev/null
+++ b/dev-python/pretty-yaml/pretty-yaml-15.5.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_{3,4}})
+
+inherit distutils-r1
+
+MY_PN="${PN//retty-}"
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="https://github.com/mk-fg/pretty-yaml"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/unidecode[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ "${PYTHON}" pyaml/tests/dump.py || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/prettytable/Manifest b/dev-python/prettytable/Manifest
new file mode 100644
index 000000000000..011de67919a4
--- /dev/null
+++ b/dev-python/prettytable/Manifest
@@ -0,0 +1,2 @@
+DIST prettytable-0.7.1.tar.bz2 21499 SHA256 599bc5b4b9602e28294cf795733c889c26dd934aa7e0ee9cff9b905d4fbad188 SHA512 1a7aa604f608483b107401ddca9721ddea673ea1415d2a514948f7399835784e0a9025f0e5236f4109890e5924da345bd111893200730501b496c136465c204f WHIRLPOOL cbde4e7053eb82749a21f1ac7e0a9ab7368f9dfbe64f0e434da085dc30f24931110e87c508c500bb340adec6d928dae53f1652d1601a5718311a9e414a2b789c
+DIST prettytable-0.7.2.tar.bz2 21755 SHA256 853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36 SHA512 f3a3fe6fa29f4ef090ff6cac06549ebd9db8b387e7b25fc64c4e37c8444586f50355c5573f38caabc72360aa68054aa189a67aa37f0bd13b872862ecd9151e71 WHIRLPOOL 1b27332ea8b2c83ec13b981508f429881bacacb87ac4a8c51a42b6071daa6d1278a48f3359547efae2c7f9eb1fe5d6b13e2d4232543722aa3aab1f30f9fccfbe
diff --git a/dev-python/prettytable/metadata.xml b/dev-python/prettytable/metadata.xml
new file mode 100644
index 000000000000..70d493aab966
--- /dev/null
+++ b/dev-python/prettytable/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="google-code">prettytable</remote-id>
+ <remote-id type="pypi">PrettyTable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/prettytable/prettytable-0.7.1-r1.ebuild b/dev-python/prettytable/prettytable-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..07d8caad35b0
--- /dev/null
+++ b/dev-python/prettytable/prettytable-0.7.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
+HOMEPAGE="https://code.google.com/p/prettytable/"
+SRC_URI="mirror://pypi/P/PrettyTable/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" prettytable_test.py || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/prettytable/prettytable-0.7.2.ebuild b/dev-python/prettytable/prettytable-0.7.2.ebuild
new file mode 100644
index 000000000000..e385645ea2ed
--- /dev/null
+++ b/dev-python/prettytable/prettytable-0.7.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
+HOMEPAGE="https://code.google.com/p/prettytable/"
+SRC_URI="mirror://pypi/P/PrettyTable/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ "${PYTHON}" prettytable_test.py || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/processing/Manifest b/dev-python/processing/Manifest
new file mode 100644
index 000000000000..c6128798ebd9
--- /dev/null
+++ b/dev-python/processing/Manifest
@@ -0,0 +1 @@
+DIST processing-0.52.zip 178013 SHA256 976fa4f8d30e8dc8216ae24d44c95587ae05ab39e9ac4bdc10691cab51fca11d SHA512 ce5244eefe1bed629afddf2309ea61f44a2a5fe913b97032752ecd92e58add278f7bcf02c5dc9e1985720ceaaa2e4d547f67e9b018313a26ca084c2a86f0efb3 WHIRLPOOL f0e243253d1ea8d7d67c3f209ad5cafa6d0f9f571a77566db7aa25294f3b252b5b3120450c7b149231edc0c6ffd1901725d0373617553de7c554f6a686f54b88
diff --git a/dev-python/processing/metadata.xml b/dev-python/processing/metadata.xml
new file mode 100644
index 000000000000..7e66f50bca02
--- /dev/null
+++ b/dev-python/processing/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">processing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/processing/processing-0.52-r1.ebuild b/dev-python/processing/processing-0.52-r1.ebuild
new file mode 100644
index 000000000000..76176717d52f
--- /dev/null
+++ b/dev-python/processing/processing-0.52-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 flag-o-matic
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="Package for using processes, which mimics the threading module API"
+HOMEPAGE="http://pyprocessing.berlios.de/ http://pypi.python.org/pypi/processing"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${PYTHON_DEPS}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/progressbar/Manifest b/dev-python/progressbar/Manifest
new file mode 100644
index 000000000000..27668abc7966
--- /dev/null
+++ b/dev-python/progressbar/Manifest
@@ -0,0 +1 @@
+DIST progressbar-2.3.tar.gz 9802 SHA256 00a316c1a99b70a803d7430fd088da24f37dbfb64f81c4772b97fbc1e8031de4 SHA512 34357d72f8dabc07f4023077a2062cd98dc8a10b14d40cdd6fadd7713a572214fe3176b8638bb0b4b8ffeaa553fa6259793b0813aca9f7c488c22c11807064c3 WHIRLPOOL 85cec2da09debc238cd83e45111b1ed974e3ab0c91bd76787897667abc967d93c78bd2eb3286e483f40164125d8da92e5437163c79af37940be2aa383d4cb2c3
diff --git a/dev-python/progressbar/files/progressbar-2.3-python3.3.patch b/dev-python/progressbar/files/progressbar-2.3-python3.3.patch
new file mode 100644
index 000000000000..112bcf4b3779
--- /dev/null
+++ b/dev-python/progressbar/files/progressbar-2.3-python3.3.patch
@@ -0,0 +1,94 @@
+# HG changeset patch
+# User Nilton Volpato <nilton@google.com>
+# Date 1348267873 10800
+# Fri Sep 21 19:51:13 2012 -0300
+# Node ID 3c94a3a1ebe1325c7c605cc8f11126dcc632b04d
+# Parent 83ece680e4fe06aa704de4c3a967355db21046d4
+Remove format as a slot attribute, as that is not compatible with python 3.3
+
+diff --git a/progressbar/widgets.py b/progressbar/widgets.py
+--- a/progressbar/widgets.py
++++ b/progressbar/widgets.py
+@@ -81,11 +81,11 @@
+ class Timer(Widget):
+ """Widget which displays the elapsed seconds."""
+
+- __slots__ = ('format',)
++ __slots__ = ('format_string',)
+ TIME_SENSITIVE = True
+
+ def __init__(self, format='Elapsed Time: %s'):
+- self.format = format
++ self.format_string = format
+
+ @staticmethod
+ def format_time(seconds):
+@@ -97,7 +97,7 @@
+ def update(self, pbar):
+ """Updates the widget to show the elapsed time."""
+
+- return self.format % self.format_time(pbar.seconds_elapsed)
++ return self.format_string % self.format_time(pbar.seconds_elapsed)
+
+
+ class ETA(Timer):
+@@ -121,9 +121,9 @@
+ class FileTransferSpeed(Widget):
+ """Widget for showing the transfer speed (useful for file transfers)."""
+
+- format = '%6.2f %s%s/s'
+- prefixes = ' kMGTPEZY'
+- __slots__ = ('unit', 'format')
++ FORMAT = '%6.2f %s%s/s'
++ PREFIXES = ' kMGTPEZY'
++ __slots__ = ('unit',)
+
+ def __init__(self, unit='B'):
+ self.unit = unit
+@@ -138,7 +138,7 @@
+ power = int(math.log(speed, 1000))
+ scaled = speed / 1000.**power
+
+- return self.format % (scaled, self.prefixes[power], self.unit)
++ return self.FORMAT % (scaled, self.PREFIXES[power], self.unit)
+
+
+ class AnimatedMarker(Widget):
+@@ -168,13 +168,13 @@
+ class Counter(Widget):
+ """Displays the current count."""
+
+- __slots__ = ('format',)
++ __slots__ = ('format_string',)
+
+ def __init__(self, format='%d'):
+- self.format = format
++ self.format_string = format
+
+ def update(self, pbar):
+- return self.format % pbar.currval
++ return self.format_string % pbar.currval
+
+
+ class Percentage(Widget):
+@@ -197,9 +197,9 @@
+ 'value': ('currval', None)
+ }
+
+- __slots__ = ('format',)
++ __slots__ = ('format_string',)
+ def __init__(self, format):
+- self.format = format
++ self.format_string = format
+
+ def update(self, pbar):
+ context = {}
+@@ -213,7 +213,7 @@
+ context[name] = transform(value)
+ except: pass
+
+- return self.format % context
++ return self.format_string % context
+
+
+ class SimpleProgress(Widget):
diff --git a/dev-python/progressbar/metadata.xml b/dev-python/progressbar/metadata.xml
new file mode 100644
index 000000000000..fe5274bb9ce5
--- /dev/null
+++ b/dev-python/progressbar/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">python-progressbar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/progressbar/progressbar-2.3-r1.ebuild b/dev-python/progressbar/progressbar-2.3-r1.ebuild
new file mode 100644
index 000000000000..7fd0509485f3
--- /dev/null
+++ b/dev-python/progressbar/progressbar-2.3-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Text progressbar library for python"
+HOMEPAGE="http://code.google.com/p/python-progressbar/ http://pypi.python.org/pypi/progressbar"
+SRC_URI="http://python-${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}/progressbar-2.3-python3.3.patch" )
diff --git a/dev-python/promise/Manifest b/dev-python/promise/Manifest
new file mode 100644
index 000000000000..bfcc57bf97d2
--- /dev/null
+++ b/dev-python/promise/Manifest
@@ -0,0 +1 @@
+DIST promise-0.2.2.tar.gz 19765 SHA256 1fb52a23bee47644819c4a11b0b7169474625c44629f9b76a04cf59e118f4f6c SHA512 271731b2be94ce65680079d3c43034e2ef5da37efc00c36e513cacc0e19a47ccfc43911c43f6c860789ddf86d96870ad8ca7c3cf0074f977727d630354d79840 WHIRLPOOL cbe48adf35a65cc737b85cbdc0a542dadd56b4e2e45d75567b03f1031dd39f229b0dbba26ed23ee4dfae4e1b0dd0e5f22592ddfa24dc457697895d9e7a5298fe
diff --git a/dev-python/promise/metadata.xml b/dev-python/promise/metadata.xml
new file mode 100644
index 000000000000..54bf1e04ffd8
--- /dev/null
+++ b/dev-python/promise/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">promise</remote-id>
+ <remote-id type="github">rfk/promise</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/promise/promise-0.2.2-r1.ebuild b/dev-python/promise/promise-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..2535e6303222
--- /dev/null
+++ b/dev-python/promise/promise-0.2.2-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="Bytecode optimisation using staticness assertions"
+HOMEPAGE="https://github.com/rfk/promise/ http://pypi.python.org/pypi/promise"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND="${PYTHON_DEPS}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_test() {
+ # Timing tests fail.
+ PROMISE_SKIP_TIMING_TESTS="1" nosetests || die "tests failed"
+}
diff --git a/dev-python/prompt_toolkit/Manifest b/dev-python/prompt_toolkit/Manifest
new file mode 100644
index 000000000000..d0151dcf4ce5
--- /dev/null
+++ b/dev-python/prompt_toolkit/Manifest
@@ -0,0 +1,7 @@
+DIST prompt_toolkit-0.37.tar.gz 113415 SHA256 680f0abab097619e013c75f4fc234f7734ee888a483d9492e326ecd7883c6859 SHA512 872596db85de5a53170033b6ed1a1dd3246044c2a886df0bee642d94353480d2406c6f9f340fb33bd8cef37cd960b1ced88c73d743f5bbce2783f9d95e8c17ad WHIRLPOOL 8993ec2e815d962cc584e3bda24d26989dfd4a8c1e4749f098d4e96a731b587327f8c36c938ff6c1aa0b67cfeb767c8c1af045684829e5ac2bcbf5ba062aecb3
+DIST prompt_toolkit-0.38.tar.gz 117066 SHA256 6cee2959747580a1f93e3e14ef2826f1d89845d19e5bc32f374c23988e2d5e66 SHA512 6d3bf3da038220eb872aa537d9c469daada969940790745e538e1d215ad50855ef9ceab30992ee7ecb7c43d618d121226dff2a6b720f6ea393239cd34f4a9fea WHIRLPOOL 58a1c3020aecdeb5e6e20404bd4bb736216cdfe0e7c92a443c2ab03c645a3b1a94d529fe1b065a1f0b2610a324f44d46eafe00fc0dda71fd3ab53cddc19ab377
+DIST prompt_toolkit-0.39.tar.gz 117227 SHA256 8b924453f9a79789608ce72190cf519ccdd7d9e79d7ddf910d2784861f748680 SHA512 85b6a20ddea5a2ac09d8df0b29e96b77f702d1610d0683dfaea5c2dc79e2e4e97fd77bd2b9c306f875d5f888ee08e8dcb3734a56e12bd993448a619507367aa8 WHIRLPOOL d33f861fe0f34e53608e41c94ece5a56988ebcb1dc4ac10a42eb60d66c1de75cf63c0f0ac6604e8395b2ad100487b365ec1c1e1ac09c308bfb81614544c05ee3
+DIST prompt_toolkit-0.41.tar.gz 119741 SHA256 2aebfa79d78aced3b7fc78a90fb2937db6329d604cc49c4ab248af6d80d21f69 SHA512 1ecb1cd8ae9c26f8f7780150e857a179cb77f6ec6f32da5a319e0324b032ae1ec9ee21f0e059f0a4e46f315b9694214eab883a1ef4446f2334821231907219d8 WHIRLPOOL 37a9d07fabe957327ecf0fe6fa2f82b0ddc99429d38775259d5d7f9249fb740c757e6ccfb4afe40f4700dc4034bfce0ba8cbeda18477ca762513b44afa542a14
+DIST prompt_toolkit-0.42.tar.gz 121317 SHA256 064184bdc0f040cc7c9fae3715e346112f9d632a292601d5c383cedf3de7de12 SHA512 f6f72b5283fc94138e31bd06d790ba48a85be48c897e8e63f939829be1db212d87047d58307675df3e9a5e631827827f8c2edc4c24be3235f0dfa75feb05f8a9 WHIRLPOOL 7be6113da4482eb4626cb48d57c8d6172134ea7ac631f8bd3f2e417d8a5b4f8c4cb61235810ff89a04d20df8bf9d2a98cddb5bc50689c863435fcc9740e23de8
+DIST prompt_toolkit-0.43.tar.gz 124491 SHA256 b93910285c6f8ea22352b6f82fea4f0f3cee4c0cc14a8134b847e0c3d055aefc SHA512 73dc76085f769ae94649cec880325006f8d2124bbdb90c78d04fd7856e83795206da0fd3c2ff25f17ee06e6a554e0da5bbe02c27c6685d9b86eb20b171f1cab7 WHIRLPOOL a72cae506bfae7ea96a48481f718e92772988237c86b768b75877e5a764a3b70425530b510b1116feada869233a86936ac95925197552a4eebf0770fe5776997
+DIST prompt_toolkit-0.45.tar.gz 125907 SHA256 553fd2b9169674adacf227ede2e056c2bbd7181a4a3ca614960467c0720997a6 SHA512 ed3f374ccbedbcb82c013f499d8344001844c63d7f7fcd08de4d6776ef8ad23f5a85da94da04625de1e6197f197a78d6504954e189ddc6028f666f930f651e0c WHIRLPOOL f7c519473aa73be1d2165bdba7c6a359af108c8bcf8891444e55c5c8ebdbea8425721033dd0bbb2328da3e188bb87301805aa68e9f572d7aacde1752d7ba2b71
diff --git a/dev-python/prompt_toolkit/metadata.xml b/dev-python/prompt_toolkit/metadata.xml
new file mode 100644
index 000000000000..0d992c1a28f7
--- /dev/null
+++ b/dev-python/prompt_toolkit/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">prompt_toolkit</remote-id>
+ <remote-id type="github">jonathanslenders/python-prompt-toolkit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.37.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.37.ebuild
new file mode 100644
index 000000000000..41fe12c14676
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.37.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.38.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.38.ebuild
new file mode 100644
index 000000000000..41fe12c14676
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.38.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.39.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.39.ebuild
new file mode 100644
index 000000000000..41fe12c14676
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.39.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.41.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.41.ebuild
new file mode 100644
index 000000000000..41fe12c14676
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.41.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.8.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.42.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.42.ebuild
new file mode 100644
index 000000000000..d3cd17779255
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.42.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.43.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.43.ebuild
new file mode 100644
index 000000000000..d3cd17779255
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.43.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-0.45.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-0.45.ebuild
new file mode 100644
index 000000000000..d3cd17779255
--- /dev/null
+++ b/dev-python/prompt_toolkit/prompt_toolkit-0.45.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="https://pypi.python.org/pypi/prompt_toolkit/ https://github.com/jonathanslenders/python-prompt-toolkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+# not contained in tarball
+RESTRICT="test"
+
+python_test() {
+ "${PYTHON}" "${S}"/tests/run_tests.py || die
+}
diff --git a/dev-python/protorpc/Manifest b/dev-python/protorpc/Manifest
new file mode 100644
index 000000000000..46cd038e3119
--- /dev/null
+++ b/dev-python/protorpc/Manifest
@@ -0,0 +1 @@
+DIST protorpc-0.10.0.tar.gz 116667 SHA256 9c612f2898cfd769feae6257b0dcf01e0aff29d5d0a2207c3fade4d49434aa4f SHA512 39932f365f25f73b0badfb868e4be13d24a57aa2388ee8802da46420aa8af053a0f26f51c97599dd5a221e66d0b99ff2743d8dccbe03c42fdbaa9e5f9c8e8fa6 WHIRLPOOL 41ad941b97a90cfac7438bb3ed062ad448f8938ecf5a58d9968cc48cdce73b59e7bdc541ad6b61196c249cd6b13b9e3daab59498b3093b4a7743248baacdbba7
diff --git a/dev-python/protorpc/metadata.xml b/dev-python/protorpc/metadata.xml
new file mode 100644
index 000000000000..20a58d91a282
--- /dev/null
+++ b/dev-python/protorpc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">google/protorpc</remote-id>
+ <remote-id type="pypi">protorpc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/protorpc/protorpc-0.10.0.ebuild b/dev-python/protorpc/protorpc-0.10.0.ebuild
new file mode 100644
index 000000000000..75346dd7dcbb
--- /dev/null
+++ b/dev-python/protorpc/protorpc-0.10.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Google Protocol RPC"
+HOMEPAGE="https://github.com/google/protorpc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pssi/Manifest b/dev-python/pssi/Manifest
new file mode 100644
index 000000000000..147207fcdc7c
--- /dev/null
+++ b/dev-python/pssi/Manifest
@@ -0,0 +1 @@
+DIST pssi-1.0.tar 266240 SHA256 8c669ec679b1a5107b7446436bbe12ac75763da7d9cbb7d4508942d0b5cce81b SHA512 0127a74d4298d1c5bc3a05a559a5f3e15e1bc759edbeb3750f2557119e06c0b73c559aefd567e2416d8c90fd5772bc6614f2e81c7e9219e3cb29ea03736a233a WHIRLPOOL cf63967d73d709799e5407c238d83ec45bd02c13dcc451ab617e7501d1c9dfd45cff2beda11354855f75d36a474f377bbd8beb9d71bef766f1d9b704fcf9223b
diff --git a/dev-python/pssi/metadata.xml b/dev-python/pssi/metadata.xml
new file mode 100644
index 000000000000..d268875292d5
--- /dev/null
+++ b/dev-python/pssi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pssi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pssi/pssi-1.0-r1.ebuild b/dev-python/pssi/pssi-1.0-r1.ebuild
new file mode 100644
index 000000000000..2b3d61b439f7
--- /dev/null
+++ b/dev-python/pssi/pssi-1.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Simple Smartcard Interpreter"
+HOMEPAGE="http://code.google.com/p/pssi/"
+SRC_URI="http://pssi.googlecode.com/files/${P}.tar"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-python/pyscard[${PYTHON_USEDEP}]"
diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest
new file mode 100644
index 000000000000..554c66b5cfd2
--- /dev/null
+++ b/dev-python/psutil/Manifest
@@ -0,0 +1,6 @@
+DIST psutil-1.2.1.tar.gz 167397 SHA256 508e4a44c8253a386a0f86d9c9bd4a1b4cbb2f94e88d49a19c1513653ca66c45 SHA512 9faec6c4139f677252b30f4a8793484658d888535428dfb4e316821bb5f246e1832baedd8704279a7e0da7096d539f1a8dcd49f2d61d943f9299e9204ff47d81 WHIRLPOOL e6b13df0c6f70e5d92a88bd540ad2e2f4d670463e1ec815a3eb3b6b009715dd7c0a96b73a03c5819fb3eb3b30f63a1299d6668ffef992a408d8d1b78d33dea43
+DIST psutil-2.1.3.tar.gz 224008 SHA256 b434c75f01715777391f10f456002e33d0ca14633f96fdbd9ff9139b42d9452c SHA512 12a566c2c53897d858bd75455da8f52d9d9279e28dc0df40594275626f75da716d82c8f67d1fc37df4bd3bc05fef401391cb6c52380c819d1e82fb4edd11f843 WHIRLPOOL 75c8475fc55c5a04858ba8acba0e57f9daa06aed6badf68b484d5ff0dc9c6e52066472bb78350113c1ebe755baf4ab205e347cbb5b2bac3eb4857a2fe0dd8f3f
+DIST psutil-2.2.0.tar.gz 223676 SHA256 b15cc9e7cad0991bd1cb806fa90ea85ba3a95d0f1226625ecef993294ad61521 SHA512 5ea2f0eb2c952314b5683f92582deb2fd7da01a285f984870c64b78dba5c33b6b2f97d5c0e3a05d16fbeb921e22a1e2d165145767205ef4fa76fc424a382c50d WHIRLPOOL e938eec8e2863a52e85eebf2574ea16d984fa06fce31add930c5708c4e2c7d50e9a0f3cb2b2e36201a10a76aa1c10ae2851e2423c69efa668003d171769514cd
+DIST psutil-2.2.1.tar.gz 223688 SHA256 a0e9b96f1946975064724e242ac159f3260db24ffa591c3da0a355361a3a337f SHA512 aa49dfdab8497ce3064465a35d8a99115e269f8b01af61379c35b68fbc31cca31f2a639c44f6cdf5dcf12f161355285e0e6ce2663ef46d43852dc6b3fda389aa WHIRLPOOL fa8f27af83661f22121fc6cfa9306e31d2dd2c32c800393d7f0b3d70342f6d741a3a38d6d904bf817437fd9ba80107940ea0cc193612980177c0c3bc7c1bb068
+DIST psutil-3.0.1.tar.gz 241539 SHA256 3f213b9ceed3c3068a973e04d7a8b2a29d1076abcb5ef45382517bfc6b808801 SHA512 38ea65bd91ab2cb6caa88362840d84ad5042fff037ad7b2ff1505e6a014135bd219caea9b48cdb9b5d952eeccc145ee84029f446fbc709c39dc3cc6bd8974846 WHIRLPOOL a536f08c173b606f1e78c27dd8786d469d4dae1ca5e43f997b2c1e74fa129b391d2d2e345f43da0f1a80f1bbd474eb515b62adc60aa78eea9e1b69bfe2ec2edf
+DIST psutil-3.1.1.tar.gz 247284 SHA256 d3290bd4a027fa0b3a2e2ee87728056fe49d4112640e2b8c2ea4dd94ba0cf057 SHA512 13393ae083f6881a3e9ac84c0778c622d9a484aeab39705200f9a36386adc2f5a4236db72e1de68aadd90204982ef43ee00c0f3ac61d23fc532d92ab6914d830 WHIRLPOOL f035e7d7de5712e39349806e758afa9d45b7c683b4e3bd9390279900749e3da452df02118ff9a6a047a7c16333d68c6d081dafae0782092b329bc832dd646c97
diff --git a/dev-python/psutil/metadata.xml b/dev-python/psutil/metadata.xml
new file mode 100644
index 000000000000..38e5b2d54f7d
--- /dev/null
+++ b/dev-python/psutil/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">psutil</remote-id>
+ <remote-id type="github">giampaolo/psutil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/psutil/psutil-1.2.1.ebuild b/dev-python/psutil/psutil-1.2.1.ebuild
new file mode 100644
index 000000000000..39d7f30da80b
--- /dev/null
+++ b/dev-python/psutil/psutil-1.2.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="http://code.google.com/p/psutil/ https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/psutil/psutil-2.1.3.ebuild b/dev-python/psutil/psutil-2.1.3.ebuild
new file mode 100644
index 000000000000..ed971a5d4ac4
--- /dev/null
+++ b/dev-python/psutil/psutil-2.1.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psutil/psutil-2.2.0.ebuild b/dev-python/psutil/psutil-2.2.0.ebuild
new file mode 100644
index 000000000000..40150df09ccd
--- /dev/null
+++ b/dev-python/psutil/psutil-2.2.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psutil/psutil-2.2.1.ebuild b/dev-python/psutil/psutil-2.2.1.ebuild
new file mode 100644
index 000000000000..40150df09ccd
--- /dev/null
+++ b/dev-python/psutil/psutil-2.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psutil/psutil-3.0.1.ebuild b/dev-python/psutil/psutil-3.0.1.ebuild
new file mode 100644
index 000000000000..396fa6ec7d39
--- /dev/null
+++ b/dev-python/psutil/psutil-3.0.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psutil/psutil-3.1.1.ebuild b/dev-python/psutil/psutil-3.1.1.ebuild
new file mode 100644
index 000000000000..396fa6ec7d39
--- /dev/null
+++ b/dev-python/psutil/psutil-3.1.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.python.org/pypi/psutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
new file mode 100644
index 000000000000..c4df0ec4f2e3
--- /dev/null
+++ b/dev-python/psycopg/Manifest
@@ -0,0 +1,5 @@
+DIST psycopg-1.1.21.tar.gz 213753 SHA256 f487d02e8e8837ec7e62e4e0f50bcb974e73b7765333b032ac50c07bf12ce240 SHA512 2681e8b3c4873f69a1a07aa4d3908a42f8e8be9392adbed189fe72c1a601699ac08643d24454622baf4b26153ef3a687f27a941308368e2227cb98ff948322eb WHIRLPOOL 022a4e1a01ac30338f2be14e549a9f35028c7bef7bb8f8a6e4602425ddff07d89e049d362a9b49f760e89afb52f153f3f0a197b828b79f75245f26fcf48a9c4b
+DIST psycopg2-2.5.3.tar.gz 690689 SHA256 3a2df3bb113187227aa97d0dd3d06e0f26be3d50dcdeeaef67fac59ed51a030a SHA512 88590c37be839e8cf5025b7ac40411c4682269700795c5f8f1b762966d906faf3f1ee85de35fc734a2d10c6a68d7fef569891bd96919bab809b9500625e2a41a WHIRLPOOL dccd694dfb2192992731e982b085ba4feb3b2b89d56c9e69ec88e0efbd14ec7367841849958aa1e9f190179b300ce511532d6b23e51b4f96babc302f37efcf4f
+DIST psycopg2-2.5.4.tar.gz 682578 SHA256 24ba3f328aba08d8d505bc2a8f68a94ebe24a85e8483640b667221bc0efd3b1e SHA512 24e7f7940cb55ad686d93c5baa3286be56a5c21376868403248fff919e54cfa57c039623c1b8c10947fa206aabb9eb865e051520a5a0445be133962eed016854 WHIRLPOOL bce35d47eb2025cf01ea9b7597318d56fcdf84b0cd29e251068f3f20c1f2c5b6ee5050fef6360c690c27d84f334b73a29553389f5e8a28b416151eb32c4b37f9
+DIST psycopg2-2.6.1.tar.gz 371373 SHA256 6acf9abbbe757ef75dc2ecd9d91ba749547941abaffbe69ff2086a9e37d4904c SHA512 00705f6b417acc89e2e66b7bdc25c31d92de7610173fe41b2b35728ebb6b55ef8c7df67032c2a2e3d908d8599a1d378578ade77bd19f5f186fbf2596290eda69 WHIRLPOOL 87ea72ed7ee762e7071a58a37a8b433d1ead28ab494100e790e01a602af41b4e5f04b3f27fd21bd3db3c74e5c35dc0d28ed42fa1e60925861a05bdfbada444d1
+DIST psycopg2-2.6.tar.gz 367972 SHA256 c00afecb302a99a4f83dec9b055c4d1cc196926d62c8db015d68432df8118ca8 SHA512 50618bef6372d9cf165bc9ee2f1c3d77727f359fdded825cdf9b6dfd513a9455fd5d935dfda203b2affa43c45cf86bb25b742db6f6b8228cc2fb293aa42bc4f1 WHIRLPOOL fee5180674ec60a6ade287a6f30efddaa8e4a830e8719a892c1aff22aa66ce4c5dd8fa5acf75f6cc17d8f65c104c79da129b664619f137f21618230d08308933
diff --git a/dev-python/psycopg/files/psycopg-2.0.9-round-solaris.patch b/dev-python/psycopg/files/psycopg-2.0.9-round-solaris.patch
new file mode 100644
index 000000000000..49d230c3b842
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.0.9-round-solaris.patch
@@ -0,0 +1,13 @@
+round() is available on Solaris
+
+--- psycopg/config.h
++++ psycopg/config.h
+@@ -102,7 +102,7 @@
+ #define inline
+ #endif
+
+-#if (defined(__FreeBSD__) && __FreeBSD_version < 503000) || (defined(_WIN32) && !defined(__GNUC__)) || defined(__sun__) || defined(sun)
++#if (defined(__FreeBSD__) && __FreeBSD_version < 503000) || (defined(_WIN32) && !defined(__GNUC__))
+ /* what's this, we have no round function either? */
+ static double round(double num)
+ {
diff --git a/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch b/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch
new file mode 100644
index 000000000000..cbf2278d0bfa
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.4.2-begin-segfault.patch
@@ -0,0 +1,34 @@
+X-Git-Url: https://dndg.it/cgi-bin/gitweb.cgi?p=public%2Fpsycopg2.git;a=blobdiff_plain;f=psycopg%2Fpqpath.c;h=1f0d5da95bd88aa4d5468874047e4b0139ffadd3;hp=cee5ce4c9c053981710959ca28b7e68702c44a97;hb=de6f2ac387231fcd57c05031c82471ea57255e2b;hpb=d9fce1f837151e6eadfd8ca761ef328a721198bd
+
+diff --git a/psycopg/pqpath.c b/psycopg/pqpath.c
+index cee5ce4..1f0d5da 100644
+--- a/psycopg/pqpath.c
++++ b/psycopg/pqpath.c
+@@ -344,11 +344,13 @@ pq_execute_command_locked(connectionObject *conn, const char *query,
+ }
+ if (*pgres == NULL) {
+ Dprintf("pq_execute_command_locked: PQexec returned NULL");
++ PyEval_RestoreThread(*tstate);
+ if (!PyErr_Occurred()) {
+ const char *msg;
+ msg = PQerrorMessage(conn->pgconn);
+ if (msg && *msg) { *error = strdup(msg); }
+ }
++ *tstate = PyEval_SaveThread();
+ goto cleanup;
+ }
+
+@@ -635,11 +637,13 @@ pq_get_guc_locked(
+
+ if (*pgres == NULL) {
+ Dprintf("pq_get_guc_locked: PQexec returned NULL");
++ PyEval_RestoreThread(*tstate);
+ if (!PyErr_Occurred()) {
+ const char *msg;
+ msg = PQerrorMessage(conn->pgconn);
+ if (msg && *msg) { *error = strdup(msg); }
+ }
++ *tstate = PyEval_SaveThread();
+ goto cleanup;
+ }
+ if (PQresultStatus(*pgres) != PGRES_TUPLES_OK) { \ No newline at end of file
diff --git a/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch b/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch
new file mode 100644
index 000000000000..a35502270e1f
--- /dev/null
+++ b/dev-python/psycopg/files/psycopg-2.4.2-setup.py.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e03876a..f5ec2ac 100644
+--- a/setup.py
++++ b/setup.py
+@@ -461,7 +461,7 @@ if parser.has_option('build_ext', 'mx_include_dir'):
+ mxincludedir = parser.get('build_ext', 'mx_include_dir')
+ else:
+ mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx")
+-if os.path.exists(mxincludedir):
++if not use_pydatetime and os.path.exists(mxincludedir):
+ # Build the support for mx: we will check at runtime if it can be imported
+ include_dirs.append(mxincludedir)
+ define_macros.append(('HAVE_MXDATETIME', '1')) \ No newline at end of file
diff --git a/dev-python/psycopg/metadata.xml b/dev-python/psycopg/metadata.xml
new file mode 100644
index 000000000000..ff3e2390552d
--- /dev/null
+++ b/dev-python/psycopg/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">psycopg2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/psycopg/psycopg-1.1.21-r1.ebuild b/dev-python/psycopg/psycopg-1.1.21-r1.ebuild
new file mode 100644
index 000000000000..423a63ae0f2b
--- /dev/null
+++ b/dev-python/psycopg/psycopg-1.1.21-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils python-r1
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://www.initd.org/software/psycopg"
+SRC_URI="http://initd.org/pub/software/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
+IUSE="examples"
+
+RDEPEND=">=dev-python/egenix-mx-base-2.0.3[${PYTHON_USEDEP}]
+ dev-db/postgresql
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # fix for bug #134873
+ sed -e '1245s/static //' -i cursor.c || die
+ sed -e 's:$(PY_MOD_DIR):$(D)&/$$mod:' \
+ -e '/^CFLAGS/s:-I:-I. &:' \
+ -i Makefile.pre.in || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ python_configure() {
+ local myeconfargs=(
+ --with-mxdatetime-includes="$(python_get_includedir)/mx"
+ --with-postgres-includes="/usr/include/postgresql/server"
+ )
+
+ autotools-utils_src_configure
+
+ sed -e 's:$(BLDSHARED):& $(LDFLAGS):' \
+ -i "${BUILD_DIR}"/Makefile || die
+ }
+ python_foreach_impl python_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile \
+ OPT="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ :
+}
+
+src_install () {
+ python_install() {
+ dodir "$(python_get_sitedir)"
+ autotools-utils_src_install
+ }
+
+ python_foreach_impl python_install
+
+ dodoc RELEASE-1.0 SUCCESS doc/python-taylor.txt
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r doc/examples/.
+ docompress -x "${INSDESTTREE}"
+ fi
+}
diff --git a/dev-python/psycopg/psycopg-2.5.3.ebuild b/dev-python/psycopg/psycopg-2.5.3.ebuild
new file mode 100644
index 000000000000..b37aec71b60e
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.5.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ http://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples"
+
+RDEPEND=">=dev-db/postgresql-8.1"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ [[ ${EPYTHON} != python3* ]] && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-2.4.2-setup.py.patch"
+ )
+
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc -j1 html text
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc doc/{HACKING,SUCCESS}
+
+ if use doc; then
+ dodoc doc/psycopg2.txt
+ dohtml -r doc/html/.
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/.
+ fi
+}
diff --git a/dev-python/psycopg/psycopg-2.5.4.ebuild b/dev-python/psycopg/psycopg-2.5.4.ebuild
new file mode 100644
index 000000000000..a640e0da5fed
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.5.4.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ http://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples"
+
+RDEPEND=">=dev-db/postgresql-8.1"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+RESTRICT="test"
+# Remove py3.2 entry from intersphinx setting
+PATCHES=( "${FILESDIR}/"${PN}-2.4.2-setup.py.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ ! python_is_python3 && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_prepare_all() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ # Source local copy of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "/^ 'py3':/d" -i doc/src/conf.py || die
+ einfo "conf.py patched"
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc -j1 html text
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc doc/psycopg2.txt
+ dohtml -r doc/html/.
+ fi
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/psycopg/psycopg-2.6.1.ebuild b/dev-python/psycopg/psycopg-2.6.1.ebuild
new file mode 100644
index 000000000000..c3dd0d3202d6
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.6.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ http://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples"
+
+RDEPEND=">=dev-db/postgresql-8.1"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+RESTRICT="test"
+# Remove py3.2 entry from intersphinx setting
+PATCHES=( "${FILESDIR}/"${PN}-2.4.2-setup.py.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ ! python_is_python3 && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_prepare_all() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ # Source local copy of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "/^ 'py3':/d" -i doc/src/conf.py || die
+ einfo "conf.py patched"
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc/src -j1 html text
+}
+
+python_install_all() {
+ if use doc; then
+ dohtml -r doc/src/_build/html/.
+ fi
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/psycopg/psycopg-2.6.ebuild b/dev-python/psycopg/psycopg-2.6.ebuild
new file mode 100644
index 000000000000..c3dd0d3202d6
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.6.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="http://initd.org/psycopg/ http://pypi.python.org/pypi/psycopg2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="debug doc examples"
+
+RDEPEND=">=dev-db/postgresql-8.1"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/python-docs-2.7.6-r1:2.7 )"
+
+RESTRICT="test"
+# Remove py3.2 entry from intersphinx setting
+PATCHES=( "${FILESDIR}/"${PN}-2.4.2-setup.py.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ ! python_is_python3 && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_prepare_all() {
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+
+ # Source local copy of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -e "s|'http://docs.python.org/', None|'${PYTHON_DOC}', '${PYTHON_DOC_INVENTORY}'|" \
+ -e "/^ 'py3':/d" -i doc/src/conf.py || die
+ einfo "conf.py patched"
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc/src -j1 html text
+}
+
+python_install_all() {
+ if use doc; then
+ dohtml -r doc/src/_build/html/.
+ fi
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ptpython/Manifest b/dev-python/ptpython/Manifest
new file mode 100644
index 000000000000..a5e2b7b6d750
--- /dev/null
+++ b/dev-python/ptpython/Manifest
@@ -0,0 +1,7 @@
+DIST ptpython-0.10.tar.gz 20693 SHA256 d4229b8c48e8e0dcb596a3e4983fb00443aa565a7a9c0fdb2d8457424e7309e1 SHA512 7576b541de1ca69e247f15343bbc06a83683ed47fc4a955da95b3afed73b4dcb512988df802750d6620236b46f6bb24eab1d9ff5288606bfa52c05c577091bb6 WHIRLPOOL 486bca6fa38a4352a3071af095adc4d002cd4d8ef6c80d5092789885535514b6d13659cd1792cfd0167b651316d8340e2ce59db167e0182e35cb128872a7482e
+DIST ptpython-0.11.tar.gz 21759 SHA256 50b66e6544f50b156cbad8afa299df11e39c288dabd618f5b22ebee7776ccab2 SHA512 4762235eedba1e149cb7e2b8bf84c8d4de1281bb2b571484bdc82951da691d84faa0ad90fa82104e2adfc4074f4c21aaffb06edab148be5341086e4dfb2fbd72 WHIRLPOOL 41eab5ff26562596bd2d71bc3608d07b9d6b290914878d0b1c743782e64cd071fa7945211dbf77b117f906220f74b2a3ecc999e97bcdd06f5b68b5a5f843f630
+DIST ptpython-0.12.tar.gz 21761 SHA256 a6e1f0499c428f37bb5227408dc5534bda2bb6d154cd5964ab94cf398f62c71e SHA512 9a418b80257cf9c2828b9484f415c597e0f81acfa583292f0b63199d8f6d0a4191739ec4f9ff34b7258909d849aa81af4fac026372262999c48b3e0cfb014682 WHIRLPOOL 402c4bb24364ff26aa6b9de05f847dc319e17014c4822bbcbc5d99241844556e382875e498a66f75d1ffd23ccd353a431419fa6589877c2c46bb07304c809a13
+DIST ptpython-0.15.tar.gz 26567 SHA256 6aa11f0393ce34b6e5376263b6a07c910032267b0c3d12e0c913a510882d4a40 SHA512 b77824c20fde7046ddd9c10cf818aa7454ad9c4b116b1c48da7a214dbeb2634193eaaba6a6aa757b82e6003f01fa31bef739fb8a063856caaf647942bea36a78 WHIRLPOOL 535ff8e4679ff2ceae24f8278aae8e31cb1feebc478ca6c13f82b367a425948d7b44afde52b560925e9cdca87d016772bbfc3dffe170ec9c25c35c8768ff7c40
+DIST ptpython-0.16.tar.gz 28264 SHA256 50737e5d3c16e0c447c2865dd5b5f66e9de0956a86be07dcce14335ef1e7c1d5 SHA512 f15e8624deac55852f610bfb771b9899da7898b3e6d3eb40a70a276b3076304d4f55be07967a351899af499346f01a8d0b047415fd5126bfaa811a8fec230989 WHIRLPOOL a7ddab2842e218a7e7e97777e3d4fa0afef33534e3cb1468b5f6d38e2594f124b2ece8a362d7891e5aa1433bdec4f136cf49cd45326194012e8cef1b44a9465d
+DIST ptpython-0.18.tar.gz 29450 SHA256 be231639bd0dba13c1dc34af1728111bd8a2bf2b25bb18b3b58ad7a28432668d SHA512 3831177c1c93259dd974a30b4ee2722da8d0ac3e8f9d53ff5430fc1d9bbe8d5b7cfec4e54b101272ee98b81bee392b81af7a0ce06b94ca421cf4904ef6311753 WHIRLPOOL 127c4ddd2037b775600f6fcfc7ee1441f64361934661468648e3f6e29f065b4f6ae8d30c686c293405e47d8e04ecc78fcb968bd1576bda6156c6e22a0fd9cbe6
+DIST ptpython-0.20.tar.gz 29618 SHA256 a6ebe6f6e496693c69f460e46296492832b47997a0feea069b386cf9bee5bc4f SHA512 2ff701d65f449676bd51cad6287723497a6ff8dd2dda5daf992125892c9d1131bfce7c648e8d53260e9d9a33d648ed1b97bb32f60253c106e6f96a58dcece848 WHIRLPOOL c5ab855f747f785c5c29f54346eac6285779dfea054073caea4769e6a92593e48fc84fc2ed69cfcc6f44b17e1323f646c8a6070c892bcf1caf66f128ea748ff6
diff --git a/dev-python/ptpython/metadata.xml b/dev-python/ptpython/metadata.xml
new file mode 100644
index 000000000000..ee6c1ab57b10
--- /dev/null
+++ b/dev-python/ptpython/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ptpython</remote-id>
+ <remote-id type="github">jonathanslenders/ptpython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ptpython/ptpython-0.10.ebuild b/dev-python/ptpython/ptpython-0.10.ebuild
new file mode 100644
index 000000000000..920561d83a55
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.37[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.8.1-r1[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.11.ebuild b/dev-python/ptpython/ptpython-0.11.ebuild
new file mode 100644
index 000000000000..3a9080843cc6
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.11.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.38[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.12.ebuild b/dev-python/ptpython/ptpython-0.12.ebuild
new file mode 100644
index 000000000000..e735ff081d24
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.12.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.39[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.15.ebuild b/dev-python/ptpython/ptpython-0.15.ebuild
new file mode 100644
index 000000000000..059c822fd385
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.15.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.41[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.16.ebuild b/dev-python/ptpython/ptpython-0.16.ebuild
new file mode 100644
index 000000000000..dc538ba62831
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.16.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.42[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.18.ebuild b/dev-python/ptpython/ptpython-0.18.ebuild
new file mode 100644
index 000000000000..f5219a784139
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.18.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.43[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptpython/ptpython-0.20.ebuild b/dev-python/ptpython/ptpython-0.20.ebuild
new file mode 100644
index 000000000000..2fe19bf86a4f
--- /dev/null
+++ b/dev-python/ptpython/ptpython-0.20.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python REPL build on top of prompt_toolkit"
+HOMEPAGE="https://pypi.python.org/pypi/ptpython/ https://github.com/jonathanslenders/ptpython"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/prompt_toolkit-0.45[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.9.0[${PYTHON_USEDEP}]
+ dev-python/docopt[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+pkg_postinst() {
+ optfeature "ipython enhanced version" dev-python/ipython
+}
diff --git a/dev-python/ptyprocess/Manifest b/dev-python/ptyprocess/Manifest
new file mode 100644
index 000000000000..d18d3bd5f6f7
--- /dev/null
+++ b/dev-python/ptyprocess/Manifest
@@ -0,0 +1 @@
+DIST ptyprocess-0.5.tar.gz 14923 SHA256 dcb78fb2197b49ca1b7b2f37b047bc89c0da7a90f90bd5bc17c3ce388bb6ef59 SHA512 6619bfc1dfc7c980ffc72dba62697692eb749f19500616e8783cfdc3c35980276eb39070f4cd7932775abb5e798c921b9320c5f51b9052f526585f01cd56259e WHIRLPOOL b1bd0da485ea106a3d366ab21dc714418b8d392a32fc3386ef734362da8ee455a38f9330cedfe35687be09bea3ff622c54440119fca72d7787d9a29518717b77
diff --git a/dev-python/ptyprocess/metadata.xml b/dev-python/ptyprocess/metadata.xml
new file mode 100644
index 000000000000..4247009662ee
--- /dev/null
+++ b/dev-python/ptyprocess/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ptyprocess</remote-id>
+ <remote-id type="github">pexpect/ptyprocess</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ptyprocess/ptyprocess-0.5.ebuild b/dev-python/ptyprocess/ptyprocess-0.5.ebuild
new file mode 100644
index 000000000000..fbce9037ce2b
--- /dev/null
+++ b/dev-python/ptyprocess/ptyprocess-0.5.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Run a subprocess in a pseudo terminal"
+HOMEPAGE="https://github.com/pexpect/ptyprocess"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test --verbose --verbose || die
+}
diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest
new file mode 100644
index 000000000000..388a4611eb89
--- /dev/null
+++ b/dev-python/pudb/Manifest
@@ -0,0 +1,6 @@
+DIST pudb-2013.3.6.tar.gz 41493 SHA256 81b20a995803c4be513e6d36c8ec9a531d3ccb24670b2416abc20f3933ddb8be SHA512 fe9caf2e1d05c8162712a828cbbc9bb9366a397cc3b934dc64ff9ff9d8493dc77bb4be09635a564784c037c6a57c04eeadb01c6e98caf7f975da7f2ba5b6e897 WHIRLPOOL 640026b5e788f781235211b484443ccc3ecb0545d9e41d221ffda15c4c2f7a999fc0628d77f314f600ee0510c0541d52368a78b2a079f82cd3a132c36243de13
+DIST pudb-2013.5.1.tar.gz 45109 SHA256 7606ef0502bbdd18d7468cf969f1364a11a0b2f1b7d94cda9e4ef14978a74ccd SHA512 b6e271bdf523f5975281c13bf79d6945c32064a3da2e70b2dfbf39fb938f30d927bbbe0b943e1b59b3c12ecd166dc5aa5bea5a102ed9d546c916e59cfb7f8710 WHIRLPOOL 81f1aefb2abb3c3a0a5a4c9b24e79dcd38b03c041de34a45000e7e57eae0889ec2d39804f8ecd1e67abd642e59e6b43b8d6b06ce175b92793ebdfbe732c0cfc0
+DIST pudb-2014.1.tar.gz 46489 SHA256 75453feb20a29c6b40132af658dd58a9eb6e22e27c11babd5b5828bbaf1f2137 SHA512 90858729faa087a3d824a735153efbb63728d082cccdd08ee7505341910e3f155613885ff95f405c05272b7d32a6eb1c8c4b143495c352223b04b0ec401196fb WHIRLPOOL 4bbd7564387152350a7ced0e50a7411c8270486732382bcf0c05cde129b49692f63453f79d65e92b4101ba4cfc627b84ab96a2f180bf1d8ae67de68443003487
+DIST pudb-2015.1.tar.gz 45079 SHA256 b01e2bb0e74d733ae3c6dca8f5d0fa86b5ebd54243892e890f1b352787e4d024 SHA512 e1378574a0cb6a790466cd0050f78f0bf14743cfabebe6a39e22efe6422859f7c5388b31f0df2136a84048a3f95444bd8cc6885fa93bc60de1e9dd7ffd9f495e WHIRLPOOL be2e98371c776f76bcd539da0bee488f91dd414e01f0078e1bde6133502bbdf5a20eb23e7a7ca1e25c951cb46b4fe7b34a7c6355a465a5afdca0f509f112c582
+DIST pudb-2015.2.tar.gz 45297 SHA256 68499d1c3df2b14a0679ba103e858393fc4f83145614cb41edfa7ce8a9c3c2db SHA512 5338985b8f6a54fb1a19067af57edc5da8e43d7e19299b8f06742311af60ac62fea884fd7fb4fa6ea5c891473cecaddc17e6728943a4abb282359892f128227d WHIRLPOOL 180ba9e8e4f3a492788ccb7135dd4e1912daaa3d83c4e43e7d44d2d98bfb40cad786133e4a0229e65c7813d0d2aab13d5b2f0399e4d51c6539f713b4dc4f5c0f
+DIST pudb-2015.3.tar.gz 46921 SHA256 1e875137a6254e30bbff62d3d0aedcaea74778fdef583035abd9898b3a8a040c SHA512 b702667c5a91656483020bf4332f49082421c69ef8b464e0a4da8ef042a9220fb7cb524dd0bcc43a8b66bb212c4ca44de906e21f8be713f2f6b5d343627541da WHIRLPOOL 2e753caa4b62e04a824293b821c6857bfc15540cdf7035bce8cedc817d52bbf8e146ffca0c3db9e8a5fea243a2b78a8bc5b3ac28e597f808c8a019f2b75984d4
diff --git a/dev-python/pudb/metadata.xml b/dev-python/pudb/metadata.xml
new file mode 100644
index 000000000000..9031f0b5e0ca
--- /dev/null
+++ b/dev-python/pudb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>A full-screen, console-based Python debugger</longdescription>
+ <upstream>
+ <remote-id type="pypi">pudb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pudb/pudb-2013.3.6.ebuild b/dev-python/pudb/pudb-2013.3.6.ebuild
new file mode 100644
index 000000000000..8482aac85739
--- /dev/null
+++ b/dev-python/pudb/pudb-2013.3.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudb/pudb-2013.5.1.ebuild b/dev-python/pudb/pudb-2013.5.1.ebuild
new file mode 100644
index 000000000000..8482aac85739
--- /dev/null
+++ b/dev-python/pudb/pudb-2013.5.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudb/pudb-2014.1.ebuild b/dev-python/pudb/pudb-2014.1.ebuild
new file mode 100644
index 000000000000..b99f46722650
--- /dev/null
+++ b/dev-python/pudb/pudb-2014.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudb/pudb-2015.1.ebuild b/dev-python/pudb/pudb-2015.1.ebuild
new file mode 100644
index 000000000000..b99f46722650
--- /dev/null
+++ b/dev-python/pudb/pudb-2015.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudb/pudb-2015.2.ebuild b/dev-python/pudb/pudb-2015.2.ebuild
new file mode 100644
index 000000000000..b99f46722650
--- /dev/null
+++ b/dev-python/pudb/pudb-2015.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudb/pudb-2015.3.ebuild b/dev-python/pudb/pudb-2015.3.ebuild
new file mode 100644
index 000000000000..b99f46722650
--- /dev/null
+++ b/dev-python/pudb/pudb-2015.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="http://pypi.python.org/pypi/pudb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-interix ~x86-linux"
+
+RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pudge/Manifest b/dev-python/pudge/Manifest
new file mode 100644
index 000000000000..8c2eef6654c3
--- /dev/null
+++ b/dev-python/pudge/Manifest
@@ -0,0 +1 @@
+DIST pudge-0.1.3.tar.gz 62396 SHA256 d01c32923be4ded09eb6ca936b01f7d60ad50112ea4515f9e70f1d1f8135adf6 SHA512 149efd60d04a75de23b65b5c10df9b0c347b659d1c998812bd3dc438f2a398aff28352858d17ba3f456c2cba0006707102376bcdead380156338d2a379e6b06f WHIRLPOOL 85d08f8aefdc4e2e0c3464ef85219ddf430114ee60c9af25ba9a05d83dac4cfa267afc229240c261b84f8a21c49981ad5a61ffbb7267c052086f334f64821376
diff --git a/dev-python/pudge/metadata.xml b/dev-python/pudge/metadata.xml
new file mode 100644
index 000000000000..cd1625bb6e82
--- /dev/null
+++ b/dev-python/pudge/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pudge</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pudge/pudge-0.1.3-r1.ebuild b/dev-python/pudge/pudge-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..7437798fbea5
--- /dev/null
+++ b/dev-python/pudge/pudge-0.1.3-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A documentation generator for Python projects, using Restructured Text"
+HOMEPAGE="http://pudge.lesscode.org http://pypi.python.org/pypi/pudge"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND="dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/kid-0.9.5[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( ${RDEPEND} )"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ "${PYTHON}" bin/pudge --modules=pudge --documents=doc/index.rst --dest=doc/html \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pupynere/Manifest b/dev-python/pupynere/Manifest
new file mode 100644
index 000000000000..bc8dd53d7883
--- /dev/null
+++ b/dev-python/pupynere/Manifest
@@ -0,0 +1 @@
+DIST pupynere-1.0.15.tar.gz 8566 SHA256 b759b501406c950b576de1880f1dc080e05536ae42299267093e2379dac9086d SHA512 55b25ca4fb511d80b5eb11b8aa63949c80e9dda336ed1ad406314bbda669ee4ef836a3e01b71065eec0cf0b8556ef36c815a299a5620d50983074a2ff55ca5ba WHIRLPOOL 1dd1e7675c6d147035613e2b549ddf5cae4d6645c75f274691b350afa99e961f5cfaba75bba81b1a80b9057a798df7a531c122af086ac5263d76f95f736db2a3
diff --git a/dev-python/pupynere/metadata.xml b/dev-python/pupynere/metadata.xml
new file mode 100644
index 000000000000..4b41f58210e1
--- /dev/null
+++ b/dev-python/pupynere/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">Pupynere is a Python module for reading and writing NetCDF files,
+ using the same API as Scientific.IO.NetCDF and pynetcdf.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pupynere</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pupynere/pupynere-1.0.15-r1.ebuild b/dev-python/pupynere/pupynere-1.0.15-r1.ebuild
new file mode 100644
index 000000000000..6e4bedbdfdbf
--- /dev/null
+++ b/dev-python/pupynere/pupynere-1.0.15-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pupynere is a PUre PYthon NEtcdf REader"
+HOMEPAGE="http://pypi.python.org/pypi/pupynere/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ "${PYTHON}" -m doctest -v "${BUILD_DIR}"/lib/pupynere.py \
+ || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pxml/Manifest b/dev-python/pxml/Manifest
new file mode 100644
index 000000000000..fa434adf8cf2
--- /dev/null
+++ b/dev-python/pxml/Manifest
@@ -0,0 +1 @@
+DIST pxml-0.2.11.tar.gz 21088 SHA256 19edfd55a081fb46066b66fd726691be3416d6f93e80f3d0bb2f2a8d7bacb6c8 SHA512 1b71ca2b5e0e59158f52fbe70ef65f5fc14dec4aec1c7fa79f7fabd8dc33f63f63e70b61ba835d2c21f88c879fa6dd5c4aa7dad97ee49755e4a6844aeceea5e1 WHIRLPOOL 4d170075db8076c0ca94dd1f5ee52f6148c59b1e7cfd07557fe045a31bdf7d9b2f8e1e453ec9643cb4a0b466a7cb1622f02ecf0a8b831d9813a4af27d9f05070
diff --git a/dev-python/pxml/metadata.xml b/dev-python/pxml/metadata.xml
new file mode 100644
index 000000000000..44bc0e602ea2
--- /dev/null
+++ b/dev-python/pxml/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pxml/pxml-0.2.11-r1.ebuild b/dev-python/pxml/pxml-0.2.11-r1.ebuild
new file mode 100644
index 000000000000..d459e741c7d8
--- /dev/null
+++ b/dev-python/pxml/pxml-0.2.11-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python library and command-line tool to "prettify" and colorize XML"
+HOMEPAGE="https://pypi.python.org/pypi/pxml http://github.com/metagriffin/pxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/blessings-1.5[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ sed \
+ -e '/distribute/d' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbose || die
+}
diff --git a/dev-python/py-amqp/Manifest b/dev-python/py-amqp/Manifest
new file mode 100644
index 000000000000..2ac37c799409
--- /dev/null
+++ b/dev-python/py-amqp/Manifest
@@ -0,0 +1,2 @@
+DIST amqp-1.4.5.tar.gz 77748 SHA256 534c807c0081ce9c2d517615e724cb6e9df17f79cd6cd4929653ea1ea60edb60 SHA512 33cc0df95786afbd7861585a5fad4c9ec3d28709aaafdba6a7b2b8e2b36b79a129e320ce945ef59f87ccb4e83bdf68ca9bf54b4759dc2e6ba2f131777398d702 WHIRLPOOL 471731462bfa2104f0abbffbe870f47420813e8f1a20ec901414313f34105d1a5e2e9e2ef990b1e7ce09a3442af6fd6b4a4e25f293ae3d834f9953e63caab630
+DIST amqp-1.4.6.tar.gz 77902 SHA256 ebcfc867de5a68f9f5ba14d11dbad88e6aff8435a8d39339d5ceb0e5b06de640 SHA512 fe5cd7cafd9d6a4b8c1ab88a2757db440cd7b415b29c608f51052662d4c7d9e3fae81895ea09ec88f74e83ae9615c5f60b5857417b5d645086f88fc93527758c WHIRLPOOL 599dac45d24ac56407f9fbc1e00cc49884fa3717c3cbf8f7a9b59cfb78a5d9506341169f174cb7a1278e8e6745ae04aa14b6448a5250e5c40843a50f82d01d95
diff --git a/dev-python/py-amqp/files/py-amqp-1.0.6_disable_socket_tests.patch b/dev-python/py-amqp/files/py-amqp-1.0.6_disable_socket_tests.patch
new file mode 100644
index 000000000000..424b8bbe4032
--- /dev/null
+++ b/dev-python/py-amqp/files/py-amqp-1.0.6_disable_socket_tests.patch
@@ -0,0 +1,23 @@
+ funtests/run_all.py | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/funtests/run_all.py b/funtests/run_all.py
+index b5b7cb6..febe6ad 100755
+--- a/funtests/run_all.py
++++ b/funtests/run_all.py
+@@ -27,11 +27,7 @@ import settings
+ TEST_NAMES = [
+ 'test_exceptions',
+ 'test_serialization',
+- 'test_basic_message',
+- 'test_connection',
+- 'test_channel',
+- 'test_with',
+- ]
++ 'test_basic_message']
+
+ def main():
+ suite = unittest.TestLoader().loadTestsFromNames(TEST_NAMES)
+--
+1.7.10.4
+
diff --git a/dev-python/py-amqp/files/py-amqp-1.3.3-disable_socket_tests.patch b/dev-python/py-amqp/files/py-amqp-1.3.3-disable_socket_tests.patch
new file mode 100644
index 000000000000..67353e3b8ae0
--- /dev/null
+++ b/dev-python/py-amqp/files/py-amqp-1.3.3-disable_socket_tests.patch
@@ -0,0 +1,15 @@
+diff -ur amqp-1.3.3.orig/funtests/run_all.py amqp-1.3.3/funtests/run_all.py
+--- funtests/run_all.py 2013-11-10 08:53:13.000000000 +0800
++++ funtests/run_all.py 2013-12-18 21:10:54.050283404 +0800
+@@ -23,10 +23,7 @@
+ TEST_NAMES = [
+ 'test_exceptions',
+ 'test_serialization',
+- 'test_basic_message',
+- 'test_connection',
+- 'test_channel',
+- 'test_with',
++ 'test_basic_message'
+ ]
+
+
diff --git a/dev-python/py-amqp/metadata.xml b/dev-python/py-amqp/metadata.xml
new file mode 100644
index 000000000000..46b58f8ceb3c
--- /dev/null
+++ b/dev-python/py-amqp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="extras">Install extra tools to generate initial Python mod
+ from an AMQP XML file</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">amqp</remote-id>
+ <remote-id type="github">celery/py-amqp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/py-amqp/py-amqp-1.4.5.ebuild b/dev-python/py-amqp/py-amqp-1.4.5.ebuild
new file mode 100644
index 000000000000..16159fd4f497
--- /dev/null
+++ b/dev-python/py-amqp/py-amqp-1.4.5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="amqp"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Low-level AMQP client for Python (fork of amqplib)"
+HOMEPAGE="https://github.com/celery/py-amqp http://pypi.python.org/pypi/amqp/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples extras test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+# Same tests from before require a socket connection
+PATCHES=( "${FILESDIR}"/${PN}-1.3.3-disable_socket_tests.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cp -r -l funtests "${BUILD_DIR}"/lib/ || die
+ cd "${BUILD_DIR}"/lib || die
+ if [[ ${EPYTHON:6:1} == 3 ]]; then
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w funtests || die
+ fi
+ "${PYTHON}" funtests/run_all.py || die "Tests failed under ${EPYTHON}"
+ rm -rf funtests/ || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( demo/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ if use extras; then
+ insinto /usr/share/${PF}/extras
+ doins -r extra
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py-amqp/py-amqp-1.4.6.ebuild b/dev-python/py-amqp/py-amqp-1.4.6.ebuild
new file mode 100644
index 000000000000..fbc97f2b27e4
--- /dev/null
+++ b/dev-python/py-amqp/py-amqp-1.4.6.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="amqp"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Low-level AMQP client for Python (fork of amqplib)"
+HOMEPAGE="https://github.com/celery/py-amqp http://pypi.python.org/pypi/amqp/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples extras test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-issuetracker-0.9[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.0[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+# Same tests from before require a socket connection
+PATCHES=( "${FILESDIR}"/${PN}-1.3.3-disable_socket_tests.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cp -r -l funtests "${BUILD_DIR}"/lib/ || die
+ cd "${BUILD_DIR}"/lib || die
+ if [[ ${EPYTHON:6:1} == 3 ]]; then
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w funtests || die
+ fi
+ "${PYTHON}" funtests/run_all.py || die "Tests failed under ${EPYTHON}"
+ rm -rf funtests/ || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( demo/. )
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ if use extras; then
+ insinto /usr/share/${PF}/extras
+ doins -r extra
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py-bcrypt/Manifest b/dev-python/py-bcrypt/Manifest
new file mode 100644
index 000000000000..1142d2779c6b
--- /dev/null
+++ b/dev-python/py-bcrypt/Manifest
@@ -0,0 +1 @@
+DIST py-bcrypt-0.4.tar.gz 27399 SHA256 5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78 SHA512 0e43212c9928dc842f93b18a19805d7e0a12dad1032ee6949efba4afee95922bb4046d052c817c09c09fcdc6bcc3b92512fad8d6571bb8983a4ae94e287bb49e WHIRLPOOL 72d584bbab08c802ef37898d2258efba6f7fedaa4774c29cf71410812382c6bf43413dc20c0fd34b6dad18c88616906d947529781126364946a8703192071475
diff --git a/dev-python/py-bcrypt/metadata.xml b/dev-python/py-bcrypt/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/py-bcrypt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/py-bcrypt/py-bcrypt-0.4.ebuild b/dev-python/py-bcrypt/py-bcrypt-0.4.ebuild
new file mode 100644
index 000000000000..148f9bb91223
--- /dev/null
+++ b/dev-python/py-bcrypt/py-bcrypt-0.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="py-bcrypt is an implementation of the OpenBSD Blowfish password hashing algorithm"
+HOMEPAGE="https://code.google.com/p/py-bcrypt/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc64 x86"
+IUSE=""
+
+RDEPEND="!dev-python/bcrypt"
+
+DOCS=( LICENSE README TODO )
+
+python_test() {
+ distutils_install_for_testing
+ "${PYTHON}" test/test.py || die "tests failed"
+}
diff --git a/dev-python/py-notify/Manifest b/dev-python/py-notify/Manifest
new file mode 100644
index 000000000000..40ec394daf52
--- /dev/null
+++ b/dev-python/py-notify/Manifest
@@ -0,0 +1 @@
+DIST py-notify-0.3.1.tar.gz 144954 SHA256 91f4fd2822403b96037608c0a05e814890edd17601570ae3e96359877320193c SHA512 16d874e6e265edabffe2200484566823251a0a395e979657829a7facc419ec6e21589f97f1675556b48c67ab6b93ded7325d57c8de29a4216211a8c37a3d9075 WHIRLPOOL aedc39f7d71fd08ad83bd90b73a6b28b9253e3f383bc1d146c8d2b5562899a5cd08037c00df8164645acf078ad241c55c89e9753690948c6602dad7d26835b87
diff --git a/dev-python/py-notify/metadata.xml b/dev-python/py-notify/metadata.xml
new file mode 100644
index 000000000000..73e82009ebe4
--- /dev/null
+++ b/dev-python/py-notify/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
+
diff --git a/dev-python/py-notify/py-notify-0.3.1-r1.ebuild b/dev-python/py-notify/py-notify-0.3.1-r1.ebuild
new file mode 100644
index 000000000000..6f1e5de989ca
--- /dev/null
+++ b/dev-python/py-notify/py-notify-0.3.1-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools for implementing the Observer programming pattern in Python"
+HOMEPAGE="http://home.gna.org/py-notify"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples test"
+
+python_test() {
+ "${PYTHON}" run-tests.py || die "Tests failed"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py-smbpasswd/Manifest b/dev-python/py-smbpasswd/Manifest
new file mode 100644
index 000000000000..6972c466bb89
--- /dev/null
+++ b/dev-python/py-smbpasswd/Manifest
@@ -0,0 +1 @@
+DIST py-smbpasswd-1.0.1.tar.gz 13153 SHA256 ea2eaca082c98a40f99ad1866b85a9e14e56af10bc9c90c69a7fb3a63cb8be4c SHA512 31a71d49108503867969709d7aad13f7c6e900bd3ee45b8f67cd254d63a9347e0bd4f5a2eebcf90e2c73efd86c63c02d79cd7af518db3e7dad5402d4c53d7683 WHIRLPOOL cfbbd14456a99880c7402f47320344f8a0dd9107bf815160e1376b954c813d64b0a692c13191c052314504014529be4eb7cac21ad2328aae604a4e72bcc2df38
diff --git a/dev-python/py-smbpasswd/metadata.xml b/dev-python/py-smbpasswd/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/py-smbpasswd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/py-smbpasswd/py-smbpasswd-1.0.1-r1.ebuild b/dev-python/py-smbpasswd/py-smbpasswd-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..9c945a71d886
--- /dev/null
+++ b/dev-python/py-smbpasswd/py-smbpasswd-1.0.1-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils
+
+DESCRIPTION="This module can generate both LANMAN and NT password hashes, suitable for use with Samba"
+HOMEPAGE="http://barryp.org/software/py-smbpasswd/"
+SRC_URI="http://barryp.org/software/${PN}/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/py-smbpasswd/py-smbpasswd-1.0.1.ebuild b/dev-python/py-smbpasswd/py-smbpasswd-1.0.1.ebuild
new file mode 100644
index 000000000000..51004b5c87e0
--- /dev/null
+++ b/dev-python/py-smbpasswd/py-smbpasswd-1.0.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="This module can generate both LANMAN and NT password hashes, suitable for use with Samba"
+HOMEPAGE="http://barryp.org/software/py-smbpasswd/"
+SRC_URI="http://barryp.org/software/${PN}/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ia64 ppc sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/py-xmlrpc/Manifest b/dev-python/py-xmlrpc/Manifest
new file mode 100644
index 000000000000..7b80d0c4e750
--- /dev/null
+++ b/dev-python/py-xmlrpc/Manifest
@@ -0,0 +1,2 @@
+DIST py-xmlrpc-0.8.8.3.tar.gz 62260 SHA256 12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1 SHA512 cae7c8a0aa7aceedee5e38d056a66c02a7c6e30f9de24bba961aa65d3dbc32d01cc9d2bd9cc104e4d34d9ebf711c18934b31f9b25edbc854ff79d4b30a024aa0 WHIRLPOOL f2e97a4568f7092ab9e704189c83602e4564ae72ac1233dd7daf6ff36ca2bdbf760c773252c67f900ae0b9fba8eaa4ef1d6924b23d8cd996e95873277526c0dc
+DIST py-xmlrpc-0.9.tar.gz 51200 SHA256 a2f0d1e01f5b8c8b713b204cdf363273b41c10637ad1acbed2a96f29505d3717 SHA512 5a5c0382975ef25183c9b40cf9795e9c87369efc3b11e31845c2a818e3ff88ea753fa923af7d6c493c02008dce4f3bf92c2f719871b4c7d5a24a20a5f2de32c9 WHIRLPOOL 93b3cd0f2acd4fa6f326cf14a7583880abea4c13576eb4c6e9bfebcea21860f301af30d676b08b2b9cc6df1ad8e05746c717dae7174720da377974ec94909de1
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch
new file mode 100644
index 000000000000..7f711eb70674
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_patch-extra.patch
@@ -0,0 +1,338 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+Due to unresponsiveness of the development team of the py-xmlrpc, I'm sending
+this change request here in hope it can help the developers that use this
+port.
+
+The py-xmlrpc module has a problem with boolean type - it implements boolean
+type internally thus creating difficulties on encode/decode path of the
+boolean variables. I've changed the source code to use internal Python's
+boolean type and this made things straight to the user of this module.
+
+Another change I've made to the module is support for the <nil/> element.
+Despite the fact this element isn't mentioned in the XML-RPC specification,
+many of implementations support it, as this is the very convenient way to
+pass null values from the environments with dynamic typing such as
+Python, Perl, etc.
+
+
+--- src/rpcBoolean.c.orig 2002-02-21 09:08:11.000000000 +0200
++++ src/rpcBoolean.c 2008-10-15 10:41:34.000000000 +0300
+@@ -2,142 +2,3 @@
+ * Copyright (C) 2001, Shilad Sen, Sourcelight Technologies, Inc.
+ * See xmlrpc.h or the README for more copyright information.
+ */
+-
+-
+-#include "xmlrpc.h"
+-#include "rpcInternal.h"
+-
+-
+-static void rpcBoolDealloc(rpcBool *bp);
+-static int rpcBoolLength(rpcBool *bp);
+-static int rpcBoolCompare(rpcBool *b1, rpcBool *b2);
+-static PyObject *rpcBoolRepr(rpcBool *bp);
+-
+-
+-/*
+- * create a new edb boolean object
+- */
+-PyObject *
+-rpcBoolNew(bool value)
+-{
+- rpcBool *bp;
+-
+- bp = PyObject_NEW(rpcBool, &rpcBoolType);
+- if (bp == NULL)
+- return NULL;
+- bp->value = value;
+- return (PyObject *)bp;
+-}
+-
+-
+-/*
+- * get the value (true or false) of a boolean rpc object
+- */
+-bool
+-rpcBoolValue(PyObject *obj)
+-{
+- return ((rpcBool *)obj)->value;
+-}
+-
+-
+-/*
+- * free resources associated with a boolean object
+- */
+-static void
+-rpcBoolDealloc(rpcBool *bp)
+-{
+- PyMem_DEL(bp);
+-}
+-
+-
+-/*
+- * tell whether a boolean object is true or false
+- */
+-static int
+-rpcBoolLength(rpcBool *bp)
+-{
+- if (bp->value)
+- return 1;
+- else
+- return 0;
+-}
+-
+-
+-/*
+- * bool object to dictionary conversion
+- */
+-static PyMappingMethods rpcBoolAsMapping = {
+- (inquiry)rpcBoolLength, /* mapping length */
+- (binaryfunc)NULL, /* mapping subscript */
+- (objobjargproc)NULL, /* mapping associate subscript */
+-};
+-
+-
+-/*
+- * boolean comparison
+- */
+-static int
+-rpcBoolCompare(rpcBool *b1, rpcBool *b2)
+-{
+- if (not b1->value and not b2->value)
+- return 0;
+- else if (b1->value and b2->value)
+- return 0;
+- else
+- return 1;
+-}
+-
+-
+-/*
+- * represent a boolean xml object
+- */
+-static PyObject *
+-rpcBoolStr(rpcBool *bp)
+-{
+- if (bp->value)
+- return PyString_FromString("<xmlrpc boolean true>");
+- else
+- return PyString_FromString("<xmlrpc boolean false>");
+-}
+-
+-
+-/*
+- * represent a boolean xml object
+- */
+-static PyObject *
+-rpcBoolRepr(rpcBool *bp)
+-{
+- if (bp->value)
+- return PyString_FromString("boolean(1)");
+- else
+- return PyString_FromString("boolean(0)");
+-}
+-
+-
+-/*
+- * map characterstics of a boolean
+- */
+-PyTypeObject rpcBoolType = {
+- PyObject_HEAD_INIT(0)
+- 0,
+- "rpcBoolean",
+- sizeof(rpcBool),
+- 0,
+- (destructor)rpcBoolDealloc, /* tp_dealloc */
+- 0, /* tp_print */
+- 0, /* tp_getattr */
+- 0, /* tp_setattr */
+- (cmpfunc)rpcBoolCompare, /* tp_compare */
+- (reprfunc)rpcBoolRepr, /* tp_repr */
+- 0, /* tp_as_number */
+- 0, /* tp_as_sequence */
+- &rpcBoolAsMapping, /* tp_as_mapping */
+- 0, /* tp_hash */
+- 0, /* tp_call */
+- (reprfunc)rpcBoolStr, /* tp_str */
+- 0, /* tp_getattro */
+- 0, /* tp_setattro */
+- 0, /* tp_as_buffer */
+- 0, /* tp_xxx4 */
+- 0, /* tp_doc */
+-};
+--- src/rpcBoolean.h.orig 2008-10-15 10:46:52.000000000 +0300
++++ src/rpcBoolean.h 2008-10-15 10:46:59.000000000 +0300
+@@ -6,26 +6,3 @@
+ *
+ */
+
+-
+-#ifndef _RPCBOOL_H_
+-#define _RPCBOOL_H_
+-
+-
+-#include "rpcInclude.h"
+-PyTypeObject rpcBoolType;
+-
+-
+-/*
+- * boolean object
+- */
+-typedef struct {
+- PyObject_HEAD /* python standard */
+- bool value; /* true/false value */
+-} rpcBool;
+-
+-
+-PyObject *rpcBoolNew(bool value);
+-bool rpcBoolValue(PyObject *obj);
+-
+-
+-#endif /* _RPCBOOL_H_ */
+--- src/rpcUtils.c.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/rpcUtils.c 2008-10-15 10:45:01.000000000 +0300
+@@ -47,6 +47,7 @@
+
+ static strBuff *encodeValue(strBuff *sp, PyObject *value, uint tabs);
+ static strBuff *encodeBool(strBuff *sp, PyObject *value);
++static strBuff *encodeNone(strBuff *sp);
+ static strBuff *encodeInt(strBuff *sp, PyObject *value);
+ static strBuff *encodeDouble(strBuff *sp, PyObject *value);
+ static strBuff *encodeString(strBuff *sp, PyObject *value);
+@@ -63,6 +64,7 @@
+ static PyObject *decodeString(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeTaglessString(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeBool(char **cp, char *ep, ulong *lines);
++static PyObject *decodeNone(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeBase64(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeArray(char **cp, char *ep, ulong *lines);
+ static PyObject *decodeStruct(char **cp, char *ep, ulong *lines);
+@@ -205,11 +207,13 @@
+ {
+ if (buffConstant(sp, "<value>") == NULL)
+ return NULL;
+- if (PyInt_Check(value) or PyLong_Check(value))
++ if (PyInt_CheckExact(value) or PyLong_Check(value))
+ sp = encodeInt(sp, value);
++ else if (value == Py_None)
++ sp = encodeNone(sp);
+ else if (PyFloat_Check(value))
+ sp = encodeDouble(sp, value);
+- else if (value->ob_type == &rpcBoolType)
++ else if (PyBool_Check(value))
+ sp = encodeBool(sp, value);
+ else if (value->ob_type == &rpcDateType)
+ sp = encodeDate(sp, value);
+@@ -286,12 +290,25 @@
+ }
+
+ /*
++ * encode the None as: "<nil/>"
++ */
++static strBuff *
++encodeNone(strBuff *sp)
++{
++ if (buffConstant(sp, "<nil/>") == NULL)
++ return NULL;
++
++ return sp;
++}
++
++/*
++/*
+ * encode the boolean true (for example) as: "<boolean>1</boolean>"
+ */
+ static strBuff *
+ encodeBool(strBuff *sp, PyObject *value)
+ {
+- if (((rpcBool *)value)->value)
++ if (value == Py_True)
+ return buffConstant(sp, "<boolean>1</boolean>");
+ else
+ return buffConstant(sp, "<boolean>0</boolean>");
+@@ -569,6 +586,8 @@
+ res = decodeDate(cp, ep, lines);
+ else if (strncmp(*cp, "<base64>", 8) == 0)
+ res = decodeBase64(cp, ep, lines);
++ else if (strncmp(*cp, "<nil/>", 6) == 0)
++ res = decodeNone(cp, ep, lines);
+ else { /* it must be a string */
+ *cp = tp;
+ res = decodeTaglessString(cp, ep, lines);
+@@ -619,6 +638,20 @@
+
+
+ static PyObject *
++decodeNone(char **cp, char *ep, ulong *lines)
++{
++ if (*cp + 6 >= ep)
++ return eosErr();
++ *cp += 6;
++ if (chompStr(cp, ep, lines) >= ep)
++ return eosErr();
++
++ Py_INCREF(Py_None);
++ return Py_None;
++}
++
++
++static PyObject *
+ decodeBool(char **cp, char *ep, ulong *lines)
+ {
+ PyObject *res;
+@@ -638,7 +671,12 @@
+ if (chompStr(cp, ep, lines) >= ep)
+ return eosErr();
+
+- return rpcBoolNew(value);
++ if (value) {
++ Py_INCREF(Py_True);
++ return Py_True;
++ }
++ Py_INCREF(Py_False);
++ return Py_False;
+ }
+
+
+--- src/xmlrpc.c.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/xmlrpc.c 2008-10-15 10:47:23.000000000 +0300
+@@ -45,7 +45,6 @@
+ rpcLogLevel = 3;
+ rpcLogger = stderr;
+ rpcDateFormat = XMLRPC_DATE_FORMAT_US;
+- rpcBoolType.ob_type = &PyType_Type;
+ rpcDateType.ob_type = &PyType_Type;
+ rpcBase64Type.ob_type = &PyType_Type;
+ rpcClientType.ob_type = &PyType_Type;
+--- src/xmlrpc.h.orig 2003-04-21 18:39:15.000000000 +0300
++++ src/xmlrpc.h 2008-10-15 10:40:35.000000000 +0300
+@@ -45,7 +45,6 @@
+ #define XMLRPC_DATE_FORMAT_EUROPE 2
+
+ #include "rpcBase64.h"
+-#include "rpcBoolean.h"
+ #include "rpcClient.h"
+ #include "rpcDate.h"
+ #include "rpcDispatch.h"
+--- src/xmlrpcmodule.c.orig 2003-04-21 19:22:54.000000000 +0300
++++ src/xmlrpcmodule.c 2008-10-15 10:48:42.000000000 +0300
+@@ -197,7 +197,12 @@
+ unless (PyArg_ParseTuple(args, "i", &value))
+ return NULL;
+
+- return rpcBoolNew(value);
++ if (value) {
++ Py_INCREF(Py_True);
++ return Py_True;
++ }
++ Py_INCREF(Py_False);
++ return Py_False;
+ }
+
+
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch
new file mode 100644
index 000000000000..d22aa75b9a59
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcBase64.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcBase64.c
++++ src/rpcBase64.c
+@@ -239,7 +239,7 @@
+ if (bp->value) {
+ Py_DECREF(bp->value);
+ }
+- PyMem_DEL(bp);
++ PyObject_DEL(bp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch
new file mode 100644
index 000000000000..37ad5293cda6
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcClient.patch
@@ -0,0 +1,15 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcClient.c
++++ src/rpcClient.c
+@@ -179,7 +179,7 @@
+ cp->url = NULL;
+ Py_DECREF(cp->src);
+ Py_DECREF(cp->disp);
+- PyMem_DEL(cp);
++ PyObject_DEL(cp);
+ }
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch
new file mode 100644
index 000000000000..3135173e96f8
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDate.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcDate.c
++++ src/rpcDate.c
+@@ -75,7 +75,7 @@
+ if (dp->value) {
+ Py_DECREF(dp->value);
+ }
+- PyMem_DEL(dp);
++ PyObject_DEL(dp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch
new file mode 100644
index 000000000000..f13c23c2b12c
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcDispatch.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcDispatch.c
++++ src/rpcDispatch.c
+@@ -68,7 +68,7 @@
+ rpcDispClear(dp);
+ free(dp->srcs);
+ }
+- PyMem_DEL(dp);
++ PyObject_DEL(dp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch
new file mode 100644
index 000000000000..9cbfc7f89a00
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcSource.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcSource.c
++++ src/rpcSource.c
+@@ -61,7 +61,7 @@
+ if (srcp->onErr and srcp->onErrType == ONERR_TYPE_PY) {
+ Py_DECREF((PyObject *)srcp->onErr);
+ }
+- PyMem_DEL(srcp);
++ PyObject_DEL(srcp);
+ }
+
+
diff --git a/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch
new file mode 100644
index 000000000000..649b2faa5b3f
--- /dev/null
+++ b/dev-python/py-xmlrpc/files/py-xmlrpc_rpcUtils.patch
@@ -0,0 +1,16 @@
+Patch added by neurogeek@gentoo.org
+Patch added 03/01/2010
+Taken from: http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+Thanks to sobomax @ FreeBSD
+
+--- src/rpcUtils.c.orig
++++ src/rpcUtils.c
+@@ -276,7 +280,7 @@
+ double d;
+
+ d = PyFloat_AS_DOUBLE(value);
+- snprintf(buff, 255, "%f", d);
++ snprintf(buff, 255, "%.17f", d);
+ if ((buffConstant(sp, "<double>") == NULL)
+ or (buffConcat(sp, buff) == NULL)
+ or (buffConstant(sp, "</double>") == NULL))
diff --git a/dev-python/py-xmlrpc/metadata.xml b/dev-python/py-xmlrpc/metadata.xml
new file mode 100644
index 000000000000..c36840f9176b
--- /dev/null
+++ b/dev-python/py-xmlrpc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">py-xmlrpc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild b/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild
new file mode 100644
index 000000000000..0b63f84bbcc1
--- /dev/null
+++ b/dev-python/py-xmlrpc/py-xmlrpc-0.8.8.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils eutils
+
+DESCRIPTION="Fast XML-RPC implementation for Python"
+HOMEPAGE="http://sourceforge.net/projects/py-xmlrpc/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ia64 ppc sparc x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+PYTHON_MODNAME="pyxmlrpclib.py xmlrpc.py"
+
+src_prepare() {
+ #http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/net/py-xmlrpc/files/
+ epatch "${FILESDIR}/${PN}_patch-extra.patch"
+ epatch "${FILESDIR}/${PN}_rpcBase64.patch"
+ epatch "${FILESDIR}/${PN}_rpcClient.patch"
+ epatch "${FILESDIR}/${PN}_rpcDate.patch"
+ epatch "${FILESDIR}/${PN}_rpcDispatch.patch"
+ epatch "${FILESDIR}/${PN}_rpcUtils.patch"
+ epatch "${FILESDIR}/${PN}_rpcSource.patch"
+
+ distutils_src_prepare
+}
+
+src_install () {
+ distutils_src_install
+
+ if use examples; then
+ insinto "/usr/share/doc/${PF}/examples"
+ doins examples/*
+ insinto "/usr/share/doc/${PF}/examples/crj"
+ doins examples/crj/*
+ fi
+}
diff --git a/dev-python/py-xmlrpc/py-xmlrpc-0.9.ebuild b/dev-python/py-xmlrpc/py-xmlrpc-0.9.ebuild
new file mode 100644
index 000000000000..221bfa699a48
--- /dev/null
+++ b/dev-python/py-xmlrpc/py-xmlrpc-0.9.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast XML-RPC implementation for Python"
+HOMEPAGE="http://sourceforge.net/projects/py-xmlrpc/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}"/${PN/py-/}
+
+python_install_all() {
+ use examples && local EXAMPLES=( doc/examples.py )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/Manifest b/dev-python/py/Manifest
new file mode 100644
index 000000000000..8d8e59c8aacf
--- /dev/null
+++ b/dev-python/py/Manifest
@@ -0,0 +1,6 @@
+DIST py-1.4.25.tar.gz 190298 SHA256 da6ea727748e00f79fef987adb6970e8b081f829de8ea39f5405718fa9e50c85 SHA512 7e24a9d57298cf98fc246fbda7db81f6cd9d16b78425266c24d00ab1db77146ffab38820630b2dddb49bca7d864c2366d45fdb3e81bb284e509a309d4c1b5b98 WHIRLPOOL 2eab3004febb8e0e0bb42c0fd6d6dd33e46c7a1fe9cdbe2864e55fc075393cf043c0697a508696d0f5bdee8322cef30f03765f676349d02353f3448a339a9432
+DIST py-1.4.26.tar.gz 190617 SHA256 28dd0b90d29b386afb552efc4e355c889f4639ce93658a7872a2150ece28bb89 SHA512 5772893d754e4f3fee5de9fdb0eca2c654ac5288eba5c89dac88fd4d9acb2c0795bae61e0c43b37a14471536a1649c9138ac1c4374cd5697307e74062e9813f3 WHIRLPOOL 9f845477bec75c083c7148d8008df9992a5309a89ee0ec68a9de5d99c236dd7f1e8cedf39a220c53a6b46570d1cba715623ac5eb6563874f7901694bdd0fb594
+DIST py-1.4.27.tar.gz 191447 SHA256 55c648870ba47375c52001d05a1adeedaa930937749ad66eb3327e8dea28ac79 SHA512 29d4c003f9382d5ae19ced0d1d759841b08ed8eb0e9d07e6105e974f4181c3cbb6b59908434eaf4f1164deac438258ccb25b89c0fec0f5a11e1d6487127af4a1 WHIRLPOOL bd3067bf8bbae2ab8ff51720132864701dbb347ecfca023c7dc0f85f6a94d73f77538e17bc8113cbf4946340be8e3f3faad04f92c2d8cee10a7ac3a497d48636
+DIST py-1.4.28.tar.gz 191592 SHA256 664dbb9fd86c26d26e90aa93d15b8a19c859128bb66b3905bef954eba737eeb5 SHA512 0f65ec7114d5d634cf8b0be0c91dee9c7ce7b4795143d1394f1e625586d852c3c0941b7e9490a1eb6a1d3ad5db7c64ab72b6532793f22fdda705a347d4945814 WHIRLPOOL 077f14d7e8a3e1ed1dbc3dd1a51ce55d0263f74b726ec66847c069ff91e81b9aab5581e031a5acbfdbbaaff22ced89efa7a362c2220db1964622342e6a02cd9f
+DIST py-1.4.29.tar.gz 192088 SHA256 279e117233f205de1e46ec36eb7ffa5999f1bc53ae6bcf06889477ff28e45d83 SHA512 c172b598c3b7c8d7e0cc9b3123e80443355a0422e5e19b052f02d4261610fd832431cb50df35a3ee4913a29f87e53da2b12c17234189a3faabfab0c9899c1469 WHIRLPOOL 5924f8d0a9ef6428edc5fecc7d59de277b3cf30f93ff437a9067b7d16150a9b5ac9b4389343ed53f4a504ab083a220d2c0eee0936ea3e5ae5909d4944c89e545
+DIST py-1.4.30.tar.gz 191796 SHA256 b703e57685ed7c280b1a51c496a4984d83d89def2a930b5e9e5da5a6ca151514 SHA512 dd9d92f8eaf8e5fc61bfb7feb4b07df5ae1745ebf88bcbe9d62589caa9e1f7d8beae5b2d20b407520919e47391cd50cf2d5323556fa5bd90a37e120b1d394d7a WHIRLPOOL 890cd2dbb957c291e80c73a69fad89846e761f745500ab2a99bfb4f725a7e567104fa4a2a957b8c674ebc9498fdbb25373ff0d15ab8da7f8c45138844235c79f
diff --git a/dev-python/py/metadata.xml b/dev-python/py/metadata.xml
new file mode 100644
index 000000000000..a5dad3defd79
--- /dev/null
+++ b/dev-python/py/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/py/py-1.4.25.ebuild b/dev-python/py/py-1.4.25.ebuild
new file mode 100644
index 000000000000..4316ad32db01
--- /dev/null
+++ b/dev-python/py/py-1.4.25.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/py-1.4.26.ebuild b/dev-python/py/py-1.4.26.ebuild
new file mode 100644
index 000000000000..1bb199292962
--- /dev/null
+++ b/dev-python/py/py-1.4.26.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/py-1.4.27.ebuild b/dev-python/py/py-1.4.27.ebuild
new file mode 100644
index 000000000000..fc2a631a1265
--- /dev/null
+++ b/dev-python/py/py-1.4.27.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # 1 failure, test_comments, under both pypy only.
+ # Also appears the home repo has no issue tracker.
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/py-1.4.28.ebuild b/dev-python/py/py-1.4.28.ebuild
new file mode 100644
index 000000000000..fc2a631a1265
--- /dev/null
+++ b/dev-python/py/py-1.4.28.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # 1 failure, test_comments, under both pypy only.
+ # Also appears the home repo has no issue tracker.
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/py-1.4.29.ebuild b/dev-python/py/py-1.4.29.ebuild
new file mode 100644
index 000000000000..fc2a631a1265
--- /dev/null
+++ b/dev-python/py/py-1.4.29.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # 1 failure, test_comments, under both pypy only.
+ # Also appears the home repo has no issue tracker.
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py/py-1.4.30.ebuild b/dev-python/py/py-1.4.30.ebuild
new file mode 100644
index 000000000000..fc2a631a1265
--- /dev/null
+++ b/dev-python/py/py-1.4.30.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
+HOMEPAGE="http://pylib.readthedocs.org/ http://pypi.python.org/pypi/py"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( >=dev-python/pytest-2.4.2[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:#&:' -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ # 1 failure, test_comments, under both pypy only.
+ # Also appears the home repo has no issue tracker.
+ py.test || die "testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/py2neo/Manifest b/dev-python/py2neo/Manifest
new file mode 100644
index 000000000000..604e6fe44b2b
--- /dev/null
+++ b/dev-python/py2neo/Manifest
@@ -0,0 +1,2 @@
+DIST py2neo-2.0.6.tar.gz 251448 SHA256 6bb828d6d3e48b4d095b3f7d79dbb690a47633f0a9812eb62f141b042bab3186 SHA512 93f94ff678ce34e7a9754330939379e9e4211ddf932484d748215c49548a48997a90bcf384a7bd3713ea341db68f0400eeaac40afc686336a144ee20fa09c8cf WHIRLPOOL c7cbba6f9b3f5a8c039817286bb1027c984cc3c1d48c7f17ea6c3770f0fc5d02811885955b854cac174bc2cbf579610642362c7e1955fcb958ffa905c6a2affa
+DIST py2neo-2.0.7.tar.gz 251601 SHA256 9b154053eb93c7f5fb3ebd48b6a5b99df450d3f2e9c6682153c6f8d59369378c SHA512 02506433b50074ed098fbaee76eb072db386584ca818f322e370847058139e625318453fbcd9e099653f0d9a1041dd55be520e042d62f4e117f45a690e69bc08 WHIRLPOOL 53210f434d6a372f33c5b2e08df935bf6dd878dc42fee72760baa72b3a4f865f16d782a1d6c08424861cd1778c7a25029b7f2672cf9a3b4371bef51513b8a490
diff --git a/dev-python/py2neo/metadata.xml b/dev-python/py2neo/metadata.xml
new file mode 100644
index 000000000000..2e7e33c43468
--- /dev/null
+++ b/dev-python/py2neo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">py2neo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/py2neo/py2neo-2.0.6.ebuild b/dev-python/py2neo/py2neo-2.0.6.ebuild
new file mode 100644
index 000000000000..54603236bea5
--- /dev/null
+++ b/dev-python/py2neo/py2neo-2.0.6.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple and pragmatic library which accesses the Neo4j graph database"
+HOMEPAGE="http://py2neo.org"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+python_compile() {
+ # https://github.com/nigelsmall/py2neo/issues/380
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/py2neo/py2neo-2.0.7.ebuild b/dev-python/py2neo/py2neo-2.0.7.ebuild
new file mode 100644
index 000000000000..54603236bea5
--- /dev/null
+++ b/dev-python/py2neo/py2neo-2.0.7.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple and pragmatic library which accesses the Neo4j graph database"
+HOMEPAGE="http://py2neo.org"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+python_compile() {
+ # https://github.com/nigelsmall/py2neo/issues/380
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/py2play/Manifest b/dev-python/py2play/Manifest
new file mode 100644
index 000000000000..b8f1b9f35551
--- /dev/null
+++ b/dev-python/py2play/Manifest
@@ -0,0 +1 @@
+DIST Py2Play-0.1.10.tar.gz 21436 SHA256 70b391e7909e60566df32bfcc5edea75741325a0e488fe83dbde9e3229af698b SHA512 d600c62d20274e71678fc41c3f77fc89d71514032f5b4e98d0bda0119b4c9190c82b84a33240f498a926a6947f8bcd928493f6cbe061004eeddbd7eaef5bebee WHIRLPOOL 52e990bb0cf158c43e8bb9765f0914b81649f335ae4b6ed09e336ec80c3db9726917c0768d9caaabcfe5c5ccc9144e64b93ae9c8025bbbd4b74c1ea83ffb850a
diff --git a/dev-python/py2play/metadata.xml b/dev-python/py2play/metadata.xml
new file mode 100644
index 000000000000..9b2fd781c1d0
--- /dev/null
+++ b/dev-python/py2play/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/dev-python/py2play/py2play-0.1.10-r1.ebuild b/dev-python/py2play/py2play-0.1.10-r1.ebuild
new file mode 100644
index 000000000000..77f157741feb
--- /dev/null
+++ b/dev-python/py2play/py2play-0.1.10-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/py2play/Py2Play}"
+
+DESCRIPTION="A Peer To Peer network game engine"
+HOMEPAGE="http://home.gna.org/oomadness/en/slune"
+SRC_URI="http://download.gna.org/slune/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyClamd/Manifest b/dev-python/pyClamd/Manifest
new file mode 100644
index 000000000000..3cf9e391fbf5
--- /dev/null
+++ b/dev-python/pyClamd/Manifest
@@ -0,0 +1 @@
+DIST pyClamd-0.3.10.tar.gz 8929 SHA256 ed77743c32298b151c881cc52a211e188bd24203ae402f2640def858c6a2bca7 SHA512 2c895fbc5897646ad5c23445062fb2e34a2db070471afd8356796f5f458d90b0da824af58b8ba762ce49572acaee6981881169eb33231085dac82ff0169fa2c8 WHIRLPOOL fa9ba64ab721169373572e552450fcee96db0499a9eeb336763ed2ea9e6f24328aece3b46a2c04ba2a6706f8d6a047ea0ef96f1fe53a6ae4663be0980d9e9c43
diff --git a/dev-python/pyClamd/metadata.xml b/dev-python/pyClamd/metadata.xml
new file mode 100644
index 000000000000..59353d2ff6c3
--- /dev/null
+++ b/dev-python/pyClamd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyClamd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyClamd/pyClamd-0.3.10.ebuild b/dev-python/pyClamd/pyClamd-0.3.10.ebuild
new file mode 100644
index 000000000000..2f8fd3a2da60
--- /dev/null
+++ b/dev-python/pyClamd/pyClamd-0.3.10.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="python interface to Clamd (Clamav daemon)"
+HOMEPAGE="http://xael.org/norman/python/pyclamd/"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -e 's:/etc/clamav/clamd.conf:/etc/clamd.conf:' \
+ -i pyclamd/pyclamd.py || die
+}
diff --git a/dev-python/pyGPG/Manifest b/dev-python/pyGPG/Manifest
new file mode 100644
index 000000000000..9a891064f462
--- /dev/null
+++ b/dev-python/pyGPG/Manifest
@@ -0,0 +1 @@
+DIST pyGPG-0.1.tar.gz 15441 SHA256 c699192606652ebe1a369770d00110baa490c74c3d858ad0513ec55f315e7735 SHA512 58a89fbee4311b89c5515ad1bc1d901057e8acdfdbcf36813f50a766374100a62efe456d52263711e5c2f46957791def9343d94f019e413506cfdbd353602060 WHIRLPOOL 24862897737516945cdc8e41ced589f4ef4b64cdd4a92ddae22c07e9252c0cf8779b685b6cd35fac5b3244d0000d9bade98d661c67ac904639ebc142281551c1
diff --git a/dev-python/pyGPG/metadata.xml b/dev-python/pyGPG/metadata.xml
new file mode 100644
index 000000000000..084a922fc0b0
--- /dev/null
+++ b/dev-python/pyGPG/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tools-portage</herd>
+ <maintainer>
+ <email>dolsen@gentoo.org</email>
+ <name>Brian Dolbec</name>
+ </maintainer>
+ <longdescription>A python interface library for wrapping gnupg's gpg command.
+ It also connects to gpg's status-fd output and makes all the status data
+ available as subclassed namedtuple instances.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">dol-sen/pyGPG</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyGPG/pyGPG-0.1.ebuild b/dev-python/pyGPG/pyGPG-0.1.ebuild
new file mode 100644
index 000000000000..34eadfa645a3
--- /dev/null
+++ b/dev-python/pyGPG/pyGPG-0.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+EGIT_REPO_URI="git://github.com/dol-sen/pyGPG.git"
+
+DESCRIPTION="A python interface wrapper for gnupg's gpg command"
+HOMEPAGE="https://github.com/dol-sen/pyGPG"
+SRC_URI="http://dev.gentoo.org/~dolsen/releases/pyGPG/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~x86"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ app-crypt/gnupg
+ "
+
+pkg_postinst() {
+ einfo
+ einfo "This is experimental software."
+ einfo "The API's it installs should be considered unstable"
+ einfo "and are subject to change."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/pyGPG/issues"
+ einfo "I am also on IRC @ #gentoo-keys of the freenode network"
+ einfo
+ ewarn "There may be some python 3 compatibility issues still."
+ ewarn "Please help debug/fix/report them in github or bugzilla."
+}
diff --git a/dev-python/pyGPG/pyGPG-9999.ebuild b/dev-python/pyGPG/pyGPG-9999.ebuild
new file mode 100644
index 000000000000..1554e4d2eb08
--- /dev/null
+++ b/dev-python/pyGPG/pyGPG-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+EGIT_BRANCH="master"
+
+inherit distutils-r1 python-r1 git-2
+
+EGIT_REPO_URI="git://github.com/dol-sen/pyGPG.git"
+
+DESCRIPTION="A python interface wrapper for gnupg's gpg command"
+HOMEPAGE="https://github.com/dol-sen/pyGPG"
+SRC_URI=""
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+KEYWORDS=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ app-crypt/gnupg
+ "
+
+python_install_all() {
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ einfo
+ einfo "This is experimental software."
+ einfo "The API's it installs should be considered unstable"
+ einfo "and are subject to change."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/pyGPG/issues"
+ einfo "I am also on IRC @ #gentoo-keys of the freenode network"
+ einfo
+ ewarn "There may be some python 3 compatibility issues still."
+ ewarn "Please help debug/fix/report them in github or bugzilla."
+}
diff --git a/dev-python/pyPdf/Manifest b/dev-python/pyPdf/Manifest
new file mode 100644
index 000000000000..d18a6b7ba6d7
--- /dev/null
+++ b/dev-python/pyPdf/Manifest
@@ -0,0 +1 @@
+DIST pyPdf-1.13.tar.gz 35699 SHA256 3aede4c3c9c6ad07c98f059f90db0b09ed383f7c791c46100f649e1cabda0e3b SHA512 1c00a5a6658054671a396e7b334cbeb9e26dc1e3ad9668e212d05a9483f164931d8bd14fb9ab4d083d7ca3999fee7a2e9eea55b604a06c7d5d0632f0791b7598 WHIRLPOOL d00b28f6d3e4268b94f76f8573c1d11cb6ecde47d33c5068cfe86326e1ee20f674c09248a1117d31819a1992b334bf7084f662234a991de022c335a543d1b966
diff --git a/dev-python/pyPdf/metadata.xml b/dev-python/pyPdf/metadata.xml
new file mode 100644
index 000000000000..498c8a4babfb
--- /dev/null
+++ b/dev-python/pyPdf/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription lang="en">
+ A Pure-Python library built as a PDF toolkit. It is capable of:
+ * extracting document information (title, author, ...),
+ * splitting documents page by page,
+ * merging documents page by page,
+ * cropping pages,
+ * merging multiple pages into a single page,
+ * encrypting and decrypting PDF files.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/pyPdf/pyPdf-1.13-r1.ebuild b/dev-python/pyPdf/pyPdf-1.13-r1.ebuild
new file mode 100644
index 000000000000..c3684f3a56ca
--- /dev/null
+++ b/dev-python/pyPdf/pyPdf-1.13-r1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with pdf files"
+HOMEPAGE="http://pybrary.net/pyPdf/ http://pypi.python.org/pypi/pyPdf/"
+SRC_URI="http://pybrary.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
diff --git a/dev-python/pyacoustid/Manifest b/dev-python/pyacoustid/Manifest
new file mode 100644
index 000000000000..b91c2838eb35
--- /dev/null
+++ b/dev-python/pyacoustid/Manifest
@@ -0,0 +1 @@
+DIST pyacoustid-1.0.0.tar.gz 10476 SHA256 31900428e7b344dca0c2da594b387e88620c319298e3a6400a968078194407d4 SHA512 4eabf32e7d958bf7330e852184f5ddf3105007179ca2c45b75c1a5b0f0898649e703aa333cffccac85eb7b18b54255f2e5d588897adfb9f0ef2596e9c0b2fe5a WHIRLPOOL 084bc175021db2b344484fa5f03bf8b63b78ba21f92e050da93d36dcded494ff62f6344f59f8f0027b8b42a4bb6a1d21d22408a4f5679023c10eb37907ab1b79
diff --git a/dev-python/pyacoustid/metadata.xml b/dev-python/pyacoustid/metadata.xml
new file mode 100644
index 000000000000..dabddb714014
--- /dev/null
+++ b/dev-python/pyacoustid/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+Chromaprint and its associated Acoustid Web service make up a high-quality, open-source acoustic fingerprinting system. This package provides Python bindings for both the fingerprinting algorithm library, which is written in C but portable, and the Web service, which provides fingerprint lookups.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pyacoustid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyacoustid/pyacoustid-1.0.0-r1.ebuild b/dev-python/pyacoustid/pyacoustid-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..8c88432bbe6a
--- /dev/null
+++ b/dev-python/pyacoustid/pyacoustid-1.0.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for Chromaprint acoustic fingerprinting and the Acoustid API"
+HOMEPAGE="http://pypi.python.org/pypi/pyacoustid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="media-libs/chromaprint
+ dev-python/audioread[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ use examples && local EXAMPLES=( ./aidmatch.py)
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyalsa/Manifest b/dev-python/pyalsa/Manifest
new file mode 100644
index 000000000000..19097350353a
--- /dev/null
+++ b/dev-python/pyalsa/Manifest
@@ -0,0 +1,2 @@
+DIST pyalsa-1.0.26.tar.bz2 39389 SHA256 a6c72868272f9ac7c81fa29be311e17afd47c61e4823d4dc9e16593afd237cad SHA512 3ec3949dc6b2c49fb6f948e6e87485a0fc66d6b2602392e88c15966cf4e0067e91d0eec2c74e5b394ea7498508933177c687ab20cad471bb76d12f090a628231 WHIRLPOOL 82e9f4b56c5431cb47a96334f566c4a740b0f1a95b813745adc7682bc49682d10184a0c127233f3bc3d7d1abf394b066060d14f58c31df4c8d0a0f5ab3f9f7a5
+DIST pyalsa-1.0.29.tar.bz2 39481 SHA256 87ea6d8a2b7a9d7b015cdd84c898dc5e524f770ae6795e0d32ac2234311c953a SHA512 cc885094b020ea6e1735391cfc73a11e29f7d59b1e24a766908d57bec0fae4f490616c59f04eb74648f8ee610e76295a9501ab31a2513e921bcd8b4fdb104683 WHIRLPOOL 492a924d4ce2c22f368df06ea4f213b22c2fef7ac215f0a1c401524e7c510e3d5c5949ea7e8fdb1cbbe5104c6ef51051a7574032e0cb743f20399ef17e79239d
diff --git a/dev-python/pyalsa/files/pyalsa-1.0.25-no-build-symlinks.patch b/dev-python/pyalsa/files/pyalsa-1.0.25-no-build-symlinks.patch
new file mode 100644
index 000000000000..2b02c8afe776
--- /dev/null
+++ b/dev-python/pyalsa/files/pyalsa-1.0.25-no-build-symlinks.patch
@@ -0,0 +1,25 @@
+The build system creates some symlinks that are useful when developing
+but get in the way when we install for more than one python. Remove
+these.
+
+Not a patch for upstream, as it makes development slightly more
+complicated.
+
+Patch by Arfrever.
+
+--- setup.py
++++ setup.py
+@@ -57,12 +57,3 @@
+ packages=['pyalsa'],
+ scripts=[]
+ )
+-
+-uname = os.uname()
+-a = 'build/lib.%s-%s-%s' % (uname[0].lower(), uname[4], sys.version[:3])
+-for f in ['alsacard.so', 'alsacontrol.so', 'alsahcontrol.so', 'alsamixer.so', 'alsaseq.so']:
+- if not os.path.exists('pyalsa/%s' % f):
+- a = '../build/lib.%s-%s-%s/pyalsa/%s' % (uname[0].lower(),
+- uname[4], sys.version[:3], f)
+- print a, f
+- os.symlink(a, 'pyalsa/%s' % f)
+
diff --git a/dev-python/pyalsa/files/pyalsa-1.0.29-no-build-symlinks.patch b/dev-python/pyalsa/files/pyalsa-1.0.29-no-build-symlinks.patch
new file mode 100644
index 000000000000..72bf0bcb49c5
--- /dev/null
+++ b/dev-python/pyalsa/files/pyalsa-1.0.29-no-build-symlinks.patch
@@ -0,0 +1,24 @@
+diff -ur pyalsa-1.0.29.orig/setup.py pyalsa-1.0.29/setup.py
+--- setup.py 2015-02-26 20:36:18.000000000 +0800
++++ setup.py 2015-03-22 12:53:26.941401236 +0800
+@@ -58,20 +58,3 @@
+ packages=['pyalsa'],
+ scripts=[]
+ )
+-
+-uname = os.uname()
+-a = 'build/lib.%s-%s-%s' % (uname[0].lower(), uname[4], sys.version[:3])
+-for f in ['alsacard.so', 'alsacontrol.so', 'alsahcontrol.so',
+- 'alsamixer.so', 'alsaseq.so']:
+- if not os.path.exists('pyalsa/%s' % f):
+- a = '../build/lib.%s-%s-%s/pyalsa/%s' % \
+- (uname[0].lower(), uname[4], sys.version[:3], f)
+- print a, f
+- p = 'pyalsa/' + f
+- try:
+- st = os.lstat(p)
+- if stat.S_ISLNK(st.st_mode):
+- os.remove(p)
+- except:
+- pass
+- os.symlink(a, 'pyalsa/%s' % f)
diff --git a/dev-python/pyalsa/metadata.xml b/dev-python/pyalsa/metadata.xml
new file mode 100644
index 000000000000..c4c2070030e4
--- /dev/null
+++ b/dev-python/pyalsa/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>alsa</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyalsa/pyalsa-1.0.26-r1.ebuild b/dev-python/pyalsa/pyalsa-1.0.26-r1.ebuild
new file mode 100644
index 000000000000..3d8f850d0ebc
--- /dev/null
+++ b/dev-python/pyalsa/pyalsa-1.0.26-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python bindings for ALSA library"
+HOMEPAGE="http://alsa-project.org/"
+SRC_URI="mirror://alsaproject/pyalsa/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND="media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-1.0.25-no-build-symlinks.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # note: this needs changing when py3 becomes supported
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/pyalsa/pyalsa-1.0.29.ebuild b/dev-python/pyalsa/pyalsa-1.0.29.ebuild
new file mode 100644
index 000000000000..ea6ab7539388
--- /dev/null
+++ b/dev-python/pyalsa/pyalsa-1.0.29.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy ) # Still py2 only it appears
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python bindings for ALSA library"
+HOMEPAGE="http://alsa-project.org/"
+SRC_URI="mirror://alsaproject/pyalsa/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND="media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/${P}-no-build-symlinks.patch" )
+
+python_configure_all() {
+ # note: this needs changing when py3 becomes supported
+ append-flags -fno-strict-aliasing
+}
+# Testsuite appears to require installed state
diff --git a/dev-python/pyalsaaudio/Manifest b/dev-python/pyalsaaudio/Manifest
new file mode 100644
index 000000000000..c84ac6d9de86
--- /dev/null
+++ b/dev-python/pyalsaaudio/Manifest
@@ -0,0 +1,2 @@
+DIST pyalsaaudio-0.7.tar.gz 124577 SHA256 bbd5a9eb351def673800707f48e64680685f397e29da72ea4c9355e1a2b2a0fd SHA512 aea46ebc4a59c791e318e58fa7c307b73ea7e1eafdd6b2055df312e26e8d4868ca582b76dd2f203cb7c632a25e1bfd066f6f9522484aa5db51f404e5f99a38cc WHIRLPOOL 80dd871e66e21ebe34581a0c7ec846dea8b5c5ada93c0b0811334dcf2e90ab97e63852cc47a5355d03e546f335751e949d725f86bc3d26d76ea7aa8e4db9a718
+DIST pyalsaaudio-0.8.2.tar.gz 212747 SHA256 b6df486f1c4035041a5f3800496b86c64e48e4a7d47f94dcbca11b0187aa3a15 SHA512 cba4acaf18b74f990547a590da5bbb824398518444cd09cf80d2e4dcb1176fd5469b107c96b3696ca98ef8ef4d1026feb22b01f730b2558c9dd60ee58500d4b5 WHIRLPOOL 4526ffa3eae6834aa97e8bf55dc90e25c6de5bf6f8345f853a5006a9c7bb1bcb8bd42bbe677d246443213de314400e8e17ef84ef4653d7e7c207151d5a03be33
diff --git a/dev-python/pyalsaaudio/metadata.xml b/dev-python/pyalsaaudio/metadata.xml
new file mode 100644
index 000000000000..3715bb37fcca
--- /dev/null
+++ b/dev-python/pyalsaaudio/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyalsaaudio</remote-id>
+ <remote-id type="sourceforge">pyalsaaudio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyalsaaudio/pyalsaaudio-0.7-r2.ebuild b/dev-python/pyalsaaudio/pyalsaaudio-0.7-r2.ebuild
new file mode 100644
index 000000000000..8550d3ac39a0
--- /dev/null
+++ b/dev-python/pyalsaaudio/pyalsaaudio-0.7-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python wrapper for the ALSA API"
+HOMEPAGE="http://www.sourceforge.net/projects/pyalsaaudio http://pypi.python.org/pypi/pyalsaaudio"
+SRC_URI="mirror://sourceforge/pyalsaaudio/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~sparc x86"
+IUSE="doc"
+
+RDEPEND="media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )"
+
+RESTRICT="test" # Direct access to ALSA, shouln't be used
+
+DOCS=( CHANGES README )
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ local EXAMPLES=( *test.py )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyalsaaudio/pyalsaaudio-0.8.2.ebuild b/dev-python/pyalsaaudio/pyalsaaudio-0.8.2.ebuild
new file mode 100644
index 000000000000..c5d7ce61bbbe
--- /dev/null
+++ b/dev-python/pyalsaaudio/pyalsaaudio-0.8.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="A Python wrapper for the ALSA API"
+HOMEPAGE="http://www.sourceforge.net/projects/pyalsaaudio http://pypi.python.org/pypi/pyalsaaudio"
+SRC_URI="mirror://sourceforge/pyalsaaudio/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86"
+IUSE="doc"
+
+RDEPEND="media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )"
+
+RESTRICT="test" # Direct access to ALSA, shouln't be used
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ local EXAMPLES=( *test.py )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyamazon/Manifest b/dev-python/pyamazon/Manifest
new file mode 100644
index 000000000000..0c6fd378445f
--- /dev/null
+++ b/dev-python/pyamazon/Manifest
@@ -0,0 +1 @@
+DIST pyamazon-0.65.zip 4715 SHA256 af185612ddb6a845a88991937f7df36cb2f161135ad2e8ba0369c5b012e066fb SHA512 91da5c766f3c8b24429f92c46d27509e6e7ea4f3fe945920774aad88ab7ccfa9418067d9919f14f7800c767a2c59da52452d9949e7cda46c2626c33db7bd9997 WHIRLPOOL 5a62eb667d08ca0535c6be1f88029ce482ffb91f0be707afb8e74df37e05c6d88ca37fba9760b133d9354a0e8354987bccfc724bc2067a2a3ee7e2c19fd120c3
diff --git a/dev-python/pyamazon/metadata.xml b/dev-python/pyamazon/metadata.xml
new file mode 100644
index 000000000000..414a5eeccf59
--- /dev/null
+++ b/dev-python/pyamazon/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyamazon/pyamazon-0.65.ebuild b/dev-python/pyamazon/pyamazon-0.65.ebuild
new file mode 100644
index 000000000000..65fd0da243a4
--- /dev/null
+++ b/dev-python/pyamazon/pyamazon-0.65.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils python
+
+DESCRIPTION="A Python wrapper for the Amazon web API"
+HOMEPAGE="http://www.josephson.org/projects/pyamazon"
+SRC_URI="http://www.josephson.org/projects/${PN}/files/${P}.zip"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+RESTRICT_PYTHON_ABIS="3.*"
+
+src_prepare() {
+ edos2unix ${PN}/amazon.py
+}
+
+src_install() {
+ installation() {
+ insinto $(python_get_sitedir)
+ doins ${PN}/amazon.py
+ }
+ python_execute_function installation
+}
+
+pkg_postinst() {
+ python_mod_optimize amazon.py
+}
+
+pkg_postrm() {
+ python_mod_cleanup amazon.py
+}
diff --git a/dev-python/pyamf/Manifest b/dev-python/pyamf/Manifest
new file mode 100644
index 000000000000..ab69ca07eff2
--- /dev/null
+++ b/dev-python/pyamf/Manifest
@@ -0,0 +1 @@
+DIST PyAMF-0.7.0.tar.gz 1647988 SHA256 5e9c68a2acc00ee99d1ca1f578c4fc0cbc16e33339a6d5a0d8d313a4c0f42663 SHA512 dcaf808a11c73f9e9b548c9e81100eb28ee1e3c1e2d44b0fb08f58ab3693a49c69b95040e25e612e3864d268436829c4ab7389e1ed9c0704f37a9d350dd9c82d WHIRLPOOL 535fdedea37a866045a34f89b5f255f13d4d3ebc1a1a1fbdba2c233fdd5fedfb1436e4993d69940cbdd5f26898c3d6264afa9bdac21217f38d3d2e955058c369
diff --git a/dev-python/pyamf/metadata.xml b/dev-python/pyamf/metadata.xml
new file mode 100644
index 000000000000..ee77acb0dc1a
--- /dev/null
+++ b/dev-python/pyamf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">hydralabs/pyamf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyamf/pyamf-0.7.0.ebuild b/dev-python/pyamf/pyamf-0.7.0.ebuild
new file mode 100644
index 000000000000..cfccd8feb048
--- /dev/null
+++ b/dev-python/pyamf/pyamf-0.7.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=PyAMF
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Action Message Format (AMF) support for Python"
+HOMEPAGE="https://github.com/hydralabs/pyamf"
+SRC_URI="https://github.com/hydralabs/pyamf/releases/download/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "PyAMF optionally integrates with several third-party libraries"
+ elog "and web frameworks. See the README or the Optional Extras section at"
+ elog "https://github.com/hydralabs/pyamf/blob/master/doc/install.rst"
+ fi
+}
diff --git a/dev-python/pyamg/Manifest b/dev-python/pyamg/Manifest
new file mode 100644
index 000000000000..6bf901647e5c
--- /dev/null
+++ b/dev-python/pyamg/Manifest
@@ -0,0 +1 @@
+DIST pyamg-2.1.0.tar.gz 752632 SHA256 060a32ea8805b8e49e6d7304ab771efccd34d5e363a65f4f2cb33d85981225de SHA512 d2574ccb093e6c5bd214c4366ec70bfeae73449f98932a9a4435afb2d606b12a4d479411a88bcac4df500e33dbf635ae981620c584e688abc3f2cca6c6188d4d WHIRLPOOL ccf0817561eae43bb859aaedc9c7b4c94e338a2fc6817467bb5f162df3e63720030d3e36d55e72e9f7e613aab89cf4211f9c20fc97d566e3d7cdec988c9d9f6f
diff --git a/dev-python/pyamg/files/2.0.0-stencil.patch b/dev-python/pyamg/files/2.0.0-stencil.patch
new file mode 100644
index 000000000000..f000b93709ac
--- /dev/null
+++ b/dev-python/pyamg/files/2.0.0-stencil.patch
@@ -0,0 +1,11 @@
+--- pyamg/gallery/stencil.py.orig 2011-08-06 20:26:36.000000000 +0100
++++ pyamg/gallery/stencil.py 2011-08-06 20:27:12.000000000 +0100
+@@ -85,7 +85,7 @@
+
+ # compute index offset of each dof within the stencil
+ strides = numpy.cumprod( [1] + list(reversed(grid)) )[:-1]
+- indices = S.nonzero()
++ indices = tuple(i.copy() for i in S.nonzero())
+ for i,s in zip(indices,S.shape):
+ i -= s // 2
+ for stride,coords in zip(strides, reversed(indices)):
diff --git a/dev-python/pyamg/files/pyamg-2.0.4-gcc-4.7.patch b/dev-python/pyamg/files/pyamg-2.0.4-gcc-4.7.patch
new file mode 100644
index 000000000000..0ed5402b7e48
--- /dev/null
+++ b/dev-python/pyamg/files/pyamg-2.0.4-gcc-4.7.patch
@@ -0,0 +1,16 @@
+ pyamg/amg_core/ruge_stuben.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/pyamg/amg_core/ruge_stuben.h b/pyamg/amg_core/ruge_stuben.h
+index 51cec80..d0ff9a9 100644
+--- a/pyamg/amg_core/ruge_stuben.h
++++ b/pyamg/amg_core/ruge_stuben.h
+@@ -7,6 +7,8 @@
+ #include <cassert>
+ #include <limits>
+ #include <algorithm>
++#include "graph.h"
++#include "linalg.h"
+
+ /*
+ * Compute a strength of connection matrix using the classical strength
diff --git a/dev-python/pyamg/metadata.xml b/dev-python/pyamg/metadata.xml
new file mode 100644
index 000000000000..106c66bc219b
--- /dev/null
+++ b/dev-python/pyamg/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ PyAMG is a library of Algebraic Multigrid (AMG) solvers with a
+ Python interface.
+ The predominant portion of PyAMG is written in Python with a smaller
+ amount of supporting C++ code for performance critical operations.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">pyamg</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/pyamg/pyamg-2.1.0.ebuild b/dev-python/pyamg/pyamg-2.1.0.ebuild
new file mode 100644
index 000000000000..6a4d7d4a0fe6
--- /dev/null
+++ b/dev-python/pyamg/pyamg-2.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Algebraic multigrid solvers in Python"
+HOMEPAGE="http://pyamg.github.io/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ distutils_install_for_testing
+ cd "${T}" || die # need to be away source directory
+ ${EPYTHON} -c "
+import pyamg, sys
+r = pyamg.test(verbose=3)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyao/Manifest b/dev-python/pyao/Manifest
new file mode 100644
index 000000000000..27b9d6cfc9f5
--- /dev/null
+++ b/dev-python/pyao/Manifest
@@ -0,0 +1 @@
+DIST pyao-0.82.tar.gz 15399 SHA256 9a444518252f6d747e76a219e5efbc05b4e1742260a7419da9ddf93a519b30c5 SHA512 9c2349a2cfd55f64b8edaa6aaf9cecd4589dab3c6fd8a5cc8ad8c9512bf3595c85e0efaa56d6bb2f89410fbfa82081c8c2ea5ea68071e64afdbd8809f70b36cf WHIRLPOOL 16918ba2a683af4d1df860ff31c6f2a6a86d0fe1ef297ef09269219e3af860e22a8945ca5682f9063e9d4ff7a2a4ab3ed794eb355eb459c73b0290f145ebda8a
diff --git a/dev-python/pyao/files/pyao-0.82-new_api.patch b/dev-python/pyao/files/pyao-0.82-new_api.patch
new file mode 100644
index 000000000000..7a77d0ab8a2e
--- /dev/null
+++ b/dev-python/pyao/files/pyao-0.82-new_api.patch
@@ -0,0 +1,71 @@
+http://bugs.gentoo.org/314627
+http://bugs.gentoo.org/257550
+
+--- src/aomodule.c
++++ src/aomodule.c
+@@ -4,7 +4,7 @@
+ static ao_option *
+ dict_to_options(PyObject *dict)
+ {
+- int pos = 0;
++ Py_ssize_t pos = 0;
+ PyObject *key, *val;
+ ao_option *head = NULL;
+ int ret;
+@@ -71,7 +71,7 @@
+
+ *overwrite = 0;
+
+- if(PyArg_ParseTupleAndKeywords(args, kwargs, "s|llllO!sl",
++ if(PyArg_ParseTupleAndKeywords(args, kwargs, "s|iiiiO!si",
+ (char **) driver_name_kwlist,
+ &driver_name,
+ &format->bits,
+@@ -84,7 +84,7 @@
+ *driver_id = ao_driver_id(driver_name);
+ } else {
+ PyErr_Clear();
+- if(!(PyArg_ParseTupleAndKeywords(args, kwargs, "i|llllO!sl",
++ if(!(PyArg_ParseTupleAndKeywords(args, kwargs, "i|iiiiO!si",
+ (char **) driver_id_kwlist,
+ driver_id,
+ &format->bits,
+@@ -141,8 +141,9 @@
+ return NULL;
+ }
+
+- retobj = (ao_Object *) PyObject_NEW(ao_Object, &ao_Type);
++ retobj = (ao_Object *) PyObject_New(ao_Object, &ao_Type);
+ retobj->dev = dev;
++ retobj->driver_id = driver_id;
+ return (PyObject *) retobj;
+ }
+
+@@ -150,7 +151,7 @@
+ py_ao_dealloc(ao_Object *self)
+ {
+ ao_close(self->dev);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject *
+@@ -184,7 +185,7 @@
+
+ /* It's a method */
+ ao_Object *ao_self = (ao_Object *) self;
+- info = ao_driver_info(ao_self->dev->driver_id);
++ info = ao_driver_info(ao_self->driver_id);
+
+ } else {
+
+--- src/aomodule.h
++++ src/aomodule.h
+@@ -9,6 +9,7 @@
+ typedef struct {
+ PyObject_HEAD
+ ao_device *dev;
++ uint32_t driver_id;
+ } ao_Object;
+
+ static PyObject *Py_aoError;
diff --git a/dev-python/pyao/metadata.xml b/dev-python/pyao/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyao/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyao/pyao-0.82-r2.ebuild b/dev-python/pyao/pyao-0.82-r2.ebuild
new file mode 100644
index 000000000000..1c18747d7b38
--- /dev/null
+++ b/dev-python/pyao/pyao-0.82-r2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils eutils
+
+DESCRIPTION="Python bindings for the libao library"
+HOMEPAGE="http://www.andrewchatham.com/pyogg/"
+SRC_URI="http://www.andrewchatham.com/pyogg/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ~ppc -sparc x86"
+IUSE=""
+
+DEPEND=">=media-libs/libao-1.0.0"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-new_api.patch
+ distutils_src_prepare
+}
+
+src_configure() {
+ "$(PYTHON -f)" ./config_unix.py || die
+}
+
+src_install() {
+ distutils_src_install
+ insinto /usr/share/doc/${PF}/examples
+ doins test.py || die
+}
diff --git a/dev-python/pyao/pyao-0.82-r3.ebuild b/dev-python/pyao/pyao-0.82-r3.ebuild
new file mode 100644
index 000000000000..12be8cb0e19f
--- /dev/null
+++ b/dev-python/pyao/pyao-0.82-r3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the libao library"
+HOMEPAGE="http://www.andrewchatham.com/pyogg/"
+SRC_URI="http://www.andrewchatham.com/pyogg/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc -sparc ~x86"
+IUSE=""
+
+DEPEND=">=media-libs/libao-1.0.0"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-new_api.patch )
+
+python_compile() {
+ "${PYTHON}" config_unix.py || die
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pyasn1-modules/Manifest b/dev-python/pyasn1-modules/Manifest
new file mode 100644
index 000000000000..ef5833c902e0
--- /dev/null
+++ b/dev-python/pyasn1-modules/Manifest
@@ -0,0 +1,3 @@
+DIST pyasn1-modules-0.0.5.tar.gz 38710 SHA256 be65f00ed28e30756f1ef39377cb382480a2368699179d646a84d79fe9349941 SHA512 b8fa41ed28087097502e8362022d819fe6914511c09f60f64f173c5674684fa8c45de23ce718700001d9f2d9b11adc17657d7cfd4cb24ea740b8d14eba8d8161 WHIRLPOOL c0df005909ffa4320f0ff7c580410ff2468cdd4002dfa5383e561c9c65721c0a72169e10c72fdc225b308d8fd1d5691dc519b6ee811c167ddc466ba1657e92c8
+DIST pyasn1-modules-0.0.6.tar.gz 38940 SHA256 1f41d3f3da43e9a769e23649724368aa0b88afcfd1fe6e9f210d31d13322fc15 SHA512 1ae7d641647d239737daa20f8519f92b0727381bf44de2b65130a7626233b1b430cd8fad04fdc856387d7ba9ad226960a87f6f58d64d4ba09c3e6316130c5855 WHIRLPOOL 4bc2776ca2bd81ba3b2f5337f7736084ee17c5fa13532a4be2dbee0cf6fe3f501a1d63fb1b3ac397a0c507e862795bb8819b15621c38ee0575cf3de5ee257afe
+DIST pyasn1-modules-0.0.7.tar.gz 38605 SHA256 794dbcef4b7124b8271f12eb7eea0d37b466012f11ce023f91e2e2082df11c7e SHA512 15e3f456b1fbb74a08cffc6d5f9910617b7fa67fbcb5028ac8da8c1592c4cd192d4f726b13d6f0b82f01a55511fbc7a9478d446e57241307517d9213a65f393a WHIRLPOOL 6bc2389c9e734cc310c28276e56309c82f4def9cb2582d5222a3d6004b2f38a9279adf35f5200137dd2f844631123963c907fcf0279286a9f99c541277bb9ecb
diff --git a/dev-python/pyasn1-modules/metadata.xml b/dev-python/pyasn1-modules/metadata.xml
new file mode 100644
index 000000000000..cf67f89b3afa
--- /dev/null
+++ b/dev-python/pyasn1-modules/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyasn1-modules</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.0.5-r1.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.0.5-r1.ebuild
new file mode 100644
index 000000000000..128f3f8e09a4
--- /dev/null
+++ b/dev-python/pyasn1-modules/pyasn1-modules-0.0.5-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="pyasn1 modules"
+HOMEPAGE="http://pyasn1.sourceforge.net/ http://pypi.python.org/pypi/pyasn1-modules"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86"
+IUSE=""
+
+RDEPEND="dev-python/pyasn1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ echoit() { echo "$@"; "$@"; }
+ local exit_status=0 test
+ for test in test/*.sh; do
+ PATH="${S}/tools:${PATH}" \
+ echoit sh "${test}" || exit_status=1
+ done
+ return ${exit_status}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/doc/${PF}/tools
+ doins tools/* || die "doins failed"
+}
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.0.6.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.0.6.ebuild
new file mode 100644
index 000000000000..4deece1de649
--- /dev/null
+++ b/dev-python/pyasn1-modules/pyasn1-modules-0.0.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="pyasn1 modules"
+HOMEPAGE="http://pyasn1.sourceforge.net/ http://pypi.python.org/pypi/pyasn1-modules"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="dev-python/pyasn1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ echoit() { echo "$@"; "$@"; }
+ local exit_status=0 test
+ for test in test/*.sh; do
+ PATH="${S}/tools:${PATH}" \
+ echoit sh "${test}" || exit_status=1
+ done
+ return ${exit_status}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/doc/${PF}/tools
+ doins tools/* || die "doins failed"
+}
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.0.7.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.0.7.ebuild
new file mode 100644
index 000000000000..4deece1de649
--- /dev/null
+++ b/dev-python/pyasn1-modules/pyasn1-modules-0.0.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="pyasn1 modules"
+HOMEPAGE="http://pyasn1.sourceforge.net/ http://pypi.python.org/pypi/pyasn1-modules"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+RDEPEND="dev-python/pyasn1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ echoit() { echo "$@"; "$@"; }
+ local exit_status=0 test
+ for test in test/*.sh; do
+ PATH="${S}/tools:${PATH}" \
+ echoit sh "${test}" || exit_status=1
+ done
+ return ${exit_status}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/doc/${PF}/tools
+ doins tools/* || die "doins failed"
+}
diff --git a/dev-python/pyasn1/Manifest b/dev-python/pyasn1/Manifest
new file mode 100644
index 000000000000..34c72dce1b81
--- /dev/null
+++ b/dev-python/pyasn1/Manifest
@@ -0,0 +1,2 @@
+DIST pyasn1-0.1.7.tar.gz 68120 SHA256 e4f81d53c533f6bd9526b047f047f7b101c24ab17339c1a7ad8f98b25c101eab SHA512 af2ac05fb7e18b25bd125f92bd7c8389a00c18018c1ff48d94c196f5ab41b09c8991d2e326d492cfaed755b06cd4c75d88719b4a390bdab6d84fe3c8791620af WHIRLPOOL 902b80616cecbf3549417c95ec09c060c6a038f95bd71ce2f9a5c0cd1e4cfd4e9157252abedec3002588eaba5a3cecd7100138c952a5e8f8b7e245b4f82d5c7c
+DIST pyasn1-0.1.8.tar.gz 75676 SHA256 5d33be7ca0ec5997d76d29ea4c33b65c00c0231407fff975199d7f40530b8347 SHA512 0a0b9b8018ae80a0e0d84ea3a4f217951bf42dce909a354c97890d4b4fc4f49b19d9d0757103ac9002c17c6c622c8e8d66e1f8242b8545a7da455ef3583acdfa WHIRLPOOL db46e06ef9a6b5858c07f1c154657f998b509c457395b4f2e6286ea90e1b16346e24d92a8d666b5db4216e35129f2d6be13c2fc11aae2d9936163bff3b1400eb
diff --git a/dev-python/pyasn1/metadata.xml b/dev-python/pyasn1/metadata.xml
new file mode 100644
index 000000000000..fcab60fb450b
--- /dev/null
+++ b/dev-python/pyasn1/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyasn1</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyasn1/pyasn1-0.1.7.ebuild b/dev-python/pyasn1/pyasn1-0.1.7.ebuild
new file mode 100644
index 000000000000..68a91358d0e5
--- /dev/null
+++ b/dev-python/pyasn1/pyasn1-0.1.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="ASN.1 library for Python"
+HOMEPAGE="http://pyasn1.sourceforge.net/ http://pypi.python.org/pypi/pyasn1"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test/suite.py || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ local HTML_DOCS=( doc/pyasn1-tutorial.html )
+ use doc && HTML_DOCS=( doc/. )
+
+ distutils-r1_src_install
+}
diff --git a/dev-python/pyasn1/pyasn1-0.1.8.ebuild b/dev-python/pyasn1/pyasn1-0.1.8.ebuild
new file mode 100644
index 000000000000..eaf95f140a95
--- /dev/null
+++ b/dev-python/pyasn1/pyasn1-0.1.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="ASN.1 library for Python"
+HOMEPAGE="http://pyasn1.sourceforge.net/ http://pypi.python.org/pypi/pyasn1"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test/suite.py || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+ local HTML_DOCS=( doc/pyasn1-tutorial.html )
+ use doc && HTML_DOCS=( doc/. )
+
+ distutils-r1_src_install
+}
diff --git a/dev-python/pyatspi/Manifest b/dev-python/pyatspi/Manifest
new file mode 100644
index 000000000000..089b82ebe838
--- /dev/null
+++ b/dev-python/pyatspi/Manifest
@@ -0,0 +1,3 @@
+DIST pyatspi-2.12.0.tar.xz 300092 SHA256 4e6cd801412a090dcc7ec2a27298dee5e84dc0af11479d5d5c061254b8ea6ac4 SHA512 2ac9f4e40d35594ca9327b431c28ae2d02380e7c4f4fff4f65282dbdfe4cec76ee09c306eafcd175bcaeb2e6bcfb911e8d4c8ed8366ccb88e7fadf0aac2b3cb7 WHIRLPOOL c3dfb65082ce1f444fdddbef9aaaa5119def1cd7b48b4d965d7b9e4306be8a71cbab6268f6d42793f4c89470833418c45c24991d90cadaa4a4f47ce6b589979f
+DIST pyatspi-2.14.0.tar.xz 300100 SHA256 b615dd81abccb929b0e120f64573b1f8c2a8f6d0651185d32d4fb7e75613bb48 SHA512 016c55cb10c52a8e3382531bda655a936c40a915aadb1400d0d28786c8a6d95c790830b63662c29000ce26b43bda46cdf604d334696fb94e7d8d964e52d1226c WHIRLPOOL dab1e37880b7439b889961982c918c2254540454a89733a0aaec9bc851297d78cd40ed524e792a55ee2a2cf982379fac883850fa71a0ee9c3e540054ec65f61b
+DIST pyatspi-2.16.0.tar.xz 301204 SHA256 a67a857ca5eaf16fc059d9be47d0850edd93bffdd777c1b7612ecc95f6e3b4a0 SHA512 aeb3f288a40bbc9a92dc5e8155f632af5545e72452aeef4ae27d878a8b517f04ea2d39dbc88a98ecfe3404adc0d7badf77a2f2df13354d9fceedb594e4a70468 WHIRLPOOL c9afdd8f239b59121cf87f3c40412133172960edfd26bbc5c6a47183a11454301aa3a90815a03036065fa4ae1437487e53c8374fa412dc72ae5f600b15f9165e
diff --git a/dev-python/pyatspi/files/pyatspi-2.6.0-examples-python3.patch b/dev-python/pyatspi/files/pyatspi-2.6.0-examples-python3.patch
new file mode 100644
index 000000000000..423cd644073c
--- /dev/null
+++ b/dev-python/pyatspi/files/pyatspi-2.6.0-examples-python3.patch
@@ -0,0 +1,26 @@
+From 4f10a696002179082e41568b5109400ac8478a96 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Mon, 10 Dec 2012 04:52:03 -0500
+Subject: [PATCH] examples: support python2 and python3 syntax
+
+https://bugzilla.gnome.org/show_bug.cgi?id=689957
+---
+ examples/magFocusTracker.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/magFocusTracker.py b/examples/magFocusTracker.py
+index 47efe00..7ca3b67 100755
+--- a/examples/magFocusTracker.py
++++ b/examples/magFocusTracker.py
+@@ -282,7 +282,7 @@ def main():
+ startTracking()
+ pyatspi.Registry.start()
+ else:
+- print 'Magnification service not available. Exiting.'
++ print('Magnification service not available. Exiting.')
+
+ return 0
+
+--
+1.8.0
+
diff --git a/dev-python/pyatspi/metadata.xml b/dev-python/pyatspi/metadata.xml
new file mode 100644
index 000000000000..6949624e59d4
--- /dev/null
+++ b/dev-python/pyatspi/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome-accessibility</herd>
+</pkgmetadata>
diff --git a/dev-python/pyatspi/pyatspi-2.12.0.ebuild b/dev-python/pyatspi/pyatspi-2.12.0.ebuild
new file mode 100644
index 000000000000..c39ef82669ba
--- /dev/null
+++ b/dev-python/pyatspi/pyatspi-2.12.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils gnome2 python-r1
+
+DESCRIPTION="Python binding to at-spi library"
+HOMEPAGE="http://live.gnome.org/Accessibility"
+
+# Note: only some of the tests are GPL-licensed, everything else is LGPL
+LICENSE="LGPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+IUSE="" # test
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+ >=dev-libs/atk-2.11.2
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.90.1:3[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+"
+RDEPEND="${COMMON_DEPEND}
+ >=sys-apps/dbus-1
+ >=app-accessibility/at-spi2-core-${PV}[introspection]
+ !<gnome-extra/at-spi-1.32.0-r1
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=689957
+ epatch "${FILESDIR}/${PN}-2.6.0-examples-python3.patch"
+
+ gnome2_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir gnome2_src_configure --disable-tests
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ docinto examples
+ dodoc examples/*.py
+}
diff --git a/dev-python/pyatspi/pyatspi-2.14.0.ebuild b/dev-python/pyatspi/pyatspi-2.14.0.ebuild
new file mode 100644
index 000000000000..c39ef82669ba
--- /dev/null
+++ b/dev-python/pyatspi/pyatspi-2.14.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils gnome2 python-r1
+
+DESCRIPTION="Python binding to at-spi library"
+HOMEPAGE="http://live.gnome.org/Accessibility"
+
+# Note: only some of the tests are GPL-licensed, everything else is LGPL
+LICENSE="LGPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+IUSE="" # test
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+ >=dev-libs/atk-2.11.2
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.90.1:3[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+"
+RDEPEND="${COMMON_DEPEND}
+ >=sys-apps/dbus-1
+ >=app-accessibility/at-spi2-core-${PV}[introspection]
+ !<gnome-extra/at-spi-1.32.0-r1
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=689957
+ epatch "${FILESDIR}/${PN}-2.6.0-examples-python3.patch"
+
+ gnome2_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir gnome2_src_configure --disable-tests
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ docinto examples
+ dodoc examples/*.py
+}
diff --git a/dev-python/pyatspi/pyatspi-2.16.0.ebuild b/dev-python/pyatspi/pyatspi-2.16.0.ebuild
new file mode 100644
index 000000000000..7af8e2dffe8c
--- /dev/null
+++ b/dev-python/pyatspi/pyatspi-2.16.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils gnome2 python-r1
+
+DESCRIPTION="Python binding to at-spi library"
+HOMEPAGE="http://live.gnome.org/Accessibility"
+
+# Note: only some of the tests are GPL-licensed, everything else is LGPL
+LICENSE="LGPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="" # test
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+ >=dev-libs/atk-2.11.2
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.90.1:3[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+"
+RDEPEND="${COMMON_DEPEND}
+ >=sys-apps/dbus-1
+ >=app-accessibility/at-spi2-core-${PV}[introspection]
+ !<gnome-extra/at-spi-1.32.0-r1
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=689957
+ epatch "${FILESDIR}/${PN}-2.6.0-examples-python3.patch"
+
+ gnome2_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir gnome2_src_configure --disable-tests
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ docinto examples
+ dodoc examples/*.py
+}
diff --git a/dev-python/pyaudio/Manifest b/dev-python/pyaudio/Manifest
new file mode 100644
index 000000000000..fc4defbfda64
--- /dev/null
+++ b/dev-python/pyaudio/Manifest
@@ -0,0 +1 @@
+DIST pyaudio-0.2.8.tar.gz 235900 SHA256 4f85367cf79657616684487037957ac38582ecc5389b89420fe61d901b719551 SHA512 af85291932809ceb966d1ace3c866cb6ac7e039b936ca35be668d4a3dc78c53e516070902d35fa6c829b37db376b8b512dc926ff1079e039809cae067be93069 WHIRLPOOL dae98752b6b885ce6f5247b9914fc9fcfd6264030c5f57c7276c6468de79ffdf30ea6196325ab0ff34b6997157ab97f6068ffa6ee27e137bab96c1589723550d
diff --git a/dev-python/pyaudio/metadata.xml b/dev-python/pyaudio/metadata.xml
new file mode 100644
index 000000000000..c1096494e794
--- /dev/null
+++ b/dev-python/pyaudio/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ PyAudio provides Python bindings for PortAudio (media-libs/portaudio),
+ the cross-platform audio I/O library.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/pyaudio/pyaudio-0.2.8.ebuild b/dev-python/pyaudio/pyaudio-0.2.8.ebuild
new file mode 100644
index 000000000000..c1ccc7c7a5c1
--- /dev/null
+++ b/dev-python/pyaudio/pyaudio-0.2.8.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for PortAudio"
+HOMEPAGE="http://people.csail.mit.edu/hubert/pyaudio/"
+SRC_URI="http://people.csail.mit.edu/hubert/pyaudio/packages/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="media-libs/portaudio"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/PyAudio-${PV}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyavm/Manifest b/dev-python/pyavm/Manifest
new file mode 100644
index 000000000000..792d0259ef8f
--- /dev/null
+++ b/dev-python/pyavm/Manifest
@@ -0,0 +1 @@
+DIST PyAVM-0.9.1.tar.gz 99461 SHA256 5b44dc29ee595849aed94af2db4fe670851a793713b1a3063bca2dee85aa415a SHA512 e3433a44d39cd54e20abd377c5722e7157e948cfde9176cabbe5f2a63999927ef2d9e94f1eb33da6276d6fac462fad8caa5991299483ae484aa15d9b96d9dc08 WHIRLPOOL 3b47b28685f2ffa48944bd87552a3f74282daa91444eb6a0eafb245df6292ec0f51365d76da7cde33b0d304e24ff52bd2439b1a2c150925ca6715c5f4b4af2d2
diff --git a/dev-python/pyavm/metadata.xml b/dev-python/pyavm/metadata.xml
new file mode 100644
index 000000000000..b0e9feda2056
--- /dev/null
+++ b/dev-python/pyavm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ PyAVM is a module to represent, read, and write metadata following
+ the Astronomy Visualization Metadata (AVM) standard.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">PyAVM</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/pyavm/pyavm-0.9.1.ebuild b/dev-python/pyavm/pyavm-0.9.1.ebuild
new file mode 100644
index 000000000000..ca03fad52525
--- /dev/null
+++ b/dev-python/pyavm/pyavm-0.9.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MYPN=PyAVM
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="Python module for Astronomy Visualization Metadata i/o"
+HOMEPAGE="http://astrofrog.github.io/pyavm/"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/astropy-0.2[${PYTHON_USEDEP}]"
+
+DEPEND="
+ test? (
+ >=dev-python/astropy-0.2[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MYP}"
+
+python_test() {
+ py.test || die "tests for ${EPYTHON} failed"
+}
diff --git a/dev-python/pybloomfiltermmap/Manifest b/dev-python/pybloomfiltermmap/Manifest
new file mode 100644
index 000000000000..c4085390920b
--- /dev/null
+++ b/dev-python/pybloomfiltermmap/Manifest
@@ -0,0 +1,2 @@
+DIST pybloomfiltermmap-0.3.11.tar.gz 435754 SHA256 0b8e64a9865362a6f4a7a33018c41155322b4485705ad087ed144ff33f6a9f89 SHA512 cce4218ee23382a8633ba9f846e11344a65bc3e04b1e2e6770c017ac3b078a87288e63020f9455eaa34b8920d71ccfdad169261d428a43b32a7ca76664fd3bd8 WHIRLPOOL 8c44b98431b072027dc9e29bb0499d79d78961e8511374084731cf633a8fb5eae169fe1d16c55995f8b2330da8d43f6dc156fcbd4c1115c6104a291abdea1fdf
+DIST pybloomfiltermmap-0.3.14.tar.gz 446760 SHA256 eb21b180ff77b7afd2d586ed9d188cbf9563103e26e7ee72ed11dd492cc37875 SHA512 c2b7414464ffd7feb31b74ad576716554b79ebe59675cb61cd241c270628ce821d97ddef1be7fea9f0b5f2019a7fa009d21e9f14e7f7e514aa6446ca23702cb3 WHIRLPOOL 4cd4b0a09d5077d414b4467e298eddb56713b8f697f1129928635ef9ca1fcc3792b648a07701fd08e43556d40f505df8752dcaf525236a970339bf2d2f73c861
diff --git a/dev-python/pybloomfiltermmap/metadata.xml b/dev-python/pybloomfiltermmap/metadata.xml
new file mode 100644
index 000000000000..74c0e96c61bd
--- /dev/null
+++ b/dev-python/pybloomfiltermmap/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>clabbe.montjoie@gmail.com</email>
+ <name>LABBE Corentin (Montjoie)</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pybloomfiltermmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.11-r1.ebuild b/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.11-r1.ebuild
new file mode 100644
index 000000000000..0261a910ee2c
--- /dev/null
+++ b/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.11-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Bloom filter (bloomfilter) for Python built on mmap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/pybloomfiltermmap"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.14.ebuild b/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.14.ebuild
new file mode 100644
index 000000000000..c90edbf6a5da
--- /dev/null
+++ b/dev-python/pybloomfiltermmap/pybloomfiltermmap-0.3.14.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Bloom filter (bloomfilter) for Python built on mmap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://pypi.python.org/pypi/pybloomfiltermmap"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ # Failures X 2 by pypy are harmless; written for py2, reflect only how pypy handles exceptions
+ "${PYTHON}" -m unittest tests.test_all || die "Tests failed"
+}
diff --git a/dev-python/pybluez/Manifest b/dev-python/pybluez/Manifest
new file mode 100644
index 000000000000..2bd50d554f0f
--- /dev/null
+++ b/dev-python/pybluez/Manifest
@@ -0,0 +1 @@
+DIST PyBluez-0.18.tar.gz 74501 SHA256 66b2184e0eaad5e1ecc89eb4c81cba0696b3028b85d1301186b45b0bbd761065 SHA512 ddd185ad90f7c6235e25182afccfb586efa0d361f38140f33718dc2d29ca62f3aa68867d075820afffd5ee2fbd306b907b565fbdfdf32f906657f6a3a8c779da WHIRLPOOL 7cc0aaa8f5d33626689c10c4c171d0b5f115cbefda1c561b3146ae0f2b397739bf67a05f7f0ae330620194a54b595d408da81f11e07fcf51f4b176f60e11a7ba
diff --git a/dev-python/pybluez/metadata.xml b/dev-python/pybluez/metadata.xml
new file mode 100644
index 000000000000..619a2baffac0
--- /dev/null
+++ b/dev-python/pybluez/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>PyBluez is an effort to create Python wrappers around bluez to allow Python
+developers to use system bluetooth resources. It works on machines running the
+GNU/Linux operating system and the bluez bluetooth stack.</longdescription>
+ <upstream>
+ <remote-id type="google-code">pybluez</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pybluez/pybluez-0.18-r1.ebuild b/dev-python/pybluez/pybluez-0.18-r1.ebuild
new file mode 100644
index 000000000000..825378ae28d0
--- /dev/null
+++ b/dev-python/pybluez/pybluez-0.18-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="PyBluez-${PV}"
+
+DESCRIPTION="Python bindings for Bluez Bluetooth Stack"
+HOMEPAGE="http://code.google.com/p/pybluez/"
+SRC_URI="http://pybluez.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples"
+
+DEPEND="net-wireless/bluez"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycadf/Manifest b/dev-python/pycadf/Manifest
new file mode 100644
index 000000000000..d2b6570c50a0
--- /dev/null
+++ b/dev-python/pycadf/Manifest
@@ -0,0 +1,3 @@
+DIST pycadf-0.6.0.tar.gz 277434 SHA256 9ba1e9ac52ee2a2d6d9cc89847323559cc2ffe7b4d80b703944a0a1f75c7093f SHA512 97e223296e5cf77bbc2f7f8b2caba70f76d418ccd476bbc07462dac2c01399f920ae7801f1e30ef91ac6dbfe340b8b45dff2426bf457c1239f54293dbadeef61 WHIRLPOOL 96644ae4b82352cd0a296f3a9adf161b8500d043d8d2bce239c23473a53e1a2feb43f60d92c67bf1543b3b101bbf722bf9104b2c6b16fa7240b94e86cc6a2aa1
+DIST pycadf-0.8.0.tar.gz 255774 SHA256 240d7775682a0f49fb580310dd6459e8a8b5f5619dfdc687f043c3fe21b48ba1 SHA512 3b8446c33f0bf740b0f2384bb9e4c5ab5d960690e50bd52cf2217eb184f9f8061dfe39da9b21ef275a7c66ba4e35b912bfd9476469b28c3c2cd6f33d912ac6f7 WHIRLPOOL bf28052eee894a1a986c1903f44f2f800f096979188a6b0ff502b7316d38ce7c43197405e635da097de038e24c1d870140a4ddd1c0eaa543841b3073055f1c19
+DIST pycadf-1.0.0.tar.gz 247178 SHA256 8278865dba0c6d7d2c83f51629c0f215393e8cbc36719c845b591f40dd80609f SHA512 7f7a4bb1d89ee3a63c9c74980995864b6e80a4e7df2111b4bafb42ba977ab2b86aac5e288d930068789cae9cabee13300ede7ae3c520440cc5fdfdac057085c0 WHIRLPOOL 68eab74a8e7a727d178dfdaa7cef27d0a41538540c450446a768775de61854eb82ca070792e694bad422ccacfae894b73226ab9224d82f742fdcd037ebd2c725
diff --git a/dev-python/pycadf/files/CVE-2014-4615.patch b/dev-python/pycadf/files/CVE-2014-4615.patch
new file mode 100644
index 000000000000..54596a5c2cb3
--- /dev/null
+++ b/dev-python/pycadf/files/CVE-2014-4615.patch
@@ -0,0 +1,29 @@
+https://review.openstack.org/#/c/94878/
+Owner gordon chung
+Project openstack/pycadf
+Branch master
+Topic bug1321080
+Uploaded May 22, 2014 10:12 PM
+Updated May 23, 2014 3:34 AM
+Status Merged
+
+Commit Message: remove token from notifier middleware
+
+notifier middleware is capturing token and sending it to MQ. this
+is not advisable so we should filter it out.
+
+Change-Id: I11d9f2f23fc3b60c945c33d4d02bd7640d88a083
+Closes-Bug: #1321080
+diff --git a/pycadf/middleware/notifier.py b/pycadf/middleware/notifier.py
+index fc921f8..621c8b4 100644
+--- a/pycadf/middleware/notifier.py
++++ b/pycadf/middleware/notifier.py
+@@ -88,7 +88,7 @@
+ include them.
+ """
+ return dict((k, v) for k, v in six.iteritems(environ)
+- if k.isupper())
++ if k.isupper() and k != 'HTTP_X_AUTH_TOKEN')
+
+ @log_and_ignore_error
+ def process_request(self, request):
diff --git a/dev-python/pycadf/metadata.xml b/dev-python/pycadf/metadata.xml
new file mode 100644
index 000000000000..ce24edf446a0
--- /dev/null
+++ b/dev-python/pycadf/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ python implementation of DMTF Cloud Audit (CADF) data model
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pycadf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycadf/pycadf-0.6.0.ebuild b/dev-python/pycadf/pycadf-0.6.0.ebuild
new file mode 100644
index 000000000000..88289d3745f1
--- /dev/null
+++ b/dev-python/pycadf/pycadf-0.6.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="python implementation of DMTF Cloud Audit (CADF) data model"
+HOMEPAGE="https://pypi.python.org/pypi/pycadf"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ ~dev-python/docutils-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-1.4.0[${PYTHON_USEDEP}]
+ dev-python/posix_ipc[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2010h[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
+
+PATCHES=()
+
+python_prepare_all() {
+ # ? typo error in conf.py
+ sed -e s':oslosphinx:oslo.sphinx:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ nosetests ${PN}/tests || die "test failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycadf/pycadf-0.8.0.ebuild b/dev-python/pycadf/pycadf-0.8.0.ebuild
new file mode 100644
index 000000000000..55962001d84a
--- /dev/null
+++ b/dev-python/pycadf/pycadf-0.8.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="python implementation of DMTF Cloud Audit (CADF) data model"
+HOMEPAGE="https://pypi.python.org/pypi/pycadf"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+ doc? (
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-httpdomain[${PYTHON_USEDEP}]
+ )"
+# !=1.2.0 of sphinx deleted since it is not in portage anyway
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013d[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ nosetests ${PN}/tests || die "test failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycadf/pycadf-1.0.0.ebuild b/dev-python/pycadf/pycadf-1.0.0.ebuild
new file mode 100644
index 000000000000..50dfd63d0cd1
--- /dev/null
+++ b/dev-python/pycadf/pycadf-1.0.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="python implementation of DMTF Cloud Audit (CADF) data model"
+HOMEPAGE="https://pypi.python.org/pypi/pycadf"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ doc? (
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-httpdomain[${PYTHON_USEDEP}]
+ )"
+# !=1.2.0 of sphinx deleted since it is not in portage anyway
+RDEPEND=">=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
new file mode 100644
index 000000000000..d081c0c7b8c7
--- /dev/null
+++ b/dev-python/pycairo/Manifest
@@ -0,0 +1,2 @@
+DIST py2cairo-1.10.0.tar.bz2 402070 SHA256 d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431 SHA512 cb3d54de9af4134460ce731da8166a3127a642c8a2e6184109437ddec115cd55b8dd2413a5c81700277bfe2f22fcfe268db4f3ba0f7649751e85bb34295f79fc WHIRLPOOL 60b57d55b27f06acd62714ac6ad7973ab973d42995fb536ae800263a2e8c7451a24ccafd96fe30f5bfa26e1ae218934d4fafaafec3e9666a39b33c78672407e2
+DIST pycairo-1.10.0.tar.bz2 246556 SHA256 9aa4078e7eb5be583aeabbe8d87172797717f95e8c4338f0d4a17b683a7253be SHA512 a03db6f04cea504985f390b0734042390f491f32ae2bee1299dabbafd369fde36bb506ebb941d22bbc11b0d008c4f758baeacf309a7336880529455092db829f WHIRLPOOL e779d56d67ef18bbd052d81acb38d8b610ca4bbf787f4b0e3982633de55ff54d6dfa3e5ce1957321fba09f0ec2d12ce12057335de9d5ff3f84c2bc0530415e76
diff --git a/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch b/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch
new file mode 100644
index 000000000000..e921ac34acd2
--- /dev/null
+++ b/dev-python/pycairo/files/py2cairo-1.10.0-ppc-darwin.patch
@@ -0,0 +1,18 @@
+inspired by:
+http://groups.google.com/group/waf-users/browse_thread/thread/2bd6774056c850bc/
+27bfdcac2fb9ec05?lnk=gst#27bfdcac2fb9ec05
+
+we cannot "fix" the buildsystem, since it's bzip2-tarred *sigh*
+
+
+--- waf
++++ waf
+@@ -154,6 +154,8 @@
+
+ wafdir = find_lib()
+ sys.path.insert(0, wafdir)
++from waflib.Tools.c_config import MACRO_TO_DESTOS
++MACRO_TO_DESTOS['__POWERPC__'] = 'darwin'
+
+ if __name__ == '__main__':
+ import waflib.extras.compat15
diff --git a/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch b/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch
new file mode 100644
index 000000000000..4cd755c8d574
--- /dev/null
+++ b/dev-python/pycairo/files/py2cairo-1.10.0-svg_check.patch
@@ -0,0 +1,126 @@
+--- src/cairomodule.c
++++ src/cairomodule.c
+@@ -127,7 +127,7 @@
+ #else
+ 0,
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ &PycairoSVGSurface_Type,
+ #else
+ 0,
+@@ -223,7 +223,7 @@
+ if (PyType_Ready(&PycairoPSSurface_Type) < 0)
+ return;
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ if (PyType_Ready(&PycairoSVGSurface_Type) < 0)
+ return;
+ #endif
+@@ -305,7 +305,7 @@
+ PyModule_AddObject(m, "PSSurface", (PyObject *)&PycairoPSSurface_Type);
+ #endif
+
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ Py_INCREF(&PycairoSVGSurface_Type);
+ PyModule_AddObject(m, "SVGSurface", (PyObject *)&PycairoSVGSurface_Type);
+ #endif
+@@ -379,7 +379,7 @@
+ #else
+ PyModule_AddIntConstant(m, "HAS_PS_SURFACE", 0);
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 1);
+ #else
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 0);
+--- src/private.h
++++ src/private.h
+@@ -86,7 +86,7 @@
+ extern PyTypeObject PycairoPSSurface_Type;
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ extern PyTypeObject PycairoSVGSurface_Type;
+ #endif
+
+--- src/pycairo.h
++++ src/pycairo.h
+@@ -182,7 +182,7 @@
+ #define PycairoPSSurface_Type *(Pycairo_CAPI->PSSurface_Type)
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ #define PycairoSVGSurface_Type *(Pycairo_CAPI->SVGSurface_Type)
+ #endif
+
+--- src/surface.c
++++ src/surface.c
+@@ -83,7 +83,7 @@
+ type = &PycairoPSSurface_Type;
+ break;
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ case CAIRO_SURFACE_TYPE_SVG:
+ type = &PycairoSVGSurface_Type;
+ break;
+@@ -1015,7 +1015,7 @@
+
+
+ /* Class SVGSurface(Surface) ----------------------------------------------- */
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ #include <cairo-svg.h>
+
+ static PyObject *
+@@ -1125,7 +1125,7 @@
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ };
+-#endif /* CAIRO_HAS_SVG_SURFACE */
++#endif /* PYCAIRO_ENABLE_SVG */
+
+
+ #if CAIRO_HAS_WIN32_SURFACE
+--- wscript
++++ wscript
+@@ -1,6 +1,7 @@
+ # -*- python -*-
+
+ import os
++import subprocess
+
+ top = '.'
+ out = 'build_directory'
+@@ -11,6 +12,17 @@
+ cairo_version_required = '1.10.0'
+
+
++def check_svg():
++ if os.environ.get('PYCAIRO_DISABLE_SVG', None) is None:
++ return_code = subprocess.call(['pkg-config', '--exists', 'cairo-svg'])
++ if return_code == 0:
++ return True
++ else:
++ return False
++ else:
++ return False
++
++
+ def options(ctx):
+ print(' %s/options()' %d)
+ ctx.tool_options('gnu_dirs')
+@@ -39,6 +51,8 @@
+ ctx.define('PYCAIRO_VERSION_MAJOR', version[0])
+ ctx.define('PYCAIRO_VERSION_MINOR', version[1])
+ ctx.define('PYCAIRO_VERSION_MICRO', version[2])
++ if check_svg():
++ ctx.define('PYCAIRO_ENABLE_SVG', 1)
+
+ ctx.write_config_header('src/config.h')
+
diff --git a/dev-python/pycairo/files/py2cairo-1.10.0-xpyb.patch b/dev-python/pycairo/files/py2cairo-1.10.0-xpyb.patch
new file mode 100644
index 000000000000..c136cb0c39a1
--- /dev/null
+++ b/dev-python/pycairo/files/py2cairo-1.10.0-xpyb.patch
@@ -0,0 +1,38 @@
+--- py2cairo-1.10.0/wscript
++++ py2cairo-1.10.0/wscript
+@@ -10,6 +10,7 @@
+ APPNAME='py2cairo'
+ VERSION='1.10.0'
+ cairo_version_required = '1.10.0'
++xpyb_version_required = '1.3'
+
+
+ def check_svg():
+@@ -23,6 +24,17 @@
+ return False
+
+
++def check_xpyb():
++ if os.environ.get('PYCAIRO_DISABLE_XPYB', None) is None:
++ return_code = subprocess.call(['pkg-config', '--exists', 'xpyb'])
++ if return_code == 0:
++ return True
++ else:
++ return False
++ else:
++ return False
++
++
+ def options(ctx):
+ print(' %s/options()' %d)
+ ctx.tool_options('gnu_dirs')
+@@ -41,6 +53,9 @@
+ ctx.check_python_headers()
+ ctx.check_cfg(package='cairo', atleast_version=cairo_version_required,
+ args='--cflags --libs')
++ if check_xpyb():
++ ctx.check_cfg(package='xpyb', atleast_version=xpyb_version_required,
++ args='--cflags --libs', mandatory=False)
+
+ # add gcc options
+ if env['CC_NAME'] == 'gcc':
diff --git a/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch b/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch
new file mode 100644
index 000000000000..572a5f6cc717
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.10.0-svg_check.patch
@@ -0,0 +1,126 @@
+--- src/cairomodule.c
++++ src/cairomodule.c
+@@ -116,7 +116,7 @@
+ #else
+ 0,
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ &PycairoSVGSurface_Type,
+ #else
+ 0,
+@@ -247,7 +247,7 @@
+ if (PyType_Ready(&PycairoPSSurface_Type) < 0)
+ return NULL;
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ if (PyType_Ready(&PycairoSVGSurface_Type) < 0)
+ return NULL;
+ #endif
+@@ -337,7 +337,7 @@
+ PyModule_AddObject(m, "PSSurface", (PyObject *)&PycairoPSSurface_Type);
+ #endif
+
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ Py_INCREF(&PycairoSVGSurface_Type);
+ PyModule_AddObject(m, "SVGSurface", (PyObject *)&PycairoSVGSurface_Type);
+ #endif
+@@ -399,7 +399,7 @@
+ #else
+ PyModule_AddIntConstant(m, "HAS_PS_SURFACE", 0);
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 1);
+ #else
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 0);
+--- src/private.h
++++ src/private.h
+@@ -75,7 +75,7 @@
+ extern PyTypeObject PycairoPSSurface_Type;
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ extern PyTypeObject PycairoSVGSurface_Type;
+ #endif
+
+--- src/py3cairo.h
++++ src/py3cairo.h
+@@ -171,7 +171,7 @@
+ #define PycairoPSSurface_Type *(Pycairo_CAPI->PSSurface_Type)
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ #define PycairoSVGSurface_Type *(Pycairo_CAPI->SVGSurface_Type)
+ #endif
+
+--- src/surface.c
++++ src/surface.c
+@@ -72,7 +72,7 @@
+ type = &PycairoPSSurface_Type;
+ break;
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ case CAIRO_SURFACE_TYPE_SVG:
+ type = &PycairoSVGSurface_Type;
+ break;
+@@ -1022,7 +1022,7 @@
+
+
+ /* Class SVGSurface(Surface) ----------------------------------------------- */
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ #include <cairo-svg.h>
+
+ static PyObject *
+@@ -1133,7 +1133,7 @@
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ };
+-#endif /* CAIRO_HAS_SVG_SURFACE */
++#endif /* PYCAIRO_ENABLE_SVG */
+
+
+ #if CAIRO_HAS_WIN32_SURFACE
+--- wscript
++++ wscript
+@@ -1,6 +1,7 @@
+ # -*- python -*-
+
+ import os
++import subprocess
+
+ top = '.'
+ out = 'build_directory'
+@@ -11,6 +12,17 @@
+ cairo_version_required = '1.10.0'
+
+
++def check_svg():
++ if os.environ.get('PYCAIRO_DISABLE_SVG', None) is None:
++ return_code = subprocess.call(['pkg-config', '--exists', 'cairo-svg'])
++ if return_code == 0:
++ return True
++ else:
++ return False
++ else:
++ return False
++
++
+ def options(ctx):
+ print(' %s/options()' %d)
+ ctx.tool_options('gnu_dirs')
+@@ -39,6 +51,8 @@
+ ctx.define('PYCAIRO_VERSION_MAJOR', version[0])
+ ctx.define('PYCAIRO_VERSION_MINOR', version[1])
+ ctx.define('PYCAIRO_VERSION_MICRO', version[2])
++ if check_svg():
++ ctx.define('PYCAIRO_ENABLE_SVG', 1)
+
+ ctx.write_config_header('src/config.h')
+
diff --git a/dev-python/pycairo/files/pycairo-1.10.0-waf-py3_4.patch b/dev-python/pycairo/files/pycairo-1.10.0-waf-py3_4.patch
new file mode 100644
index 000000000000..6e79db9ba272
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.10.0-waf-py3_4.patch
@@ -0,0 +1,11 @@
+--- a/waflib/Tools/python.py
++++ b/waflib/Tools/python.py
+@@ -169,7 +169,7 @@
+ conf.find_program('python-config-%s'%num,var='PYTHON_CONFIG',mandatory=False)
+ includes=[]
+ if conf.env.PYTHON_CONFIG:
+- for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
++ for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
+ if(incstr.startswith('-I')or incstr.startswith('/I')):
+ incstr=incstr[2:]
+ if incstr not in includes:
diff --git a/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch b/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch
new file mode 100644
index 000000000000..7d54ba160d68
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.10.0-waf-unpack.patch
@@ -0,0 +1,12 @@
+--- a/waf
++++ b/waf
+@@ -153,6 +153,9 @@
+ return dir
+
+ wafdir = find_lib()
++if sys.argv[1:] == ['unpack']:
++ print(wafdir)
++ exit()
+ sys.path.insert(0, wafdir)
+ from waflib.Tools.c_config import MACRO_TO_DESTOS
+ MACRO_TO_DESTOS['__POWERPC__'] = 'darwin'
diff --git a/dev-python/pycairo/files/pycairo-1.10.0-xpyb.patch b/dev-python/pycairo/files/pycairo-1.10.0-xpyb.patch
new file mode 100644
index 000000000000..33de2692f838
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.10.0-xpyb.patch
@@ -0,0 +1,41 @@
+--- pycairo-1.10.0/wscript
++++ pycairo-1.10.0/wscript
+@@ -10,6 +10,7 @@
+ APPNAME='pycairo'
+ VERSION='1.10.0'
+ cairo_version_required = '1.10.0'
++xpyb_version_required = '1.3' # optional
+
+
+ def check_svg():
+@@ -23,6 +24,17 @@
+ return False
+
+
++def check_xpyb():
++ if os.environ.get('PYCAIRO_DISABLE_XPYB', None) is None:
++ return_code = subprocess.call(['pkg-config', '--exists', 'xpyb'])
++ if return_code == 0:
++ return True
++ else:
++ return False
++ else:
++ return False
++
++
+ def options(ctx):
+ print(' %s/options()' %d)
+ ctx.tool_options('gnu_dirs')
+@@ -42,6 +54,12 @@
+ ctx.check_cfg(package='cairo', atleast_version=cairo_version_required,
+ args='--cflags --libs')
+
++# xpyb for Python 3 is not available yet.
++# the Python 3 version should probably have a different name than 'xpyb'
++# if check_xpyb():
++# ctx.check_cfg(package='xpyb', atleast_version=xpyb_version_required,
++# args='--cflags --libs', mandatory=False)
++
+ # add gcc options
+ if env['CC_NAME'] == 'gcc':
+ env.append_unique('CCFLAGS', ['-std=c99', '-Wall'])
diff --git a/dev-python/pycairo/files/pycairo-1.8.10-pkgconfig_dir.patch b/dev-python/pycairo/files/pycairo-1.8.10-pkgconfig_dir.patch
new file mode 100644
index 000000000000..13015af9c331
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.8.10-pkgconfig_dir.patch
@@ -0,0 +1,11 @@
+--- setup.py
++++ setup.py
+@@ -109,7 +109,7 @@
+ ext_modules = [cairo],
+ data_files = [
+ ('include/pycairo', ['src/pycairo.h']),
+- ('lib/pkgconfig', [pkgconfig_file]),
++ (os.environ.get('PKGCONFIG_DIR', 'lib/pkgconfig'), [pkgconfig_file]),
+ (os.path.join(dsy.get_python_lib(), 'cairo'),
+ ['src/__init__.py']),
+ ],
diff --git a/dev-python/pycairo/files/pycairo-1.8.8-svg_check.patch b/dev-python/pycairo/files/pycairo-1.8.8-svg_check.patch
new file mode 100644
index 000000000000..78dc13bd1749
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.8.8-svg_check.patch
@@ -0,0 +1,116 @@
+--- setup.py
++++ setup.py
+@@ -29,6 +30,16 @@
+ print pipe.stderr.read()
+ raise SystemExit('Error: %s >= %s not found' % (pkg, version))
+
++def pkg_config_svg_check():
++ if os.environ.get('PYCAIRO_DISABLE_SVG', None) is None:
++ pipe = call('pkg-config --exists cairo-svg')
++ if pipe.returncode == 0:
++ return [('PYCAIRO_ENABLE_SVG', None)]
++ else:
++ return []
++ else:
++ return []
++
+ def pkg_config_parse(opt, pkg):
+ pipe = call("pkg-config %s %s" % (opt, pkg))
+ output = pipe.stdout.read()
+@@ -94,6 +105,7 @@
+ 'src/pattern.c',
+ 'src/surface.c',
+ ],
++ define_macros = pkg_config_svg_check(),
+ include_dirs = pkg_config_parse('--cflags-only-I', 'cairo'),
+ library_dirs = pkg_config_parse('--libs-only-L', 'cairo'),
+ libraries = pkg_config_parse('--libs-only-l', 'cairo'),
+--- src/cairomodule.c
++++ src/cairomodule.c
+@@ -122,7 +122,7 @@
+ #else
+ 0,
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ &PycairoSVGSurface_Type,
+ #else
+ 0,
+@@ -209,7 +209,7 @@
+ if (PyType_Ready(&PycairoPSSurface_Type) < 0)
+ return;
+ #endif
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ if (PyType_Ready(&PycairoSVGSurface_Type) < 0)
+ return;
+ #endif
+@@ -285,7 +285,7 @@
+ PyModule_AddObject(m, "PSSurface", (PyObject *)&PycairoPSSurface_Type);
+ #endif
+
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ Py_INCREF(&PycairoSVGSurface_Type);
+ PyModule_AddObject(m, "SVGSurface", (PyObject *)&PycairoSVGSurface_Type);
+ #endif
+@@ -350,7 +350,7 @@
+ #else
+ PyModule_AddIntConstant(m, "HAS_PS_SURFACE", 0);
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 1);
+ #else
+ PyModule_AddIntConstant(m, "HAS_SVG_SURFACE", 0);
+--- src/private.h
++++ src/private.h
+@@ -86,7 +86,7 @@
+ extern PyTypeObject PycairoPSSurface_Type;
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ extern PyTypeObject PycairoSVGSurface_Type;
+ #endif
+
+--- src/pycairo.h
++++ src/pycairo.h
+@@ -178,7 +178,7 @@
+ #define PycairoPSSurface_Type *(Pycairo_CAPI->PSSurface_Type)
+ #endif
+
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ #define PycairoSVGSurface_Type *(Pycairo_CAPI->SVGSurface_Type)
+ #endif
+
+--- src/surface.c
++++ src/surface.c
+@@ -80,7 +80,7 @@
+ type = &PycairoPSSurface_Type;
+ break;
+ #endif
+-#if CAIRO_HAS_SVG_SURFACE
++#if PYCAIRO_ENABLE_SVG
+ case CAIRO_SURFACE_TYPE_SVG:
+ type = &PycairoSVGSurface_Type;
+ break;
+@@ -965,7 +965,7 @@
+
+
+ /* Class SVGSurface(Surface) ----------------------------------------------- */
+-#ifdef CAIRO_HAS_SVG_SURFACE
++#ifdef PYCAIRO_ENABLE_SVG
+ #include <cairo-svg.h>
+
+ static PyObject *
+@@ -1067,7 +1067,7 @@
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ };
+-#endif /* CAIRO_HAS_SVG_SURFACE */
++#endif /* PYCAIRO_ENABLE_SVG */
+
+
+ /* Class Win32Surface(Surface) -------------------------------------------- */
diff --git a/dev-python/pycairo/metadata.xml b/dev-python/pycairo/metadata.xml
new file mode 100644
index 000000000000..ee7e8b2450a8
--- /dev/null
+++ b/dev-python/pycairo/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pycairo/pycairo-1.10.0-r4.ebuild b/dev-python/pycairo/pycairo-1.10.0-r4.ebuild
new file mode 100644
index 000000000000..03aba82b1fb1
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.10.0-r4.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE='threads(+)'
+
+inherit eutils python-r1 waf-utils toolchain-funcs
+
+PYCAIRO_PYTHON2_VERSION="${PV}"
+PYCAIRO_PYTHON3_VERSION="${PV}"
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="http://cairographics.org/pycairo/ http://pypi.python.org/pypi/pycairo"
+SRC_URI="http://cairographics.org/releases/py2cairo-${PYCAIRO_PYTHON2_VERSION}.tar.bz2
+ http://cairographics.org/releases/pycairo-${PYCAIRO_PYTHON3_VERSION}.tar.bz2"
+
+# LGPL-3 for pycairo 1.10.0.
+# || ( LGPL-2.1 MPL-1.1 ) for pycairo 1.8.10.
+LICENSE="LGPL-3 || ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +svg test xcb"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Note: xpyb is used as the C header, not Python modules
+RDEPEND="${PYTHON_DEPS}
+ >=x11-libs/cairo-1.10.0[svg?,xcb?]
+ xcb? ( x11-libs/xpyb )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+src_prepare() {
+
+ pushd "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" > /dev/null
+ rm -f src/config.h || die
+ epatch "${FILESDIR}/${PN}-1.10.0-svg_check.patch"
+ epatch "${FILESDIR}/${PN}-1.10.0-xpyb.patch"
+ epatch "${FILESDIR}/${PN}-1.10.0-waf-unpack.patch"
+ epatch "${FILESDIR}"/py2cairo-1.10.0-ppc-darwin.patch
+ popd > /dev/null
+
+ pushd "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" > /dev/null
+ rm -f src/config.h || die
+ epatch "${FILESDIR}/py2cairo-1.10.0-svg_check.patch"
+ epatch "${FILESDIR}/py2cairo-1.10.0-xpyb.patch"
+ epatch "${FILESDIR}"/py2cairo-1.10.0-ppc-darwin.patch
+ popd > /dev/null
+
+ preparation() {
+ if python_is_python3; then
+ cp -r -l "${WORKDIR}/pycairo-${PYCAIRO_PYTHON3_VERSION}" "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ wafdir="$(./waf unpack)"
+ pushd "${wafdir}" > /dev/null
+ epatch "${FILESDIR}/${PN}-1.10.0-waf-py3_4.patch"
+ popd > /dev/null
+ popd > /dev/null
+ else
+ cp -r -l "${WORKDIR}/py2cairo-${PYCAIRO_PYTHON2_VERSION}" "${BUILD_DIR}" || die
+ fi
+ }
+ python_foreach_impl preparation
+}
+
+src_configure() {
+ if ! use svg; then
+ export PYCAIRO_DISABLE_SVG=1
+ fi
+
+ if ! use xcb; then
+ export PYCAIRO_DISABLE_XPYB=1
+ fi
+
+ tc-export PKG_CONFIG
+ # Also export the var with the slightly diff name that waf uses for no good reason.
+ export PKGCONFIG=${PKG_CONFIG}
+
+ # Added by grobian:
+ # If WAF_BINARY is an absolute path, the configure is different and fails to
+ # find Python.h due to a compiler misconfiguration. If WAF_BINARY is just
+ # ./waf or python waf, it works fine. Hooray for reinvented buildsystems
+
+ # floppym:
+ # pycairo and py2cairo bundle different versions of waf (bug 447856)
+ WAF_BINARY="./waf"
+ python_foreach_impl run_in_build_dir waf-utils_src_configure --nopyc --nopyo
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir waf-utils_src_compile
+}
+
+src_test() {
+ test_installation() {
+ ./waf install --destdir="${T}/tests/${BUILD_DIR}"
+ PYTHONPATH="${T}/tests/${BUILD_DIR}$(python_get_sitedir)" py.test -v
+ }
+ python_foreach_impl run_in_build_dir test_installation
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir waf-utils_src_install
+
+ dodoc AUTHORS NEWS README
+
+ if use doc; then
+ pushd doc/_build/html > /dev/null || die
+ dohtml -r [a-z]* _static
+ popd > /dev/null || die
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # fix install_names; next to waf producing dylibs (not bundles) and
+ # calling them .bundle, it also has no idea what it should do to create
+ # proper ones (dylibs)
+ fix_darwin_install_names() {
+ local x="$(python_get_sitedir)/cairo/_cairo.bundle"
+ install_name_tool -id "${x}" "${ED}${x}"
+ }
+ python_foreach_impl fix_darwin_install_names
+ fi
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "$@"
+ popd > /dev/null || die
+}
diff --git a/dev-python/pycallgraph/Manifest b/dev-python/pycallgraph/Manifest
new file mode 100644
index 000000000000..0b6a8cd2ffab
--- /dev/null
+++ b/dev-python/pycallgraph/Manifest
@@ -0,0 +1 @@
+DIST pycallgraph-1.0.1.tar.gz 458254 SHA256 1ee59de9c9bfbaa51613546103ef7923c644bbc92bce2b7df563522a7c9bd3a8 SHA512 75a20cd8c50f070c961466f89b70384c914129c8ffcbca3ffde8c4729cd5f8a3dc94c4a33d54990e5cb9e502ccd1038c64e878da84cf832065fe4ece74356e2e WHIRLPOOL a6ce038bc6529dca3e6d3b11f95d7ee521785c3ae32356bb95dfad1a3bf8830a240b51f53ca9c801534750dae16b5f14eeda625c045b2db516c8bc88aa760405
diff --git a/dev-python/pycallgraph/files/python3.3-tests.patch b/dev-python/pycallgraph/files/python3.3-tests.patch
new file mode 100644
index 000000000000..90f31a09ce4b
--- /dev/null
+++ b/dev-python/pycallgraph/files/python3.3-tests.patch
@@ -0,0 +1,87 @@
+diff --git a/pycallgraph/config.py b/pycallgraph/config.py
+index 5911fef..e3492c1 100755
+--- a/pycallgraph/config.py
++++ b/pycallgraph/config.py
+@@ -34,7 +34,7 @@ class Config(object):
+ self.did_init = True
+
+ # Update the defaults with anything from kwargs
+- [setattr(self, k, v) for k, v in kwargs.iteritems()]
++ [setattr(self, k, v) for k, v in kwargs.items()]
+
+ self.create_parser()
+
+diff --git a/pycallgraph/output/graphviz.py b/pycallgraph/output/graphviz.py
+index 6f10049..d130d65 100644
+--- a/pycallgraph/output/graphviz.py
++++ b/pycallgraph/output/graphviz.py
+@@ -148,7 +148,7 @@ class GraphvizOutput(Output):
+
+ def attrs_from_dict(self, d):
+ output = []
+- for attr, val in d.iteritems():
++ for attr, val in d.items():
+ output.append('%s = "%s"' % (attr, val))
+ return ', '.join(output)
+
+@@ -164,7 +164,7 @@ class GraphvizOutput(Output):
+
+ def generate_attributes(self):
+ output = []
+- for section, attrs in self.graph_attributes.iteritems():
++ for section, attrs in self.graph_attributes.items():
+ output.append('{} [ {} ];'.format(
+ section, self.attrs_from_dict(attrs),
+ ))
+diff --git a/pycallgraph/output/output.py b/pycallgraph/output/output.py
+index 9660d58..48eef49 100644
+--- a/pycallgraph/output/output.py
++++ b/pycallgraph/output/output.py
+@@ -16,14 +16,14 @@ class Output(object):
+ self.edge_label_func = self.edge_label
+
+ # Update the defaults with anything from kwargs
+- [setattr(self, k, v) for k, v in kwargs.iteritems()]
++ [setattr(self, k, v) for k, v in kwargs.items()]
+
+ def set_config(self, config):
+ '''
+ This is a quick hack to move the config variables set in Config into
+ the output module config variables.
+ '''
+- for k, v in config.__dict__.iteritems():
++ for k, v in config.__dict__.items():
+ if hasattr(self, k) and callable(getattr(self, k)):
+ continue
+ setattr(self, k, v)
+diff --git a/pycallgraph/tracer.py b/pycallgraph/tracer.py
+index 17e9286..74a1477 100644
+--- a/pycallgraph/tracer.py
++++ b/pycallgraph/tracer.py
+@@ -297,7 +297,7 @@ class TraceProcessor(Thread):
+ grp = defaultdict(list)
+ for node in self.nodes():
+ grp[self.group(node.name)].append(node)
+- for g in grp.iteritems():
++ for g in grp.items():
+ yield g
+
+ def stat_group_from_func(self, func, calls):
+@@ -315,14 +315,14 @@ class TraceProcessor(Thread):
+ return stat_group
+
+ def nodes(self):
+- for func, calls in self.func_count.iteritems():
++ for func, calls in self.func_count.items():
+ yield self.stat_group_from_func(func, calls)
+
+ def edges(self):
+- for src_func, dests in self.call_dict.iteritems():
++ for src_func, dests in self.call_dict.items():
+ if not src_func:
+ continue
+- for dst_func, calls in dests.iteritems():
++ for dst_func, calls in dests.items():
+ edge = self.stat_group_from_func(dst_func, calls)
+ edge.src_func = src_func
+ edge.dst_func = dst_func
diff --git a/dev-python/pycallgraph/metadata.xml b/dev-python/pycallgraph/metadata.xml
new file mode 100644
index 000000000000..1783018a2723
--- /dev/null
+++ b/dev-python/pycallgraph/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">gak/pycallgraph</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild b/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild
new file mode 100644
index 000000000000..79af19319453
--- /dev/null
+++ b/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="library and command line tool to visualise the flow of Python applications"
+HOMEPAGE="http://pycallgraph.slowchop.com/"
+SRC_URI="https://github.com/gak/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+CDEPEND="media-gfx/graphviz"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ examples? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ test? (
+ ${CDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/python3.3-tests.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use examples; then
+ cd docs/examples || die "Couldn't change to docs/examples"
+ "${PYTHON}" generate.py || die "Couldn't generate examples"
+ cd - || die "Couldn't return to previous directory"
+
+ cd docs/guide/filtering || die "Couldn't change to docs/guide/filtering"
+ "${PYTHON}" generate.py || die "Couldn't generate filtering examples"
+ cd - || die "Couldn't return to previous directory"
+ fi
+
+ use doc && emake -C docs html
+
+ emake -C docs man
+}
+
+python_test() {
+ # gephi is not in portage; thus, skip the gephi tests
+ rm -f test/test_gephi.py || die "Couldn't remove gephi tests"
+
+ py.test --ignore=pycallgraph/memory_profiler.py test pycallgraph examples || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+
+ doman docs/_build/man/pycallgraph.1
+}
diff --git a/dev-python/pycanberra/Manifest b/dev-python/pycanberra/Manifest
new file mode 100644
index 000000000000..8ffa7262a477
--- /dev/null
+++ b/dev-python/pycanberra/Manifest
@@ -0,0 +1 @@
+DIST pycanberra-0_pre20130515.zip 14945 SHA256 5d80b30c774bedec1ba37bda6e68d57f8f9f7977590ffe5f5d630a79f348b80f SHA512 9836ed3d5aea9a80a3ffd64ef85b327c7dcdf24793c65010f43139c548d7c77522ab32f407930efed89493509efd117c64ec0fbf4d1d6d567d4d34d12d1936aa WHIRLPOOL d1d81f7cfdbf7097b6fb0e33f127f93524d2921a86bd11d690e4b72ecb0924af9e79686413a68b73dccbc2043ebd6f0b101ea89a715865f2bbd8c25f5a33d8f8
diff --git a/dev-python/pycanberra/metadata.xml b/dev-python/pycanberra/metadata.xml
new file mode 100644
index 000000000000..76493836e911
--- /dev/null
+++ b/dev-python/pycanberra/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <herd>python</herd>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="github">psykoyiko/pycanberra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycanberra/pycanberra-0_pre20130515.ebuild b/dev-python/pycanberra/pycanberra-0_pre20130515.ebuild
new file mode 100644
index 000000000000..b68acf1c9253
--- /dev/null
+++ b/dev-python/pycanberra/pycanberra-0_pre20130515.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1
+
+DESCRIPTION="Basic Python wrapper for libcanberra"
+HOMEPAGE="https://github.com/psykoyiko/pycanberra/"
+PCOMMIT="88c53cd44a626ede3b07dab0b548f8bcfda42867"
+SRC_URI="https://github.com/psykoyiko/pycanberra/archive/${PCOMMIT}.zip -> ${P}.zip"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+ media-libs/libcanberra"
+DEPEND="${PYTHON_DEPS}"
+
+S="${WORKDIR}/${PN}-${PCOMMIT}"
+
+src_prepare() { :; }
+src_compile() { :; }
+src_install() {
+ python_foreach_impl python_domodule pycanberra.py
+ default
+}
diff --git a/dev-python/pycdf/Manifest b/dev-python/pycdf/Manifest
new file mode 100644
index 000000000000..d7188b40e9d9
--- /dev/null
+++ b/dev-python/pycdf/Manifest
@@ -0,0 +1 @@
+DIST pycdf-0.6-3.tar.gz 167762 SHA256 d81d8079bd5821dfa955fbb44f2b799d21451c596fcdb0e9dd849627e583b31b SHA512 c18ecb46fa3888ab2fdd3449fcc599a22e371996faa273aa67f137a960ad74f8eb40472174a9034ccecc86ddaea14d1955b4cfdd16c8b64d2fd54cc42a75ad86 WHIRLPOOL 2f53c26d31c1ecffae4b8079978a1ca07a2044ddb002483c6579915a84a9b90e6d18ed901a43f03c09758afa104fb8f19f85d5a8b5b670c73ab1c7aa839b022b
diff --git a/dev-python/pycdf/metadata.xml b/dev-python/pycdf/metadata.xml
new file mode 100644
index 000000000000..ed85ab12b1bc
--- /dev/null
+++ b/dev-python/pycdf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pysclint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycdf/pycdf-0.6.3-r1.ebuild b/dev-python/pycdf/pycdf-0.6.3-r1.ebuild
new file mode 100644
index 000000000000..b911462589bf
--- /dev/null
+++ b/dev-python/pycdf/pycdf-0.6.3-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${PN}-${PV:0:3}-${PV:4:1}"
+
+DESCRIPTION="Python interface to scientific netCDF library"
+HOMEPAGE="http://pysclint.sourceforge.net/pycdf/"
+SRC_URI="mirror://sourceforge/pysclint/${MY_P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ >=sci-libs/netcdf-3.6.1"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use doc && dohtml doc/pycdf.html
+ dodoc CHANGES doc/pycdf.txt
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycdio/Manifest b/dev-python/pycdio/Manifest
new file mode 100644
index 000000000000..948ea6e7afd8
--- /dev/null
+++ b/dev-python/pycdio/Manifest
@@ -0,0 +1 @@
+DIST pycdio-0.20.tar.gz 197736 SHA256 24b4985b699fc4d12c2d49f7cb25a1ceb65d69278d18458f7b041579c71030d7 SHA512 b53a535440008dc637b31fd2cda22845c91b98e78c30f90c866af3b9bf7cb3faad39f0784b5063a39bd97bb18fc58c75ad0833d53421182d408c2889c491846b WHIRLPOOL 7722efc2398cdcf971ac7c62dc360514f64eb636a6c2c10ab86255e27802e99c4008613541bacf55e7fe20aa1431e1f44b60243722686d69fbc9df9fda6ff619
diff --git a/dev-python/pycdio/metadata.xml b/dev-python/pycdio/metadata.xml
new file mode 100644
index 000000000000..23ae40d39515
--- /dev/null
+++ b/dev-python/pycdio/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">The pycdio (and libcdio) libraries encapsulate CD-ROM reading and
+ control. Python programs wishing to be oblivious of the OS- and
+ device-dependent properties of a CD-ROM can use this library.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pycdio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycdio/pycdio-0.20-r1.ebuild b/dev-python/pycdio/pycdio-0.20-r1.ebuild
new file mode 100644
index 000000000000..ed43e11220b3
--- /dev/null
+++ b/dev-python/pycdio/pycdio-0.20-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python OO interface to libcdio (CD Input and Control library)"
+HOMEPAGE="http://savannah.gnu.org/projects/libcdio/ http://pypi.python.org/pypi/pycdio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+RDEPEND=">=dev-libs/libcdio-0.90"
+DEPEND="${RDEPEND}
+ dev-lang/swig
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+RESTRICT="test" # currently tests fail
+
+python_prepare_all() {
+ # Remove obsolete sys.path and adjust 'data' paths in examples.
+ sed -i \
+ -e "s:^sys.path.insert.*::" \
+ -e "s:\.\./data:./data:g" \
+ example/*.py || die
+
+ # Disable failing tests.
+ sed -i -e "s/test_get_set/_&/" test/test-cdtext.py || die
+ sed -i -e "s/test_fs/_&/" test/test-isocopy.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all(){
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pychart/Manifest b/dev-python/pychart/Manifest
new file mode 100644
index 000000000000..cf0856890739
--- /dev/null
+++ b/dev-python/pychart/Manifest
@@ -0,0 +1,2 @@
+DIST PyChart-1.39.tar.gz 115908 SHA256 882650928776a7ca72e67054a9e0ac98f78645f279c0cfb5910db28f03f07c2e SHA512 b6af817906610f3907508b72e2e95a68893f65f132c7964c803dcb88ca2e999b57f89ead1c6a66e28796f1ed2df512d16513d093fc8de1505f678edda3e41532 WHIRLPOOL c69006c7ee888acfaf8aacd950daa9559af2d0bee0c3c55c7250d2a0376c6d5b633134b86c5ac150e4e535e4a35af19d0b0964a00a6ede2d41fa0f66fb19ceb7
+DIST pychart-doc.tar.gz 302416 SHA256 0188f1c3c0eb6e35b8518d4360f0356e516e81305a040caf2f2c4744b7850d6f SHA512 9a81fea73b37fb8decc1279cc0e52abbdc9f98c7d73c98c9c7d7d2d27e0bf33fa4eb199dc4a09488d5f109a202b23fe950d58e1140f29a720cd14190dff10530 WHIRLPOOL 26af512d7fc0f6ed3f7c1d8bc1d62bdeabd9a7e9975bc4bcafa4082fe3230bab6a03813263e637e35863c8bedcdc9c7b9c20a5a46d8607966df66b6f2edf5567
diff --git a/dev-python/pychart/metadata.xml b/dev-python/pychart/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pychart/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pychart/pychart-1.39-r1.ebuild b/dev-python/pychart/pychart-1.39-r1.ebuild
new file mode 100644
index 000000000000..728380ab9137
--- /dev/null
+++ b/dev-python/pychart/pychart-1.39-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P=PyChart-${PV}
+
+DESCRIPTION="Python library for creating charts"
+HOMEPAGE="http://home.gna.org/pychart/"
+SRC_URI="http://download.gna.org/pychart/${MY_P}.tar.gz
+ doc? ( http://download.gna.org/pychart/${PN}-doc.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc x86"
+IUSE="doc examples"
+
+DEPEND="app-text/ghostscript-gpl"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/${PN}/. )
+ use examples && local EXAMPLES=( demos/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pychecker/Manifest b/dev-python/pychecker/Manifest
new file mode 100644
index 000000000000..e5f47a04f548
--- /dev/null
+++ b/dev-python/pychecker/Manifest
@@ -0,0 +1 @@
+DIST pychecker-0.8.19.tar.gz 99783 SHA256 44fb26668f74aca3738f02d072813762a37ce1242f50dbff573720fa2e953279 SHA512 50f3d87a0ea80235761eb0ff078dc7e815848c356cea2bdf12bb699edc6d3301252acebaf6ab6aa961849d740dc38bc9b6deb7cfe956e7fff83a104750adfa18 WHIRLPOOL 1bf382babfed78a4dbe2805ce3d2c1c0acf38a3f5dc1638c2788d77a3825a1c34714b1a7c256221fec2a1d21cf16d12ecb95f6c3875fcadddcae8044bdb4b292
diff --git a/dev-python/pychecker/files/pychecker-0.8.17-no-data-files.patch b/dev-python/pychecker/files/pychecker-0.8.17-no-data-files.patch
new file mode 100644
index 000000000000..aeaaa1a98443
--- /dev/null
+++ b/dev-python/pychecker/files/pychecker-0.8.17-no-data-files.patch
@@ -0,0 +1,15 @@
+=== modified file 'setup.py'
+--- setup.py 2008-09-01 16:31:56 +0000
++++ setup.py 2008-09-01 16:33:28 +0000
+@@ -255,7 +255,9 @@
+ 'url' : "http://pychecker.sourceforge.net/",
+ 'packages' : [ 'pychecker', ],
+ 'scripts' : [ "pychecker" ], # note: will be replaced by customized action
+- 'data_files' : [ ( "pychecker", DATA_FILES, ) ],
++ # Gentoo Modification: Do not install data files into site-packages
++ # use DOCS variable in ebuild instead
++ #'data_files' : [ ( "pychecker", DATA_FILES, ) ],
+ 'long_description' : LONG_DESCRIPTION,
+ 'cmdclass' : CUSTOMIZED_ACTIONS,
+ }
+
diff --git a/dev-python/pychecker/files/pychecker-0.8.18-pychecker2.patch b/dev-python/pychecker/files/pychecker-0.8.18-pychecker2.patch
new file mode 100644
index 000000000000..e225d1a06b14
--- /dev/null
+++ b/dev-python/pychecker/files/pychecker-0.8.18-pychecker2.patch
@@ -0,0 +1,11 @@
+--- setup.py 2008-11-09 17:43:10.928105449 +0100
++++ setup.py 2008-11-09 17:38:52.000000000 +0100
+@@ -258,7 +258,7 @@
+ 'author' : "Neal Norwitz",
+ 'author_email' : "nnorwitz@gmail.com",
+ 'url' : "http://pychecker.sourceforge.net/",
+- 'packages' : [ 'pychecker', ],
++ 'packages' : [ 'pychecker', 'pychecker2' ],
+ 'scripts' : [ "pychecker" ], # note: will be replaced by customized action
+ # Gentoo Modification: Do not install data files into site-packages
+ # use DOCS variable in ebuild instead
diff --git a/dev-python/pychecker/files/pychecker-0.8.19-create_script.patch b/dev-python/pychecker/files/pychecker-0.8.19-create_script.patch
new file mode 100644
index 000000000000..ca4367591174
--- /dev/null
+++ b/dev-python/pychecker/files/pychecker-0.8.19-create_script.patch
@@ -0,0 +1,13 @@
+--- setup.py
++++ setup.py
+@@ -221,7 +221,9 @@
+ script_str = "%s %s %%*\n" % (sys.executable, checker_path)
+ else:
+ script_str = '#! /bin/sh\n\n%s %s "$@"\n' % (sys.executable, checker_path)
+- open(script_path, "w").write(script_str)
++ script = open(script_path, "w")
++ script.write(script_str)
++ script.close()
+ except Exception, e:
+ print "ERROR: Unable to create %s: %s" % (script_path, e)
+ raise e
diff --git a/dev-python/pychecker/files/pychecker-0.8.19-version.patch b/dev-python/pychecker/files/pychecker-0.8.19-version.patch
new file mode 100644
index 000000000000..9fe8490175a8
--- /dev/null
+++ b/dev-python/pychecker/files/pychecker-0.8.19-version.patch
@@ -0,0 +1,12 @@
+diff -ur pychecker-0.8.19.orig/pychecker/Config.py pychecker-0.8.19/pychecker/Config.py
+--- pychecker/Config.py 2013-02-01 12:06:10.669695876 +0800
++++ pychecker/Config.py 2013-02-01 12:06:26.238695001 +0800
+@@ -33,7 +33,7 @@
+
+ _RC_FILE = ".pycheckrc"
+ CHECKER_VAR = '__pychecker__'
+-_VERSION = '0.8.18'
++_VERSION = '0.8.19'
+
+ _DEFAULT_BLACK_LIST = [ "Tkinter", "wxPython", "gtk", "GTK", "GDK", ]
+ _DEFAULT_VARIABLE_IGNORE_LIST = [ '__version__', '__warningregistry__',
diff --git a/dev-python/pychecker/metadata.xml b/dev-python/pychecker/metadata.xml
new file mode 100644
index 000000000000..1ed01a6dd62d
--- /dev/null
+++ b/dev-python/pychecker/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pychecker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pychecker/pychecker-0.8.19-r1.ebuild b/dev-python/pychecker/pychecker-0.8.19-r1.ebuild
new file mode 100644
index 000000000000..e54b49fc5877
--- /dev/null
+++ b/dev-python/pychecker/pychecker-0.8.19-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python source code checking tool"
+HOMEPAGE="http://pychecker.sourceforge.net/ http://pypi.python.org/pypi/PyChecker"
+SRC_URI="mirror://sourceforge/pychecker/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DOCS=( pycheckrc ChangeLog KNOWN_BUGS MAINTAINERS NEWS README TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-version.patch
+ "${FILESDIR}"/${P}-create_script.patch
+ )
+
+python_prepare_all() {
+ sed \
+ -e '1d' \
+ -i pychecker/checker.py \
+ || die
+
+ # Disable installation of unneeded files.
+ sed \
+ -e "/'data_files' :/d" \
+ -i setup.py || die "sed failed"
+
+ # Strip final "/" from root.
+ sed \
+ -e 's:root = self\.distribution\.get_command_obj("install")\.root:&\.rstrip("/"):' \
+ -i setup.py || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pychef/Manifest b/dev-python/pychef/Manifest
new file mode 100644
index 000000000000..ba5347643540
--- /dev/null
+++ b/dev-python/pychef/Manifest
@@ -0,0 +1,2 @@
+DIST PyChef-0.2.1.tar.gz 29251 SHA256 a74e922eb275a1ea26fc1e65eeb503a610f026f144d6537160f3f380d2108489 SHA512 8d591087c649b5b0d09d4f7b7b26cec56631742833ac7b53eaaa744bd3b42d290ec37df96bdb0ea17a9c824d091d4527458d83abcdf4b2c029f921dbda425220 WHIRLPOOL d271b8991061155b8195e6b90877423ac5363064e9257a1a238b2b3a4f2a389c6b7fa8923ae85ac3f4946fa78e493556ce3fd61945d8bc8f02daa8e0325e994c
+DIST PyChef-0.2.3.tar.gz 21082 SHA256 212df9a0887f7f0dfb420ecc33b554104db7222c1a1ef26e1362b3207a9260cd SHA512 e8e0f3045f23032d8fe3169e9ff66cb3ce78ac1a9910d35c7399eeb252b474668c11dde4205689608c073b95f380738bf34b47d32ee5d24edb61fe3fd1674790 WHIRLPOOL d3ea4dca96e111310ab2a8f1761d10e68b9bf8f6e7d1dc6e9787e1c4aec7e0d14fca56561fd9f5ec164f7544fad6ba896aed0830073dadb0d8ac169a085c2350
diff --git a/dev-python/pychef/metadata.xml b/dev-python/pychef/metadata.xml
new file mode 100644
index 000000000000..6e72a706ec1e
--- /dev/null
+++ b/dev-python/pychef/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A Python API for interacting with a Chef server.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">PyChef</remote-id>
+ <remote-id type="github">coderanger/pychef</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pychef/pychef-0.2.1.ebuild b/dev-python/pychef/pychef-0.2.1.ebuild
new file mode 100644
index 000000000000..088d04107737
--- /dev/null
+++ b/dev-python/pychef/pychef-0.2.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/coderanger/pychef"
+SRC_URI="mirror://pypi/P/PyChef/PyChef-${PV}.tar.gz"
+S="${WORKDIR}/PyChef-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/versiontools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pychef/pychef-0.2.3.ebuild b/dev-python/pychef/pychef-0.2.3.ebuild
new file mode 100644
index 000000000000..addbd074f9c8
--- /dev/null
+++ b/dev-python/pychef/pychef-0.2.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python API for interacting with a Chef server"
+HOMEPAGE="https://github.com/coderanger/pychef"
+SRC_URI="mirror://pypi/P/PyChef/PyChef-${PV}.tar.gz"
+S="${WORKDIR}/PyChef-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/versiontools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pychm/Manifest b/dev-python/pychm/Manifest
new file mode 100644
index 000000000000..b7cb97c1a9ab
--- /dev/null
+++ b/dev-python/pychm/Manifest
@@ -0,0 +1 @@
+DIST pychm-0.8.4.tar.gz 28803 SHA256 84c99d7b28fb6862ee60a5d1d52fad0da4c95f1934e9c101d3293ee7e8b5357d SHA512 0c0c107e59ea9f5fef97a0c2869349b5e90fc9eb7a37c35e8a929eaf764c7abe5a06a389340a912b9ba2f71172f3c94a78da016707bb201bbd07bdc3feddfe0d WHIRLPOOL dd183874f116a946961cfefb9150bf8bca69570f0bd271b21023b8c1d1b25abc14ff4f1f9deaa84619344c8236034c51d77b4422277e35f8df320391a24d510c
diff --git a/dev-python/pychm/metadata.xml b/dev-python/pychm/metadata.xml
new file mode 100644
index 000000000000..9ddd1c3a5b12
--- /dev/null
+++ b/dev-python/pychm/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+The chm package provides three modules, chm, chmlib and extra, which
+provide access to the API implemented by the C library chmlib and some
+additional classes and functions. They are used to access MS-ITSS
+encoded files - Compressed Html Help files (.chm).
+</longdescription>
+ <longdescription lang="ja">
+Chmパッケージã¯ã€C言語ライブラリChmã®API実装ã¨ãã‚Œã«å¹¾ã¤ã‹æ‹¡å¼µã•ã‚ŒãŸã‚¯ãƒ©ã‚¹ã¨é–¢æ•°
+ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ‰‹æ®µã®chm, chmlib, extraã®3ã¤ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’æä¾›ã—ã¾ã™ã€‚MS-ITSSエン
+コード・ファイルã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚-- Compressed Html Help ファイル (.chm)。
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">gnochm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pychm/pychm-0.8.4-r1.ebuild b/dev-python/pychm/pychm-0.8.4-r1.ebuild
new file mode 100644
index 000000000000..6386e02ecacc
--- /dev/null
+++ b/dev-python/pychm/pychm-0.8.4-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the chmlib library"
+HOMEPAGE="http://gnochm.sourceforge.net/pychm.html"
+SRC_URI="mirror://sourceforge/gnochm/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-libs/chmlib"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pychm/pychm-0.8.4.ebuild b/dev-python/pychm/pychm-0.8.4.ebuild
new file mode 100644
index 000000000000..56f6ab3414bb
--- /dev/null
+++ b/dev-python/pychm/pychm-0.8.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python bindings for the chmlib library"
+HOMEPAGE="http://gnochm.sourceforge.net/pychm.html"
+SRC_URI="mirror://sourceforge/gnochm/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-libs/chmlib"
+RDEPEND="${DEPEND}"
+
+PYTHON_MODNAME="chm"
diff --git a/dev-python/pychroot/Manifest b/dev-python/pychroot/Manifest
new file mode 100644
index 000000000000..c76993ea2b75
--- /dev/null
+++ b/dev-python/pychroot/Manifest
@@ -0,0 +1,2 @@
+DIST pychroot-0.9.11.tar.gz 17904 SHA256 986a49997bb90e78e68cc99363659e01482adc0158c895d621f754b7d1a1870e SHA512 0cc169b79dd29e4c712b6764a6cf83f91d71383664276faca676a848b00b34203fc6f4430bc0c6f4a099959e76fc06f08d4f3679fceaaf8126dc1c1c78283ea7 WHIRLPOOL 9ce13e27390c46cfe43ca597e55bd786ad338b513a60864d4bb040cf84a97c1e4d9e3c044d4c7c6f2d10ed0b7b815a7b4239a3aee40486df834a722e8803c914
+DIST pychroot-0.9.9.tar.gz 11936 SHA256 49558bdc85dbdd25dbd2b3417eb857bd770bfb026db76c7e2bcedc8c605fe76b SHA512 437e8fa1a7d13a884c6fccb0e0cc81de8ccd6ff63ca0b3d2f55dcaa0c9cbef0c81cd033d64e08c1d35805f1d7e568fe941128c569827d7ae641d2d3b2ca4c1c2 WHIRLPOOL 40b3deb33d865efa37ce0b78a4471a531c6c6d542750ef87bb54071084a3bbdb115ffec92fef9086c3cc0ca63f9a71c65e3a4daa88f30cede7e4a5cbbd3f4851
diff --git a/dev-python/pychroot/metadata.xml b/dev-python/pychroot/metadata.xml
new file mode 100644
index 000000000000..ed0ecc483913
--- /dev/null
+++ b/dev-python/pychroot/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pkgcore/pychroot</remote-id>
+ <remote-id type="pypi">pychroot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pychroot/pychroot-0.9.11.ebuild b/dev-python/pychroot/pychroot-0.9.11.ebuild
new file mode 100644
index 000000000000..2930d41c290e
--- /dev/null
+++ b/dev-python/pychroot/pychroot-0.9.11.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="a python library that simplifies chroot handling"
+HOMEPAGE="https://github.com/pkgcore/pychroot"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+
+RDEPEND=">=dev-python/snakeoil-0.6.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pychroot/pychroot-0.9.9.ebuild b/dev-python/pychroot/pychroot-0.9.9.ebuild
new file mode 100644
index 000000000000..2930d41c290e
--- /dev/null
+++ b/dev-python/pychroot/pychroot-0.9.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="a python library that simplifies chroot handling"
+HOMEPAGE="https://github.com/pkgcore/pychroot"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+
+RDEPEND=">=dev-python/snakeoil-0.6.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pychroot/pychroot-9999.ebuild b/dev-python/pychroot/pychroot-9999.ebuild
new file mode 100644
index 000000000000..3099351eacab
--- /dev/null
+++ b/dev-python/pychroot/pychroot-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="a python library and cli tool that simplify chroot handling"
+HOMEPAGE="https://github.com/pkgcore/pychroot"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ =dev-python/snakeoil-9999[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep 'dev-python/3to2[${PYTHON_USEDEP}]' python2_7)
+ test? (
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+[[ ${PV} == *9999 ]] && DEPEND+=" dev-python/sphinx[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ [[ ${PV} == *9999 ]] && emake -C doc man
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ emake -C doc PREFIX=/usr DESTDIR="${D}" install_man
+}
diff --git a/dev-python/pycipher/Manifest b/dev-python/pycipher/Manifest
new file mode 100644
index 000000000000..d8a0253e3b8a
--- /dev/null
+++ b/dev-python/pycipher/Manifest
@@ -0,0 +1 @@
+DIST pycipher-0.2.py 9174 SHA256 c9acccea93d8f469b0b577f0dcbf4bbaf8a95c869a1c6b75d9e39c55e60e47e1 SHA512 ce3890184affc761fcac7a19284437ca5bd7fd5be6594dc6112eccc27971ca2a62cdff106bffea29c94f3dbc8bbee5f67af3bcd3a53838a1c7bfb19dad45dcda WHIRLPOOL cc61b0b012e52e3363af163f4e79f4bb2780c30dc0a684aeaa8e4959238f74ae73ec1e2d2abf4f6a4450610854ee89e725642c4c40a4971e42aad9aeaa585b7c
diff --git a/dev-python/pycipher/metadata.xml b/dev-python/pycipher/metadata.xml
new file mode 100644
index 000000000000..2ac3f1d437fe
--- /dev/null
+++ b/dev-python/pycipher/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pycipher</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycipher/pycipher-0.2.ebuild b/dev-python/pycipher/pycipher-0.2.ebuild
new file mode 100644
index 000000000000..d298359305cf
--- /dev/null
+++ b/dev-python/pycipher/pycipher-0.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="*"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit python
+
+DESCRIPTION="A Python module that implements several well-known classical cipher algorithms"
+HOMEPAGE="http://pycipher.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.py"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_install() {
+ installation() {
+ insinto $(python_get_sitedir)
+ newins "${DISTDIR}/${P}.py" ${PN}.py
+ }
+ python_execute_function installation
+}
+
+pkg_postinst() {
+ python_mod_optimize ${PN}.py
+}
+
+pkg_postrm() {
+ python_mod_cleanup ${PN}.py
+}
diff --git a/dev-python/pyclamav/Manifest b/dev-python/pyclamav/Manifest
new file mode 100644
index 000000000000..4e907a14c8cc
--- /dev/null
+++ b/dev-python/pyclamav/Manifest
@@ -0,0 +1 @@
+DIST pyclamav-0.4.1.tar.gz 12789 SHA256 27f0ea9771a9c5d8f974761df829a85344a19cf47a4b23a3f69836de2717b81c SHA512 ea06ba4706d2a1a98f265f308a72461224d09c44498f2809d31d7576958ecb53038cc3b98ba65e7841bf5082ecf094c2eea6cf7156074461378e98260d42b54f WHIRLPOOL fa9ef9e930e3c886acf2e5e8bc6586bede1e786320d1db03f92e8d4e94f72604adf3879e186b117f324034d9b5011e71168a6bdbff59565c3b3cf163f765ef86
diff --git a/dev-python/pyclamav/files/pyclamav-0.4.1-clamav-0.95.patch b/dev-python/pyclamav/files/pyclamav-0.4.1-clamav-0.95.patch
new file mode 100644
index 000000000000..1cf77e1925e7
--- /dev/null
+++ b/dev-python/pyclamav/files/pyclamav-0.4.1-clamav-0.95.patch
@@ -0,0 +1,126 @@
+
+--- python-clamav-0.4.1.orig/pyclamav.c
++++ python-clamav-0.4.1/pyclamav.c
+@@ -33,25 +33,6 @@
+
+ /* ********************************************************* */
+
+-/* To be able to compile with
+- releases 0.75 of libclamav
+-
+- Where cl_free was cl_freetrie
+- and cl_build was cl_buildtrie
+- CL_SCAN_STDOPT did not exist
+-*/
+-#ifndef CL_SCAN_STDOPT
+-#define CL_SCAN_STDOPT CL_RAW | CL_ARCHIVE | CL_MAIL | CL_DISABLERAR | CL_OLE2 | CL_ENCRYPTED
+-void cl_free(struct cl_node *rootnode) {
+- cl_freetrie(rootnode);
+- return;
+-}
+-
+-int cl_build(struct cl_node *rootnode) {
+- return cl_buildtrie(rootnode);
+-}
+-#endif
+-
+ /* For python prior to 2.3 */
+ #ifndef PyMODINIT_FUNC
+ #define PyMODINIT_FUNC void
+@@ -68,11 +49,9 @@
+ unsigned int signumber = 0;
+
+ /* Structures for clamav */
+-struct cl_node *root = NULL;
+-struct cl_limits limits;
++struct cl_engine *engine = NULL;
+ struct cl_stat dbstat;
+
+-
+ /*
+ * If the virus database has been changed, then
+ * free the current tree and reload the new one
+@@ -85,22 +64,22 @@
+ /* If yes : reload DB */
+ if (cl_statchkdir(&dbstat) == 1)
+ {
+- /* free the tree */
+- cl_free(root);
++ /* free the engine */
++ cl_engine_free(engine);
+ signumber=0;
+- root=NULL;
++ engine=NULL;
+
+ /* Load DB */
+- if((ret = cl_load(cl_retdbdir(), &root, &signumber, CL_DB_STDOPT))) {
++ if((ret = cl_load(cl_retdbdir(), engine, &signumber, CL_DB_STDOPT)) != CL_SUCCESS) {
+ /* Raise exception with error message */
+ PyErr_SetString(PyclamavError, cl_strerror(ret));
+ return -2;
+ }
+
+- /* build the final tree */
+- if((ret = cl_build(root))) {
+- /* free the partial tree */
+- cl_free(root);
++ /* prepare the engine */
++ if((ret = cl_engine_compile(engine))) {
++ /* free the engine */
++ cl_engine_free(engine);
+ /* Raise exception with error message */
+ PyErr_SetString(PyclamavError, cl_strerror(ret));
+ return -2;
+@@ -231,7 +210,7 @@
+ return NULL;
+ }
+
+- ret = cl_scanfile(file_to_scan, &virname, &size, root, &limits, CL_SCAN_STDOPT);
++ ret = cl_scanfile(file_to_scan, &virname, &size, engine, CL_SCAN_STDOPT);
+
+ /* Test return code */
+ switch (ret) {
+@@ -278,17 +257,21 @@
+ /* Set documentation string for the module */
+ PyDict_SetItemString(dict, "__doc__", PyString_FromString("pyclamav :\n\n This is a python binding to the C libclamav library\n (from the Clamav project - http://www.clamav.net).\n It can be used to easily allow a Python script to scan\n a file or a buffer against known viruses.\n\nAuthor : Alexandre Norman [norman@xael.org]\n\nFunctions :\n - scanfile(string filename) : Scan a file for virus.\n - get_numsig() : Return the number of known signatures.\n - get_version() : Return the version of Clamav.\n - version() : Return the version of pyclamav.\n"));
+
++ /* initialize libclamav */
++ cl_init(CL_INIT_DEFAULT);
++ engine = cl_engine_new();
+
+- if((ret = cl_load(cl_retdbdir(), &root, &signumber, CL_DB_STDOPT))) {
++ if((ret = cl_load(cl_retdbdir(), engine, &signumber, CL_DB_STDOPT))) {
+ /* Raise exception with error message */
+ PyErr_SetString(PyclamavError, cl_strerror(ret));
++ cl_engine_free(engine);
+ return;
+ }
+
+- /* build the final tree */
+- if((ret = cl_build(root))) {
+- /* free the partial tree */
+- cl_free(root);
++ /* prepare the engine */
++ if((ret = cl_engine_compile(engine)) != CL_SUCCESS) {
++ /* free up the engine resources */
++ cl_engine_free(engine);
+ /* Raise exception with error message */
+ PyErr_SetString(PyclamavError, cl_strerror(ret));
+ return;
+@@ -299,15 +282,6 @@
+ memset(&dbstat, 0, sizeof(struct cl_stat));
+ cl_statinidir(cl_retdbdir(), &dbstat);
+
+-
+-
+- /* set up archive limits */
+- memset(&limits, 0, sizeof(struct cl_limits));
+- limits.maxfiles = 1000; /* max files */
+- limits.maxfilesize = 10 * 1048576; /* maximal archived file size == 10 Mb */
+- limits.maxreclevel = 5; /* maximal recursion level */
+- limits.archivememlim = 0; /* disable memory limit for bzip2 scanner */
+-
+ return ;
+ }
+
+
diff --git a/dev-python/pyclamav/metadata.xml b/dev-python/pyclamav/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyclamav/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyclamav/pyclamav-0.4.1-r1.ebuild b/dev-python/pyclamav/pyclamav-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..f0588827f32e
--- /dev/null
+++ b/dev-python/pyclamav/pyclamav-0.4.1-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython *-pypy-*"
+
+inherit distutils eutils
+
+DESCRIPTION="Python binding for libclamav"
+HOMEPAGE="http://xael.org/norman/python/pyclamav/ http://pypi.python.org/pypi/pyclamav"
+SRC_URI="http://xael.org/norman/python/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc x86"
+IUSE=""
+
+DEPEND=">=app-antivirus/clamav-0.90"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # Patch from Debian to build w/ >=clamav-0.95
+ epatch "${FILESDIR}/${P}-clamav-0.95.patch"
+}
+
+src_install() {
+ distutils_src_install
+
+ insinto /usr/share/doc/${PF}
+ doins example.py
+}
diff --git a/dev-python/pyclamav/pyclamav-0.4.1-r2.ebuild b/dev-python/pyclamav/pyclamav-0.4.1-r2.ebuild
new file mode 100644
index 000000000000..0dfa19e7893b
--- /dev/null
+++ b/dev-python/pyclamav/pyclamav-0.4.1-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python binding for libclamav"
+HOMEPAGE="http://xael.org/norman/python/pyclamav/ http://pypi.python.org/pypi/pyclamav"
+SRC_URI="http://xael.org/norman/python/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=">=app-antivirus/clamav-0.90"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-clamav-0.95.patch )
+DOCS=( README.txt example.py )
+
+src_install() {
+ distutils-r1_src_install
+
+ insinto /usr/share/doc/${PF}
+ doins example.py
+}
+
+pkg_postinst() {
+ elog "an example called example.py has been installed into /usr/share/doc/${PF}"
+}
diff --git a/dev-python/pyclimate/Manifest b/dev-python/pyclimate/Manifest
new file mode 100644
index 000000000000..f30ce01a473f
--- /dev/null
+++ b/dev-python/pyclimate/Manifest
@@ -0,0 +1 @@
+DIST PyClimate-1.2.2.tar.gz 1417758 SHA256 3ee4aadf3d072270aa179c8b2345f5e2136df91c7237a30540be146d7fda8c94 SHA512 b217991873e99ad147e0f4e05bfa900a60486852a803ed6c224321f6fc1f1b6700ad2ad1d6c7c7f8ed8ec94340220c5277456c98ccb408f0bef6888c0adf018f WHIRLPOOL aae764d8d1c53e18d7d190ff78b3619d979501bc14b4c0ef5d3d94aeb274fa56a271f76d3e51e18c6efe20255b52cb43233f67c6664dcaeab03e2365444bf956
diff --git a/dev-python/pyclimate/metadata.xml b/dev-python/pyclimate/metadata.xml
new file mode 100644
index 000000000000..056e23c1e4fc
--- /dev/null
+++ b/dev-python/pyclimate/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>python</herd>
+<longdescription>
+ A package designed to accomplish some usual tasks during the analysis of
+ climate variability using Python. It provides functions to perform some
+ simple IO operations, operations with COARDS-compliant netCDF files, EOF
+ analysis, SVD and CCA analysis of coupled data sets, some linear digital
+ filters, kernel based probability density function estimation and access
+ to DCDFLIB.C library.
+</longdescription>
+<longdescription lang="ja">
+ã“ã®ãƒ‘ッケージã¯Python言語を使ã£ãŸæ°—候ã®å¤‰åŒ–を分æžã™ã‚‹å¿…è¦ãªã‚¿ã‚¹ã‚¯ã‚’終ãˆã‚‹ãŸã‚ã«
+デザインã•ã‚Œã¾ã—ãŸã€‚å¹¾ã¤ã‹ã®å˜ç´”ãªI/Oæ“作ã€COARDS-compliant netCDFファイルã®æ“作
+ã€EOF解æžã€ã‚«ãƒƒãƒ—ル・データã®SVDã¨CCA解æžã€å¹¾ã¤ã‹ã®ãƒªãƒ‹ã‚¢ãƒ»ãƒ‡ã‚¸ã‚¿ãƒ«ãƒ»ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼>ã€ã‚«ãƒ¼ãƒãƒ«ãƒ»ãƒ™ãƒ¼ã‚¹ã®ãƒ—ロãƒãƒ“リティ・デンシティ・ファンクション・エスティメーショ
+ンã¨DCDFLIB.Cライブラリã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ç­‰ã®æ©Ÿèƒ½ã‚’æä¾›ã—ã¾ã™ã€‚
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pyclimate/pyclimate-1.2.2-r1.ebuild b/dev-python/pyclimate/pyclimate-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..d2efe9cfda9b
--- /dev/null
+++ b/dev-python/pyclimate/pyclimate-1.2.2-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit eutils distutils
+
+MY_P="${P/pyclimate/PyClimate}"
+
+DESCRIPTION="Climate Data Analysis Module for Python"
+HOMEPAGE="http://www.pyclimate.org/"
+SRC_URI="http://fisica.ehu.es/jsaenz/pyclimate_files/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="
+ dev-python/numpy
+ >=dev-python/scientificpython-2.8
+ >=sci-libs/netcdf-3.0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ distutils_src_install
+
+ dodoc doc/manual.ps doc/dcdflib_doc/dcdflib* || die
+
+ if use examples; then
+ insinto /usr/share/${PF}
+ doins -r examples test || die
+ fi
+}
diff --git a/dev-python/pyclimate/pyclimate-1.2.2-r2.ebuild b/dev-python/pyclimate/pyclimate-1.2.2-r2.ebuild
new file mode 100644
index 000000000000..1936aec9a18e
--- /dev/null
+++ b/dev-python/pyclimate/pyclimate-1.2.2-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+MY_P="${P/pyclimate/PyClimate}"
+
+DESCRIPTION="Climate Data Analysis Module for Python"
+HOMEPAGE="http://www.pyclimate.org/"
+SRC_URI="http://fisica.ehu.es/jsaenz/pyclimate_files/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/scientificpython-2.8[${PYTHON_USEDEP}]
+ >=sci-libs/netcdf-3.0"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+ dodoc doc/manual.ps doc/dcdflib_doc/dcdflib*
+}
diff --git a/dev-python/pycmd/Manifest b/dev-python/pycmd/Manifest
new file mode 100644
index 000000000000..c0c7f3f92267
--- /dev/null
+++ b/dev-python/pycmd/Manifest
@@ -0,0 +1,2 @@
+DIST pycmd-1.1.tar.gz 12407 SHA256 5c2879ef827a6e2605157eb74642e858bfb8873aa18335aea30524ecf20f150b SHA512 55572fb69ab9c8c614e28b2c25e9de536ac65b80c81cb713d6a48331e5952d369ce84440465ff1f67af3cad804187c7f4e103e5d28b6e2cfd9036bdc1c8bb2dd WHIRLPOOL 8ae828ce6664d1686aadc801e223d942deab51b33d141e0a3ca0983bc6e235fd97927fcc36e7e571d57b61318c3847fc35c12c70b74a7d8afedcde3c258a051c
+DIST pycmd-1.2.tar.gz 12896 SHA256 adc1976c0106919e9338db20102b91009256dcfec924a66928d7297026f72477 SHA512 a9506e59889d112a40e1ef115a919644cce31320603904b350cc0a459775dc3d7454dc3f06953b1534cebbf429942bf1577302470bc54665c8dec5eb64b97957 WHIRLPOOL 9c7e185cd96a37f5794bdb5116a6a15327e660e0291c2a4a030d157c2956384d10275907997aa6eb0f569d7b30e406df952d17f5b03a7719af35fe86443b3d7c
diff --git a/dev-python/pycmd/metadata.xml b/dev-python/pycmd/metadata.xml
new file mode 100644
index 000000000000..78a66191b6b4
--- /dev/null
+++ b/dev-python/pycmd/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pycmd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycmd/pycmd-1.1.ebuild b/dev-python/pycmd/pycmd-1.1.ebuild
new file mode 100644
index 000000000000..a492d230a43d
--- /dev/null
+++ b/dev-python/pycmd/pycmd-1.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="pycmd: tools for managing/searching Python related files"
+HOMEPAGE="http://pypi.python.org/pypi/pycmd"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/py-1.4.9"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pycmd/pycmd-1.2.ebuild b/dev-python/pycmd/pycmd-1.2.ebuild
new file mode 100644
index 000000000000..7ecd2ff04502
--- /dev/null
+++ b/dev-python/pycmd/pycmd-1.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="pycmd: tools for managing/searching Python related files"
+HOMEPAGE="http://pypi.python.org/pypi/pycmd"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/py-1.4.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# Test files present however are not ready to run as they are supplied in the source
+# The source repo is not listed at all in the page @pypi.
diff --git a/dev-python/pycollada/Manifest b/dev-python/pycollada/Manifest
new file mode 100644
index 000000000000..f0de7041cf89
--- /dev/null
+++ b/dev-python/pycollada/Manifest
@@ -0,0 +1 @@
+DIST pycollada-0.4.tar.gz 519732 SHA256 62a69cce29759900cce0400dac8796d7210de1910dad4c60d4094248c7738121 SHA512 6e9569b858f2014aa08764d0bf328c8317b94edc91e99c2a7c97bf2355983555ea103012d6e6f197862cb3df113ca9263de18fc47edb3c60e74fa8e58b5ca8b0 WHIRLPOOL ce54dcb29cab7e1d97ac8c2eaa3718182373dfa79c7647c7c46f5a2afde88bf7832f98db4a89bdfb58964ccbab041787ac17a25dabc148e963e0739bac27780e
diff --git a/dev-python/pycollada/metadata.xml b/dev-python/pycollada/metadata.xml
new file mode 100644
index 000000000000..5b80fb94c393
--- /dev/null
+++ b/dev-python/pycollada/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/pycollada/pycollada-0.4.ebuild b/dev-python/pycollada/pycollada-0.4.ebuild
new file mode 100644
index 000000000000..14aa43748cf7
--- /dev/null
+++ b/dev-python/pycollada/pycollada-0.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_MULTIPLE_ABI=1
+
+inherit distutils-r1
+
+DESCRIPTION="python library for reading and writing collada documents"
+HOMEPAGE="http://pycollada.github.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/python-dateutil )"
+RDEPEND="dev-python/numpy
+ dev-python/lxml
+ >=dev-python/python-dateutil-2.0"
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if use doc ; then
+ pushd docs
+ emake html
+ popd
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use doc ; then
+ pushd docs/_build/html
+ dohtml -r *
+ popd
+ fi
+
+ if use examples ; then
+ insinto /usr/share/${P}/
+ doins -r examples
+ fi
+
+ install_test_data() {
+ insinto $(python_get_sitedir)/collada/tests/
+ doins -r collada/tests/data
+ }
+ python_foreach_impl install_test_data
+}
+
+src_test() {
+ test_collada() {
+ for script in "${S}"/collada/tests/*.py ; do
+ PYTHONPATH="${S}" $EPYTHON "${script}"
+ done
+ }
+ python_foreach_impl test_collada
+}
diff --git a/dev-python/pycollada/pycollada-9999.ebuild b/dev-python/pycollada/pycollada-9999.ebuild
new file mode 100644
index 000000000000..94fcbe883a59
--- /dev/null
+++ b/dev-python/pycollada/pycollada-9999.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_MULTIPLE_ABI=1
+
+inherit distutils-r1 git-2
+
+DESCRIPTION="python library for reading and writing collada documents"
+HOMEPAGE="http://pycollada.github.com/"
+EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc examples test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/python-dateutil )"
+RDEPEND="dev-python/numpy
+ dev-python/lxml
+ >=dev-python/python-dateutil-2.0"
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if use doc ; then
+ pushd docs
+ emake html
+ popd
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use doc ; then
+ pushd docs/_build/html
+ dohtml -r *
+ popd
+ fi
+
+ if use examples ; then
+ insinto /usr/share/${P}/
+ doins -r examples
+ fi
+
+ install_test_data() {
+ insinto $(python_get_sitedir)/collada/tests/
+ doins -r collada/tests/data
+ }
+ python_foreach_impl install_test_data
+}
+
+src_test() {
+ test_collada() {
+ for script in "${S}"/collada/tests/*.py ; do
+ PYTHONPATH="${S}" $EPYTHON "${script}"
+ done
+ }
+ python_foreach_impl test_collada
+}
diff --git a/dev-python/pyconstruct/Manifest b/dev-python/pyconstruct/Manifest
new file mode 100644
index 000000000000..f360b2df75ed
--- /dev/null
+++ b/dev-python/pyconstruct/Manifest
@@ -0,0 +1 @@
+DIST construct-2.5.2.tar.gz 58373 SHA256 665b6271eeadf15219c726b180c8d7a641d026784d72ca3dad90a20aae009020 SHA512 dbfa28f58821811fa28ef170818d74212e76389a017c4073acd24025ace292285828506cb44387ff07c1c05ae70766a3a0679baea25deb3b0dcc31c85b24340b WHIRLPOOL ebe5ac0a09e317a2d8c123f24c110b3ea303c179710da6112c8f376bbf1d526c4c29ebf7f60c12f8873f74ec4ebabf010b4e537173fe28f166da6f49b79635cc
diff --git a/dev-python/pyconstruct/metadata.xml b/dev-python/pyconstruct/metadata.xml
new file mode 100644
index 000000000000..1900fbbcd35d
--- /dev/null
+++ b/dev-python/pyconstruct/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">construct</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyconstruct/pyconstruct-2.5.2.ebuild b/dev-python/pyconstruct/pyconstruct-2.5.2.ebuild
new file mode 100644
index 000000000000..4c0e08d86253
--- /dev/null
+++ b/dev-python/pyconstruct/pyconstruct-2.5.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="construct"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A powerful declarative parser for binary data"
+HOMEPAGE="http://construct.wikispaces.com/ http://pypi.python.org/pypi/construct"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pycountry/Manifest b/dev-python/pycountry/Manifest
new file mode 100644
index 000000000000..29974bf23ce5
--- /dev/null
+++ b/dev-python/pycountry/Manifest
@@ -0,0 +1,2 @@
+DIST pycountry-1.10.zip 8140587 SHA256 29bd07e5f0d0471c260cea14e2ca4b7d705228ebb024b4de139dc87795576e67 SHA512 076de329c5b9d7626fbf0aace654504a2cd2d1d7bdf2ec89ba4763b38b756a6e75c7f3032c4b8785693d291ace7a206673cac1a457c4dd59e8c3ce1cd70d7d60 WHIRLPOOL 6c282d419da375e00171345477a5867b1e61a345d56c8f4739ff34fabebf98a78a2d4880b3b2ef616e00468124e1accd2efdbfac2c98bdf4c2db57d1d3e28fc5
+DIST pycountry-1.12.tar.gz 18606424 SHA256 dce2893ceac5d5264e7d0b6bf9f0421fb9ff87b7459d1c65a518fbcd826245e9 SHA512 6a9bfb47ce56098bc8f536afc5e671cd65304213df1e3c9754bcaac8e3cdb8293c75ec59649be5df8b974f36be333ed35fe4cd4d274baa183cfd6455d9241702 WHIRLPOOL 531fcfa4caeec4eda11c657e7a374d2668808ee9b94cb5192603049824fbd12a6999682a321d4c577f836acd9106f667f85312ec29e9d78fca74b7b93c297356
diff --git a/dev-python/pycountry/metadata.xml b/dev-python/pycountry/metadata.xml
new file mode 100644
index 000000000000..b170fed1253d
--- /dev/null
+++ b/dev-python/pycountry/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">ISO country, subdivision, language, currency and script definitions and
+ their translations</longdescription>
+ <upstream>
+ <remote-id type="pypi">pycountry</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycountry/pycountry-1.10.ebuild b/dev-python/pycountry/pycountry-1.10.ebuild
new file mode 100644
index 000000000000..5194cd611492
--- /dev/null
+++ b/dev-python/pycountry/pycountry-1.10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="ISO country, subdivision, language, currency and script definitions and their translations"
+HOMEPAGE="http://pypi.python.org/pypi/pycountry"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~sparc ~ppc ~x86"
+IUSE="test"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # https://bitbucket.org/techtonik/pycountry/issue/8/test_locales-pycountry-015-pypy
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ if [[ "${EPYTHON}" == pypy || "${EPYTHON}" == pypy3 ]]; then
+ sed -e 's:test_locales:_&:' -i pycountry/tests/test_general.py || die
+ fi
+ py.test ${PN}/tests/test_general.py || die
+ popd > /dev/null
+}
diff --git a/dev-python/pycountry/pycountry-1.12.ebuild b/dev-python/pycountry/pycountry-1.12.ebuild
new file mode 100644
index 000000000000..3a9ccc8f47b8
--- /dev/null
+++ b/dev-python/pycountry/pycountry-1.12.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="ISO country, subdivision, language, currency and script definitions and their translations"
+HOMEPAGE="http://pypi.python.org/pypi/pycountry"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~sparc ~ppc ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # https://bitbucket.org/techtonik/pycountry/issue/8/test_locales-pycountry-015-pypy
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ if [[ "${EPYTHON}" == pypy || "${EPYTHON}" == pypy3 ]]; then
+ sed -e 's:test_locales:_&:' -i pycountry/tests/test_general.py || die
+ fi
+ py.test ${PN}/tests/test_general.py || die
+ popd > /dev/null
+}
diff --git a/dev-python/pycparser/Manifest b/dev-python/pycparser/Manifest
new file mode 100644
index 000000000000..aef377f4f739
--- /dev/null
+++ b/dev-python/pycparser/Manifest
@@ -0,0 +1,4 @@
+DIST pycparser-2.10.tar.gz 206166 SHA256 957d98b661c0b64b580ab6f94b125e09b6714154ee51de40bca16d3f0076b86c SHA512 afe5079d6b0a39ea7f0df1ce74b1981c78d8687dbef50fb7a692395ca4a7e7a8119ec6abc0dfeb7a0535865ed2fac9dafca189bdbf6ff9205612205560e2d371 WHIRLPOOL 1b373997863001ba3b06376db1d175797c665ade273e75698edc3044713e411228f9f1c4daf0c61ffe01840d3d5e54a232fae729e42a8559e85b8db465e99b90
+DIST pycparser-2.12.tar.gz 297648 SHA256 da24c80aeb3c794ac64fe5503a01f65f13fece3e02513fd2e0761f93c96597b0 SHA512 7f46b3dbdf86115d58f0e467d3d4c80a32e56ebc6a6753417841e9e69ff537e1e0b86ab52816044048bf67522c5f32b53a5b9d6cd388da2fad48c6d2c897f945 WHIRLPOOL 8cebb9435f47cbe6cc63692789d5d7c6a6c8ce5bcff53f4c4647f55daa3816e6e3d1b9096dbaaf3ebab5a4bb4c81c9c1385b40cc85cb941c6ca541b8dc2d035e
+DIST pycparser-2.13.tar.gz 299363 SHA256 b399599a8a0e386bfcbc5e01a38d79dd6e926781f9e358cd5512f41ab7d20eb7 SHA512 273abaea4998c61fcc9a01cccf3d6a20dd0446ccbdd4caeaef2d11af0492c8b11f67ff412bacd2a6d6057b612e9b8fd78111f69a07728f8cbf53725810eab8d2 WHIRLPOOL 5f9f9d3f5ccf45aa73f479968a998edf773ff75d49ac6449cfaaafc9d5bd6692497af79bf15d0f2c766ae49af58f84eb4f1144a7be00ee2c73a1b990676ae2d6
+DIST pycparser-2.14.tar.gz 223295 SHA256 7959b4a74abdc27b312fed1c21e6caf9309ce0b29ea86b591fd2e99ecdf27f73 SHA512 d5b9ab434a8944898ac23a4f51189db77b02b993bf3e3ca018852b117fc0eb43e460b156beaa5c1d631ad71c81e1649113e9fff7e33506b1e7d4de24d8b464c6 WHIRLPOOL 4a541ce696298a355d4e3325a10dffd47bd26756b0164da82b70090310edfacf0428ed9e26de7be7e3d4c2c952ee664262a212562852fe29f909ab0631bfd79f
diff --git a/dev-python/pycparser/metadata.xml b/dev-python/pycparser/metadata.xml
new file mode 100644
index 000000000000..3e51ef091666
--- /dev/null
+++ b/dev-python/pycparser/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pycparser</remote-id>
+ <remote-id type="github">eliben/pycparser</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycparser/pycparser-2.10.ebuild b/dev-python/pycparser/pycparser-2.10.ebuild
new file mode 100644
index 000000000000..98b76d9aee65
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="https://github.com/eliben/pycparser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ distutils-r1_python_compile
+ pushd "${BUILD_DIR}/lib/pycparser" > /dev/null || die
+ "${PYTHON}" _build_tables.py || die
+ popd > /dev/null || die
+}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pycparser/pycparser-2.12.ebuild b/dev-python/pycparser/pycparser-2.12.ebuild
new file mode 100644
index 000000000000..0d9b377ef3a4
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.12.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="https://github.com/eliben/pycparser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ distutils-r1_python_compile
+ pushd "${BUILD_DIR}/lib/pycparser" > /dev/null || die
+ "${PYTHON}" _build_tables.py || die
+ popd > /dev/null || die
+}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pycparser/pycparser-2.13.ebuild b/dev-python/pycparser/pycparser-2.13.ebuild
new file mode 100644
index 000000000000..0d9b377ef3a4
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.13.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="https://github.com/eliben/pycparser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ distutils-r1_python_compile
+ pushd "${BUILD_DIR}/lib/pycparser" > /dev/null || die
+ "${PYTHON}" _build_tables.py || die
+ popd > /dev/null || die
+}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pycparser/pycparser-2.14.ebuild b/dev-python/pycparser/pycparser-2.14.ebuild
new file mode 100644
index 000000000000..ea182625dec7
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.14.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="https://github.com/eliben/pycparser"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="test"
+
+RDEPEND="dev-python/ply[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ distutils-r1_python_compile
+ pushd "${BUILD_DIR}/lib/pycparser" > /dev/null || die
+ "${PYTHON}" _build_tables.py || die
+ popd > /dev/null || die
+}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pycrypto/Manifest b/dev-python/pycrypto/Manifest
new file mode 100644
index 000000000000..9239372fd28a
--- /dev/null
+++ b/dev-python/pycrypto/Manifest
@@ -0,0 +1 @@
+DIST pycrypto-2.6.1.tar.gz 446240 SHA256 f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c SHA512 20a4aed4dac4e9e61d773ebc1d48ea577e9870c33f396be53d075a9bf8487d93e75e200179882d81e452efd0f6751789bac434f6f431b3e7c1c8ef9dba392847 WHIRLPOOL b63734145729f75838357002956297d1ea9e51288939e6f481eaaa12c7da256ab95e4d80d19e618445224fb46a8e2cb1ef5ee0b4b817767d472e3a7c4707371b
diff --git a/dev-python/pycrypto/files/pycrypto-2.6.1-cross-compile.patch b/dev-python/pycrypto/files/pycrypto-2.6.1-cross-compile.patch
new file mode 100644
index 000000000000..2ce24a49cc71
--- /dev/null
+++ b/dev-python/pycrypto/files/pycrypto-2.6.1-cross-compile.patch
@@ -0,0 +1,13 @@
+do not hardcode -I/usr/include as it's useless and breaks cross-compiles
+
+--- a/setup.py
++++ b/setup.py
+@@ -370,7 +370,7 @@ kw = {'name':"pycrypto",
+ 'ext_modules': plat_ext + [
+ # _fastmath (uses GNU mp library)
+ Extension("Crypto.PublicKey._fastmath",
+- include_dirs=['src/','/usr/include/'],
++ include_dirs=['src/'],
+ libraries=['gmp'],
+ sources=["src/_fastmath.c"]),
+
diff --git a/dev-python/pycrypto/metadata.xml b/dev-python/pycrypto/metadata.xml
new file mode 100644
index 000000000000..15b44a0ae34f
--- /dev/null
+++ b/dev-python/pycrypto/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+The Python Cryptography Toolkit is a collection of cryptographic
+algorithms and protocols, implemented for use from Python. Among
+the contents of the package:
+
+ * Hash functions: MD2, MD4, RIPEMD, SHA256.
+ * Block encryption algorithms: AES, ARC2, Blowfish, CAST, DES,
+ Triple-DES, IDEA, RC5.
+ * Stream encryption algorithms: ARC4, simple XOR.
+ * Public-key algorithms: RSA, DSA, ElGamal, qNEW.
+ * Protocols: All-or-nothing transforms, chaffing/winnowing.
+ * Miscellaneous: RFC1751 module for converting 128-key keys into
+ a set of English words, primality testing.
+ * Some demo programs (currently all quite old and outdated).
+
+</longdescription>
+ <longdescription lang="ja">
+ã“ã®Python言語ã®ã‚¯ãƒªãƒ—トグラフィー・ツールキットã¯ã€æš—å·æ‰‹æ³•ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ãƒ—ロ
+トコルã®é›†åˆã§ã€Python言語ã‹ã‚‰åˆ©ç”¨ã•ã‚Œã‚‹ãŸã‚ã®å®Ÿè£…ã§ã™ã€‚ã“ã®ãƒ‘ッケージ内容ã¯ä»¥ä¸‹
+ã§ã™ã€‚
+
+
+ * Hash ファンクション: MD2, MD4, RIPEMD, SHA256.
+ * ブロック・エンクリプション・アルゴリズム: AES, ARC2, Blowfish, CAST, DES,
+ Triple-DES, IDEA, RC5.
+ * ストリーム・エンクリプション・アルゴリズム: ARC4, simple XOR.
+ * 公開éµã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ : RSA, DSA, ElGamal, qNEW.
+ * プロトコル: All-or-nothing transforms, chaffing/winnowing.
+ * ãã®ä»–: RFC1751 module for converting 128-key keys into
+ a set of English words, primality testing.
+ * デモ・プログラム(ç¾åœ¨ã§ã¯å®Œå…¨ã«å¤ã時代é…ã‚Œãªã‚‚ã®)
+
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pycrypto/pycrypto-2.6.1-r1.ebuild b/dev-python/pycrypto/pycrypto-2.6.1-r1.ebuild
new file mode 100644
index 000000000000..608c0e50f160
--- /dev/null
+++ b/dev-python/pycrypto/pycrypto-2.6.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Cryptography Toolkit"
+HOMEPAGE="http://www.dlitz.net/software/pycrypto/ http://pypi.python.org/pypi/pycrypto"
+SRC_URI="http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${P}.tar.gz"
+
+LICENSE="PSF-2 public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="doc +gmp test"
+
+RDEPEND="gmp? ( dev-libs/gmp )"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/epydoc-3[${PYTHON_USEDEP}]' python2_7)
+ )"
+
+REQUIRED_USE="test? ( gmp )"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/${P}-cross-compile.patch
+ # Fix Crypto.PublicKey.RSA._RSAobj.exportKey(format="OpenSSH") with Python 3
+ # https://github.com/dlitz/pycrypto/commit/ab25c6fe95ee92fac3187dcd90e0560ccacb084a
+ sed \
+ -e "/keyparts =/s/'ssh-rsa'/b('ssh-rsa')/" \
+ -e "s/keystring = ''.join/keystring = b('').join/" \
+ -e "s/return 'ssh-rsa '/return b('ssh-rsa ')/" \
+ -i lib/Crypto/PublicKey/RSA.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # the configure does not interact with python in any way,
+ # it just sets up the C header file.
+ econf \
+ $(use_with gmp) \
+ --without-mpir
+}
+
+python_compile_all() {
+ if use doc; then
+ rst2html.py Doc/pycrypt.rst > Doc/index.html
+ epydoc --config=Doc/epydoc-config --exclude-introspect="^Crypto\.(Random\.OSRNG\.nt|Util\.winrandom)$" || die
+ fi
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ local DOCS=( ACKS ChangeLog README TODO )
+ use doc && local HTML_DOCS=( Doc/apidoc/. Doc/index.html )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycrypto/pycrypto-2.6.1.ebuild b/dev-python/pycrypto/pycrypto-2.6.1.ebuild
new file mode 100644
index 000000000000..f3a4efd80a26
--- /dev/null
+++ b/dev-python/pycrypto/pycrypto-2.6.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Cryptography Toolkit"
+HOMEPAGE="http://www.dlitz.net/software/pycrypto/ http://pypi.python.org/pypi/pycrypto"
+SRC_URI="http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${P}.tar.gz"
+
+LICENSE="PSF-2 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x86-solaris"
+IUSE="doc +gmp"
+
+RDEPEND="gmp? ( dev-libs/gmp )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/docutils
+ >=dev-python/epydoc-3 )"
+
+python_configure_all() {
+ # the configure does not interact with python in any way,
+ # it just sets up the C header file.
+ econf \
+ $(use_with gmp) \
+ --without-mpir
+}
+
+python_compile_all() {
+ if use doc; then
+ rst2html.py Doc/pycrypt.rst > Doc/index.html
+ epydoc --config=Doc/epydoc-config --exclude-introspect="^Crypto\.(Random\.OSRNG\.nt|Util\.winrandom)$" || die
+ fi
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ local DOCS=( ACKS ChangeLog README TODO )
+ use doc && local HTML_DOCS=( Doc/apidoc/. Doc/index.html )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycryptopp/Manifest b/dev-python/pycryptopp/Manifest
new file mode 100644
index 000000000000..5c83b322b0bb
--- /dev/null
+++ b/dev-python/pycryptopp/Manifest
@@ -0,0 +1 @@
+DIST pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958.tar.gz 2009822 SHA256 116158917bd243da2701cfeba9a6374854bc9a599d1466e1a2dbadf37c802059 SHA512 bdd7d983bc0f8ef50c140a8da0c532883f0f1461d4a91d2761c872403133e9474d4fdbd78e275adbaacd2066cab4121034002a4730258162a618b3af913fdf7a WHIRLPOOL 809aecb84ff38232351b0700225564672d082528d0a98ec071ce40b97e02df59ac41647ae6356ecafca916655555cf533787db5182cd9536177affedbd7b89c3
diff --git a/dev-python/pycryptopp/metadata.xml b/dev-python/pycryptopp/metadata.xml
new file mode 100644
index 000000000000..de28f2cd2c7b
--- /dev/null
+++ b/dev-python/pycryptopp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pycryptopp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycryptopp/pycryptopp-0.6.0.ebuild b/dev-python/pycryptopp/pycryptopp-0.6.0.ebuild
new file mode 100644
index 000000000000..c54538101cce
--- /dev/null
+++ b/dev-python/pycryptopp/pycryptopp-0.6.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 vcs-snapshot
+
+NUM="1206569328141510525648634803928199668821045408958"
+MY_P="${P}.${NUM}"
+
+DESCRIPTION="Python wrappers for a few algorithms from the Crypto++ library"
+HOMEPAGE="http://tahoe-lafs.org/trac/pycryptopp http://pypi.python.org/pypi/pycryptopp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-libs/crypto++"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS="NEWS.rst"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Don't install license files
+ sed -i -e "/data_files=data_files,/d" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ # use system crypto++ library
+ distutils-r1_python_compile --disable-embedded-cryptopp
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pycuda/Manifest b/dev-python/pycuda/Manifest
new file mode 100644
index 000000000000..75899c760b5f
--- /dev/null
+++ b/dev-python/pycuda/Manifest
@@ -0,0 +1,3 @@
+DIST pycuda-2012.1.tar.gz 1473695 SHA256 d5b90467b926c73ceaf2dd2662fef2e21e106f00a0aa0d11f09a891aac3925dc SHA512 bb8889fa46de3d4ae57fb47883232953eba0e12a53431fffdefb12af3134540aec2671f0f2fbbe1d836dab354d407e078e773e84f8ee9a5345400a4a59da7937 WHIRLPOOL b35484ddc8d2c1808a0d706dcdcc9ebe49af153b0aaaf8fc2596f4068c5c2dbdb9fb4f84ac46512b314ef9383f70dfcefa4895191d7a9f6d78eee8ae8a56fe71
+DIST pycuda-2013.1.1.tar.gz 1586425 SHA256 4b541ff7ab4a867e9389b3b9b9456c6957000f39a20a46e872dd25dd3bece2da SHA512 7a7e95fcd4f76d10234558021064cc299e6d93ab9a428c9560e5a8a73b13304ba9ccc3c103674a25effdc01a14aac21981a62de881a9c990ad16d7689b75e502 WHIRLPOOL c1e958defbe4998c0af5a256df51daa3901f0bf2a45e5c5faed9abf5ba60ebd0dddab6fbb4caff41eac588fe7fc3cca1517c032d95d316492f99c307b6a260f3
+DIST pycuda-2014.1.tar.gz 1588986 SHA256 28e8f7425d0bac03a6c80346a4e150024ef0e4740ce11cb54e6aef351127d7af SHA512 57e333941c472feea6974e583f9d27f7f5083011bd8a7cc0bc31d27032885a130f1f57a16b0730696c607b9dca32ad84b96c984cd82351800ec854acdfa8fe9f WHIRLPOOL c71876c6f203a0a8a996a90976ad3f012ce1497ee84534c7fb8876e19293766d4641fbac00a538b1ddb074b29f8d8347f39caae613839b38cf5ee9eb15a86c09
diff --git a/dev-python/pycuda/metadata.xml b/dev-python/pycuda/metadata.xml
new file mode 100644
index 000000000000..858a4b6936dd
--- /dev/null
+++ b/dev-python/pycuda/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="pypi">pycuda</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycuda/pycuda-2012.1.ebuild b/dev-python/pycuda/pycuda-2012.1.ebuild
new file mode 100644
index 000000000000..e458d8bda514
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2012.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="http://mathema.tician.de/software/pycuda/ http://pypi.python.org/pypi/pycuda"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2011.2[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2013.1.1.ebuild b/dev-python/pycuda/pycuda-2013.1.1.ebuild
new file mode 100644
index 000000000000..93bdfea70fd6
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2013.1.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="http://mathema.tician.de/software/pycuda/ http://pypi.python.org/pypi/pycuda"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-2014.1.ebuild b/dev-python/pycuda/pycuda-2014.1.ebuild
new file mode 100644
index 000000000000..7b9b02207056
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2014.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit cuda distutils-r1 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="http://mathema.tician.de/software/pycuda/ http://pypi.python.org/pypi/pycuda"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycuda/pycuda-9999.ebuild b/dev-python/pycuda/pycuda-9999.ebuild
new file mode 100644
index 000000000000..5cff6fa775d3
--- /dev/null
+++ b/dev-python/pycuda/pycuda-9999.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit cuda distutils-r1 git-r3 multilib
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="http://mathema.tician.de/software/pycuda/ http://pypi.python.org/pypi/pycuda"
+SRC_URI=""
+EGIT_REPO_URI="http://git.tiker.net/trees/pycuda.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples opengl test"
+
+RDEPEND="
+ dev-libs/boost[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2013[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+python_prepare_all() {
+ cuda_sanitize
+ sed \
+ -e "s:'--preprocess':\'--preprocess\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:\"--cubin\":\'--cubin\', \'--compiler-bindir=$(cuda_gccdir)\':g" \
+ -e "s:/usr/include/pycuda:${S}/src/cuda:g" \
+ -i pycuda/compiler.py || die
+
+ touch siteconf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local myopts=()
+ use opengl && myopts+=( --cuda-enable-gl )
+
+ mkdir "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ [[ -e ./siteconf.py ]] && rm -f ./siteconf.py
+ "${EPYTHON}" "${S}"/configure.py \
+ --boost-inc-dir="${EPREFIX}/usr/include" \
+ --boost-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --boost-python-libname=boost_python-$(echo ${EPYTHON} | sed 's/python//')-mt \
+ --boost-thread-libname=boost_thread-mt \
+ --cuda-root="${EPREFIX}/opt/cuda" \
+ --cudadrv-lib-dir="${EPREFIX}/usr/$(get_libdir)" \
+ --cudart-lib-dir="${EPREFIX}/opt/cuda/$(get_libdir)" \
+ --cuda-inc-dir="${EPREFIX}/opt/cuda/include" \
+ --no-use-shipped-boost \
+ "${myopts[@]}"
+}
+
+src_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ python_test() {
+ py.test --debug -v -v -v || die "Tests fail with ${EPYTHON}"
+ }
+ distutils-r1_src_test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pycups/Manifest b/dev-python/pycups/Manifest
new file mode 100644
index 000000000000..a91d923e11d1
--- /dev/null
+++ b/dev-python/pycups/Manifest
@@ -0,0 +1,2 @@
+DIST pycups-1.9.72.tar.bz2 52687 SHA256 7f635cb95149e2fab6693ee0261a4491f3f9521549652a9fdcc9654978037ca7 SHA512 db8b06378bf398073e34c89d62aa64cc8e56e93553346484c2e5dd67d046a3aa2f44020b68a7d479203fb2eeba005f8860ad4cebf72f8d7aa9aa15952a36d816 WHIRLPOOL 03b2f6d12e366961745234e9105337d18e543c31b5f80eb77641dbf01e9d1ca60e988a4ad793dccbee39daca725afe32ff9c1a265eec0773a5275add8a47b104
+DIST pycups-1.9.73.tar.bz2 52732 SHA256 c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335 SHA512 ee893d64f1645b71805ac358c4a3cc594f6285f04272ff0558aa60cbc90fafdbac30b623ffcc3a6b739218d9fd7a6a6e1d8cb186a5582f2cc30a518ed4dde810 WHIRLPOOL e19ccc7ab6a2e8f9364b5428eeddf365e9e6d34c2b94ae767543f5f3f81de3f6ac539ea6ba58c13cf34f639e7ba9a0ba04c53c7e030647c63085090ae185b3ca
diff --git a/dev-python/pycups/metadata.xml b/dev-python/pycups/metadata.xml
new file mode 100644
index 000000000000..18260a405bb4
--- /dev/null
+++ b/dev-python/pycups/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <herd>printing</herd>
+ <maintainer>
+ <email>reavertm@gentoo.org</email>
+ <name>Maciej Mrozowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pycups</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycups/pycups-1.9.72.ebuild b/dev-python/pycups/pycups-1.9.72.ebuild
new file mode 100644
index 000000000000..f7e8a0c36ea8
--- /dev/null
+++ b/dev-python/pycups/pycups-1.9.72.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the CUPS API"
+HOMEPAGE="http://cyberelk.net/tim/data/pycups/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86"
+SLOT="0"
+IUSE="doc examples"
+
+RDEPEND="
+ net-print/cups
+"
+DEPEND="${RDEPEND}"
+
+# epydoc kinda sucks and supports python2 only (it's dead too),
+# and since we're dealing with a binary module we need exact version
+# match. therefore, docbuilding *requires* any python2 being enabled.
+
+DEPEND="${RDEPEND}
+ doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="doc? ( || ( $(python_gen_useflags 'python2*') ) )"
+
+python_compile_all() {
+ if use doc; then
+ # we can't use Makefile since it relies on hardcoded paths
+ epydoc -o html --html cups || die "doc build failed"
+ fi
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/ )
+ use examples && local EXAMPLES=( examples/ )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycups/pycups-1.9.73.ebuild b/dev-python/pycups/pycups-1.9.73.ebuild
new file mode 100644
index 000000000000..188c6f747d24
--- /dev/null
+++ b/dev-python/pycups/pycups-1.9.73.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the CUPS API"
+HOMEPAGE="http://cyberelk.net/tim/data/pycups/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+SLOT="0"
+IUSE="doc examples"
+
+RDEPEND="
+ net-print/cups
+"
+DEPEND="${RDEPEND}"
+
+# epydoc kinda sucks and supports python2 only (it's dead too),
+# and since we're dealing with a binary module we need exact version
+# match. therefore, docbuilding *requires* any python2 being enabled.
+
+DEPEND="${RDEPEND}
+ doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="doc? ( || ( $(python_gen_useflags 'python2*') ) )"
+
+python_compile_all() {
+ if use doc; then
+ # we can't use Makefile since it relies on hardcoded paths
+ epydoc -o html --html cups || die "doc build failed"
+ fi
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/ )
+ use examples && local EXAMPLES=( examples/ )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
new file mode 100644
index 000000000000..28e772b26e45
--- /dev/null
+++ b/dev-python/pycurl/Manifest
@@ -0,0 +1,2 @@
+DIST pycurl-7.19.3.1.tar.gz 116687 SHA256 c0d673fe99a9de07239eabe77c798f1b043f60c02afaec1430ceaf59d7501a4f SHA512 65ccb07638c663bc2a723664f1ade50f08eafa70bbcdc492cc99362a91873f453b63336a6b393d9f6591308f1450dadc64ce729b29990f37b170dda0eae0b23f WHIRLPOOL bf25bbb959e30140a261b9bede2e1a3675ec99c8f6c36f8afc8ca73288aa7f7cea6fa1d28385ca808872b251a676aebf8d77d203aed60619dab8852cac17b296
+DIST pycurl-7.19.5.1.tar.gz 142140 SHA256 6e9770f80459757f73bd71af82fbb29cd398b38388cdf1beab31ea91a331bc6c SHA512 89a474d7285cb040099dc6107a238f326dcb22cdb2c2325139f0d7ebea56f0860869d20b6e8e3bb43882048a261a8ff5734c7fc3e790fde8a96de3fffd04894f WHIRLPOOL 87eac50707acb4d764941e334a490d1c72c28433e8ff72caa7811f23d3f8ab2c6949a25ba8edd0cdacb27e498e60e728745c787a05853f1428ede8d91294a5cc
diff --git a/dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch b/dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch
new file mode 100644
index 000000000000..c7e1580f54f4
--- /dev/null
+++ b/dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch
@@ -0,0 +1,64 @@
+https://github.com/p-push/pycurl/commit/8644393bec56cd05c19d5dbe420ff741ba899d10
+diff --git a/tests/runwsgi.py b/tests/runwsgi.py
+index f419d7c..242ef1d 100644
+--- a/tests/runwsgi.py
++++ b/tests/runwsgi.py
+@@ -11,6 +11,10 @@
+
+ class Server(bottle.WSGIRefServer):
+ def run(self, handler): # pragma: no cover
++ self.srv = self.make_server(handler)
++ self.serve()
++
++ def make_server(self, handler):
+ from wsgiref.simple_server import make_server, WSGIRequestHandler
+ if self.quiet:
+ base = self.options.get('handler_class', WSGIRequestHandler)
+@@ -18,7 +22,10 @@ class QuietHandler(base):
+ def log_request(*args, **kw):
+ pass
+ self.options['handler_class'] = QuietHandler
+- self.srv = make_server(self.host, self.port, handler, **self.options)
++ srv = make_server(self.host, self.port, handler, **self.options)
++ return srv
++
++ def serve(self):
+ if sys.version_info[0] == 2 and sys.version_info[1] < 6:
+ # python 2.5 has no poll_interval
+ # and thus no way to stop the server
+@@ -27,20 +34,21 @@ def log_request(*args, **kw):
+ else:
+ self.srv.serve_forever(poll_interval=0.1)
+
+-class SslServer(bottle.CherryPyServer):
+- def run(self, handler):
+- import cherrypy.wsgiserver, cherrypy.wsgiserver.ssl_builtin
+- server = cherrypy.wsgiserver.CherryPyWSGIServer((self.host, self.port), handler)
++# http://www.socouldanyone.com/2014/01/bottle-with-ssl.html
++# https://github.com/mfm24/miscpython/blob/master/bottle_ssl.py
++class SslServer(Server):
++ def run(self, handler): # pragma: no cover
++ self.srv = self.make_server(handler)
++
++ import ssl
+ cert_dir = os.path.join(os.path.dirname(__file__), 'certs')
+- ssl_adapter = cherrypy.wsgiserver.ssl_builtin.BuiltinSSLAdapter(
+- os.path.join(cert_dir, 'server.crt'),
+- os.path.join(cert_dir, 'server.key'),
+- )
+- server.ssl_adapter = ssl_adapter
+- try:
+- server.start()
+- finally:
+- server.stop()
++ self.srv.socket = ssl.wrap_socket(
++ self.srv.socket,
++ keyfile=os.path.join(cert_dir, 'server.key'),
++ certfile=os.path.join(cert_dir, 'server.crt'),
++ server_side=True)
++
++ self.serve()
+
+ def start_bottle_server(app, port, server, **kwargs):
+ server_thread = ServerThread(app, port, server, kwargs)
+
diff --git a/dev-python/pycurl/metadata.xml b/dev-python/pycurl/metadata.xml
new file mode 100644
index 000000000000..b7630d2fb52a
--- /dev/null
+++ b/dev-python/pycurl/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+PycURL is a Python interface to libcurl. PycURL can be used to fetch
+objects identified by a URL from a Python program, similar to the urllib
+Python module. All the functionality provided by libcurl can used through
+the pycurl interface.
+</longdescription>
+ <longdescription lang="ja">
+PycURLã¯Libcurlã¸ã®ãƒ‘イソン・インターフェイスã§ã™ã€‚PycURLã¯Python言語モジュール&gt;ã®æ§˜ã«ã€Python言語プログラムã‹ã‚‰URLã§æŒ‡å®šã•ã‚ŒãŸã‚ªãƒ–ジェクトをダウンロードã™ã‚‹ã«&gt;も使ãˆã¾ã™ã€‚Libcurlã§åˆ©ç”¨ã§ãる機能全ã¦ã¯PycURLインターフェイスを通ã—ã¦åˆ©ç”¨ã§ã&gt;ã¾ã™ã€‚
+</longdescription>
+ <upstream>
+ <remote-id type="github">pycurl/pycurl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycurl/pycurl-7.19.3.1-r2.ebuild b/dev-python/pycurl/pycurl-7.19.3.1-r2.ebuild
new file mode 100644
index 000000000000..32c92ab57394
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.19.3.1-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=5
+
+# The selftests fail with pypy, and urlgrabber segfaults for me.
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="python binding for curl/libcurl"
+HOMEPAGE="https://github.com/pycurl/pycurl http://pypi.python.org/pypi/pycurl"
+SRC_URI="http://pycurl.sourceforge.net/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl examples ssl test"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+RDEPEND=">=net-misc/curl-7.25.0-r1[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0 ) )"
+
+# bottle-0.12.7: https://github.com/pycurl/pycurl/issues/180
+# bottle-0.12.7: https://github.com/defnull/bottle/commit/f35197e2a18de1672831a70a163fcfd38327a802
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/bottle-0.12.7[${PYTHON_USEDEP}] )"
+# Needed for individual runs of testsuite by python impls.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${P}-ssl-test.patch )
+
+python_prepare_all() {
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ # Override faulty detection in setup.py, bug 510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # suite shatters without this
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ emake test
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycurl/pycurl-7.19.5.1.ebuild b/dev-python/pycurl/pycurl-7.19.5.1.ebuild
new file mode 100644
index 000000000000..343e6a4ebca6
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.19.5.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=5
+
+# The selftests fail with pypy, and urlgrabber segfaults for me.
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="python binding for curl/libcurl"
+HOMEPAGE="https://github.com/pycurl/pycurl http://pypi.python.org/pypi/pycurl"
+SRC_URI="http://pycurl.sourceforge.net/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="curl_ssl_gnutls curl_ssl_nss +curl_ssl_openssl examples ssl test"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+RDEPEND=">=net-misc/curl-7.25.0-r1[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_nss(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0 ) )"
+
+# bottle-0.12.7: https://github.com/pycurl/pycurl/issues/180
+# bottle-0.12.7: https://github.com/defnull/bottle/commit/f35197e2a18de1672831a70a163fcfd38327a802
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/bottle-0.12.7[${PYTHON_USEDEP}]
+ )"
+# Needed for individual runs of testsuite by python impls.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # Override faulty detection in setup.py, bug 510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ emake -j1 do-test
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycxx/Manifest b/dev-python/pycxx/Manifest
new file mode 100644
index 000000000000..f90b016296b4
--- /dev/null
+++ b/dev-python/pycxx/Manifest
@@ -0,0 +1,2 @@
+DIST pycxx-6.2.5.tar.gz 141302 SHA256 f125c1b569d32dcfc5bdca565be0311306a2d759196460a5cac665cb515b014c SHA512 c7a5eeacdcb3f68e0a2336a33e6a84d6a7b240e4d232ce0f2676c4a467bf2c8b109eebd63ee42b655efa1f1993fe66a590459a9fbe7315b6c0a57501c73ff3b4 WHIRLPOOL 0792cf9050a21a3774d13124838300663f3b0fe458a243d9aadff2177772e5be0516e0c8a806c572401c28d59c98a252162267c65fc9010a6ea0af0bbdb6c254
+DIST pycxx-6.2.6.tar.gz 141547 SHA256 3e960db53dea640473410ea20063afe7fcfcb61c107334d7ff6af96d384c11fe SHA512 9a6c30acb99c112497c02fb0826dc0197bbf4b813d25eab3f7d6537dfd83db8150c94f617f79810bbcca64496b8d6e67b1a41446523d66031c54c21e0425ea0c WHIRLPOOL 570cc1ccd12748481c74aefe863a2cef2d2d048ddbeceeeea01477a6d1765f38582f3c9112c8d5fddf6f534b91c74aea11b38aab8da04ced18280047a0821090
diff --git a/dev-python/pycxx/files/pycxx-6.2.3-installation.patch b/dev-python/pycxx/files/pycxx-6.2.3-installation.patch
new file mode 100644
index 000000000000..5f6bfa74f4be
--- /dev/null
+++ b/dev-python/pycxx/files/pycxx-6.2.3-installation.patch
@@ -0,0 +1,25 @@
+--- setup.py
++++ setup.py
+@@ -3,10 +3,18 @@
+ from distutils.command.install import install
+ from distutils.core import setup
+
+-headers = (glob( os.path.join( "CXX","*.hxx" ) )
+- +glob( os.path.join( "CXX","*.h" ) ))
+-sources = (glob( os.path.join( "Src", "*.cxx" ) )
+- +glob( os.path.join( "Src", "*.c" ) ))
++headers = (glob( os.path.join( "CXX", "Python%s" % sys.version_info[0], "*.hxx" ) )
++ +glob( os.path.join( "CXX", "Python%s" % sys.version_info[0], "*.h" ) ))
++headers += [header for header in
++ glob( os.path.join( "CXX", "*.hxx" ) ) +
++ glob( os.path.join( "CXX", "*.h" ) )
++ if os.path.sep.join((os.path.split(header)[0], "Python%s" % sys.version_info[0], os.path.split(header)[1])) not in headers]
++sources = (glob( os.path.join( "Src", "Python%s" % sys.version_info[0], "*.cxx" ) )
++ +glob( os.path.join( "Src", "Python%s" % sys.version_info[0], "*.c" ) ))
++sources += [source for source in
++ glob( os.path.join( "Src", "*.cxx" ) ) +
++ glob( os.path.join( "Src", "*.c" ) )
++ if os.path.sep.join((os.path.split(source)[0], "Python%s" % sys.version_info[0], os.path.split(source)[1])) not in sources]
+
+
+ class my_install (install):
diff --git a/dev-python/pycxx/metadata.xml b/dev-python/pycxx/metadata.xml
new file mode 100644
index 000000000000..6ed1f5edceb1
--- /dev/null
+++ b/dev-python/pycxx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ PyCXX is a set of C++ facilities to make it easier to write Python
+ extensions. The chief way in which PyCXX makes it easier to write
+ Python extensions is that it increases the probability that
+ your program will not make a reference-counting error and will not
+ have to continually check error returns from the Python C API.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">cxx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycxx/pycxx-6.2.5.ebuild b/dev-python/pycxx/pycxx-6.2.5.ebuild
new file mode 100644
index 000000000000..2954372432cb
--- /dev/null
+++ b/dev-python/pycxx/pycxx-6.2.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Set of facilities to extend Python with C++"
+HOMEPAGE="http://cxx.sourceforge.net"
+SRC_URI="mirror://sourceforge/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="doc examples"
+
+python_prepare_all() {
+ # Without this, pysvn fails.
+ # CXX/Python2/Config.hxx: No such file or directory
+ sed -e "/^#include/s:/Python[23]/:/:" -i CXX/*/*.hxx || die "sed failed"
+
+ # Remove python2 print statement
+ echo > Lib/__init__.py || die
+
+ local PATCHES=(
+ "${FILESDIR}/${PN}-6.2.3-installation.patch"
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Doc/ )
+ use examples && local EXAMPLES=( Demo/Python{2,3}/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycxx/pycxx-6.2.6.ebuild b/dev-python/pycxx/pycxx-6.2.6.ebuild
new file mode 100644
index 000000000000..a5c539c59988
--- /dev/null
+++ b/dev-python/pycxx/pycxx-6.2.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Set of facilities to extend Python with C++"
+HOMEPAGE="http://cxx.sourceforge.net"
+SRC_URI="mirror://sourceforge/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+IUSE="doc examples"
+
+python_prepare_all() {
+ # Without this, pysvn fails.
+ # CXX/Python2/Config.hxx: No such file or directory
+ sed -e "/^#include/s:/Python[23]/:/:" -i CXX/*/*.hxx || die "sed failed"
+
+ # Remove python2 print statement
+ echo > Lib/__init__.py || die
+
+ local PATCHES=(
+ "${FILESDIR}/${PN}-6.2.3-installation.patch"
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Doc/. )
+ use examples && local EXAMPLES=( Demo/Python{2,3}/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydb/Manifest b/dev-python/pydb/Manifest
new file mode 100644
index 000000000000..d9fad97a4fb9
--- /dev/null
+++ b/dev-python/pydb/Manifest
@@ -0,0 +1 @@
+DIST pydb-1.26.tar.bz2 572184 SHA256 01131848a58fce6a529766488884848c06068aa9ec4f39e19f8fb4d260f893f2 SHA512 39365ddcd863404079e4a7159bbbedbfa6a99b3d46e95c07fe14be61a2805b9237df5e51a8a68db159fca2df4b0bd46bddaebbe610d1597064f2df4e64393355 WHIRLPOOL 26a887e19dc157c612d4c4fa07fa1d4e0be0e051e23f680ed1b3368c4b12ad353d631893b81bfa8bbd48358d5ff4383de18876deffa467af2762d49f39cb833e
diff --git a/dev-python/pydb/metadata.xml b/dev-python/pydb/metadata.xml
new file mode 100644
index 000000000000..bfa2bf74f9b0
--- /dev/null
+++ b/dev-python/pydb/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Extended python debugger</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">bashdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydb/pydb-1.26-r1.ebuild b/dev-python/pydb/pydb-1.26-r1.ebuild
new file mode 100644
index 000000000000..c17011eda1b3
--- /dev/null
+++ b/dev-python/pydb/pydb-1.26-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit elisp-common python
+
+DESCRIPTION="Extended python debugger"
+HOMEPAGE="http://bashdb.sourceforge.net/pydb/"
+SRC_URI="mirror://sourceforge/bashdb/${P}.tar.bz2"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="emacs"
+
+DEPEND="
+ emacs? ( virtual/emacs )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ echo "#!/bin/sh" > py-compile
+
+ # Fix pydb symlinks.
+ sed -e '/$(LN_S) "$(DESTDIR)$(pkgpythondir)\/$(python_debugger_script)" "$(DESTDIR)$(bindir)\/$(bin_SCRIPTS)"/s/$(DESTDIR)$(pkgpythondir)/$(pkgpythondir)/' -i Makefile.in
+
+ python_src_prepare
+}
+
+src_configure() {
+ configuration() {
+ econf --with-lispdir="${SITELISP}/${PN}" \
+ EMACS="$(use emacs && echo "${EMACS}" || echo no)" \
+ --with-site-packages=$(python_get_sitedir) \
+ --with-python=$(PYTHON -a)
+ }
+ python_execute_function -s configuration
+}
+
+src_install() {
+ python_src_install
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+}
+
+pkg_postinst() {
+ python_mod_optimize pydb
+}
+
+pkg_postrm() {
+ python_mod_cleanup pydb
+}
diff --git a/dev-python/pydiff/Manifest b/dev-python/pydiff/Manifest
new file mode 100644
index 000000000000..e4c9a13960b8
--- /dev/null
+++ b/dev-python/pydiff/Manifest
@@ -0,0 +1 @@
+DIST pydiff-0.2.tar.gz 4108 SHA256 847c7121625de8d5aa9eb2b079edad18a451e134cafa1b8958ea019ee0409aaa SHA512 0f55edf17138c4a1894a1ca03db21e6d6d21fb3961a2738c00d59e05d32a006413aee04005962f1ba6628c012bb018d43fcbbef50665ea10d3397539e5d3def1 WHIRLPOOL d90e257d7449bc5eb5495a45138d74c32ee935cd833718174f4fb0fe9c0edfca13131589732319a3e1610682becaf2a643cf24110a65c533d48cd64663b42c00
diff --git a/dev-python/pydiff/metadata.xml b/dev-python/pydiff/metadata.xml
new file mode 100644
index 000000000000..eae4cd3cc844
--- /dev/null
+++ b/dev-python/pydiff/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pydiff</remote-id>
+ <remote-id type="github">myint/pydiff</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydiff/pydiff-0.2.ebuild b/dev-python/pydiff/pydiff-0.2.ebuild
new file mode 100644
index 000000000000..74586d73b75e
--- /dev/null
+++ b/dev-python/pydiff/pydiff-0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Diffs two Python files at the bytecode level"
+HOMEPAGE="https://github.com/myint/pydiff"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+python_test() {
+ "${PYTHON}" test_pydiff.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pydispatcher/Manifest b/dev-python/pydispatcher/Manifest
new file mode 100644
index 000000000000..826b50200eb4
--- /dev/null
+++ b/dev-python/pydispatcher/Manifest
@@ -0,0 +1,2 @@
+DIST PyDispatcher-2.0.3.tar.gz 33454 SHA256 735b1f7cba2123fbb60530c178c54b43f774b88cefa2689a8b6dcc476f2ba03f SHA512 2d1ac07ec5ac500f24e41a38b3d41cc54d761c896fb6d580bab02da51d8e881014a8e1b9d5977be2e542f8a4758bc73589319191529a70c573c6bda49342afb1 WHIRLPOOL 71ae88c3a9fff3f359636eec1608458b4d5ee9d198985a16dcb17440ce082277d836053b9210c68b5ee45c88f09f1a1568a88cf692e9975e00f19bba83148cf3
+DIST PyDispatcher-2.0.5.tar.gz 34437 SHA256 5570069e1b1769af1fe481de6dd1d3a388492acddd2cdad7a3bde145615d5caf SHA512 b361463f006a775e1f22cfe07520951649f76c26be35a80ca016620c8ef466129c4abeafe42f0ffdc605e7523287b1e804967f19d951089d24e052fe10d88e6f WHIRLPOOL 482c19525d61c73c4b290491a277ec8ecfd4a8ad247a87a3dab7bf95d9a2923d7b21b9dd06db05cf1b5c0d9efedb13552895a97f9726dc7c666b848b1d7e560f
diff --git a/dev-python/pydispatcher/metadata.xml b/dev-python/pydispatcher/metadata.xml
new file mode 100644
index 000000000000..70f420a2ed20
--- /dev/null
+++ b/dev-python/pydispatcher/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PyDispatcher</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydispatcher/pydispatcher-2.0.3-r1.ebuild b/dev-python/pydispatcher/pydispatcher-2.0.3-r1.ebuild
new file mode 100644
index 000000000000..9e1598a0dac2
--- /dev/null
+++ b/dev-python/pydispatcher/pydispatcher-2.0.3-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="PyDispatcher"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Multi-producer-multi-consumer signal dispatching mechanism"
+HOMEPAGE="http://pydispatcher.sourceforge.net/ http://pypi.python.org/pypi/PyDispatcher"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ pushd docs/pydoc/ > /dev/null
+ "${PYTHON}" builddocs.py || die "Generation of documentation failed"
+ popd > /dev/null
+ fi
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/pydoc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydispatcher/pydispatcher-2.0.5.ebuild b/dev-python/pydispatcher/pydispatcher-2.0.5.ebuild
new file mode 100644
index 000000000000..9e1598a0dac2
--- /dev/null
+++ b/dev-python/pydispatcher/pydispatcher-2.0.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="PyDispatcher"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Multi-producer-multi-consumer signal dispatching mechanism"
+HOMEPAGE="http://pydispatcher.sourceforge.net/ http://pypi.python.org/pypi/PyDispatcher"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ pushd docs/pydoc/ > /dev/null
+ "${PYTHON}" builddocs.py || die "Generation of documentation failed"
+ popd > /dev/null
+ fi
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/pydoc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydns/Manifest b/dev-python/pydns/Manifest
new file mode 100644
index 000000000000..0736ee64c8a7
--- /dev/null
+++ b/dev-python/pydns/Manifest
@@ -0,0 +1,2 @@
+DIST py3dns-3.1.0.tar.gz 29501 SHA256 124d7833fd0a6fbaebe17d093b028cfa77b155b5feab8e1c6265959a4b9e7fb7 SHA512 ba2cb397351b587539072b608f6be878066bfb317f4cca472c2d3102638432de48a25d8a6efc41a88b9f77d939fa71ffb396d1a2dfab46e8d2b431d0eb89f7a4 WHIRLPOOL 8fdd8e9c75293c86120770da8e09f093cf6b8783b87e8cd7dccbf1fe8e3dfb3aad89fd371cd1a512b83db626a4a627f21ff1a497211cfaa027d08ebc650ed53b
+DIST pydns-2.3.6.tar.gz 28220 SHA256 d3cf6fc4ec088e934cf2dd4d71080efdb5c09ae79cbb2512427eb0fc393f2417 SHA512 261598c085c7d9f7adf5ce881814e444cdcf48a946dc17db467268ab6164f6045c204507cc58eff8e6f826b9786715ad2a9e766a72193ac8666969913180954b WHIRLPOOL 76d5f6caaddbaf027e4e7677d767263c270c5fc0db6e35bfb3bc99a8c229fbb2704dbbb2a2bd5207dc9c3a2f571a8b0351a492a16dc3a3fbe0c7f5cf88a91389
diff --git a/dev-python/pydns/metadata.xml b/dev-python/pydns/metadata.xml
new file mode 100644
index 000000000000..0d0515b525a7
--- /dev/null
+++ b/dev-python/pydns/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">PyDNS provides a module for performing DNS queries from python
+ applications. This was originally based on Guido van Rossum's DNS
+ library code, but has drifted further and further away from it over
+ time.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pydns</remote-id>
+ <remote-id type="launchpad">py3dns</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydns/pydns-2.3.6-r1.ebuild b/dev-python/pydns/pydns-2.3.6-r1.ebuild
new file mode 100644
index 000000000000..827fa94b204d
--- /dev/null
+++ b/dev-python/pydns/pydns-2.3.6-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for DNS (Domain Name Service)"
+HOMEPAGE="http://pydns.sourceforge.net/ http://pypi.python.org/pypi/pydns"
+SRC_URI="http://downloads.sourceforge.net/project/pydns/pydns/${P}/${P}.tar.gz"
+
+LICENSE="CNRI"
+SLOT="2"
+KEYWORDS="amd64 hppa ~ia64 ~ppc ~sparc x86"
+IUSE="examples"
+
+DEPEND="!dev-python/pydns:0
+ virtual/libiconv"
+RDEPEND=""
+
+# Funny a dns package attempts to use the network on tests
+# Await the day that gentoo chills out on such a blanket law.
+RESTRICT=test
+
+python_prepare_all() {
+ # Fix encodings (should be utf-8 but is latin1).
+ local i
+ for i in DNS/{Lib,Type}.py; do
+ iconv -f ISO-8859-1 -t UTF-8 "${i}" > "${i}.utf8" || die
+ mv -f "${i}.utf8" "${i}" || die
+ done
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local test
+ for test in tests/{test.py,test[2-5].py,testsrv.py}
+ do
+ "${PYTHON}" $test || die
+ done
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( ./{tests,tools}/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydns/pydns-3.1.0.ebuild b/dev-python/pydns/pydns-3.1.0.ebuild
new file mode 100644
index 000000000000..d6960bfebcc2
--- /dev/null
+++ b/dev-python/pydns/pydns-3.1.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="${PN/py/py3}"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Python DNS (Domain Name System) library"
+HOMEPAGE="https://launchpad.net/py3dns"
+SRC_URI="https://launchpad.net/${MY_PN}/trunk/${PV}/+download/${MY_P}.tar.gz"
+
+LICENSE="CNRI"
+SLOT="3"
+KEYWORDS="amd64 hppa ~ia64 ~ppc ~sparc x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+# Most if not all of the tests require network access.
+RESTRICT=test
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ # Some of the tests are broken.
+ for test in tests/{test{,2,4}.py,testsrv.py}
+ do
+ "${PYTHON}" ${test} || die
+ done
+
+ "${PYTHON}" tests/test5.py example.org || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( ./{tests,tools}/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyds/Manifest b/dev-python/pyds/Manifest
new file mode 100644
index 000000000000..304ae359a076
--- /dev/null
+++ b/dev-python/pyds/Manifest
@@ -0,0 +1 @@
+DIST PyDS-0.7.3.tar.gz 660766 SHA256 9489a1e65e7df4d172223f863c601f7c09bc9101020cb8c0bbd8b884fbf055b7 SHA512 1ac395e9c93c04710c3ffc335c6ead8a4c35401959da3bf882906cf993e2dc316e52d567e218aca07beebc1b32b71abbeb3f92c7f673d2b613ea0bd62b654e6f WHIRLPOOL d5747f9e3dfa21331ce5bce48494c6031dfefb7acd233e8823ec8810c4e10ee490c3608ef9891ef56e77e038d16c34ffa944696bb290fd6dfbfdaaae81efa8ec
diff --git a/dev-python/pyds/files/pyds-0.6.5-py2.3.patch b/dev-python/pyds/files/pyds-0.6.5-py2.3.patch
new file mode 100644
index 000000000000..e32f7473a3ec
--- /dev/null
+++ b/dev-python/pyds/files/pyds-0.6.5-py2.3.patch
@@ -0,0 +1,19 @@
+--- PyDS/DownstreamTool.py
++++ PyDS/DownstreamTool.py
+@@ -36,6 +36,7 @@
+ import urllib
+ import gzip
+ import mimetypes
++import urlparse
+
+ import PyDS.Tool
+
+@@ -74,6 +75,8 @@
+ for h in self.cache._getUrlHeaders(theurl):
+ apply(self.addheader, h)
+ self.message += _('<br>adding Header "%s: %s"') % h
++ urlpieces = urlparse.urlparse(url[1])
++ url = (urlpieces[1], url[1])
+ res = urllib.URLopener.open_http(self, url, data)
+ self.message = self.message.replace('%', '%%')
+ if self.verbose:
diff --git a/dev-python/pyds/files/pyds-pillow.patch b/dev-python/pyds/files/pyds-pillow.patch
new file mode 100644
index 000000000000..505a86675e2c
--- /dev/null
+++ b/dev-python/pyds/files/pyds-pillow.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/show_bug.cgi?id=471508
+--- a/PyDS/PictureTool.py
++++ a/PyDS/PictureTool.py
+@@ -35,8 +35,8 @@
+ import string
+ import mimetypes
+
+-import Image
+-import ImageDraw
++from PIL import Image
++from PIL import ImageDraw
+
+ import PyDS.Tool
+ import PyDS.EXIF
diff --git a/dev-python/pyds/metadata.xml b/dev-python/pyds/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyds/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyds/pyds-0.7.3-r1.ebuild b/dev-python/pyds/pyds-0.7.3-r1.ebuild
new file mode 100644
index 000000000000..dbca1ca205c4
--- /dev/null
+++ b/dev-python/pyds/pyds-0.7.3-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PyDS-${PV}"
+
+DESCRIPTION="Python Desktop Server"
+HOMEPAGE="http://pyds.muensterland.org/"
+SRC_URI="http://simon.bofh.ms/~gb/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND="app-text/silvercity
+ >=dev-db/metakit-2.4.9.2[python,${PYTHON_USEDEP}]
+ >=dev-python/cheetah-0.9.15[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.3[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/medusa-0.5.4[${PYTHON_USEDEP}]
+ >=dev-python/pyrex-0.5[${PYTHON_USEDEP}]
+ >=dev-python/soappy-0.11.1[${PYTHON_USEDEP}]
+ virtual/jpeg
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( OVERVIEW )
+PATCHES=(
+ "${FILESDIR}/${PN}-0.6.5-py2.3.patch"
+ "${FILESDIR}/${PN}-pillow.patch"
+)
diff --git a/dev-python/pyds9/Manifest b/dev-python/pyds9/Manifest
new file mode 100644
index 000000000000..5e55965a090e
--- /dev/null
+++ b/dev-python/pyds9/Manifest
@@ -0,0 +1 @@
+DIST pyds9-1.7.tar.gz 879882 SHA256 026a86827fa93f074e2a90b9d831ba79253f312fa331f6a6a508cfa91fa81aac SHA512 8622cf40db65228553abc2f3dea346d9c948706a2681217a9383589d4df0143c42ef859dff12689f699b0fb40806945232c336539f37eb2c78754f9779043bcb WHIRLPOOL abc2d11817519e844f61319b0ba30276a9bb48b6a3beb5e6b7c097717cc86aeeb1960f58d62a21a9ce5d4bc37c05b8cee181abc1cc12e2821a5e878d64f1f175
diff --git a/dev-python/pyds9/metadata.xml b/dev-python/pyds9/metadata.xml
new file mode 100644
index 000000000000..b1d6caffdd81
--- /dev/null
+++ b/dev-python/pyds9/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ The XPA messaging system provides seamless communication between
+ many kinds of Unix programs, including Tcl/Tk programs such as
+ ds9. The pyds9 module uses a Python interface to XPA to communicate
+ with ds9. It supports communication with all of ds9’s XPA access
+ points.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pyds9/pyds9-1.7.ebuild b/dev-python/pyds9/pyds9-1.7.ebuild
new file mode 100644
index 000000000000..38a742fd881f
--- /dev/null
+++ b/dev-python/pyds9/pyds9-1.7.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1 multilib
+
+XPAPV=2.1.15
+
+DESCRIPTION="Python interface to XPA to communicate with DS9"
+HOMEPAGE="http://hea-www.harvard.edu/RD/ds9/pyds9/"
+SRC_URI="http://hea-www.harvard.edu/RD/download/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=x11-libs/xpa-${XPAPV}"
+RDEPEND="${DEPEND}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ || ( dev-python/astropy[${PYTHON_USEDEP}]
+ dev-python/pyfits[${PYTHON_USEDEP}] )"
+
+DOCS=(changelog README)
+
+src_prepare() {
+ rm -r xpa-${XPAPV} || die
+ sed -i \
+ -e "/py_modules/s|\],|\])|" \
+ -e '/data_files/,$ d' \
+ setup.py || die
+ sed -i \
+ -e "s|./xpa-${XPAPV}|${EROOT%/}/usr/$(get_libdir)|" \
+ xpa.py || die
+ sed -i \
+ -e "s|sys.path|['${EROOT%/}/usr/bin']|" \
+ ds9.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pydvdread/Manifest b/dev-python/pydvdread/Manifest
new file mode 100644
index 000000000000..b5d4bb9e85c3
--- /dev/null
+++ b/dev-python/pydvdread/Manifest
@@ -0,0 +1 @@
+DIST pydvdread-1.0.tar.bz2 62072 SHA256 aae9a0ad1ab4d218a52cc7cffcbbeb9c3e59f4f4286acc36d02d46f3e0b31cb2 SHA512 1d403e1b9538113bb5ab1a808147691b806ee57db3fa30f704a0fcb1dbb8e9155e470dc2fbb895788af59c2952d637a2853d613f0619deb5daf07d2e7b675eee WHIRLPOOL 5c65a36b90f68b2e72f3900954a90b99fc51ea3e70f70e06ecba9a2ee172f51f3972f4c96b240954360e85b5a8d338f1039c7e3ed279d4f20b8edc5ecff4ba3e
diff --git a/dev-python/pydvdread/files/pydvdread-1.0-api-update.patch b/dev-python/pydvdread/files/pydvdread-1.0-api-update.patch
new file mode 100644
index 000000000000..71c08158e660
--- /dev/null
+++ b/dev-python/pydvdread/files/pydvdread-1.0-api-update.patch
@@ -0,0 +1,287 @@
+update the module to libdvdread-4.2.0 (at least so tests pass)
+
+--- a/src/dvdread/__init__.py
++++ b/src/dvdread/__init__.py
+@@ -1,6 +1,6 @@
+ """Main package of pydvdread."""
+
+-__all__ = ['cmd_print',
++__all__ = [
+ 'dvd_reader',
+ 'ifo_print',
+ 'ifo_read',
+--- a/src/dvdread/all.i
++++ b/src/dvdread/all.i
+@@ -403,7 +403,6 @@
+ %{
+ #include <stdint.h>
+ %}
+-%include "cmd_print.i"
+ %include "dvd_reader.i"
+ %include "ifo_print.i"
+ %include "ifo_read.i"
+--- a/src/dvdread/ifo_types.i
++++ b/src/dvdread/ifo_types.i
+@@ -374,7 +374,7 @@ typedef struct {
+ uint16_t nr_of_pre;
+ uint16_t nr_of_post;
+ uint16_t nr_of_cell;
+- uint16_t last_byte;
++ uint16_t zero_1;
+ vm_cmd_t *pre_cmds;
+ vm_cmd_t *post_cmds;
+ vm_cmd_t *cell_cmds;
+--- a/src/dvdread/ifo_print.i
++++ b/src/dvdread/ifo_print.i
+@@ -31,6 +31,7 @@ file to stdout."
+
+ %{
+ #include <dvdread/ifo_print.h>
++#include <dvdread/ifo_read.h>
+ %}
+
+ /**
+@@ -40,21 +41,6 @@ file to stdout."
+ %feature("autodoc", "0");
+
+ /* ifoPrint(dvd, title); */
+-void ifoPrint(dvd_reader_t *dvd, int title);
++void ifo_print(dvd_reader_t *dvd, int title);
+
+ %feature("autodoc", "1");
+-
+-void ifoPrint_VMGI_MAT(vmgi_mat_t *obj);
+-void ifoPrint_VTSI_MAT(vtsi_mat_t *obj);
+-
+-void ifoPrint_PTL_MAIT(ptl_mait_t *obj);
+-void ifoPrint_VTS_ATRT(vts_atrt_t *obj);
+-void ifoPrint_TT_SRPT(tt_srpt_t *obj);
+-void ifoPrint_VTS_PTT_SRPT(vts_ptt_srpt_t *obj);
+-void ifoPrint_PGC(pgc_t *obj);
+-void ifoPrint_PGCIT(pgcit_t *obj);
+-void ifoPrint_PGCI_UT(pgci_ut_t *obj);
+-void ifoPrint_VTS_TMAPT(vts_tmapt_t *obj);
+-void ifoPrint_C_ADT(c_adt_t *obj);
+-void ifoPrint_VOBU_ADMAP(vobu_admap_t *obj);
+-
+--- a/src/dvdread/ifo_print.py
++++ b/src/dvdread/ifo_print.py
+@@ -16,11 +16,4 @@
+ ## along with this program; if not, write to the Free Software
+ ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+-from all import ifoPrint
+-from all import ifoPrint_VMGI_MAT, ifoPrint_VTSI_MAT
+-from all import ifoPrint_PTL_MAIT, ifoPrint_VTS_ATRT
+-from all import ifoPrint_TT_SRPT, ifoPrint_VTS_PTT_SRPT
+-from all import ifoPrint_PGC, ifoPrint_PGCIT
+-from all import ifoPrint_PGCI_UT, ifoPrint_VTS_TMAPT
+-from all import ifoPrint_C_ADT, ifoPrint_VOBU_ADMAP
+-
++from all import ifo_print
+--- a/src/dvdread/dvd_reader.i
++++ b/src/dvdread/dvd_reader.i
+@@ -59,14 +59,6 @@ reading files located on a DVD."
+
+
+ /**
+- * DVDVersion
+- */
+-%feature("autodoc", "DVDVersion() -> int\n\n\
+-Returns the version of libdvdread.") DVDVersion;
+-int DVDVersion(void);
+-
+-
+-/**
+ * DVDOpen
+ */
+ %feature("autodoc", "DVDOpen(path) -> dvd\n\n\
+@@ -106,25 +98,6 @@ void DVDClose( dvd_reader_t * );
+
+
+ /**
+- * DVDInit
+- */
+-%feature("autodoc", "DVDInit()\n\n\
+-Initializes support for multiple threads.\n\n\
+-NOTE: You must call DVDInit before using any of the other functions\n\
+-if you are going to use them in a multithreading app.") DVDInit;
+-void DVDInit(void);
+-
+-
+-/**
+- * DVDFinish
+- */
+-%feature("autodoc", "DVDFinish()\n\n\
+-Frees any dlopened objects.\n\n\
+-NOTE: You must DVDClose all handles opened with DVDOpen before calling this.") DVDFinish;
+-void DVDFinish(void);
+-
+-
+-/**
+ * File Domains
+ */
+ typedef enum {
+--- a/src/dvdread/dvd_reader.py
++++ b/src/dvdread/dvd_reader.py
+@@ -22,9 +22,7 @@ from all import DVD_READ_MENU_VOBS, DVD_READ_TITLE_VOBS
+
+ from all import dvd_stat_t
+
+-from all import DVDVersion, DVDOpen
+-from all import DVDClose, DVDInit
+-from all import DVDFinish, DVDFileStat
++from all import DVDOpen, DVDClose, DVDFileStat
+ from all import DVDOpenFile, DVDCloseFile
+ from all import DVDReadBlocks, DVDFileSeek
+ from all import DVDReadBytes, DVDFileSize
+--- a/tests/TestAll.py
++++ b/tests/TestAll.py
+@@ -33,7 +33,6 @@ devpath()
+
+ import unittest
+
+-import Test_cmd_print
+ import Test_dvd_reader
+ import Test_ifo_print
+ import Test_ifo_read
+@@ -49,7 +48,6 @@ import TestStruct_nav_types
+ # Run all tests
+ if __name__ == '__main__':
+ if len(sys.argv) > 1:
+- Test_cmd_print.DVDPATH = sys.argv[1]
+ Test_dvd_reader.DVDPATH = sys.argv[1]
+ Test_ifo_print.DVDPATH = sys.argv[1]
+ Test_ifo_read.DVDPATH = sys.argv[1]
+@@ -57,8 +55,7 @@ if __name__ == '__main__':
+ Test_nav_print.DVDPATH = sys.argv[1]
+ Test_nav_read.DVDPATH = sys.argv[1]
+ Test_nav_types.DVDPATH = sys.argv[1]
+- suite = unittest.TestLoader().loadTestsFromModule(Test_cmd_print)
+- suite.addTest(unittest.TestLoader().loadTestsFromModule(Test_dvd_reader))
++ suite = unittest.TestLoader().loadTestsFromModule(Test_dvd_reader)
+ suite.addTest(unittest.TestLoader().loadTestsFromModule(Test_ifo_print))
+ suite.addTest(unittest.TestLoader().loadTestsFromModule(Test_ifo_read))
+ suite.addTest(unittest.TestLoader().loadTestsFromModule(Test_ifo_types))
+--- a/tests/Test_dvd_reader.py
++++ b/tests/Test_dvd_reader.py
+@@ -49,9 +49,6 @@ class Test1(unittest.TestCase):
+ self.assert_(isinstance(dvd_reader.DVD_READ_MENU_VOBS, int))
+ self.assert_(isinstance(dvd_reader.DVD_READ_TITLE_VOBS, int))
+
+- def test_DVDVersion(self):
+- self.assert_(isinstance(dvd_reader.DVDVersion(), int))
+-
+ class Test2(unittest.TestCase):
+
+ def tearDown(self):
+@@ -70,22 +67,6 @@ class Test3(unittest.TestCase):
+ def test_DVDClose(self):
+ dvd_reader.DVDClose(self.dvd)
+
+-class Test4(unittest.TestCase):
+-
+- def tearDown(self):
+- dvd_reader.DVDFinish()
+-
+- def test_DVDInit(self):
+- dvd_reader.DVDInit()
+-
+-class Test5(unittest.TestCase):
+-
+- def setUp(self):
+- dvd_reader.DVDInit()
+-
+- def test_DVDFinish(self):
+- dvd_reader.DVDFinish()
+-
+ class Test6(unittest.TestCase):
+
+ def setUp(self):
+--- a/tests/Test_ifo_print.py
++++ b/tests/Test_ifo_print.py
+@@ -50,45 +50,8 @@ class Test1(unittest.TestCase):
+ ifo_read.ifoClose(self.ifo)
+ dvd_reader.DVDClose(self.dvd)
+
+- def test_ifoPrint(self):
+- ifo_print.ifoPrint(self.dvd, 1)
+-
+- def test_ifoPrint_VMGI_MAT(self):
+- ifo_print.ifoPrint_VMGI_MAT(self.ifo0.vmgi_mat)
+-
+- def test_ifoPrint_VTSI_MAT(self):
+- ifo_print.ifoPrint_VTSI_MAT(self.ifo.vtsi_mat)
+-
+- def test_ifoPrint_PTL_MAIT(self):
+- if self.ifo0.ptl_mait:
+- ifo_print.ifoPrint_PTL_MAIT(self.ifo0.ptl_mait)
+-
+- def test_ifoPrint_VTS_ATRT(self):
+- ifo_print.ifoPrint_VTS_ATRT(self.ifo0.vts_atrt)
+-
+- def test_ifoPrint_TT_SRPT(self):
+- ifo_print.ifoPrint_TT_SRPT(self.ifo0.tt_srpt)
+-
+- def test_ifoPrint_VTS_PTT_SRPT(self):
+- ifo_print.ifoPrint_VTS_PTT_SRPT(self.ifo.vts_ptt_srpt)
+-
+- def test_ifoPrint_PGC(self):
+- ifo_print.ifoPrint_PGC(self.ifo0.first_play_pgc)
+-
+- def test_ifoPrint_PGCIT(self):
+- ifo_print.ifoPrint_PGCIT(self.ifo.vts_pgcit)
+-
+- def test_ifoPrint_PGCI_UT(self):
+- ifo_print.ifoPrint_PGCI_UT(self.ifo.pgci_ut)
+-
+- def test_ifoPrint_VTS_TMAPT(self):
+- ifo_print.ifoPrint_VTS_TMAPT(self.ifo.vts_tmapt)
+-
+- def test_ifoPrint_C_ADT(self):
+- ifo_print.ifoPrint_C_ADT(self.ifo.menu_c_adt)
+-
+- def test_ifoPrint_VOBU_ADMAP(self):
+- ifo_print.ifoPrint_VOBU_ADMAP(self.ifo.menu_vobu_admap)
++ def test_ifo_print(self):
++ ifo_print.ifo_print(self.dvd, 1)
+
+
+ # Run the tests
+--- a/tests/Test_ifo_types.py
++++ b/tests/Test_ifo_types.py
+@@ -189,7 +189,7 @@ def pgc_command_tbl_t(obj, tester):
+ tester.assert_(isinstance(obj.nr_of_pre, int))
+ tester.assert_(isinstance(obj.nr_of_post, int))
+ tester.assert_(isinstance(obj.nr_of_cell, int))
+- tester.assert_(isinstance(obj.last_byte, int))
++ tester.assert_(isinstance(obj.zero_1, int))
+ tester.assert_(callable(obj.pre_cmds))
+ for i in range(obj.nr_of_pre):
+ tester.assert_(isinstance(obj.pre_cmds(i), ifo_types.vm_cmd_t))
+@@ -457,18 +457,18 @@ def ptl_mait_country_t(obj, tester):
+ tester.assert_(isinstance(obj.zero_1, int))
+ tester.assert_(isinstance(obj.pf_ptl_mai_start_byte, int))
+ tester.assert_(isinstance(obj.zero_2, int))
+- tester.assert_(isinstance(obj.pf_ptl_mai, ifo_types.pf_level_t))
+- pf_level_t(obj.pf_ptl_mai, tester)
++ # No idea what's going on here.
++ #tester.assert_(isinstance(obj.pf_ptl_mai, ifo_types.pf_level_t))
++ #pf_level_t(obj.pf_ptl_mai, tester)
+
+ def ptl_mait_t(obj, tester):
+ tester.assert_(isinstance(obj.nr_of_countries, int))
+ tester.assert_(isinstance(obj.nr_of_vtss, int))
+ tester.assert_(isinstance(obj.last_byte, int))
+- tester.assert_(isinstance(obj.countries, list))
+- tester.assertEqual(len(obj.countries), obj.nr_of_countries)
+- for elem in obj.countries:
+- tester.assert_(isinstance(elem, ifo_types.ptl_mait_country_t))
+- ptl_mait_country_t(elem, tester)
++ tester.assert_(callable(obj.countries))
++ for i in range(obj.nr_of_countries):
++ tester.assert_(isinstance(obj.countries(i), ifo_types.ptl_mait_country_t))
++ ptl_mait_country_t(obj.countries(i), tester)
+
+ def vts_attributes_t(obj, tester):
+ tester.assert_(isinstance(obj.last_byte, int))
diff --git a/dev-python/pydvdread/files/pydvdread-1.0-py3k.patch b/dev-python/pydvdread/files/pydvdread-1.0-py3k.patch
new file mode 100644
index 000000000000..338ad6c0ef0c
--- /dev/null
+++ b/dev-python/pydvdread/files/pydvdread-1.0-py3k.patch
@@ -0,0 +1,19 @@
+get it building w/python3
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,11 +18,11 @@ def fixso(filepath):
+ class my_build_ext(build_ext):
+ def build_extension(self, ext):
+ sources = ext.sources
+- if sources is None or type(sources) not in (ListType, TupleType):
+- raise DistutilsSetupError, \
++ if sources is None or not isinstance(sources, (list, tuple)):
++ raise DistutilsSetupError(
+ ("in 'ext_modules' option (extension '%s'), " +
+ "'sources' must be present and must be " +
+- "a list of source filenames") % ext.name
++ "a list of source filenames") % ext.name)
+ sources = list(sources)
+ fullname = self.get_ext_fullname(ext.name)
+ if self.inplace:
diff --git a/dev-python/pydvdread/metadata.xml b/dev-python/pydvdread/metadata.xml
new file mode 100644
index 000000000000..af0bf6021f10
--- /dev/null
+++ b/dev-python/pydvdread/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pydvdread</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pydvdread/pydvdread-1.0-r1.ebuild b/dev-python/pydvdread/pydvdread-1.0-r1.ebuild
new file mode 100644
index 000000000000..f210509f7ca4
--- /dev/null
+++ b/dev-python/pydvdread/pydvdread-1.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A set of Python bindings for the libdvdread library"
+HOMEPAGE="http://pydvdread.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE=""
+RESTRICT="test" # Requires an actual DVD to test.
+
+DEPEND="media-libs/libdvdread
+ dev-lang/swig"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-py3k.patch \
+ "${FILESDIR}"/${P}-api-update.patch )
+
+python_test() {
+ "${PYTHON}" tests/TestAll.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyechonest/Manifest b/dev-python/pyechonest/Manifest
new file mode 100644
index 000000000000..92fb7a5941be
--- /dev/null
+++ b/dev-python/pyechonest/Manifest
@@ -0,0 +1,2 @@
+DIST pyechonest-7.2.1.tar.gz 66314 SHA256 5f2279386daf6f9080a633a0ab508fc92c281d2279e29ff4d16a75fea4111b66 SHA512 f77f12355d9243f61ebf8612c94d99222b7ab010d7ef0ff911ceab5581084ac75c450bd538860c213233ac45483ba173f2d21fa0bba8d01480d02f339560b8d0 WHIRLPOOL b633143a23f8d2daa2371a5b2767a72a267cf96f79a73f98279026aa4bf45f84aa55249473efea9eeacbc34b20497607446300c73af448646a61439794d82f34
+DIST pyechonest-9.0.0.tar.gz 63654 SHA256 87d7782d60cb16d84cbd34406154e3e221c9ca0bf977bda1ef73b315d0065372 SHA512 6eaadc08a4e23d8de86ff7b254d271349bd0a766ae1aa7dfa28dc59ae591d5b31aa109e6075fd7db98e3d03b990ab118cd8d5f2e67247988c3de0c5c3a222d66 WHIRLPOOL 1f96e8b447756cd298ad779070ff23b6639b5c61389d3c134a80ea5821b4d4e366dc9e49be5698eb66166415591623bf17b6d6c03c0a3a36836040c2fdc22b0b
diff --git a/dev-python/pyechonest/metadata.xml b/dev-python/pyechonest/metadata.xml
new file mode 100644
index 000000000000..77ada575eb71
--- /dev/null
+++ b/dev-python/pyechonest/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Tap into The Echo Nest's Musical Brain for the best music search,
+ information, recommendations and remix tools on the web.
+
+ Pyechonest is an open source Python library for the Echo Nest API. With
+ Pyechonest you have Python access to the entire set of API methods
+ including:
+ artist - search for artists by name, description, or attribute, and
+ get back detailed information about any artist including
+ audio, similar artists, blogs, familiarity, hotttnesss,
+ news, reviews, urls and video.
+ song - search songs by artist, title, description, or attribute
+ (tempo, duration, etc) and get detailed information back
+ about each song, such as hotttnesss, audio_summary, or
+ tracks.
+ track - upload a track to the Echo Nest and receive summary
+ information about the track including key, duration, mode,
+ tempo, time signature along with detailed track info
+ including timbre, pitch, rhythm and loudness information.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">echonest/pyechonest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyechonest/pyechonest-7.2.1.ebuild b/dev-python/pyechonest/pyechonest-7.2.1.ebuild
new file mode 100644
index 000000000000..ca93c148a5b4
--- /dev/null
+++ b/dev-python/pyechonest/pyechonest-7.2.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to The Echo Nest APIs"
+HOMEPAGE="http://echonest.github.com/pyechonest/"
+SRC_URI="https://github.com/echonest/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyechonest/pyechonest-9.0.0.ebuild b/dev-python/pyechonest/pyechonest-9.0.0.ebuild
new file mode 100644
index 000000000000..2789ead3a04f
--- /dev/null
+++ b/dev-python/pyechonest/pyechonest-9.0.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to The Echo Nest APIs"
+HOMEPAGE="http://echonest.github.com/pyechonest/"
+SRC_URI="https://github.com/echonest/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyelemental/Manifest b/dev-python/pyelemental/Manifest
new file mode 100644
index 000000000000..49c663e8c18d
--- /dev/null
+++ b/dev-python/pyelemental/Manifest
@@ -0,0 +1 @@
+DIST pyelemental-1.2.0.tar.bz2 34610 SHA256 83420f754b6700eb585b08a05510e616058a8b0c62ffd1f9dab3eae1df463bc7 SHA512 2053042ed19e73d9fefd1d86d29d6d3f9fbed1b0733273197bf62f908154d96ac4c6f3ca0c314e66fa291ab253e8afcdf514e4fbf3e4ea66741349f45a27b23e WHIRLPOOL cb44b87411c75cb1a1ec09932b1a5c15336063bfac6e430bf6be0415ff820636847b39bfdfffad7c3a1d1017a035895237f556b07ea99b18f0ae228a9ba254e2
diff --git a/dev-python/pyelemental/files/pyelemental-1.2.0-gcc-4.7.patch b/dev-python/pyelemental/files/pyelemental-1.2.0-gcc-4.7.patch
new file mode 100644
index 000000000000..a0a53a67be28
--- /dev/null
+++ b/dev-python/pyelemental/files/pyelemental-1.2.0-gcc-4.7.patch
@@ -0,0 +1,25 @@
+ value-types.tcc | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/value-types.tcc b/value-types.tcc
+index 5afc8d0..a95ccbf 100644
+--- a/value-types.tcc
++++ b/value-types.tcc
+@@ -44,7 +44,7 @@ ValueType_t (bool)::ready (PyObject* module)
+
+ ValueType_t (PyObject*)::wrap (const cxxtype& source)
+ {
+- return wrap_copy (&type, source);
++ return ValueType::wrap_copy (&type, source);
+ }
+
+
+@@ -160,7 +160,7 @@ ValueListType_t (bool)::ready (PyObject* module)
+
+ ValueListType_t (PyObject*)::wrap (const cxxtype& source)
+ {
+- return wrap_copy (&type, source);
++ return ValueListType::wrap_copy (&type, source);
+ }
+
+
diff --git a/dev-python/pyelemental/metadata.xml b/dev-python/pyelemental/metadata.xml
new file mode 100644
index 000000000000..b6b1bfeaddfb
--- /dev/null
+++ b/dev-python/pyelemental/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="freecode">gelemental</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyelemental/pyelemental-1.2.0-r1.ebuild b/dev-python/pyelemental/pyelemental-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..a815361614a4
--- /dev/null
+++ b/dev-python/pyelemental/pyelemental-1.2.0-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for libelemental (sci-chemistry/gelemental)"
+HOMEPAGE="http://freecode.com/projects/gelemental/"
+SRC_URI="http://www.kdau.com/files/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND=">=sci-chemistry/gelemental-1.2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc-4.7.patch )
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyelftools/Manifest b/dev-python/pyelftools/Manifest
new file mode 100644
index 000000000000..60d5166383b2
--- /dev/null
+++ b/dev-python/pyelftools/Manifest
@@ -0,0 +1,3 @@
+DIST pyelftools-0.21.tar.gz 283250 SHA256 a9a10d894c698ab3a2d909c3df1c3d88d0ab03811351c278b3f520204f33d834 SHA512 adddfe10756a26d694bb4a048104b04958337dc7a1ab023e4bb50b7fbf5d66fc5b6c4a077699757adb26bd6ffd8885a1908f3daae3d0acd65a704a11499308d3 WHIRLPOOL 1607c311e7b3ec463afe53b239f84f7b47878a613365c2f8809a15df4e5096d7d702a8dcbc91c357b3d5f28297106abaa16540842ad09a4dc2bdd1a648589389
+DIST pyelftools-0.22.tar.gz 395525 SHA256 9f7dd617b8a577a3834e7dd7f34f49df21c0670e67a48b21add19abe1adffb60 SHA512 10a84d9d0e28cb609f252990fbc05747e0840c5efeeb6890e13076aa2d59780c7d1a5bd6036dee6f8b252a984796a3834183ccab1c1988473bc69646fe56867b WHIRLPOOL eac57cef3f4159deac907394995655e227aa1d034a3b4ec54728531d08ef1b4f8edee33d971a3423b32d08efba621496bb5e778ba090bc264db6d006da4f8842
+DIST pyelftools-0.23.tar.gz 401363 SHA256 fc57aadd096e8f9b9b03f1a9578f673ee645e1513a5ff0192ef439e77eab21de SHA512 47102b2b0c69f357ba1c6af8e45157cd5395a74aaaf10fcccbf5b2d584a494aa16b1f6d08599459ae036f45888cb0fe422cb3241458e6ee0f1e8e1f32b3ae5d0 WHIRLPOOL 1492b08020bb7a106b939c8691f9910949a9d36241a8379f5358832b7b79a6ac1fdac4aaa928d65cd25fe466cb96bb38ef383bd9e79ae5fe0417aad53a1387a4
diff --git a/dev-python/pyelftools/files/pyelftools-0.21-dyntable.patch b/dev-python/pyelftools/files/pyelftools-0.21-dyntable.patch
new file mode 100644
index 000000000000..e43e6cb0a4db
--- /dev/null
+++ b/dev-python/pyelftools/files/pyelftools-0.21-dyntable.patch
@@ -0,0 +1,143 @@
+changeset: 207:92736c403d53
+tag: tip
+user: Mike Frysinger <vapier@gentoo.org>
+date: Mon Apr 22 19:02:21 2013 -0400
+summary: support parsing of dynamic ELFs w/out section headers
+
+At runtime, ELFs do not use the section headers at all. Instead, only
+the program segments and dynamic tags get used. This means you can
+strip the section table completely from an ELF and have it still work.
+
+In practice, people rarely do this, but it's not unheard of. Make the
+Dynamic tags work even in these cases by loading the strings table the
+same way the runtime loader does:
+- parse the symtab address from DT_STRTAB
+- locate the file offset via the program segments
+
+In order to avoid circular deps (parsing a dyntag requires walking parsed
+dyntags), add a set of internal funcs for returning the raw values.
+
+diff --git a/elftools/elf/dynamic.py b/elftools/elf/dynamic.py
+--- a/elftools/elf/dynamic.py
++++ b/elftools/elf/dynamic.py
+@@ -10,11 +10,26 @@
+
+ from .sections import Section
+ from .segments import Segment
+-from ..common.utils import struct_parse
++from ..common.utils import struct_parse, parse_cstring_from_stream
+
+ from .enums import ENUM_D_TAG
+
+
++class _DynamicStringTable(object):
++ """ Bare string table based on values found via ELF dynamic tags and
++ loadable segments only. Good enough for get_string() only.
++ """
++ def __init__(self, stream, table_offset):
++ self._stream = stream
++ self._table_offset = table_offset
++
++ def get_string(self, offset):
++ """ Get the string stored at the given offset in this string table.
++ """
++ return parse_cstring_from_stream(self._stream,
++ self._table_offset + offset)
++
++
+ class DynamicTag(object):
+ """ Dynamic Tag object - representing a single dynamic tag entry from a
+ dynamic section.
+@@ -27,10 +42,9 @@
+ _HANDLED_TAGS = frozenset(
+ ['DT_NEEDED', 'DT_RPATH', 'DT_RUNPATH', 'DT_SONAME'])
+
+- def __init__(self, entry, elffile):
++ def __init__(self, entry, dynstr):
+ self.entry = entry
+- if entry.d_tag in self._HANDLED_TAGS:
+- dynstr = elffile.get_section_by_name(b'.dynstr')
++ if entry.d_tag in self._HANDLED_TAGS and dynstr:
+ setattr(self, entry.d_tag[3:].lower(),
+ dynstr.get_string(self.entry.d_val))
+
+@@ -60,26 +74,66 @@
+ self._num_tags = -1
+ self._offset = position
+ self._tagsize = self._elfstructs.Elf_Dyn.sizeof()
++ self.__string_table = None
++
++ @property
++ def _string_table(self):
++ if self.__string_table:
++ return self.__string_table
++
++ # If the ELF has stripped its section table (which is unusual, but
++ # perfectly valid), we need to use the dynamic tags to locate the
++ # dynamic string table.
++ strtab = None
++ for tag in self._iter_tags(type='DT_STRTAB'):
++ strtab = tag['d_val']
++ break
++ # If we found a dynamic string table, locate the offset in the file
++ # by using the program headers.
++ if strtab:
++ for segment in self._elffile.iter_segments():
++ if (strtab >= segment['p_vaddr'] and
++ strtab < segment['p_vaddr'] + segment['p_filesz']):
++ self.__string_table = _DynamicStringTable(
++ self._stream,
++ segment['p_offset'] + (strtab - segment['p_vaddr']))
++ return self.__string_table
++
++ # That didn't work for some reason. Let's use the section header
++ # even though this ELF is super weird.
++ self.__string_table = self._elffile.get_section_by_name(b'.dynstr')
++
++ return self.__string_table
++
++ def _iter_tags(self, type=None):
++ """ Yield all raw tags (limit to |type| if specified)
++ """
++ for n in itertools.count():
++ tag = self._get_tag(n)
++ if type is None or tag['d_tag'] == type:
++ yield tag
++ if tag['d_tag'] == 'DT_NULL':
++ break
+
+ def iter_tags(self, type=None):
+ """ Yield all tags (limit to |type| if specified)
+ """
+- for n in itertools.count():
+- tag = self.get_tag(n)
+- if type is None or tag.entry.d_tag == type:
+- yield tag
+- if tag.entry.d_tag == 'DT_NULL':
+- break
++ for tag in self._iter_tags(type=type):
++ yield DynamicTag(tag, self._string_table)
++
++ def _get_tag(self, n):
++ """ Get the raw tag at index #n from the file
++ """
++ offset = self._offset + n * self._tagsize
++ return struct_parse(
++ self._elfstructs.Elf_Dyn,
++ self._stream,
++ stream_pos=offset)
+
+ def get_tag(self, n):
+ """ Get the tag at index #n from the file (DynamicTag object)
+ """
+- offset = self._offset + n * self._tagsize
+- entry = struct_parse(
+- self._elfstructs.Elf_Dyn,
+- self._stream,
+- stream_pos=offset)
+- return DynamicTag(entry, self._elffile)
++ return DynamicTag(self._get_tag(n), self._string_table)
+
+ def num_tags(self):
+ """ Number of dynamic tags in the file
+
diff --git a/dev-python/pyelftools/files/pyelftools-0.22-dyntable.patch b/dev-python/pyelftools/files/pyelftools-0.22-dyntable.patch
new file mode 100644
index 000000000000..7f7730499820
--- /dev/null
+++ b/dev-python/pyelftools/files/pyelftools-0.22-dyntable.patch
@@ -0,0 +1,153 @@
+From b3157177bde20a2b0d0ada7b2ba44144ee5aea6f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 9 Jun 2013 18:42:40 -0400
+Subject: [PATCH] support parsing of dynamic ELFs w/out section headers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+At runtime, ELFs do not use the section headers at all. Instead, only
+the program segments and dynamic tags get used. This means you can
+strip the section table completely from an ELF and have it still work.
+
+In practice, people rarely do this, but it's not unheard of. Make the
+Dynamic tags work even in these cases by loading the strings table the
+same way the runtime loader does:
+ * parse the symtab address from DT_STRTAB
+ * locate the file offset via the program segments
+
+In order to avoid circular deps (parsing a dyntag requires walking parsed
+dyntags), add a set of internal funcs for returning the raw values.
+
+You can see this in action:
+$ eu-strip -g --strip-sections a.out
+$ readelf -S a.out
+<nothing>
+$ lddtree.py ./a.out
+a.out (interpreter => /lib64/ld-linux-x86-64.so.2)
+ libïäöëß.so => None
+ libc.so.6 => /lib64/libc.so.6
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ elftools/elf/dynamic.py | 81 ++++++++++++++++++---
+ test/test_dynamic.py | 28 ++++++-
+ .../aarch64_super_stripped.elf | Bin 0 -> 4136 bytes
+ 3 files changed, 97 insertions(+), 12 deletions(-)
+ create mode 100755 test/testfiles_for_unittests/aarch64_super_stripped.elf
+
+diff --git a/elftools/elf/dynamic.py b/elftools/elf/dynamic.py
+index d9db870..ad5111f 100644
+--- a/elftools/elf/dynamic.py
++++ b/elftools/elf/dynamic.py
+@@ -11,9 +11,22 @@ import itertools
+ from .sections import Section
+ from .segments import Segment
+ from ..common.exceptions import ELFError
+-from ..common.utils import struct_parse
+-
+-from .enums import ENUM_D_TAG
++from ..common.utils import struct_parse, parse_cstring_from_stream
++
++
++class _DynamicStringTable(object):
++ """ Bare string table based on values found via ELF dynamic tags and
++ loadable segments only. Good enough for get_string() only.
++ """
++ def __init__(self, stream, table_offset):
++ self._stream = stream
++ self._table_offset = table_offset
++
++ def get_string(self, offset):
++ """ Get the string stored at the given offset in this string table.
++ """
++ return parse_cstring_from_stream(self._stream,
++ self._table_offset + offset)
+
+
+ class DynamicTag(object):
+@@ -61,27 +76,71 @@ class Dynamic(object):
+ self._num_tags = -1
+ self._offset = position
+ self._tagsize = self._elfstructs.Elf_Dyn.sizeof()
+- self._stringtable = stringtable
++ self.__stringtable = stringtable
+
+- def iter_tags(self, type=None):
+- """ Yield all tags (limit to |type| if specified)
++ @property
++ def _stringtable(self):
++ """ Return a string table for looking up dynamic tag related strings.
++
++ This won't be a "full" string table object, but will at least support
++ the get_string() function.
++ """
++ if self.__stringtable:
++ return self.__stringtable
++
++ # If the ELF has stripped its section table (which is unusual, but
++ # perfectly valid), we need to use the dynamic tags to locate the
++ # dynamic string table.
++ strtab = None
++ for tag in self._iter_tags(type='DT_STRTAB'):
++ strtab = tag['d_val']
++ break
++ # If we found a dynamic string table, locate the offset in the file
++ # by using the program headers.
++ if strtab:
++ for segment in self._elffile.iter_segments():
++ if (strtab >= segment['p_vaddr'] and
++ strtab < segment['p_vaddr'] + segment['p_filesz']):
++ self.__stringtable = _DynamicStringTable(
++ self._stream,
++ segment['p_offset'] + (strtab - segment['p_vaddr']))
++ return self.__stringtable
++
++ # That didn't work for some reason. Let's use the section header
++ # even though this ELF is super weird.
++ self.__stringtable = self._elffile.get_section_by_name(b'.dynstr')
++
++ return self.__stringtable
++
++ def _iter_tags(self, type=None):
++ """ Yield all raw tags (limit to |type| if specified)
+ """
+ for n in itertools.count():
+- tag = self.get_tag(n)
+- if type is None or tag.entry.d_tag == type:
++ tag = self._get_tag(n)
++ if type is None or tag['d_tag'] == type:
+ yield tag
+- if tag.entry.d_tag == 'DT_NULL':
++ if tag['d_tag'] == 'DT_NULL':
+ break
+
+- def get_tag(self, n):
+- """ Get the tag at index #n from the file (DynamicTag object)
++ def iter_tags(self, type=None):
++ """ Yield all tags (limit to |type| if specified)
++ """
++ for tag in self._iter_tags(type=type):
++ yield DynamicTag(tag, self._stringtable)
++
++ def _get_tag(self, n):
++ """ Get the raw tag at index #n from the file
+ """
+ offset = self._offset + n * self._tagsize
+- entry = struct_parse(
++ return struct_parse(
+ self._elfstructs.Elf_Dyn,
+ self._stream,
+ stream_pos=offset)
+- return DynamicTag(entry, self._stringtable)
++
++ def get_tag(self, n):
++ """ Get the tag at index #n from the file (DynamicTag object)
++ """
++ return DynamicTag(self._get_tag(n), self._stringtable)
+
+ def num_tags(self):
+ """ Number of dynamic tags in the file
+--
+2.0.0
+
diff --git a/dev-python/pyelftools/files/pyelftools-0.22-grace-string-dyn.patch b/dev-python/pyelftools/files/pyelftools-0.22-grace-string-dyn.patch
new file mode 100644
index 000000000000..1c9552d02720
--- /dev/null
+++ b/dev-python/pyelftools/files/pyelftools-0.22-grace-string-dyn.patch
@@ -0,0 +1,75 @@
+From 80305ad20ebd481dde19fa7ff2d90249269aa588 Mon Sep 17 00:00:00 2001
+From: Eli Bendersky <eliben@gmail.com>
+Date: Wed, 23 Apr 2014 16:44:11 -0700
+Subject: [PATCH] Issue #29: Fail more gracefully when no string table is found
+ for dynamic.
+
+---
+ elftools/elf/dynamic.py | 4 ++++
+ test/test_dynamic.py | 25 +++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+ create mode 100644 test/test_dynamic.py
+
+diff --git a/elftools/elf/dynamic.py b/elftools/elf/dynamic.py
+index e36598e..6f88bf9 100644
+--- a/elftools/elf/dynamic.py
++++ b/elftools/elf/dynamic.py
+@@ -10,6 +10,7 @@ import itertools
+
+ from .sections import Section
+ from .segments import Segment
++from ..common.exceptions import ELFError
+ from ..common.utils import struct_parse
+
+ from .enums import ENUM_D_TAG
+@@ -29,6 +30,8 @@ class DynamicTag(object):
+ 'DT_SUNW_FILTER'])
+
+ def __init__(self, entry, stringtable):
++ if stringtable is None:
++ raise ELFError('Creating DynamicTag without string table')
+ self.entry = entry
+ if entry.d_tag in self._HANDLED_TAGS:
+ setattr(self, entry.d_tag[3:].lower(),
+@@ -114,6 +117,7 @@ class DynamicSegment(Segment, Dynamic):
+ # So we must look for the dynamic section contained in the dynamic
+ # segment, we do so by searching for the dynamic section whose content
+ # is located at the same offset as the dynamic segment
++ stringtable = None
+ for section in elffile.iter_sections():
+ if (isinstance(section, DynamicSection) and
+ section['sh_offset'] == header['p_offset']):
+diff --git a/test/test_dynamic.py b/test/test_dynamic.py
+new file mode 100644
+index 0000000..0ee9b35
+--- /dev/null
++++ b/test/test_dynamic.py
+@@ -0,0 +1,25 @@
++#-------------------------------------------------------------------------------
++# elftools tests
++#
++# Eli Bendersky (eliben@gmail.com)
++# This code is in the public domain
++#-------------------------------------------------------------------------------
++try:
++ import unittest2 as unittest
++except ImportError:
++ import unittest
++import os
++
++from utils import setup_syspath; setup_syspath()
++from elftools.common.exceptions import ELFError
++from elftools.elf.dynamic import DynamicTag
++
++
++class TestDynamicTag(unittest.TestCase):
++ def test_requires_stringtable(self):
++ with self.assertRaises(ELFError):
++ dt = DynamicTag('', None)
++
++
++if __name__ == '__main__':
++ unittest.main()
+--
+2.0.0
+
diff --git a/dev-python/pyelftools/metadata.xml b/dev-python/pyelftools/metadata.xml
new file mode 100644
index 000000000000..ec397e2251e1
--- /dev/null
+++ b/dev-python/pyelftools/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyelftools</remote-id>
+ <remote-id type="github">eliben/pyelftools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyelftools/pyelftools-0.21-r4.ebuild b/dev-python/pyelftools/pyelftools-0.21-r4.ebuild
new file mode 100644
index 000000000000..778f664f9c8d
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.21-r4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for parsing and analyzing ELF files and DWARF debugging information"
+HOMEPAGE="http://pypi.python.org/pypi/pyelftools https://github.com/eliben/pyelftools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~amd64-linux ~sparc-fbsd ~x86-fbsd ~x86-linux"
+IUSE=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-dyntable.patch
+}
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ local t
+ for t in all_unittests examples_test ; do
+ "${PYTHON}" ./test/run_${t}.py || die "Tests fail with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/pyelftools/pyelftools-0.22.ebuild b/dev-python/pyelftools/pyelftools-0.22.ebuild
new file mode 100644
index 000000000000..7e97efcb9b22
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.22.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for parsing and analyzing ELF files and DWARF debugging information"
+HOMEPAGE="http://pypi.python.org/pypi/pyelftools https://github.com/eliben/pyelftools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-grace-string-dyn.patch
+ "${FILESDIR}"/${P}-dyntable.patch
+)
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ local t
+ for t in all_unittests examples_test ; do
+ "${PYTHON}" ./test/run_${t}.py || die "Tests fail with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyelftools/pyelftools-0.23-r1.ebuild b/dev-python/pyelftools/pyelftools-0.23-r1.ebuild
new file mode 100644
index 000000000000..6ce449e729fb
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.23-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for parsing and analyzing ELF files and DWARF debugging information"
+HOMEPAGE="http://pypi.python.org/pypi/pyelftools https://github.com/eliben/pyelftools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ local t
+ for t in all_unittests examples_test ; do
+ "${PYTHON}" ./test/run_${t}.py || die "Tests fail with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyelftools/pyelftools-0.23.ebuild b/dev-python/pyelftools/pyelftools-0.23.ebuild
new file mode 100644
index 000000000000..afaebf9bd7db
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.23.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for parsing and analyzing ELF files and DWARF debugging information"
+HOMEPAGE="http://pypi.python.org/pypi/pyelftools https://github.com/eliben/pyelftools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ local t
+ for t in all_unittests examples_test ; do
+ "${PYTHON}" ./test/run_${t}.py || die "Tests fail with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyemf/Manifest b/dev-python/pyemf/Manifest
new file mode 100644
index 000000000000..89675fe6b73e
--- /dev/null
+++ b/dev-python/pyemf/Manifest
@@ -0,0 +1 @@
+DIST pyemf-2.0.0.tar.gz 194995 SHA256 6960341434b9683926fba01f1fd81738234848c3f25883fa44c84b9833cf2354 SHA512 013f96356d48db95f9f6f89167d99573e40d8c594b3f6e3183b50d784b653b508662e3b652f8a76dccabeb3933009a06d5786e156284520683d6b3747f2dec66 WHIRLPOOL efdedb5e7707ff95cd628a837ee8e2a397f1b78444083feeeb22d9d621281cd4be934a3b2d85f08a6b7427b3c3463cbc5c2b0a2ee801b72bad0dfaaf50bb5404
diff --git a/dev-python/pyemf/metadata.xml b/dev-python/pyemf/metadata.xml
new file mode 100644
index 000000000000..6de9012edfeb
--- /dev/null
+++ b/dev-python/pyemf/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ pyemf is a pure python module that provides a cross-platform ability
+ to generate enhanced metafiles (.emf files), a vector graphics
+ format defined by the ECMA-234 standard. Enhanced metafiles are a
+ natively supported image and scalable clip-art format in the
+ OpenOffice suite of tools and in Windows applications.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pyemf</remote-id>
+ <remote-id type="sourceforge">pyemf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyemf/pyemf-2.0.0.ebuild b/dev-python/pyemf/pyemf-2.0.0.ebuild
new file mode 100644
index 000000000000..c04d472a98c0
--- /dev/null
+++ b/dev-python/pyemf/pyemf-2.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="Pure Python Enhanced Metafile Library"
+HOMEPAGE="http://pyemf.sf.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyenchant/Manifest b/dev-python/pyenchant/Manifest
new file mode 100644
index 000000000000..5a20ccddc44e
--- /dev/null
+++ b/dev-python/pyenchant/Manifest
@@ -0,0 +1 @@
+DIST pyenchant-1.6.6.tar.gz 64010 SHA256 25c9d2667d512f8fc4410465fdd2e868377ca07eb3d56e2b6e534a86281d64d3 SHA512 af6aa1ac77b5718ec4b4aad3d0b88d26e697b472ec8261b23b37fdbf6b399a120ccc3e4ee6579b884c44b0eeb3f95bcdbceea189105c05088a48400a0c8cdb90 WHIRLPOOL 72f6be0f5012fe467395aa9e55378d1aafcdab45e75d2ea2fb8b9bff9ab6aaccbe36806074381ed7c4703dcc93bcc24caf29830302b8986e89ffc29eb0b5042e
diff --git a/dev-python/pyenchant/files/pyenchant-setup.patch b/dev-python/pyenchant/files/pyenchant-setup.patch
new file mode 100644
index 000000000000..757b759b7146
--- /dev/null
+++ b/dev-python/pyenchant/files/pyenchant-setup.patch
@@ -0,0 +1,11 @@
+--- a/setup.py
++++ b/setup.py
+@@ -6,8 +6,6 @@
+ #
+
+
+-import distribute_setup
+-distribute_setup.use_setuptools()
+ from setuptools import setup, find_packages, Extension
+ from distutils.archive_util import make_archive
+
diff --git a/dev-python/pyenchant/metadata.xml b/dev-python/pyenchant/metadata.xml
new file mode 100644
index 000000000000..9ce38b641ca2
--- /dev/null
+++ b/dev-python/pyenchant/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">PyEnchant is a set of language bindings and some wrapper classes to
+ make the excellent Enchant spellchecker available as a Python
+ module. The bindings are generated using SWIG. It includes all the
+ functionality of Enchant with the flexibility of Python and a nice
+ 'Pythonic' object-oriented interface. It also aims to provide some
+ higher-level functionality than is available in the C API.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pyenchant</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyenchant/pyenchant-1.6.6.ebuild b/dev-python/pyenchant/pyenchant-1.6.6.ebuild
new file mode 100644
index 000000000000..948f2d38430d
--- /dev/null
+++ b/dev-python/pyenchant/pyenchant-1.6.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Enchant spellchecking system"
+HOMEPAGE="http://pyenchant.sourceforge.net http://pypi.python.org/pypi/pyenchant"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="
+ >=app-text/enchant-${PV%.*}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ if [[ -n "$(LC_ALL="en_US.UTF-8" bash -c "" 2>&1)" ]]; then
+ ewarn "Disabling tests due to missing en_US.UTF-8 locale"
+ else
+ esetup.py test
+ fi
+}
diff --git a/dev-python/pyev/Manifest b/dev-python/pyev/Manifest
new file mode 100644
index 000000000000..5f9d1f5dd185
--- /dev/null
+++ b/dev-python/pyev/Manifest
@@ -0,0 +1,2 @@
+DIST pyev-0.8.1-4.04.tar.gz 623423 SHA256 5e634953c08d27141f7e64c0c85fb64ea9756545309073ea8cd5b0a7050950e5 SHA512 59fd8564445822c12032889c826ad148b15544462aa72d4658cc5887b5af3542e399d2d47767f935f8638836f9ba954e4c8ceef6f5f630e3ee035ba96d339e1d WHIRLPOOL a66bca355e6ff05730fd9ba51c66d6dd7bd343fa5ddfe83fb5f6a3cd1bf1216d8916249cc9f0310f2db37ad44a3bbc66547fa59fc5aca88e401f9f10f64be443
+DIST pyev-0.9.0.tar.gz 223943 SHA256 5d030a993cb0e9a74034e57b2e1e3f6378f25083bb886583badf68c0e800c665 SHA512 05eafd70b843be8ee84a9a384fea9f222445930de00c5a6ac38c6e798f22165914fab3825be8e98e84fa68fdfe9e477718190a6939737667868b4badeb1eafa8 WHIRLPOOL d89da560e0ab96996ec05b629ec5eb9f8c9efcbb147411658fad89e9a77aaa3e70a6c8b20bd0b2ad99619a363e0335a154de2fe1a519184cdc4e02343a077687
diff --git a/dev-python/pyev/metadata.xml b/dev-python/pyev/metadata.xml
new file mode 100644
index 000000000000..8f4c7f40ad14
--- /dev/null
+++ b/dev-python/pyev/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <longdescription lang="en">
+ Pyev is the python interface of <pkg>dev-libs/libev</pkg>
+ which provides event loop, support select, poll, the
+ Linux-specific epoll, and so on.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pyev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyev/pyev-0.8.1.ebuild b/dev-python/pyev/pyev-0.8.1.ebuild
new file mode 100644
index 000000000000..2544879d4421
--- /dev/null
+++ b/dev-python/pyev/pyev-0.8.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_P=${P}-4.04
+
+DESCRIPTION="Python libev interface, an event loop"
+HOMEPAGE="http://code.google.com/p/pyev/
+ http://pythonhosted.org/pyev/"
+SRC_URI="mirror://pypi/p/pyev/${MY_P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND="dev-libs/libev
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}"
+
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+HTML_DOCS=( doc/. )
+
+python_prepare() {
+ distutils-r1_python_prepare
+}
diff --git a/dev-python/pyev/pyev-0.9.0.ebuild b/dev-python/pyev/pyev-0.9.0.ebuild
new file mode 100644
index 000000000000..76f012323c82
--- /dev/null
+++ b/dev-python/pyev/pyev-0.9.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python libev interface, an event loop"
+HOMEPAGE="http://code.google.com/p/pyev/
+ http://pythonhosted.org/pyev/"
+SRC_URI="mirror://pypi/p/pyev/${P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND="dev-libs/libev"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+HTML_DOCS=( doc/. )
diff --git a/dev-python/pyface/Manifest b/dev-python/pyface/Manifest
new file mode 100644
index 000000000000..66375a48864e
--- /dev/null
+++ b/dev-python/pyface/Manifest
@@ -0,0 +1,2 @@
+DIST pyface-4.3.0.tar.gz 5062628 SHA256 e95e1991231a269324e59ecb0950a3d3ce4aa0cd1ab40d0b301cc8324e502d75 SHA512 14ef540408b5258bdb2efd97873f5c9cbc7ab0110c5a5c71ed5ebcf9b8cd8abbc011666fbacb99ce5bb2ac0ae55dbef731a32ec32cb9bb94107203e6a43862fc WHIRLPOOL 0fa3e35966cf941ca34bafdc2fed551b2b9a1d105f9c3daa2ea2ee8040cf9b491921d67cb007083a063f1c97695855cf4785511353df199bf26250d2242ac202
+DIST pyface-4.4.0.tar.gz 486490 SHA256 270bc35a5364681b78569619917e1b5890150c882b455b52578f0c0752f3d3fc SHA512 62c93cbd5e956d56c03580876d5f9191210beb3d81cf8fcd0dfc6b2919263e4bf01219f1372e292fcac4462eaffb45cf9cde62dbe16265134b357dabc47d719d WHIRLPOOL 0596a09dad5a026c5726ef18b2c507a8adba1c2783d91f81cae0d5238b0d206f8486120c11824e6494153314749cfb812434e5e7c5ccd29cd231b2b2c9460aab
diff --git a/dev-python/pyface/metadata.xml b/dev-python/pyface/metadata.xml
new file mode 100644
index 000000000000..9acace48f165
--- /dev/null
+++ b/dev-python/pyface/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The pyface project contains a toolkit-independent GUI abstraction
+ layer, which is used to support the "visualization" features of the
+ Traits package. Thus, you can write code in terms of the Traits API
+ (views, items, editors, etc.), and let pyface and your selected
+ toolkit and back-end take care of the details of displaying them.
+ The following GUI backends are supported:
+ * wxPython
+ * PyQt
+ * PySide
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pyface</remote-id>
+ <remote-id type="github">enthought/pyface</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyface/pyface-4.3.0-r1.ebuild b/dev-python/pyface/pyface-4.3.0-r1.ebuild
new file mode 100644
index 000000000000..7dab97ae079a
--- /dev/null
+++ b/dev-python/pyface/pyface-4.3.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# https://github.com/enthought/pyface/issues/40 confirms only py2.7
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Traits-capable windowing framework"
+HOMEPAGE="https://github.com/enthought/pyface http://pypi.python.org/pypi/pyface"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-python/traits-4.1[${PYTHON_USEDEP}]
+ || (
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ dev-python/traitsui[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+DOCS=( docs/*.txt )
+
+python_compile_all() {
+ use doc && virtualmake -C docs html
+}
+
+python_test() {
+ export ETS_TOOLKIT=qt4
+ export QT_API=pyqt
+ # set nosetests to ignore tests unpassable by these vars.
+ VIRTUALX_COMMAND="nosetests" virtualmake -v -I 'composite_grid_model_test_case*' \
+ -I 'simple_grid_model_test_case*' \
+ -I 'test_split_editor_area_pane*'
+}
+
+python_install_all() {
+ find -name "*LICENSE*.txt" -delete
+ use doc && dohtml -r docs/build/html/*
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyface/pyface-4.4.0.ebuild b/dev-python/pyface/pyface-4.4.0.ebuild
new file mode 100644
index 000000000000..72fc2ef1f695
--- /dev/null
+++ b/dev-python/pyface/pyface-4.4.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# https://github.com/enthought/pyface/issues/40 confirms only py2.7
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Traits-capable windowing framework"
+HOMEPAGE="https://github.com/enthought/pyface"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/traits-4.1[${PYTHON_USEDEP}]
+ || (
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ )"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/traitsui[${PYTHON_USEDEP}]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+python_test() {
+ export ETS_TOOLKIT=qt4
+ export QT_API=pyqt
+ # set nosetests to ignore tests unpassable by these vars.
+ VIRTUALX_COMMAND="nosetests" virtualmake -v -I 'composite_grid_model_test_case*' \
+ -I 'simple_grid_model_test_case*' \
+ -I 'test_split_editor_area_pane*'
+}
diff --git a/dev-python/pyfeyn/Manifest b/dev-python/pyfeyn/Manifest
new file mode 100644
index 000000000000..7f4aad713d42
--- /dev/null
+++ b/dev-python/pyfeyn/Manifest
@@ -0,0 +1 @@
+DIST pyfeyn-0.3.4.tar.gz 27074 SHA256 6b1d86606b9b61cfc6285aec4a15202f60a819368b3e74fc13a586835f22da6e SHA512 b0ce1939d893df3af060cc64d11c2bb09f22c99b074aefe0e79d820ee4c6b5c64f4e8de8f4c31020b33735627b2dead9a70ea9d3504773417a058ac7a1915db8 WHIRLPOOL 6d303b0c941f7d698d4f8ca4d0286be74291392700eec6d63dbec9d9d0db22f77d790022d49176b0dbbb25bc6b44e4360dcf1a4821cb9806de0baf24dfcbebbf
diff --git a/dev-python/pyfeyn/files/pyfeyn-0.3.4.patch b/dev-python/pyfeyn/files/pyfeyn-0.3.4.patch
new file mode 100644
index 000000000000..0017bdd81661
--- /dev/null
+++ b/dev-python/pyfeyn/files/pyfeyn-0.3.4.patch
@@ -0,0 +1,16 @@
+diff -r -U2 pyfeyn-0.3.4.orig/pyfeyn/lines.py pyfeyn-0.3.4/pyfeyn/lines.py
+--- pyfeyn-0.3.4.orig/pyfeyn/lines.py 2014-03-06 23:12:24.000000000 +0700
++++ pyfeyn-0.3.4/pyfeyn/lines.py 2014-05-14 21:45:49.356935407 +0700
+@@ -117,8 +117,12 @@
+ """Make this line a straight line between start and end."""
+ self.arcthrupoint = None
++ return self
+
+
+ def bend(self, amount):
+ """Bend the line to the right by a given distance."""
++ if amount==0:
++ self.arcthrupoint = None
++ return self
+ middle = self.p1.midpoint(self.p2)
+ nx = (middle.y() - self.p1.y()) / abs(self.p1.distance(middle))
diff --git a/dev-python/pyfeyn/metadata.xml b/dev-python/pyfeyn/metadata.xml
new file mode 100644
index 000000000000..ce523852f6d8
--- /dev/null
+++ b/dev-python/pyfeyn/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Python package for drawing Feynman diagrams
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pyfeyn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyfeyn/pyfeyn-0.3.4-r1.ebuild b/dev-python/pyfeyn/pyfeyn-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..7b4bbab094e9
--- /dev/null
+++ b/dev-python/pyfeyn/pyfeyn-0.3.4-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package for drawing Feynman diagrams"
+HOMEPAGE="http://pyfeyn.hepforge.org/ https://pypi.python.org/pypi/pyfeyn/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="latex"
+
+DEPEND=""
+RDEPEND="dev-python/pyx[${PYTHON_USEDEP}]
+ latex? ( dev-texlive/texlive-science )"
+
+PATCHES=( "${FILESDIR}"/${P}.patch )
diff --git a/dev-python/pyfire/Manifest b/dev-python/pyfire/Manifest
new file mode 100644
index 000000000000..da9c98adf38d
--- /dev/null
+++ b/dev-python/pyfire/Manifest
@@ -0,0 +1 @@
+DIST pyfire-0.3.4.tar.gz 15432 SHA256 cd7518f9277080423960205bc7b673648c939f250ad8f3e8d743b582a73ca963 SHA512 91dac47595b74cd1275f3c4e6e9717447605eb7576a94f2478b33de42e8d9e12f147a3759aec6801bb590cb8fe366cd23dfa0544adffea6dccd93ffe4ff399a8 WHIRLPOOL 9c395685e1d87e921e348ca8c59c9145928928b7678d61a5081be3d02e407b558a9292a1fae0334eb53bd0ff8ef8741621f18159d83015f2225758590bce393e
diff --git a/dev-python/pyfire/metadata.xml b/dev-python/pyfire/metadata.xml
new file mode 100644
index 000000000000..ac05301984fa
--- /dev/null
+++ b/dev-python/pyfire/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyfire</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyfire/pyfire-0.3.4-r1.ebuild b/dev-python/pyfire/pyfire-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..f067827a2277
--- /dev/null
+++ b/dev-python/pyfire/pyfire-0.3.4-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="A python implementation of the Campfire API"
+HOMEPAGE="http://www.pyfire.org/"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pyfits/Manifest b/dev-python/pyfits/Manifest
new file mode 100644
index 000000000000..6346f5982dc8
--- /dev/null
+++ b/dev-python/pyfits/Manifest
@@ -0,0 +1,2 @@
+DIST pyfits-2.4.0.tar.gz 284236 SHA256 40c21106b86ad01264780409ecb2c8102e80c3eaf2085224f370fc7b3b07ea22 SHA512 cdbcf8b4e178cde8723eb9386a52e59c9d66462479491d0b0ae1d436c91cc476748c00e837477acf9a46791cd4a7517ff649434c33c225ba8a396148e4485fa1 WHIRLPOOL 2c22a63bd180ad68bf3001d539c403147eecc01dc5537f9c1b0be582c79dd87297f91f33809dec6c9f5906396d409af5b4495ef0b68fe6cc03d816a51a286e50
+DIST pyfits-3.3.tar.gz 1646403 SHA256 becb6dcc7e443138b9d239db7a0e8ad939e6e047c2c9ca86e84d0672da425fa1 SHA512 561fe61050e61745054e0e4712c4413e129293b062d2020219b61d648d7093ce6952e1f26da955a1bf570f76ba7eddeb1805c99f679300b072ef6bacc2e4c90a WHIRLPOOL 9b4b5dd236713359a9441e4179486e4b56ec11b7fc25c3abb59d30a6267fe87496601778731ba7ff92c55243621aa58ca493821b83224fde41a79f18c21e485b
diff --git a/dev-python/pyfits/files/pyfits-3.2-unbundle-cfitsio.patch b/dev-python/pyfits/files/pyfits-3.2-unbundle-cfitsio.patch
new file mode 100644
index 000000000000..28d149824903
--- /dev/null
+++ b/dev-python/pyfits/files/pyfits-3.2-unbundle-cfitsio.patch
@@ -0,0 +1,97 @@
+--- pyfits-3.2.orig/setup.cfg 2014-02-05 14:11:01.244895447 -0800
++++ pyfits-3.2/setup.cfg 2014-02-05 14:28:44.175030178 -0800
+@@ -36,91 +36,12 @@
+
+ [extension=pyfits.compression]
+ sources =
+- cextern/cfitsio/adler32.c
+- cextern/cfitsio/buffers.c
+- cextern/cfitsio/cfileio.c
+- cextern/cfitsio/checksum.c
+- cextern/cfitsio/crc32.c
+- cextern/cfitsio/deflate.c
+- cextern/cfitsio/drvrfile.c
+- cextern/cfitsio/drvrgsiftp.c
+- cextern/cfitsio/drvrmem.c
+- cextern/cfitsio/drvrnet.c
+- cextern/cfitsio/drvrsmem.c
+- cextern/cfitsio/editcol.c
+- cextern/cfitsio/edithdu.c
+- cextern/cfitsio/eval_f.c
+- cextern/cfitsio/eval_l.c
+- cextern/cfitsio/eval_y.c
+- cextern/cfitsio/fitscore.c
+- cextern/cfitsio/fits_hcompress.c
+- cextern/cfitsio/fits_hdecompress.c
+- cextern/cfitsio/getcolb.c
+- cextern/cfitsio/getcol.c
+- cextern/cfitsio/getcold.c
+- cextern/cfitsio/getcole.c
+- cextern/cfitsio/getcoli.c
+- cextern/cfitsio/getcolj.c
+- cextern/cfitsio/getcolk.c
+- cextern/cfitsio/getcoll.c
+- cextern/cfitsio/getcolsb.c
+- cextern/cfitsio/getcols.c
+- cextern/cfitsio/getcolui.c
+- cextern/cfitsio/getcoluj.c
+- cextern/cfitsio/getcoluk.c
+- cextern/cfitsio/getkey.c
+- cextern/cfitsio/group.c
+- cextern/cfitsio/grparser.c
+- cextern/cfitsio/histo.c
+- cextern/cfitsio/imcompress.c
+- cextern/cfitsio/infback.c
+- cextern/cfitsio/inffast.c
+- cextern/cfitsio/inflate.c
+- cextern/cfitsio/inftrees.c
+- cextern/cfitsio/iraffits.c
+- cextern/cfitsio/modkey.c
+- cextern/cfitsio/pliocomp.c
+- cextern/cfitsio/putcolb.c
+- cextern/cfitsio/putcol.c
+- cextern/cfitsio/putcold.c
+- cextern/cfitsio/putcole.c
+- cextern/cfitsio/putcoli.c
+- cextern/cfitsio/putcolj.c
+- cextern/cfitsio/putcolk.c
+- cextern/cfitsio/putcoll.c
+- cextern/cfitsio/putcolsb.c
+- cextern/cfitsio/putcols.c
+- cextern/cfitsio/putcolu.c
+- cextern/cfitsio/putcolui.c
+- cextern/cfitsio/putcoluj.c
+- cextern/cfitsio/putcoluk.c
+- cextern/cfitsio/putkey.c
+- cextern/cfitsio/quantize.c
+- cextern/cfitsio/region.c
+- cextern/cfitsio/ricecomp.c
+- cextern/cfitsio/scalnull.c
+- cextern/cfitsio/swapproc.c
+- cextern/cfitsio/trees.c
+- cextern/cfitsio/uncompr.c
+- cextern/cfitsio/wcssub.c
+- cextern/cfitsio/wcsutil.c
+- cextern/cfitsio/zcompress.c
+- cextern/cfitsio/zuncompress.c
+- cextern/cfitsio/zutil.c
+ src/compressionmodule.c
+ include_dirs =
+ numpy
+- cextern/cfitsio
+-extra_compile_args =
+- -Wno-unused-variable
+- -Wno-parentheses
+- -Wno-uninitialized
+- -Wno-format
+- -Wno-strict-prototypes
+- -Wno-unused
+- -Wno-comments
+- -Wno-switch
+-optional = True
++libraries =
++ cfitsio
++optional = False
+ fail_message =
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ Failed to build PyFITS tile compression support. PyFITS will still
diff --git a/dev-python/pyfits/files/pyfits-3.2.1-unbundle-cfitsio.patch b/dev-python/pyfits/files/pyfits-3.2.1-unbundle-cfitsio.patch
new file mode 100644
index 000000000000..a5d7e6217486
--- /dev/null
+++ b/dev-python/pyfits/files/pyfits-3.2.1-unbundle-cfitsio.patch
@@ -0,0 +1,98 @@
+--- setup.cfg.orig 2014-03-10 10:50:38.200531959 -0700
++++ setup.cfg 2014-03-10 10:52:19.288232002 -0700
+@@ -36,92 +36,12 @@
+
+ [extension=pyfits.compression]
+ sources =
+- cextern/cfitsio/adler32.c
+- cextern/cfitsio/buffers.c
+- cextern/cfitsio/cfileio.c
+- cextern/cfitsio/checksum.c
+- cextern/cfitsio/crc32.c
+- cextern/cfitsio/deflate.c
+- cextern/cfitsio/drvrfile.c
+- cextern/cfitsio/drvrgsiftp.c
+- cextern/cfitsio/drvrmem.c
+- cextern/cfitsio/drvrnet.c
+- cextern/cfitsio/drvrsmem.c
+- cextern/cfitsio/editcol.c
+- cextern/cfitsio/edithdu.c
+- cextern/cfitsio/eval_f.c
+- cextern/cfitsio/eval_l.c
+- cextern/cfitsio/eval_y.c
+- cextern/cfitsio/fitscore.c
+- cextern/cfitsio/fits_hcompress.c
+- cextern/cfitsio/fits_hdecompress.c
+- cextern/cfitsio/getcolb.c
+- cextern/cfitsio/getcol.c
+- cextern/cfitsio/getcold.c
+- cextern/cfitsio/getcole.c
+- cextern/cfitsio/getcoli.c
+- cextern/cfitsio/getcolj.c
+- cextern/cfitsio/getcolk.c
+- cextern/cfitsio/getcoll.c
+- cextern/cfitsio/getcolsb.c
+- cextern/cfitsio/getcols.c
+- cextern/cfitsio/getcolui.c
+- cextern/cfitsio/getcoluj.c
+- cextern/cfitsio/getcoluk.c
+- cextern/cfitsio/getkey.c
+- cextern/cfitsio/group.c
+- cextern/cfitsio/grparser.c
+- cextern/cfitsio/histo.c
+- cextern/cfitsio/imcompress.c
+- cextern/cfitsio/infback.c
+- cextern/cfitsio/inffast.c
+- cextern/cfitsio/inflate.c
+- cextern/cfitsio/inftrees.c
+- cextern/cfitsio/iraffits.c
+- cextern/cfitsio/modkey.c
+- cextern/cfitsio/pliocomp.c
+- cextern/cfitsio/putcolb.c
+- cextern/cfitsio/putcol.c
+- cextern/cfitsio/putcold.c
+- cextern/cfitsio/putcole.c
+- cextern/cfitsio/putcoli.c
+- cextern/cfitsio/putcolj.c
+- cextern/cfitsio/putcolk.c
+- cextern/cfitsio/putcoll.c
+- cextern/cfitsio/putcolsb.c
+- cextern/cfitsio/putcols.c
+- cextern/cfitsio/putcolu.c
+- cextern/cfitsio/putcolui.c
+- cextern/cfitsio/putcoluj.c
+- cextern/cfitsio/putcoluk.c
+- cextern/cfitsio/putkey.c
+- cextern/cfitsio/quantize.c
+- cextern/cfitsio/region.c
+- cextern/cfitsio/ricecomp.c
+- cextern/cfitsio/scalnull.c
+- cextern/cfitsio/swapproc.c
+- cextern/cfitsio/trees.c
+- cextern/cfitsio/uncompr.c
+- cextern/cfitsio/wcssub.c
+- cextern/cfitsio/wcsutil.c
+- cextern/cfitsio/zcompress.c
+- cextern/cfitsio/zuncompress.c
+- cextern/cfitsio/zutil.c
+ src/compressionmodule.c
+ include_dirs =
+ numpy
+- cextern/cfitsio
+-extra_compile_args =
+- -Wno-declaration-after-statement
+- -Wno-unused-variable
+- -Wno-parentheses
+- -Wno-uninitialized
+- -Wno-format
+- -Wno-strict-prototypes
+- -Wno-unused
+- -Wno-comments
+- -Wno-switch
+-optional = True
++libraries =
++ cfitsio
++optional = False
+ fail_message =
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ Failed to build PyFITS tile compression support. PyFITS will still
diff --git a/dev-python/pyfits/metadata.xml b/dev-python/pyfits/metadata.xml
new file mode 100644
index 000000000000..f413ce9b6b03
--- /dev/null
+++ b/dev-python/pyfits/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<herd>python</herd>
+<longdescription lang="en">
+ PyFITS provides an interface to FITS formatted files under the
+ Python scripting language and PyRAF, the Python-based interface to
+ IRAF.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">pyfits</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/pyfits/pyfits-2.4.0.ebuild b/dev-python/pyfits/pyfits-2.4.0.ebuild
new file mode 100644
index 000000000000..93014a9d736e
--- /dev/null
+++ b/dev-python/pyfits/pyfits-2.4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-*"
+
+inherit distutils
+
+DESCRIPTION="Provides an interface to FITS formatted files under python"
+SRC_URI="http://www.stsci.edu/resources/software_hardware/${PN}/${P}.tar.gz"
+HOMEPAGE="http://www.stsci.edu/resources/software_hardware/pyfits"
+
+IUSE=""
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+LICENSE="BSD"
+
+RDEPEND="dev-python/numpy
+ !<dev-python/astropy-0.3"
+DEPEND="${RDEPEND}"
+
+# current tests need data which are not in tar ball
+RESTRICT="test"
+
+src_test() {
+ testing() {
+ local t
+ for t in lib/tests/testPyfits*.py; do
+ PYTHONPATH="$(ls -d build-${PYTHON_ABI}/lib*)" "$(PYTHON)" "${t}" || die "${t} failed with Python ${PYTHON_ABI}"
+ done
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+ local binary
+ for binary in "${ED}"/usr/bin/*; do
+ mv ${binary}{,-pyfits} || die
+ done
+}
diff --git a/dev-python/pyfits/pyfits-3.3.ebuild b/dev-python/pyfits/pyfits-3.3.ebuild
new file mode 100644
index 000000000000..5d014f3a894a
--- /dev/null
+++ b/dev-python/pyfits/pyfits-3.3.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1 eutils multilib
+
+DESCRIPTION="Provides an interface to FITS formatted files under python"
+HOMEPAGE="http://www.stsci.edu/resources/software_hardware/pyfits"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ !<dev-python/astropy-0.3
+ sci-libs/cfitsio:0="
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/d2to1-0.2.5[${PYTHON_USEDEP}]
+ >=dev-python/stsci-distutils-0.3[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/numpydoc[${PYTHON_USEDEP}]' python2_7 'python{3_3,3_4}')
+ dev-python/sphinxcontrib-programoutput[${PYTHON_USEDEP}]
+ dev-python/stsci-sphinxext[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.2.1-unbundle-cfitsio.patch )
+
+python_prepare_all() {
+ sed -i \
+ -e "s/\(hook_package_dir = \)lib/\1$(get_libdir)/g" \
+ "${S}"/setup.cfg || die
+
+ # https://github.com/spacetelescope/PyFITS/issues/95
+ sed -e "s/except UserWarning, w/except UserWarning as w/" -i lib/pyfits/scripts/fitscheck.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ nosetests || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html )
+ distutils-r1_python_install_all
+ dodoc FAQ.txt CHANGES.txt
+ rename_binary() {
+ local binary
+ for binary in "${ED}"/usr/bin/* "${D}$(python_get_scriptdir)"/*
+ do
+ mv ${binary}{,-${PN}} || die "failed renaming"
+ done
+ }
+ python_foreach_impl rename_binary
+}
diff --git a/dev-python/pyflakes/Manifest b/dev-python/pyflakes/Manifest
new file mode 100644
index 000000000000..66508b072d73
--- /dev/null
+++ b/dev-python/pyflakes/Manifest
@@ -0,0 +1,4 @@
+DIST pyflakes-0.7.2.tar.gz 30107 SHA256 e971804569e26a120ded70ca94882cbbf360390538fc3b5861f8ccecaf291178 SHA512 9f50c78ae47f55e30ed264b351325321f6c5d889ca6b2c7509d6c5cb029e27c230849cecc729bb18664cc2eb3d003a38a2e7a20f48563b6fa72c621a783bea64 WHIRLPOOL b23d09999a550784769444fdb1f3592dd54b1938b73e1ec40951eab5d3fad3dc80c0c79fbaa31e1544d74b5c8bcd96ca2f01ee83e0e79d8bfb6228308c20ae4c
+DIST pyflakes-0.7.3.tar.gz 30551 SHA256 dbd2c940a1030a4f811afc1a04017a44011c0cb54f8f384b66aa624097d9b5e3 SHA512 a77fc6a1ca1bdb8aaf31e3653389c7c9357433b8b64dbd3104068a4ce900a019d3dbba5bd23c313fc70398f6f2767a3639cf7b915d3edbc1e1d1e1a03932729d WHIRLPOOL 3ff8aa922f14676a530d51c9114cf7751c23cf92e6d3f88da263b1747343b9fba02f0f2a72123046206a4d22c734cc3f4296f70016d6a51b5ac599bc4bd29345
+DIST pyflakes-0.8.1.tar.gz 32981 SHA256 3fa80a10b36d51686bf7744f5dc99622cd5c98ce8ed64022e629868aafc17769 SHA512 b9843637891f3e82a8430121395ceb4ec5df48b5ba73b96a307ebcb4a393e8cebee1681e094ee1f71a85b58bd2f32562b78fbd61d3fa85634f3ac448b1244637 WHIRLPOOL 0939b6ded3659e53316e6707ca5bf57a6702073c376df611a6a473c43ada36ee8822c9bbf2e106cc1836b46f04ce90612f4ebc73c6cb2d557aa6edb89d0eb949
+DIST pyflakes-0.9.2.tar.gz 34785 SHA256 02691c23ce699f252874b7c27f14cf26e3d4e82b58e5d584f000b7ab5be36a5f SHA512 f412ab8dfabce8378edc7632f448071fc396bd4d76dc0a091df357ed0283151040be9aa51b59dbf28451b6043388f83d82004f1df1cf761df487df40da0f9294 WHIRLPOOL ba473958555ba513b18bd8947f9bc4d361bc51be3984fb39d11be823bf232e748964406b90eca1d01f01b10f3d0ba99f906f0618531e2c75579994afe10c08cb
diff --git a/dev-python/pyflakes/metadata.xml b/dev-python/pyflakes/metadata.xml
new file mode 100644
index 000000000000..8336e0332203
--- /dev/null
+++ b/dev-python/pyflakes/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>PyFlakes is a Lint-like tool for Python, like PyChecker. It is
+ focused on identifying common errors quickly without executing
+ Python code.
+ Its primary advantage over PyChecker is that it is fast. You don't
+ have to sit around for minutes waiting for the checker to run; it
+ runs on most large projects in only a few seconds.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pyflakes</remote-id>
+ <remote-id type="launchpad">pyflakes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyflakes/pyflakes-0.7.2.ebuild b/dev-python/pyflakes/pyflakes-0.7.2.ebuild
new file mode 100644
index 000000000000..1f9537f27c14
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-0.7.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="https://launchpad.net/pyflakes http://pypi.python.org/pypi/pyflakes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~arm-linux ~x86-linux ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # a known failure of 1 test in py3.2.4
+ # https://bugs.launchpad.net/pyflakes/+bug/1172463
+ esetup.py test --quiet
+}
diff --git a/dev-python/pyflakes/pyflakes-0.7.3.ebuild b/dev-python/pyflakes/pyflakes-0.7.3.ebuild
new file mode 100644
index 000000000000..4631dd3dcc69
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-0.7.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3} ) # not 3.4 yet
+
+inherit distutils-r1
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="https://launchpad.net/pyflakes http://pypi.python.org/pypi/pyflakes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=(AUTHORS NEWS.txt README.rst)
+
+python_test() {
+ esetup.py test --quiet
+}
diff --git a/dev-python/pyflakes/pyflakes-0.8.1.ebuild b/dev-python/pyflakes/pyflakes-0.8.1.ebuild
new file mode 100644
index 000000000000..48adb8617578
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-0.8.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="https://launchpad.net/pyflakes http://pypi.python.org/pypi/pyflakes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=(AUTHORS NEWS.txt README.rst)
+
+python_test() {
+ esetup.py test --quiet
+}
diff --git a/dev-python/pyflakes/pyflakes-0.9.2.ebuild b/dev-python/pyflakes/pyflakes-0.9.2.ebuild
new file mode 100644
index 000000000000..b6df5a8ae9d4
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-0.9.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="https://launchpad.net/pyflakes http://pypi.python.org/pypi/pyflakes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ esetup.py test --quiet
+}
diff --git a/dev-python/pyflann/Manifest b/dev-python/pyflann/Manifest
new file mode 100644
index 000000000000..39203fd023cf
--- /dev/null
+++ b/dev-python/pyflann/Manifest
@@ -0,0 +1,2 @@
+DIST flann-1.8.4-src.zip 561057 SHA256 dfbb9321b0d687626a644c70872a2c540b16200e7f4c7bd72f91ae032f445c08 SHA512 47ac6be66e3ec7303d28febc5a4cea2f8d1b3d81c3b7081f27cf17936074e06e91e30123569b41269a2b97c9960274dc485a575d77c1a386e8f539a76a8d3a0a WHIRLPOOL f7722d8c0a8482809920927353421ebb578464fe6746a4dba20a6c7b6f941715529d5be33aebd1726db36eae3b5d4080c6ae86b0f807e6e384af32b87735b83b
+DIST flann-1.8.4-testdata.tar.xz 26744244 SHA256 4eaecf3a221ea6611e841fa2f459a17b6a5fdd633338bb5bc46c434e37667141 SHA512 f2bee5e2dfe2fbb42953df563f178b67639b62e26fc31be14e07c196ba3e84db21804e594af44991f7cf45ca5e10ff753093cf160abf33e90d19735a9a0b51cb WHIRLPOOL e49e5a594464955241ebc9bdfa908bac8b93b2fb465fc08ab73ec4d57194a8b71361ecb67985cdc641013fb8c3fb51ea2033769f41e558ab86e8f71e477b97da
diff --git a/dev-python/pyflann/metadata.xml b/dev-python/pyflann/metadata.xml
new file mode 100644
index 000000000000..c792cc216478
--- /dev/null
+++ b/dev-python/pyflann/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ FLANN is a library for performing fast approximate nearest neighbor
+ searches in high dimensional spaces. It contains a collection of
+ algorithms we found to work best for nearest neighbor search and a
+ system for automatically choosing the best algorithm and optimum
+ parameters depending on the dataset.
+ This is the python binding package split from the main package.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pyflann/pyflann-1.8.4.ebuild b/dev-python/pyflann/pyflann-1.8.4.ebuild
new file mode 100644
index 000000000000..e57444fb7ba9
--- /dev/null
+++ b/dev-python/pyflann/pyflann-1.8.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for FLANN artificial neural network library"
+HOMEPAGE="http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN/"
+SRC_URI="http://people.cs.ubc.ca/~mariusm/uploads/FLANN/flann-${PV}-src.zip
+ test? ( http://dev.gentoo.org/~bicatali/distfiles/flann-${PV}-testdata.tar.xz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ~sci-libs/flann-${PV}"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/flann-${PV}-src/src/python"
+
+python_prepare_all() {
+ sed -e "s/@FLANN_VERSION@/${PV}/" \
+ -e '/package_d/d' \
+ -e "s/,.*'pyflann.lib'//" \
+ setup.py.tpl >> setup.py
+
+ use test && ln -s "${WORKDIR}"/testdata/* "${WORKDIR}"/flann-${PV}-src/test/
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${WORKDIR}"/flann-${PV}-src/test/
+ local t
+ #for t in test*.py; do
+ # test_autotune buggy
+ for t in test_{nn,nn_index,index_save,clustering}.py; do
+ einfo "Running ${t}"
+ PYTHONPATH="${BUILD_DIR}/lib" ${EPYTHON} ${t} || die
+ done
+}
diff --git a/dev-python/pyfltk/Manifest b/dev-python/pyfltk/Manifest
new file mode 100644
index 000000000000..6f52b4468f5b
--- /dev/null
+++ b/dev-python/pyfltk/Manifest
@@ -0,0 +1,2 @@
+DIST pyFltk-1.3.0.tar.gz 915600 SHA256 c52852d21ee17d495185259b46ac9603d683edde7d7e6d4b6f9268da4ee3de57 SHA512 908a6d9581741454440da92fe921f0a2a01be86a5ec01cbbf2d953eb5f0437efd8e635d7bff6c18015afc877a984872a6592df834709f93a1287307e17fbcc61 WHIRLPOOL 62281ef5c798986f1af82da53887fe40a6cd4f4bcfe7fab8d60fc7f3c4ad9cc2d481ced6b2e2bad7638ef843b9dcf396aa246838f173d2afaeaac530e0236d3b
+DIST pyFltk-1.3.3.tar.gz 946763 SHA256 246b92c99b8d5610532456a4c956b355f6140514324916cf35efbe6468c4a188 SHA512 dd4bbef8e82d455237dd085622e78e046ac522449fe63610ee5405c24d759482a89aeab07435fefb5223db78cc1f810f1eca8355afb1d0ff3e4b5e10b73bef8f WHIRLPOOL 8d94349db36cd78eeee722e75c9e1cef088e0f2743bd522eb0496f76faf70a159d6987902f308478a992bd7f2cb62a5bb770a80eee25c3e9feaf08b513956ce1
diff --git a/dev-python/pyfltk/files/fltk_wrap.patch b/dev-python/pyfltk/files/fltk_wrap.patch
new file mode 100644
index 000000000000..5a3904e697ac
--- /dev/null
+++ b/dev-python/pyfltk/files/fltk_wrap.patch
@@ -0,0 +1,15 @@
+diff -ur pyFltk-1.3.3.orig/python/fltk_wrap.cpp pyFltk-1.3.3/python/fltk_wrap.cpp
+--- python/fltk_wrap.cpp 2015-01-03 18:31:21.000000000 +0800
++++ python/fltk_wrap.cpp 2015-06-23 22:26:23.453212512 +0800
+@@ -144,7 +144,9 @@
+ # define _SCL_SECURE_NO_DEPRECATE
+ #endif
+
+-
++int _fl_filename_isdir_quick(const char *n) {
++ return 0;
++}
+
+ /* Python.h has to appear first */
+ #include <Python.h>
+
diff --git a/dev-python/pyfltk/files/ignore-func.patch b/dev-python/pyfltk/files/ignore-func.patch
new file mode 100644
index 000000000000..e4e9f3b4ff20
--- /dev/null
+++ b/dev-python/pyfltk/files/ignore-func.patch
@@ -0,0 +1,11 @@
+http://sourceforge.net/p/pyfltk/code/506/
+--- a/swig/filename.i
++++ b/swig/filename.i
+@@ -14,6 +14,7 @@
+ %ignore fl_alphasort;
+ %ignore fl_casealphasort;
+ %ignore fl_casenumericsort;
++%ignore _fl_filename_isdir_quick;
+
+ %include "FL/filename.H"
+
diff --git a/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch b/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch
new file mode 100644
index 000000000000..f29b7b3c9221
--- /dev/null
+++ b/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch
@@ -0,0 +1,74 @@
+ python/fltk_wrap.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/python/fltk_wrap.cpp b/python/fltk_wrap.cpp
+index 9c16f59..ad42e89 100644
+--- a/python/fltk_wrap.cpp
++++ b/python/fltk_wrap.cpp
+@@ -5238,13 +5238,13 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+
+ const char *fl_vararg_input(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+- result = fl_input(label, deflt);
++ result = fl_input("%s", deflt, label);
+ return result;
+ };
+
+ const char *fl_vararg_password(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+- result = fl_password(label, deflt);
++ result = fl_password("%s", deflt, label);
+ return result;
+ };
+
+@@ -5282,20 +5282,20 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+
+ void fl_mt_message(const char* text) {
+ Py_BEGIN_ALLOW_THREADS;
+- fl_message(text);
++ fl_message("%s", text);
+ Py_END_ALLOW_THREADS;
+ };
+
+ void fl_mt_alert(const char* text) {
+ Py_BEGIN_ALLOW_THREADS;
+- fl_alert(text);
++ fl_alert("%s", text);
+ Py_END_ALLOW_THREADS;
+ };
+
+ int fl_mt_ask(const char* text) {
+ int status = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- status = fl_ask(text);
++ status = fl_ask("%s", text);
+ Py_END_ALLOW_THREADS;
+ return status;
+ };
+@@ -5303,7 +5303,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ int fl_mt_choice(const char *q,const char *b0,const char *b1,const char *b2) {
+ int status = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- status = fl_choice(q, b0, b1, b2);
++ status = fl_choice("%s", b0, b1, b2, q);
+ Py_END_ALLOW_THREADS;
+ return status;
+ };
+@@ -5311,7 +5311,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ const char *fl_mt_input(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- result = fl_input(label, deflt);
++ result = fl_input("%s", deflt, label);
+ Py_END_ALLOW_THREADS;
+ return result;
+ };
+@@ -5319,7 +5319,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ const char *fl_mt_password(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- result = fl_password(label, deflt);
++ result = fl_password("%s", deflt, label);
+ Py_END_ALLOW_THREADS;
+ return result;
+ };
diff --git a/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch b/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch
new file mode 100644
index 000000000000..9b084616c871
--- /dev/null
+++ b/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch
@@ -0,0 +1,15 @@
+http://bugs.gentoo.org/show_bug.cgi?id=375253
+
+http://lipyrary.blogspot.com/2011/09/python-and-linux-kernel-30-sysplatform.html
+
+--- setup.py
++++ setup.py
+@@ -76,7 +76,7 @@
+ lib_dir_list = [fltk_lib_dir]
+ lib_list = ["fltk", "kernel32", "user32", "gdi32", "winspool", "comdlg32", "Comctl32", "advapi32", "shell32", "oleaut32", "odbc32", "odbccp32", "stdc++", "msvcr71"]
+ #link_arg_list=["-Wl,--enable-runtime-pseudo-reloc", "-Wl,--enable-auto-import"]
+-elif sys.platform == 'linux2':
++elif sys.platform.startswith('linux'):
+ print "Building for Linux"
+ # ugly hack to force distutils to use g++ instead of gcc for linking
+ from distutils import sysconfig
diff --git a/dev-python/pyfltk/metadata.xml b/dev-python/pyfltk/metadata.xml
new file mode 100644
index 000000000000..cba14006000b
--- /dev/null
+++ b/dev-python/pyfltk/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Python wrapper for the Fast Light Tool Kit cross-platform graphical
+ user-interface library, using SWIG.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pyfltk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyfltk/pyfltk-1.3.0-r1.ebuild b/dev-python/pyfltk/pyfltk-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..6cbe1a8f3790
--- /dev/null
+++ b/dev-python/pyfltk/pyfltk-1.3.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# FIXME: MakeSwig.py execution should be made work from pyfltk-1.1.5.ebuild
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P=pyFltk-${PV}
+
+DESCRIPTION="Python interface to Fltk library"
+HOMEPAGE="http://pyfltk.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="doc"
+
+DEPEND=">=x11-libs/fltk-1.3.0:1[opengl]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/${P}-linux-3.x-detection.patch
+ )
+
+ # Disable installation of documentation and tests.
+ sed -i -e '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( fltk/docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild b/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..34bb043e4fd9
--- /dev/null
+++ b/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# FIXME: MakeSwig.py execution should be made work from pyfltk-1.1.5.ebuild
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P=pyFltk-${PV}
+
+DESCRIPTION="Python interface to Fltk library"
+HOMEPAGE="http://pyfltk.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86"
+IUSE="doc"
+
+DEPEND=">=x11-libs/fltk-1.3.0:1[opengl]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-linux-3.x-detection.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/ignore-func.patch
+ "${FILESDIR}"/fltk_wrap.patch
+ )
+
+python_prepare_all() {
+ # Disable installation of documentation and tests.
+ sed -i -e '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( fltk/docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyfltk/pyfltk-1.3.3.ebuild b/dev-python/pyfltk/pyfltk-1.3.3.ebuild
new file mode 100644
index 000000000000..2ea7dd274257
--- /dev/null
+++ b/dev-python/pyfltk/pyfltk-1.3.3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# FIXME: MakeSwig.py execution should be made work from pyfltk-1.1.5.ebuild
+
+EAPI=5
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="pyFltk-${PV}"
+MY_P="pyFltk-${PV}_py3"
+
+DESCRIPTION="Python interface to Fltk library"
+HOMEPAGE="http://pyfltk.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz -> ${MY_PN}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND=">=x11-libs/fltk-1.3.0:1[opengl]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_PN}
+
+PATCHES=(
+ "${FILESDIR}"/ignore-func.patch
+ "${FILESDIR}"/fltk_wrap.patch
+ )
+
+python_prepare_all() {
+ # Disable installation of documentation and tests.
+ sed -i -e '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( fltk/docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyformance/Manifest b/dev-python/pyformance/Manifest
new file mode 100644
index 000000000000..2ea0b6114498
--- /dev/null
+++ b/dev-python/pyformance/Manifest
@@ -0,0 +1 @@
+DIST pyformance-0.3.2.tar.gz 10726 SHA256 7004f8e6eee1bcf8e28fb2ec74c8d67894158ccc01397faae70f6ee9729f9b8a SHA512 a838bb6cac144c309d2ff7050617b300fa2308f2bbab1d8b072ce87548d2dbd9ecb2dd552f9ddd53ded2ca4020bd42c7a3f4a245bc2c68ded5f01ebaf04edd71 WHIRLPOOL 6fb45017f8ea85ce3d61346f6a489861c30bf64bd8879e5dad4cb0cab4245346348b94183447e7ca86eb674a5ea4a874c42dec768dc02a0562b009d63e287bc5
diff --git a/dev-python/pyformance/metadata.xml b/dev-python/pyformance/metadata.xml
new file mode 100644
index 000000000000..1b848eb383ae
--- /dev/null
+++ b/dev-python/pyformance/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyformance</remote-id>
+ <remote-id type="github">omergertel/pyformance</remote-id>
+ </upstream>
+ <maintainer>
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pyformance/pyformance-0.3.2.ebuild b/dev-python/pyformance/pyformance-0.3.2.ebuild
new file mode 100644
index 000000000000..1da5985dbf7c
--- /dev/null
+++ b/dev-python/pyformance/pyformance-0.3.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Performance metrics, based on Coda Hale's Yammer metrics"
+HOMEPAGE="https://pyformance.readthedocs.org/ https://github.com/omergertel/pyformance/ https://pypi.python.org/pypi/pyformance/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# https://github.com/omergertel/pyformance/issues/18
+# https://github.com/omergertel/pyformance/pull/17
+RESTRICT="test"
+
+python_test() {
+ PYTHONPATH="${PWD}" python -m unittest \
+ $(find tests -name 'test_*.py' | LC_ALL=C sort | sed -e 's:/:.:' -e 's:.py$::') || die
+}
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
new file mode 100644
index 000000000000..0e400e2416ea
--- /dev/null
+++ b/dev-python/pyftpdlib/Manifest
@@ -0,0 +1,3 @@
+DIST pyftpdlib-1.0.1.tar.gz 116428 SHA256 bec5c2af5942c3970d53b1a9fa27286eba40c2089e3e0ef653ff6f5ed0c4865b SHA512 478f04cb156a6178f03aee40190f17b65e42f04c60311936bf068d11f9ffbd8ae9a118fea456386ccf5184e3fed6270b40b4dfec6523902e310f78ec73785be8 WHIRLPOOL 71b34ef1031b402b2be0d7aac64f796820a20e022fc71fb451777cc4dc50b28ba48dca20608958cd670d90a9baf839c8e4933ddb63b0484fff425faaa5e5e3b1
+DIST pyftpdlib-1.3.0.tar.gz 120206 SHA256 5dec22e691bd75ee0097f2e623df6c7b81a7cc373118f1550a16079dbddc701f SHA512 eacd617aa136c2a9a8836d25c632f30fbc9ad14650d34e0a8f6562c1a5af8e2e3ae0592d7f5456b88818142d63a08c140e75ce2e0a73811c29a7dd5e08700b87 WHIRLPOOL e4ee34587e60f9a41b5332a62a5e4d4914822ffa1bd4cc700ebb03a31fdca50ffa15a55d6d5afb73177d20bbbb30123ca6756629eef936d6bbb8a5d959535d74
+DIST pyftpdlib-1.4.0.tar.gz 116280 SHA256 5fdd1492efe478f4c354f7d65d9308359751c8fb1d0376466b74a76721c5fcf3 SHA512 61cf28d72a3a99bdc9bddcf434275e4edaeff60bf6481c1e854d81a4ea23ae97b73c8da9d0629a705a003ae8a941c529f9b9ed7cfa25759bd5cd6517f9958ff9 WHIRLPOOL 676f58061e07aa8a9dcce9c7076962875866cebca8eacdd624053cab32de3a7bdb0b17337105839b6c997bf2b4263e759c962362930afddaedc1e9a151b855fa
diff --git a/dev-python/pyftpdlib/files/pyftpdlib-1-pypy-test.patch b/dev-python/pyftpdlib/files/pyftpdlib-1-pypy-test.patch
new file mode 100644
index 000000000000..e1b30553fcbe
--- /dev/null
+++ b/dev-python/pyftpdlib/files/pyftpdlib-1-pypy-test.patch
@@ -0,0 +1,20 @@
+diff -ur pyftpdlib-1.0.1.orig/test/test_ftpd.py pyftpdlib-1.0.1/test/test_ftpd.py
+--- test/test_ftpd.py 2013-02-23 03:07:13.000000000 +0800
++++ test/test_ftpd.py 2013-03-13 23:05:48.392965468 +0800
+@@ -33,7 +33,7 @@
+ import threading
+ import unittest
+ import socket
+-import os
++import os, sys
+ import shutil
+ import time
+ import re
+@@ -1358,6 +1358,7 @@
+ self.assertEqual(getmode(), '0555')
+
+
++@unittest.skipIf(hasattr(sys, 'pypy_version_info'), "temp. disabling of pypy")
+ class TestFtpStoreData(TestCase):
+ """Test STOR, STOU, APPE, REST, TYPE."""
+ server_class = FTPd
diff --git a/dev-python/pyftpdlib/metadata.xml b/dev-python/pyftpdlib/metadata.xml
new file mode 100644
index 000000000000..12b46e228600
--- /dev/null
+++ b/dev-python/pyftpdlib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>phajdan.jr@gentoo.org</email>
+ <name>Pawel Hajdan jr</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">pyftpdlib</remote-id>
+ <remote-id type="pypi">pyftpdlib</remote-id>
+ <remote-id type="github">giampaolo/pyftpdlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.0.1-r1.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..8f9e367916d8
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.0.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="ssl(+)"
+# pypy has no spwd.so
+
+inherit distutils-r1
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="http://code.google.com/p/pyftpdlib/ http://pypi.python.org/pypi/pyftpdlib"
+SRC_URI="http://pyftpdlib.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="examples ssl"
+
+DEPEND="ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+DOCS="CREDITS HISTORY"
+
+#PATCHES=( "${FILESDIR}"/${PN}-1-pypy-test.patch )
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ for test in "${S}"/test/test_*.py; do
+ "${PYTHON}" "${test}" || die "Testing failed with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r demo test
+ fi
+}
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.3.0.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.3.0.ebuild
new file mode 100644
index 000000000000..9f5e30fb4878
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.3.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="http://code.google.com/p/pyftpdlib/ http://pypi.python.org/pypi/pyftpdlib"
+SRC_URI="http://pyftpdlib.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="examples ssl"
+
+DEPEND="ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+# Usual; requ'd for a sane testsuite run
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_prepare_all() {
+ # http://code.google.com/p/pyftpdlib/issues/detail?id=292&thanks=292&ts=1400308829
+ # Disable failing test
+ sed -e 's:test_on_incomplete_file_received:_&:' -i test/test_ftpd.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test/test_ftpd.py || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.4.0.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.4.0.ebuild
new file mode 100644
index 000000000000..ae58459eb06a
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.4.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="https://github.com/giampaolo/pyftpdlib http://pypi.python.org/pypi/pyftpdlib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="examples ssl"
+
+DEPEND="ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ "${PYTHON}" test/test_ftpd.py || die
+ "${PYTHON}" test/test_contrib.py || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygal/Manifest b/dev-python/pygal/Manifest
new file mode 100644
index 000000000000..c9b89d095afa
--- /dev/null
+++ b/dev-python/pygal/Manifest
@@ -0,0 +1,4 @@
+DIST pygal-1.5.1.tar.gz 735659 SHA256 680e422f5c5dfd52520a1fa7cc89f9de50a04463a4fa5910b14aebcaa8507191 SHA512 f8cd3727e82ecafebe41983f5b013f7dd32bca35dd2db2f2d46fdfdb06e6461993ce0699d747a7f50fd724b02ab8014c68f5b107a178d2562f3ce8c0f3b5d009 WHIRLPOOL b520e8ec3a688d49a4244d3e7298070b850122c016fc78cf659ed8a96ac7ba8c9fb65782f6b50354820f873a70531a250023a3e4acc586feb1b50b002bc92acd
+DIST pygal-1.6.1.tar.gz 736601 SHA256 ca5be161a1770ce9fc72b246a0da86e98bc8caa9a38922ec96936b56b3dd55ce SHA512 44752613fdb2e0028e1bd734aae18399e7671e84fb66eab4a0f1f6bffdc1d208341cb04dc20316984c0e64bdb6963a1c9bd5d7ecc19659237f703347c5544d2a WHIRLPOOL 83bc393fc9ec9970ea3dfc89752ffd8775f5c4bc16b09f443d311aaae9b4eba5a925eeff0903335196954d969930a45d7d6431b1bf6f71079a11a21787380c10
+DIST pygal-1.7.0.tar.gz 737013 SHA256 e0cf38aec260b0eceb4b7a30f8dcb988ed129915b9561856dd8cb131ae34bcf4 SHA512 b32ec050e0d62224b81bc19d7421a405fca0827ba5bf86f748c3166783527638c29f6c0d010170a682d4ee8f602fc2822738c818638ee39cc5a9a5c4708f61b9 WHIRLPOOL 3278d41dd3107dfad7c2065e5c115c89e005e3887fc3e4bc949796fdee4039912b14439e7af035a3a68151589cc1ac1b7f2e4ec66ef1611edf78e8b0c9c9423d
+DIST pygal-2.0.0.tar.gz 66678 SHA256 54846f1a74f24b54ad4554f1b0d4e05f0ea51e5f66e680bff486e4664572e5f4 SHA512 95beb43687d80043109567021d4b912b5385b934e7348321c9b0a1b048764df7f89a83d3c58653672ae2b8e69c0a2cacdd62a9c43c244443bb99e401ad019e1a WHIRLPOOL dd679983ed862d8dd71b84863d403f3aa01a5ba78f0c95d005e546c982291eb12f932705d70a1a3a0beeb34487bdf75df38354160239fba9e852aa744e3886e8
diff --git a/dev-python/pygal/metadata.xml b/dev-python/pygal/metadata.xml
new file mode 100644
index 000000000000..7fd8d91b4830
--- /dev/null
+++ b/dev-python/pygal/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ <name>Ben de Groot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pygal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygal/pygal-1.5.1.ebuild b/dev-python/pygal/pygal-1.5.1.ebuild
new file mode 100644
index 000000000000..5d1caf0fe7a1
--- /dev/null
+++ b/dev-python/pygal/pygal-1.5.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="http://pygal.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="dev-python/lxml"
diff --git a/dev-python/pygal/pygal-1.6.1.ebuild b/dev-python/pygal/pygal-1.6.1.ebuild
new file mode 100644
index 000000000000..6da7800dad6e
--- /dev/null
+++ b/dev-python/pygal/pygal-1.6.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="http://pygal.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/lxml"
diff --git a/dev-python/pygal/pygal-1.7.0.ebuild b/dev-python/pygal/pygal-1.7.0.ebuild
new file mode 100644
index 000000000000..f73d42783845
--- /dev/null
+++ b/dev-python/pygal/pygal-1.7.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="http://pygal.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ media-gfx/cairosvg[${PYTHON_USEDEP}]"
diff --git a/dev-python/pygal/pygal-2.0.0.ebuild b/dev-python/pygal/pygal-2.0.0.ebuild
new file mode 100644
index 000000000000..19b2a924f489
--- /dev/null
+++ b/dev-python/pygal/pygal-2.0.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="http://pygal.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]
+ media-gfx/cairosvg[${PYTHON_USEDEP}]"
diff --git a/dev-python/pygame/Manifest b/dev-python/pygame/Manifest
new file mode 100644
index 000000000000..25f8d9bab0b0
--- /dev/null
+++ b/dev-python/pygame/Manifest
@@ -0,0 +1 @@
+DIST pygame-1.9.2_pre20120101.tar.xz 2263028 SHA256 86d386a84a29387e98f6650edbd7fffe5b800115b69e6b15b2588c13eae56335 SHA512 1e82cf720da28d4e4213f6b7a029ab4c9dd592c3155f3d11da8272a7d81d28c54f93402383fa5fa4a4e8863dfc039062838d0317cfedde30a4455e52ce680576 WHIRLPOOL 437555ba4816e42bb745ad5ce13b7f164d5a1ff467cd7193327856b98047eeb56c1d1043c2cc75c6a0ca71ea96240df75b1dc544122034c7e4628c544f8d9486
diff --git a/dev-python/pygame/files/pygame-1.9.2_pre20120101-import-bdist.patch b/dev-python/pygame/files/pygame-1.9.2_pre20120101-import-bdist.patch
new file mode 100644
index 000000000000..f587401ab25d
--- /dev/null
+++ b/dev-python/pygame/files/pygame-1.9.2_pre20120101-import-bdist.patch
@@ -0,0 +1,49 @@
+From f5ee3952769d698d7d03ae61a9c70f2ec4d85874 Mon Sep 17 00:00:00 2001
+From: "Markus (root)" <mo@wurzel.org>
+Date: Sun, 19 Oct 2014 16:56:41 +0200
+Subject: [PATCH] This fails with a TypeError, but offers no functionality.
+
+---
+ pygame-1.9.2_pre20120101-python3_3/setup.py | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/pygame-1.9.2_pre20120101-python3_3/setup.py b/pygame-1.9.2_pre20120101-python3_3/setup.py
+index ecee5d1..b913f18 100644
+--- a/pygame-1.9.2_pre20120101-python3_3/setup.py
++++ b/pygame-1.9.2_pre20120101-python3_3/setup.py
+@@ -99,19 +99,19 @@ if "-setuptools" in sys.argv:
+ sys.argv.remove ("-setuptools")
+
+
+-# NOTE: the bdist_mpkg_support is for darwin.
+-try:
+- import bdist_mpkg_support
+- from setuptools import setup, Extension
+-except ImportError:
+- pass
+-else:
+- EXTRAS.update({
+- 'options': bdist_mpkg_support.options,
+- 'setup_requires': ['bdist_mpkg>=0.4.2'],
+- #'install_requires': ['pyobjc'],
+- #'dependency_links': ['http://rene.f0o.com/~rene/stuff/macosx/']
+- })
++# # NOTE: the bdist_mpkg_support is for darwin.
++# try:
++# import bdist_mpkg_support
++# from setuptools import setup, Extension
++# except ImportError:
++# pass
++# else:
++# EXTRAS.update({
++# 'options': bdist_mpkg_support.options,
++# 'setup_requires': ['bdist_mpkg>=0.4.2'],
++# #'install_requires': ['pyobjc'],
++# #'dependency_links': ['http://rene.f0o.com/~rene/stuff/macosx/']
++# })
+
+ #headers to install
+ headers = glob.glob(os.path.join('src', '*.h'))
+--
+2.1.2
+
diff --git a/dev-python/pygame/metadata.xml b/dev-python/pygame/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pygame/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pygame/pygame-1.9.2_pre20120101-r2.ebuild b/dev-python/pygame/pygame-1.9.2_pre20120101-r2.ebuild
new file mode 100644
index 000000000000..242c6d35fbc4
--- /dev/null
+++ b/dev-python/pygame/pygame-1.9.2_pre20120101-r2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit flag-o-matic distutils-r1 virtualx
+
+DESCRIPTION="Python bindings for SDL multimedia library"
+HOMEPAGE="http://www.pygame.org/"
+if [[ "${PV}" == *_pre* ]]; then
+ SRC_URI="http://people.apache.org/~Arfrever/gentoo/${P}.tar.xz"
+else
+ SRC_URI="http://www.pygame.org/ftp/pygame-${PV}release.tar.gz"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ppc ~sparc x86 ~x86-fbsd"
+IUSE="doc examples X"
+
+DEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ >=media-libs/sdl-image-1.2.2[png,jpeg]
+ >=media-libs/sdl-mixer-1.2.4
+ >=media-libs/sdl-ttf-2.0.6
+ >=media-libs/smpeg-0.4.4-r1
+ X? ( >=media-libs/libsdl-1.2.5[X,video] )
+ !X? ( >=media-libs/libsdl-1.2.5 )"
+RDEPEND="${DEPEND}"
+
+if [[ "${PV}" != *_pre* ]]; then
+ S="${WORKDIR}/${P}release"
+fi
+
+PATCHES=(
+ # Workaround bug #516434
+ "${FILESDIR}"/${P}-import-bdist.patch
+)
+
+DOCS=( WHATSNEW )
+
+python_configure() {
+ "${EPYTHON}" config.py -auto
+
+ if ! use X; then
+ sed -e "s:^scrap :#&:" -i Setup || die "sed failed"
+ fi
+
+ # Disable automagic dependency on PortMidi.
+ sed -e "s:^pypm :#&:" -i Setup || die "sed failed"
+
+ sed -i -e "s/import _camera/from pygame &/g" lib/camera.py || die #415593
+}
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]]; then
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ VIRTUALX_COMMAND="${PYTHON}" virtualmake run_tests.py
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Bug #497720
+ rm -fr "${D}"$(python_get_sitedir)/pygame/{docs,examples,tests}/ || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r docs/*
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+}
diff --git a/dev-python/pygccxml/Manifest b/dev-python/pygccxml/Manifest
new file mode 100644
index 000000000000..20dc92a021aa
--- /dev/null
+++ b/dev-python/pygccxml/Manifest
@@ -0,0 +1 @@
+DIST pygccxml-1.0.0.zip 21639068 SHA256 743a83ef67838db45e5d810e647e884272a65fe6cbbbda0f3ed1fdb3aeedb529 SHA512 d2a96b5bb27c3620527839051e43fa1eee8884692707a347c76863ff44a04502dcff35fe18b95a35c32fb8a4935ed8d5d91bf41eb98aee74f6df08c48ddc0b67 WHIRLPOOL 260075fe402c9eb40ee7ba93d0263fccd409020d261842983a9f2b39c00d51f3d3777a85fa0d94a258f52f57c5c2e30c499c258364c1c58cb8ba455b6fe148f0
diff --git a/dev-python/pygccxml/metadata.xml b/dev-python/pygccxml/metadata.xml
new file mode 100644
index 000000000000..f94e35f11627
--- /dev/null
+++ b/dev-python/pygccxml/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>heroxbd@gentoo.org</email>
+ <name>Benda Xu</name>
+ </maintainer>
+ <longdescription>pygccxml is an object oriented framework for reading C++ declarations.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pygccxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygccxml/pygccxml-1.0.0.ebuild b/dev-python/pygccxml/pygccxml-1.0.0.ebuild
new file mode 100644
index 000000000000..2e4cae479cf1
--- /dev/null
+++ b/dev-python/pygccxml/pygccxml-1.0.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Generate an XML description of a C++ program from GCC's internal representation"
+HOMEPAGE="http://www.language-binding.net/"
+SRC_URI="mirror://sourceforge/pygccxml/${P}.zip"
+
+LICENSE="freedist Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="doc? ( >=dev-python/epydoc-3[${PYTHON_USEDEP}] )
+ app-arch/unzip"
+RDEPEND=">=dev-cpp/gccxml-0.6"
+
+python_compile_all() {
+ if use doc; then
+ esetup.py doc || die
+ fi
+}
+
+python_test() {
+ "${PYTHON}" unittests/test_all.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/apidocs/. )
+ use examples && local EXAMPLES=( docs/example/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygene/Manifest b/dev-python/pygene/Manifest
new file mode 100644
index 000000000000..473081346464
--- /dev/null
+++ b/dev-python/pygene/Manifest
@@ -0,0 +1 @@
+DIST pygene-0.2.1.tar.gz 147178 SHA256 8d24bb4f3fa0fd31f86a1f3478d8699d01e5c3803ff276d876e3c9e9c13c154a SHA512 4f6b32c4e17e85d80530f8f3d94f9726bb5adb80933aa39948ae3824effa780d333ef01ac4a304e63345314a298edd31aa687c6e6947486e74efafa6678951c7 WHIRLPOOL 99e2d2464e9e3cba75d6165f21680ac84589c2666c441701fb585526df9c2aea32f515a012b8d43fa5106d6f988b0f57a595022fe22d972966d712b6aad55beb
diff --git a/dev-python/pygene/metadata.xml b/dev-python/pygene/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pygene/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pygene/pygene-0.2.1-r1.ebuild b/dev-python/pygene/pygene-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..ff6101ff701c
--- /dev/null
+++ b/dev-python/pygene/pygene-0.2.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple python genetic algorithms programming library"
+HOMEPAGE="http://www.freenet.org.nz/python/pygene/"
+SRC_URI="http://www.freenet.org.nz/python/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="doc? ( >=dev-python/epydoc-2.1-r2 )"
+RDEPEND="examples? ( >=dev-python/pyfltk-1.1.2 )"
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples || die
+ mv demo*.py salesman.gif examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ epydoc -n "pygene - Python genetic algorithms" -o doc pygene \
+ || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygeocoder/Manifest b/dev-python/pygeocoder/Manifest
new file mode 100644
index 000000000000..a40118a0bd5c
--- /dev/null
+++ b/dev-python/pygeocoder/Manifest
@@ -0,0 +1 @@
+DIST pygeocoder-1.2.5.tar.gz 8105 SHA256 c1b8353ec8877cedd070d58cb597c4a94b70df00dc0c482d43aa9a21c90bbba0 SHA512 eb395d2f334f5a1de9ed8abb6298d16b49ab7c29cc421daecc816737e89fd7c6f205024a553f2b0d559401df8f26729c042604fbb0ed49f5a763fe833db3745f WHIRLPOOL 8b2cf90af2c035afca455d661fdc330f180c89fc23a865dc6aa0df71d6eb7c7265a21cd97bed0420f457ab77e705ad40c680e1297ab0af4a5349030170e2004f
diff --git a/dev-python/pygeocoder/metadata.xml b/dev-python/pygeocoder/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pygeocoder/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pygeocoder/pygeocoder-1.2.5.ebuild b/dev-python/pygeocoder/pygeocoder-1.2.5.ebuild
new file mode 100644
index 000000000000..d4c887581bfd
--- /dev/null
+++ b/dev-python/pygeocoder/pygeocoder-1.2.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for Google Geocoding API V3"
+HOMEPAGE="http://code.xster.net/pygeocoder/overview"
+SRC_URI="http://code.xster.net/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/requests-1.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
new file mode 100644
index 000000000000..a765ba5ad331
--- /dev/null
+++ b/dev-python/pygit2/Manifest
@@ -0,0 +1,3 @@
+DIST pygit2-0.20.3.tar.gz 141887 SHA256 2957db7d9616db910e9274051fbfe66a496b910113548fbf2a7acdeef01e9ef9 SHA512 13355f2eccb591c7e1e18f66724aa0b68b94e65580aa20464e8669a8f54844557902f029127a9c5e50c3d4dafdc504f1d3aca65c0d26d9f147ff08eab2b002dc WHIRLPOOL a4496cb3dd2799c77240e1eae9c06f167727cb5948081da6f8864feb5ab38a046f8382e994dd3cdf28f4ac8b9e7675b3671b4369a8268f7f09b3c11d3e8bee3d
+DIST pygit2-0.21.4.tar.gz 417750 SHA256 1952332b48e87e918bc807305220075bfb611c96fbc529a43c78d73fdce25593 SHA512 835369ec9302d27ed361ccf3317fece4192e765c5e6e014ed6dd87cba38fe833eff3ba36558aa2951f42542408e3dba07777937aedaf539583db4454198d3112 WHIRLPOOL 90204b7dd28216ddfa82667e246bdaf154b19753b6382b7467a3cae85140a4672342045ba2713ba0eba8e0add5b6facd2ae4f72a0214d3eca0b49acccf14744f
+DIST pygit2-0.22.1.tar.gz 451351 SHA256 54b6e229ca2bf87efe4b5b8279d8f355b8c49613f0b8cbe7e0c1c98c001c39e0 SHA512 8ffcea4a94ca4667112b79e4adda43a75a9b677e609af528f79d4e6f8e84873a4c8478b89743d1de35d28ae00b1254e2287cd912776d96e3bf6a0030477e86a3 WHIRLPOOL 8eeec7ae2bc29264022f59067f93cb5375ead2285a30c27bd9f0c48c1be2b308c5413a3b3b8ede4a9be152727978971b0a6d2f23aeafc7f985ee0eeaf29aa72b
diff --git a/dev-python/pygit2/metadata.xml b/dev-python/pygit2/metadata.xml
new file mode 100644
index 000000000000..42dac9c9129a
--- /dev/null
+++ b/dev-python/pygit2/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libgit2/pygit2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygit2/pygit2-0.20.3.ebuild b/dev-python/pygit2/pygit2-0.20.3.ebuild
new file mode 100644
index 000000000000..7725f47e1358
--- /dev/null
+++ b/dev-python/pygit2/pygit2-0.20.3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="https://github.com/libgit2/pygit2"
+SRC_URI="https://github.com/libgit2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=dev-libs/libgit2-$(get_version_component_range 1-2)*"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pygit2/pygit2-0.21.4-r1.ebuild b/dev-python/pygit2/pygit2-0.21.4-r1.ebuild
new file mode 100644
index 000000000000..3fe1fee0bd12
--- /dev/null
+++ b/dev-python/pygit2/pygit2-0.21.4-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="https://github.com/libgit2/pygit2"
+SRC_URI="https://github.com/libgit2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ =dev-libs/libgit2-$(get_version_component_range 1-2)*
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pygit2/pygit2-0.22.1.ebuild b/dev-python/pygit2/pygit2-0.22.1.ebuild
new file mode 100644
index 000000000000..2f6c247de2ad
--- /dev/null
+++ b/dev-python/pygit2/pygit2-0.22.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 versionator
+
+# infinite hang
+RESTRICT="test"
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="https://github.com/libgit2/pygit2"
+SRC_URI="https://github.com/libgit2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ =dev-libs/libgit2-$(get_version_component_range 1-2)*
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
new file mode 100644
index 000000000000..53188a3257b7
--- /dev/null
+++ b/dev-python/pyglet/Manifest
@@ -0,0 +1,3 @@
+DIST pyglet-1.1.4.tar.gz 2946601 SHA256 1d9b2a5e3a37a9068aee70100d19bfa83a6bbf6d4a2af8adb4231a601a101611 SHA512 26e1b652bd0e2666014bd29c4456570eee5fdbcce694f49f424fdab3583d0fb67d835e9f0e09f0459dc65cf3c042fffbfbeb321b286890be03260c9ee30bf187 WHIRLPOOL 89424736a0da9abd62813159ff6367b2c536b9cbfe63aaaf1733c712161453a77b3086ca0f4a840a1f682f2bd5334e0decb28d71b7dc187135a799c711ce6afc
+DIST pyglet-1.2.2.tar.gz 2120758 SHA256 6b54c3881a5eb086f2733c24aada1b65625b45b36172cd7f63fbde2cf43138df SHA512 012dcf6f62a823a391f7ac81b4a6dc89cf2bfd1f3f895dfa115011efdcbd1327821a11c47d455ed4e2a3edbd041f8a5e5b3c5f27b336a6c4d17c028a8999dc69 WHIRLPOOL ab2f402076b2aed110cde901e49b003e336eb634ad8b3f084dd1a980a1079959639ec1773b3106185f443a50ed6db39c833133442b002a64d9254285372bcdb5
+DIST pyglet-1.2.3.tar.gz 2121343 SHA256 06c857039420bd21baad35fac99dca7f97951350c2df5a79bdcf89eb708907cb SHA512 dbc766b382b1fa79205d9777e8dcc0ecfa00d312671f10d4e9580ae648997d4a41db8bffc072893109df6772fa8d72c8fdf128e0421d992d14332fac11d4d4c4 WHIRLPOOL 38d23907825312d1140a294d6ec3152e373ae466a73766a067f8362937d48bc7be14b9f847cc3386a41adb927196fda4cdc62fb8d9f7d0c9ea9ec548f6213afc
diff --git a/dev-python/pyglet/metadata.xml b/dev-python/pyglet/metadata.xml
new file mode 100644
index 000000000000..c8e1ba69c4fa
--- /dev/null
+++ b/dev-python/pyglet/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">This library provides an object-oriented programming interface
+ for developing games and other visually-rich applications with Python.
+ pyglet has virtually no external dependencies. For most applications
+ and game requirements, pyglet needs nothing else besides Python,
+ simplifying distribution and installation. It also handles
+ multiple windows and fully aware of multi-monitor setups.
+ pyglet might be seen as an alternative to PyGame.</longdescription>
+ <upstream>
+ <remote-id type="google-code">pyglet</remote-id>
+ <remote-id type="pypi">pyglet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyglet/pyglet-1.1.4-r2.ebuild b/dev-python/pyglet/pyglet-1.1.4-r2.ebuild
new file mode 100644
index 000000000000..131ecd341480
--- /dev/null
+++ b/dev-python/pyglet/pyglet-1.1.4-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="http://www.pyglet.org/"
+SRC_URI="http://pyglet.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="alsa doc examples gtk +openal"
+
+RDEPEND="
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib[alisp] )
+ gtk? ( x11-libs/gtk+:2 )
+ openal? ( media-libs/openal )"
+DEPEND="${RDEPEND}"
+# ffmpeg? ( media-libs/avbin-bin )
+
+DOCS="NOTICE"
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/html/. )
+ use examples && EXAMPLES=( examples )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyglet/pyglet-1.2.2.ebuild b/dev-python/pyglet/pyglet-1.2.2.ebuild
new file mode 100644
index 000000000000..acbc3a45138f
--- /dev/null
+++ b/dev-python/pyglet/pyglet-1.2.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="http://www.pyglet.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ http://pyglet.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="alsa examples gtk +openal"
+
+RDEPEND="
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib[alisp] )
+ gtk? ( x11-libs/gtk+:2 )
+ openal? ( media-libs/openal )"
+DEPEND="${RDEPEND}"
+# ffmpeg? ( media-libs/avbin-bin )
+
+# pyglet.gl.glx_info.GLXInfoException: pyglet requires an X server with GLX
+RESTRICT=test
+
+python_test() {
+ python_is_python3 && return
+ VIRTUALX_COMMAND="${PYTHON}"
+ virtualmake tests/test.py
+}
+
+python_install_all() {
+ DOCS=( NOTICE )
+ use examples && EXAMPLES=( examples )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyglet/pyglet-1.2.3.ebuild b/dev-python/pyglet/pyglet-1.2.3.ebuild
new file mode 100644
index 000000000000..acbc3a45138f
--- /dev/null
+++ b/dev-python/pyglet/pyglet-1.2.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="http://www.pyglet.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ http://pyglet.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="alsa examples gtk +openal"
+
+RDEPEND="
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib[alisp] )
+ gtk? ( x11-libs/gtk+:2 )
+ openal? ( media-libs/openal )"
+DEPEND="${RDEPEND}"
+# ffmpeg? ( media-libs/avbin-bin )
+
+# pyglet.gl.glx_info.GLXInfoException: pyglet requires an X server with GLX
+RESTRICT=test
+
+python_test() {
+ python_is_python3 && return
+ VIRTUALX_COMMAND="${PYTHON}"
+ virtualmake tests/test.py
+}
+
+python_install_all() {
+ DOCS=( NOTICE )
+ use examples && EXAMPLES=( examples )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygments/Manifest b/dev-python/pygments/Manifest
new file mode 100644
index 000000000000..53ea331bf5c3
--- /dev/null
+++ b/dev-python/pygments/Manifest
@@ -0,0 +1,5 @@
+DIST Pygments-1.6.tar.gz 1423161 SHA256 799ed4caf77516e54440806d8d9cd82a7607dfdf4e4fb643815171a4b5c921c0 SHA512 552d0c2a1296773a5482122bd5cbec0ce91a497cd86ee105e1c5ddf2bfa9c206fcc7de504c6da480344c6e1bee30d7b26012fd061dcb2091d8b2b21bcd163bf0 WHIRLPOOL babf6e638529a902fab37c17fb1215aca3c04c3e2a00d00bdff7e8049ca6a46c238282c088e79816f7c6879fc9b13e3de9824ae93d3f184f4d9aae58af0c9c8d
+DIST Pygments-2.0.1.tar.gz 2739480 SHA256 5e039e1d40d232981ed58914b6d1ac2e453a7e83ddea22ef9f3eeadd01de45cb SHA512 7c11c7dc09f6a5d964a512eb4c31f34fc0422b29e3124bd4ed0f4ab594c750d39f990e86f65287f499ea1051a27c1087e445332f6b23ad021d6e2d41c6092f3e WHIRLPOOL 7f5d31f86183b230f54d1f08b5e4cb942d38f28d8868ed94b4d129601aa845864cd0f45d5edb2102f655c2800b2e54335d6f4f61975b2f3a8ceeb0b7e5e13217
+DIST Pygments-2.0.2.tar.gz 3462280 SHA256 7320919084e6dac8f4540638a46447a3bd730fca172afc17d2c03eed22cf4f51 SHA512 b58e2cc535ba3f1fda7cb147e12af128bc2755de56cf465f8f1d642730eaef50c06551cc4cc44f25f726b00f3f1c9c2078977233b11c0b6a7e1add6a4069c27e WHIRLPOOL 4c98134f27dd29c89e4d6157284bdeecaa81c53d823e089292be21a6c418ba4ccfd458ced50326d5a356a7b6cb761a1990440096f5f3d820f776bb19fc0da09d
+DIST pygments-1.6_p20140324.tar.gz 1641814 SHA256 f762d1104ab38a4e870824113e3be3fedc918900622f1e73b9c34386ee7be14a SHA512 de84977f346b41a60a849e681581b36787712d39010e0e23624cc2d9741cb5afbbb0a4e860b5120e3cb77eb5fc68ddf11d0f6c1d15e0bb4d7c56d800017b19bf WHIRLPOOL 7531e7a2483f3c043967d32848694324007c5a1a7e206472a17f5515eb6960dc1bec774851d75bc4ccc4615594db0c5218713da22da6c2d1cbfdf995827746be
+DIST pygments-2.0.1.tar.gz 1641814 SHA256 f762d1104ab38a4e870824113e3be3fedc918900622f1e73b9c34386ee7be14a SHA512 de84977f346b41a60a849e681581b36787712d39010e0e23624cc2d9741cb5afbbb0a4e860b5120e3cb77eb5fc68ddf11d0f6c1d15e0bb4d7c56d800017b19bf WHIRLPOOL 7531e7a2483f3c043967d32848694324007c5a1a7e206472a17f5515eb6960dc1bec774851d75bc4ccc4615594db0c5218713da22da6c2d1cbfdf995827746be
diff --git a/dev-python/pygments/metadata.xml b/dev-python/pygments/metadata.xml
new file mode 100644
index 000000000000..91a6942a83d7
--- /dev/null
+++ b/dev-python/pygments/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>Pygments is a syntax highlighting package written in Python. Pygments can output to html, bbcode, latex, rtf and other formats.</longdescription>
+ <upstream>
+ <remote-id type="pypi">Pygments</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygments/pygments-1.6.ebuild b/dev-python/pygments/pygments-1.6.ebuild
new file mode 100644
index 000000000000..43a7beec82eb
--- /dev/null
+++ b/dev-python/pygments/pygments-1.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+MY_PN="Pygments"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="http://pygments.org/ http://pypi.python.org/pypi/Pygments"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/ttf-fonts
+ dev-texlive/texlive-latexrecommended
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if [[ ${EPYTHON} == python3.* ]]; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/tests/*.py || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygments/pygments-1.6_p20140324-r1.ebuild b/dev-python/pygments/pygments-1.6_p20140324-r1.ebuild
new file mode 100644
index 000000000000..245bd3f63488
--- /dev/null
+++ b/dev-python/pygments/pygments-1.6_p20140324-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 bash-completion-r1 vcs-snapshot
+
+MY_PN="Pygments"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="http://pygments.org/ http://pypi.python.org/pypi/Pygments"
+#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+SRC_URI="https://bitbucket.org/birkenfeld/pygments-main/get/b839f47dbb3a10830db7dc3114f0ad4f470bcfa5.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/ttf-fonts
+ dev-texlive/texlive-latexrecommended
+ )"
+
+#S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ distutils-r1_python_compile
+ if [[ ${EPYTHON} == python3.2 ]]; then
+ # python3.2 does not like u"" literals
+ 2to3 --no-diffs -n -w -f unicode "${BUILD_DIR}/lib" || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if python_is_python3; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/tests/*.py || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+ newbashcomp external/pygments.bashcomp pygmentize
+}
diff --git a/dev-python/pygments/pygments-2.0.1-r1.ebuild b/dev-python/pygments/pygments-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..d196c2558eb6
--- /dev/null
+++ b/dev-python/pygments/pygments-2.0.1-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 bash-completion-r1 vcs-snapshot
+
+MY_PN="Pygments"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="http://pygments.org/ http://pypi.python.org/pypi/Pygments"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/ttf-fonts )"
+# dev-texlive/texlive-latexrecommended
+# Removing / commenting out this dep. I can find no mention of it in tests other than
+# importing pygment's own tex module. If it's there and I missed it just uncomment and re-add
+# Tests pass without it
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+ # With pypy3 there is 1 error out of 1556 tests when run as is and
+ # (SKIP=8, errors=1, failures=1) when run with 2to3; meh
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+ newbashcomp external/pygments.bashcomp pygmentize
+}
diff --git a/dev-python/pygments/pygments-2.0.1.ebuild b/dev-python/pygments/pygments-2.0.1.ebuild
new file mode 100644
index 000000000000..593e0f20b296
--- /dev/null
+++ b/dev-python/pygments/pygments-2.0.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 bash-completion-r1 vcs-snapshot
+
+MY_PN="Pygments"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="http://pygments.org/ http://pypi.python.org/pypi/Pygments"
+#SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+SRC_URI="https://bitbucket.org/birkenfeld/pygments-main/get/b839f47dbb3a10830db7dc3114f0ad4f470bcfa5.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/ttf-fonts
+ dev-texlive/texlive-latexrecommended
+ )"
+
+python_compile() {
+ distutils-r1_python_compile
+ if [[ ${EPYTHON} == python3.2 ]]; then
+ # python3.2 does not like u"" literals
+ 2to3 --no-diffs -n -w -f unicode "${BUILD_DIR}/lib" || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if python_is_python3; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/tests/*.py || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+ newbashcomp external/pygments.bashcomp pygmentize
+}
diff --git a/dev-python/pygments/pygments-2.0.2.ebuild b/dev-python/pygments/pygments-2.0.2.ebuild
new file mode 100644
index 000000000000..a6bd99e1a4ad
--- /dev/null
+++ b/dev-python/pygments/pygments-2.0.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 bash-completion-r1 vcs-snapshot
+
+MY_PN="Pygments"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="http://pygments.org/ http://pypi.python.org/pypi/Pygments"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ virtual/ttf-fonts )"
+# dev-texlive/texlive-latexrecommended
+# Removing / commenting out this dep. I can find no mention of it in tests other than
+# importing pygment's own tex module. If it's there and I missed it just uncomment and re-add
+# Tests pass without it
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+ # With pypy3 there is 1 error out of 1556 tests when run as is and
+ # (SKIP=8, errors=1, failures=1) when run with 2to3; meh
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+ newbashcomp external/pygments.bashcomp pygmentize
+}
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
new file mode 100644
index 000000000000..f1d90b15cefb
--- /dev/null
+++ b/dev-python/pygobject/Manifest
@@ -0,0 +1,5 @@
+DIST pygobject-2.28.6.tar.xz 747248 SHA256 fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8 SHA512 37544ea2377258758169b25a2969d5ee1c9ffb9b6e63e05bc7a0471a49ac9169c51ec587d4489172c7d256f53df878a81c1992a08059aa7e43dbbb69f799545c WHIRLPOOL 402f764d6ca73f238784738a1e09832858fd95af5a633e825412e9e6a21e89ab6b2090d3995902ed404fc4fde445cf970c76fcd93f8f64cf9def742452776c00
+DIST pygobject-3.12.2.tar.xz 702176 SHA256 7e7a3d349acf5bb4b68f8539a42e67958840a67cd4f0341ee9aa49189af2a522 SHA512 81ea6904b6a6b405593394e3a4915cd8ccbacafa4820a3f38cce1ebd0a2de3cd4cad2feadec9ae8910ac3fa2b63fd66a8cb264f74d04631f5d4c3f45c29b5b47 WHIRLPOOL ca2f3cd2018b9923d1f758750e489cad6e658a4a621db5c8fd056d2f721d59630d4a4c6f01f932997b336b391b7e54dcd2b7068dd863bc0c01ad93737abbc386
+DIST pygobject-3.14.0.tar.xz 720128 SHA256 779effa93f4b59cdb72f4ab0128fb3fd82900bf686193b570fd3a8ce63392d54 SHA512 f6e1e5826a6afe81eb0a37bb554b433769622f8a0d17ac9836498425d70c4583cf8157027a555c21fd7a0d6686863c7803a350550665a375a906fccdabca2090 WHIRLPOOL 0a665504b792691238b89d2704ce1cc024f89ddf96fd6b626f1f5b05dbccfd633e61f9b45b0ca09873029c576b9804edcfa77e1bceae9e995be44a3fd60852ca
+DIST pygobject-3.16.1.tar.xz 725220 SHA256 7d96dad050f15ec1688617b749bb485811842de46a22d31f9396023e8eaa1ec3 SHA512 f32db7620b6714fdc780ec28c282566c0e662648a53f37b2466cbed609d1cbbbf998e30fd42d24ae1e5c0334656b04276dd3a8bf210f9b93f2bfb66f305f7a72 WHIRLPOOL 7f3257f1743510d1c602d797bce4722f6f987676dee4186b7026277f94412663bef0b1e70519030e890ad330eb2cb2cdb7ac7bf8060d9c4a0aca019bd7d4f1a2
+DIST pygobject-3.16.2.tar.xz 725544 SHA256 de620e00fe7ecb788aa2dc0d664e41f71b8e718e728168e8d982cf193a9e7e64 SHA512 9a742db4b05fdf0cf2b7bb9139d5f43b4a4e25b4652e8bd3aa8d6f64b03b745b57c047dfc95335045126d0dd4c797989d95d6a1bdb4752cab8e04146470653bf WHIRLPOOL d39b5f23ca33f4331582fd8229a348db679b1db1b9f5daff2639a03ec70f31bfcf2f7ac7a67cc3d54a2444faa228b878fdd9556110af10c3246087a634ba88e3
diff --git a/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch b/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch
new file mode 100644
index 000000000000..44440a526b81
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.3-fix-codegen-location.patch
@@ -0,0 +1,64 @@
+From b3e852d29bfd1e90f7e0da409fd0ae36cc01675a Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Fri, 8 Apr 2011 15:36:35 +0200
+Subject: [PATCH 1/3] Move codegen to a non-private directory
+
+---
+ codegen/Makefile.am | 2 +-
+ codegen/pygobject-codegen-2.0.in | 3 ++-
+ pygobject-2.0.pc.in | 3 ++-
+ 3 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/codegen/Makefile.am b/codegen/Makefile.am
+index f9886eb..d714ff2 100644
+--- a/codegen/Makefile.am
++++ b/codegen/Makefile.am
+@@ -2,7 +2,7 @@ PLATFORM_VERSION = 2.0
+
+ bin_SCRIPTS = pygobject-codegen-$(PLATFORM_VERSION)
+
+-codegendir = $(pkgdatadir)/$(PLATFORM_VERSION)/codegen
++codegendir = $(pyexecdir)/gtk-2.0/codegen
+
+ codegen_SCRIPTS = \
+ code-coverage.py \
+diff --git a/codegen/pygobject-codegen-2.0.in b/codegen/pygobject-codegen-2.0.in
+index c5c912e..c04451b 100644
+--- a/codegen/pygobject-codegen-2.0.in
++++ b/codegen/pygobject-codegen-2.0.in
+@@ -1,9 +1,10 @@
+ #!/bin/sh
+
+ prefix=@prefix@
++exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
+-codegendir=${datadir}/pygobject/2.0/codegen
++codegendir=@pyexecdir@/gtk-2.0/codegen
+
+ PYTHONPATH=$codegendir
+ export PYTHONPATH
+diff --git a/pygobject-2.0.pc.in b/pygobject-2.0.pc.in
+index a47b685..0d1a811 100644
+--- a/pygobject-2.0.pc.in
++++ b/pygobject-2.0.pc.in
+@@ -4,6 +4,7 @@ includedir=@includedir@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
+ libdir=@libdir@
++pyexecdir=@pyexecdir@
+
+ # you can use the --variable=pygtkincludedir argument to
+ # pkg-config to get this value. You might want to use this to
+@@ -12,7 +13,7 @@ pygtkincludedir=${includedir}/pygtk-2.0
+ fixxref=${datadir}/pygobject/xsl/fixxref.py
+ pygdocs=${datadir}/gtk-doc/html/pygobject
+ defsdir=${datadir}/pygobject/2.0/defs
+-codegendir=${datadir}/pygobject/2.0/codegen
++codegendir=${pyexecdir}/gtk-2.0/codegen
+ overridesdir=@pyexecdir@/gi/overrides
+
+ Name: PyGObject
+--
+1.7.4.1
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch b/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch
new file mode 100644
index 000000000000..45c04b96780e
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.3-make_check.patch
@@ -0,0 +1,76 @@
+From b5c4b8b97a1ccb9a4c63ab726ea9c84d81ef51ca Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Fri, 5 Nov 2010 23:39:08 +0100
+Subject: [PATCH 2/3] Do not build tests unless needed
+
+---
+ tests/Makefile.am | 12 +++++-------
+ tests/runtests.py | 2 ++
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index bad15f0..5b0859a 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -1,7 +1,7 @@
+ CLEANFILES =
+-noinst_LTLIBRARIES =
++check_LTLIBRARIES =
+ if ENABLE_INTROSPECTION
+-noinst_LTLIBRARIES += libregress.la libgimarshallingtests.la
++check_LTLIBRARIES += libregress.la libgimarshallingtests.la
+
+ nodist_libregress_la_SOURCES = $(GI_DATADIR)/tests/regress.c $(GI_DATADIR)/tests/regress.h
+ libregress_la_CFLAGS = $(GIO_CFLAGS) $(PYCAIRO_CFLAGS)
+@@ -46,7 +46,7 @@ gschemas.compiled: org.gnome.test.gschema.xml
+ CLEANFILES += Regress-1.0.gir Regress-1.0.typelib GIMarshallingTests-1.0.gir GIMarshallingTests-1.0.typelib gschemas.compiled
+ endif
+
+-noinst_LTLIBRARIES += testhelper.la
++check_LTLIBRARIES += testhelper.la
+
+ testhelper_la_CFLAGS = -I$(top_srcdir)/gobject -I$(top_srcdir)/glib $(PYTHON_INCLUDES) $(GLIB_CFLAGS)
+ testhelper_la_LDFLAGS = -module -avoid-version
+@@ -66,8 +66,6 @@ testhelper.la: $(testhelper_la_OBJECTS) $(testhelper_la_DEPENDENCIES)
+ test -L $@ || $(LN_S) .libs/$@ $@
+
+
+-all: $(LTLIBRARIES:.la=.so)
+-
+ TEST_FILES_STATIC = \
+ test_gobject.py \
+ test_interface.py \
+@@ -109,7 +107,7 @@ EXTRA_DIST = \
+ EXTRA_DIST += $(TEST_FILES_STATIC) $(TEST_FILES_GI) $(TEST_FILES_GIO)
+
+ clean-local:
+- rm -f $(LTLIBRARIES:.la=.so) file.txt~
++ rm -f $(check_LTLIBRARIES:.la=.so) file.txt~
+
+ DBUS_LAUNCH=$(shell which dbus-launch)
+ RUN_TESTS_ENV_VARS= \
+@@ -121,7 +119,7 @@ RUN_TESTS_ENV_VARS= \
+ RUN_TESTS_LAUNCH=$(RUN_TESTS_ENV_VARS) $(DBUS_LAUNCH) $(EXEC_NAME) $(PYTHON) $(srcdir)/runtests.py
+
+ # run tests in separately to avoid loading static and introspection bindings in the same process
+-check-local: $(LTLIBRARIES:.la=.so) Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
++check-local: $(check_LTLIBRARIES:.la=.so) Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
+ TEST_FILES="$(TEST_FILES_STATIC)" $(RUN_TESTS_LAUNCH)
+ TEST_FILES="$(TEST_FILES_GI)" $(RUN_TESTS_LAUNCH)
+ if BUILD_GIO
+diff --git a/tests/runtests.py b/tests/runtests.py
+index 2bb8637..4107bcf 100644
+--- a/tests/runtests.py
++++ b/tests/runtests.py
+@@ -6,6 +6,8 @@ import sys
+
+ import unittest
+
++# Some tests fail with translated messages.
++os.environ["LC_ALL"] = "C"
+
+ # force untranslated messages, as we check for them in some tests
+ os.environ['LC_MESSAGES'] = 'C'
+--
+1.7.4.1
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch b/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch
new file mode 100644
index 000000000000..65d881a43d2a
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.3-support_multiple_python_versions.patch
@@ -0,0 +1,103 @@
+From 2f75378f3c56f245cabdcd2c52b561dbb878db2d Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Fri, 8 Apr 2011 15:43:39 +0200
+Subject: [PATCH 3/3] Enable support to build against multiple version of python
+
+---
+ codegen/pygobject-codegen-2.0.in | 2 +-
+ gi/Makefile.am | 2 +-
+ gio/Makefile.am | 2 +-
+ glib/Makefile.am | 10 +++++-----
+ gobject/Makefile.am | 2 +-
+ 5 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/codegen/pygobject-codegen-2.0.in b/codegen/pygobject-codegen-2.0.in
+index c04451b..194e5ba 100644
+--- a/codegen/pygobject-codegen-2.0.in
++++ b/codegen/pygobject-codegen-2.0.in
+@@ -4,7 +4,7 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
+-codegendir=@pyexecdir@/gtk-2.0/codegen
++codegendir=$(@PYTHON@ -c "from distutils import sysconfig; print sysconfig.get_python_lib(1, 0, prefix='@exec_prefix@')")/gtk-2.0/codegen
+
+ PYTHONPATH=$codegendir
+ export PYTHONPATH
+diff --git a/gi/Makefile.am b/gi/Makefile.am
+index 31f6c79..8690522 100644
+--- a/gi/Makefile.am
++++ b/gi/Makefile.am
+@@ -25,7 +25,7 @@ _gi_la_LDFLAGS = \
+ -export-symbols-regex "init_gi|PyInit__gi"
+ _gi_la_LIBADD = \
+ $(GI_LIBS) \
+- $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
++ $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
+ _gi_la_SOURCES = \
+ pygi-repository.c \
+ pygi-repository.h \
+diff --git a/gio/Makefile.am b/gio/Makefile.am
+index 6b3eb57..00e1c54 100644
+--- a/gio/Makefile.am
++++ b/gio/Makefile.am
+@@ -67,7 +67,7 @@ EXTRA_DIST += $(GIO_DEFS) $(GIO_OVERRIDES)
+ gio.c: $(GIO_DEFS) $(GIO_OVERRIDES)
+ _gio_la_CFLAGS = $(GIO_CFLAGS)
+ _gio_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gio
+-_gio_la_LIBADD = $(GIO_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
++_gio_la_LIBADD = $(GIO_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
+ _gio_la_SOURCES = \
+ giomodule.c \
+ pygio-utils.c \
+diff --git a/glib/Makefile.am b/glib/Makefile.am
+index e210318..df39687 100644
+--- a/glib/Makefile.am
++++ b/glib/Makefile.am
+@@ -4,7 +4,7 @@ INCLUDES = $(PYTHON_INCLUDES) $(GLIB_CFLAGS) -DPY_SSIZE_T_CLEAN
+ pkgincludedir = $(includedir)/pygtk-2.0
+ pkginclude_HEADERS = pyglib.h
+
+-lib_LTLIBRARIES = libpyglib-2.0-@PYTHON_BASENAME@.la
++lib_LTLIBRARIES = libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
+
+ pkgpyexecdir = $(pyexecdir)
+
+@@ -19,9 +19,9 @@ if PLATFORM_WIN32
+ common_ldflags += -no-undefined
+ endif
+
+-libpyglib_2_0_@PYTHON_BASENAME@_la_CFLAGS = $(GLIB_CFLAGS)
+-libpyglib_2_0_@PYTHON_BASENAME@_la_LIBADD = $(GLIB_LIBS) $(FFI_LIBS)
+-libpyglib_2_0_@PYTHON_BASENAME@_la_SOURCES = \
++libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_CFLAGS = $(GLIB_CFLAGS)
++libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_LIBADD = $(GLIB_LIBS) $(FFI_LIBS)
++libpyglib_2_0_@PYTHON_BASENAME@@PYTHON_VERSION@_la_SOURCES = \
+ pyglib.c \
+ pyglib.h \
+ pyglib-private.h \
+@@ -29,7 +29,7 @@ libpyglib_2_0_@PYTHON_BASENAME@_la_SOURCES = \
+
+ _glib_la_CFLAGS = $(GLIB_CFLAGS)
+ _glib_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "_glib|PyInit__glib"
+-_glib_la_LIBADD = $(GLIB_LIBS) libpyglib-2.0-@PYTHON_BASENAME@.la
++_glib_la_LIBADD = $(GLIB_LIBS) libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
+ _glib_la_SOURCES = \
+ glibmodule.c \
+ pygiochannel.c \
+diff --git a/gobject/Makefile.am b/gobject/Makefile.am
+index 7208329..3f9ad8e 100644
+--- a/gobject/Makefile.am
++++ b/gobject/Makefile.am
+@@ -35,7 +35,7 @@ _gobject_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "_gobject|PyInit__
+ _gobject_la_LIBADD = \
+ $(GLIB_LIBS) \
+ $(FFI_LIBS) \
+- $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
++ $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@@PYTHON_VERSION@.la
+ _gobject_la_SOURCES = \
+ gobjectmodule.c \
+ pygboxed.c \
+--
+1.7.4.1
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch b/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch
new file mode 100644
index 000000000000..f9d396dc4b56
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.6-disable-failing-tests.patch
@@ -0,0 +1,98 @@
+From 9d8867a7c67a14d055a0dd8db5f6a9aae5762a04 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 13 Jan 2013 19:50:14 -0500
+Subject: [PATCH] Disable failing tests
+
+---
+ tests/test_gio.py | 13 ++++++++-----
+ tests/test_overrides.py | 4 ++--
+ 2 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/tests/test_gio.py b/tests/test_gio.py
+index e14eddf..a4d1bc7 100644
+--- a/tests/test_gio.py
++++ b/tests/test_gio.py
+@@ -650,10 +650,11 @@ class TestInputStream(unittest.TestCase):
+ else:
+ return read_data
+
++ """
+ def testReadAsync(self):
+ def callback(stream, result):
+- self.assertEquals(result.get_op_res_gssize(), 7)
+ try:
++ self.assertEquals(result.get_op_res_gssize(), 7)
+ data = stream.read_finish(result)
+ self.assertEquals(data, "testing")
+ stream.close()
+@@ -694,7 +695,7 @@ class TestInputStream(unittest.TestCase):
+ self.assertRaises(TypeError, self.stream.read_async, 1024,
+ priority=1, cancellable="bar")
+ self.assertRaises(TypeError, self.stream.read_async, 1024, 1, "bar")
+-
++ """
+
+ # FIXME: this makes 'make check' freeze
+ def _testCloseAsync(self):
+@@ -822,10 +823,11 @@ class TestOutputStream(unittest.TestCase):
+
+ self.assertEquals(stream.get_contents(), some_data)
+
++ """
+ def testWriteAsync(self):
+ def callback(stream, result):
+- self.assertEquals(result.get_op_res_gssize(), 7)
+ try:
++ self.assertEquals(result.get_op_res_gssize(), 7)
+ self.assertEquals(stream.write_finish(result), 7)
+ self.failUnless(os.path.exists("outputstream.txt"))
+ self.assertEquals(open("outputstream.txt").read(), "testing")
+@@ -861,6 +863,7 @@ class TestOutputStream(unittest.TestCase):
+ self.assertRaises(TypeError, self.stream.write_async, "foo",
+ priority=1, cancellable="bar")
+ self.assertRaises(TypeError, self.stream.write_async, "foo", 1, "bar")
++ """
+
+ # FIXME: this makes 'make check' freeze
+ def _testCloseAsync(self):
+@@ -1007,7 +1010,7 @@ class TestVfs(unittest.TestCase):
+ class TestVolume(unittest.TestCase):
+ def setUp(self):
+ self.monitor = gio.volume_monitor_get()
+-
++"""
+ def testVolumeEnumerate(self):
+ volumes = self.monitor.get_volumes()
+ self.failUnless(isinstance(volumes, list))
+@@ -1018,7 +1021,7 @@ class TestVolume(unittest.TestCase):
+ for id in ids:
+ if id is not None:
+ self.failUnless(isinstance(id, str))
+-
++"""
+ class TestFileInputStream(unittest.TestCase):
+ def setUp(self):
+ self._f = open("file.txt", "w+")
+diff --git a/tests/test_overrides.py b/tests/test_overrides.py
+index 47f38a3..063792d 100644
+--- a/tests/test_overrides.py
++++ b/tests/test_overrides.py
+@@ -337,13 +337,13 @@ class TestPango(unittest.TestCase):
+ desc = Pango.FontDescription('monospace')
+ self.assertEquals(desc.get_family(), 'monospace')
+ self.assertEquals(desc.get_variant(), Pango.Variant.NORMAL)
+-
++"""
+ def test_layout(self):
+ self.assertRaises(TypeError, Pango.Layout)
+ context = Pango.Context()
+ layout = Pango.Layout(context)
+ self.assertEquals(layout.get_context(), context)
+-
++"""
+ class TestGdk(unittest.TestCase):
+
+ def test_constructor(self):
+--
+1.8.1
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch b/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch
new file mode 100644
index 000000000000..fa0adf54ad04
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.6-gio-types-2.32.patch
@@ -0,0 +1,50 @@
+From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt@desrt.ca>
+Date: Mon, 12 Mar 2012 16:44:14 -0400
+Subject: [PATCH] gio-types.defs: change some enums to flags
+
+These flags types were originally incorrectly handled in glib as being
+enums. That bug was fixed, but they're still enums here, leading to
+warnings about the mismatch.
+
+Change them to flags.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=668522
+---
+ gio/gio-types.defs | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gio/gio-types.defs b/gio/gio-types.defs
+index 331e0bc..7eee5c8 100644
+--- a/gio/gio-types.defs
++++ b/gio/gio-types.defs
+@@ -526,7 +526,7 @@
+ )
+ )
+
+-(define-enum MountMountFlags
++(define-flags MountMountFlags
+ (in-module "gio")
+ (c-name "GMountMountFlags")
+ (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
+@@ -545,7 +545,7 @@
+ )
+ )
+
+-(define-enum DriveStartFlags
++(define-flags DriveStartFlags
+ (in-module "gio")
+ (c-name "GDriveStartFlags")
+ (gtype-id "G_TYPE_DRIVE_START_FLAGS")
+@@ -770,7 +770,7 @@
+ )
+ )
+
+-(define-enum SocketMsgFlags
++(define-flags SocketMsgFlags
+ (in-module "gio")
+ (c-name "GSocketMsgFlags")
+ (gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
+--
+1.7.8.5
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch b/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch
new file mode 100644
index 000000000000..b2f9b147f847
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.6-glib-2.36-class_init.patch
@@ -0,0 +1,315 @@
+From 9456ba70fdb98b3a4eb7ee2f630182387a54ca00 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt@gnome.org>
+Date: Tue, 19 Feb 2013 15:39:56 +0100
+Subject: [PATCH] Move property and signal creation into _class_init()
+
+We must not add class interfaces after g_type_class_ref() has been called the
+first time. Move signal and property creation from pyg_type_register() into
+pyg_object_class_init(), and drop the hack of registering interfaces twice.
+
+This is a backport of commit efcb0f9fd for 2.28.x. This allows old pygtk
+applications to work with pygobject 2.28.x and glib 2.35.x.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=694108
+---
+ gobject/gobjectmodule.c | 177 +++++++++++++++++++-----------------------------
+ 1 file changed, 70 insertions(+), 107 deletions(-)
+
+diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
+index 2a84606..91f7315 100644
+--- a/gobject/gobjectmodule.c
++++ b/gobject/gobjectmodule.c
+@@ -312,13 +312,6 @@ pyg_object_get_property (GObject *object, guint property_id,
+ pyglib_gil_state_release(state);
+ }
+
+-static void
+-pyg_object_class_init(GObjectClass *class, PyObject *py_class)
+-{
+- class->set_property = pyg_object_set_property;
+- class->get_property = pyg_object_get_property;
+-}
+-
+ typedef struct _PyGSignalAccumulatorData {
+ PyObject *callable;
+ PyObject *user_data;
+@@ -484,15 +477,14 @@ override_signal(GType instance_type, const gchar *signal_name)
+ }
+
+ static PyObject *
+-add_signals (GType instance_type, PyObject *signals)
++add_signals (GObjectClass *klass, PyObject *signals)
+ {
+ gboolean ret = TRUE;
+- GObjectClass *oclass;
+ Py_ssize_t pos = 0;
+ PyObject *key, *value, *overridden_signals = NULL;
++ GType instance_type = G_OBJECT_CLASS_TYPE (klass);
+
+ overridden_signals = PyDict_New();
+- oclass = g_type_class_ref(instance_type);
+ while (PyDict_Next(signals, &pos, &key, &value)) {
+ const gchar *signal_name;
+ gchar *signal_name_canon, *c;
+@@ -530,7 +522,6 @@ add_signals (GType instance_type, PyObject *signals)
+ if (!ret)
+ break;
+ }
+- g_type_class_unref(oclass);
+ if (ret)
+ return overridden_signals;
+ else {
+@@ -800,14 +791,12 @@ pyg_param_spec_from_object (PyObject *tuple)
+ }
+
+ static gboolean
+-add_properties (GType instance_type, PyObject *properties)
++add_properties (GObjectClass *klass, PyObject *properties)
+ {
+ gboolean ret = TRUE;
+- GObjectClass *oclass;
+ Py_ssize_t pos = 0;
+ PyObject *key, *value;
+
+- oclass = g_type_class_ref(instance_type);
+ while (PyDict_Next(properties, &pos, &key, &value)) {
+ const gchar *prop_name;
+ GType prop_type;
+@@ -873,7 +862,7 @@ add_properties (GType instance_type, PyObject *properties)
+ Py_DECREF(slice);
+
+ if (pspec) {
+- g_object_class_install_property(oclass, 1, pspec);
++ g_object_class_install_property(klass, 1, pspec);
+ } else {
+ PyObject *type, *value, *traceback;
+ ret = FALSE;
+@@ -883,7 +872,7 @@ add_properties (GType instance_type, PyObject *properties)
+ g_snprintf(msg, 256,
+ "%s (while registering property '%s' for GType '%s')",
+ PYGLIB_PyUnicode_AsString(value),
+- prop_name, g_type_name(instance_type));
++ prop_name, G_OBJECT_CLASS_NAME(klass));
+ Py_DECREF(value);
+ value = PYGLIB_PyUnicode_FromString(msg);
+ }
+@@ -892,11 +881,63 @@ add_properties (GType instance_type, PyObject *properties)
+ }
+ }
+
+- g_type_class_unref(oclass);
+ return ret;
+ }
+
+ static void
++pyg_object_class_init(GObjectClass *class, PyObject *py_class)
++{
++ PyObject *gproperties, *gsignals, *overridden_signals;
++ PyObject *class_dict = ((PyTypeObject*) py_class)->tp_dict;
++
++ class->set_property = pyg_object_set_property;
++ class->get_property = pyg_object_get_property;
++
++ /* install signals */
++ /* we look this up in the instance dictionary, so we don't
++ * accidentally get a parent type's __gsignals__ attribute. */
++ gsignals = PyDict_GetItemString(class_dict, "__gsignals__");
++ if (gsignals) {
++ if (!PyDict_Check(gsignals)) {
++ PyErr_SetString(PyExc_TypeError,
++ "__gsignals__ attribute not a dict!");
++ return;
++ }
++ if (!(overridden_signals = add_signals(class, gsignals))) {
++ return;
++ }
++ if (PyDict_SetItemString(class_dict, "__gsignals__",
++ overridden_signals)) {
++ return;
++ }
++ Py_DECREF(overridden_signals);
++
++ PyDict_DelItemString(class_dict, "__gsignals__");
++ } else {
++ PyErr_Clear();
++ }
++
++ /* install properties */
++ /* we look this up in the instance dictionary, so we don't
++ * accidentally get a parent type's __gproperties__ attribute. */
++ gproperties = PyDict_GetItemString(class_dict, "__gproperties__");
++ if (gproperties) {
++ if (!PyDict_Check(gproperties)) {
++ PyErr_SetString(PyExc_TypeError,
++ "__gproperties__ attribute not a dict!");
++ return;
++ }
++ if (!add_properties(class, gproperties)) {
++ return;
++ }
++ PyDict_DelItemString(class_dict, "__gproperties__");
++ /* Borrowed reference. Py_DECREF(gproperties); */
++ } else {
++ PyErr_Clear();
++ }
++}
++
++static void
+ pyg_register_class_init(GType gtype, PyGClassInitFunc class_init)
+ {
+ GSList *list;
+@@ -1068,7 +1109,7 @@ pygobject__g_instance_init(GTypeInstance *instance,
+ */
+ static void
+ pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
+- PyObject *bases, gboolean new_interfaces,
++ PyObject *bases,
+ GType *parent_interfaces, guint n_parent_interfaces)
+ {
+ int i;
+@@ -1082,7 +1123,6 @@ pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
+ guint k;
+ PyObject *base = PyTuple_GET_ITEM(bases, i);
+ GType itype;
+- gboolean is_new = TRUE;
+ const GInterfaceInfo *iinfo;
+ GInterfaceInfo iinfo_copy;
+
+@@ -1099,16 +1139,6 @@ pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
+ if (!G_TYPE_IS_INTERFACE(itype))
+ continue;
+
+- for (k = 0; k < n_parent_interfaces; ++k) {
+- if (parent_interfaces[k] == itype) {
+- is_new = FALSE;
+- break;
+- }
+- }
+-
+- if ((new_interfaces && !is_new) || (!new_interfaces && is_new))
+- continue;
+-
+ iinfo = pyg_lookup_interface_info(itype);
+ if (!iinfo) {
+ gchar *error;
+@@ -1129,7 +1159,7 @@ pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
+ int
+ pyg_type_register(PyTypeObject *class, const char *type_name)
+ {
+- PyObject *gtype, *gsignals, *gproperties, *overridden_signals;
++ PyObject *gtype;
+ GType parent_type, instance_type;
+ GType *parent_interfaces;
+ guint n_parent_interfaces;
+@@ -1216,88 +1246,22 @@ pyg_type_register(PyTypeObject *class, const char *type_name)
+ }
+
+ /*
+- * Note: Interfaces to be implemented are searched twice. First
+- * we register interfaces that are already implemented by a parent
+- * type. The second time, the remaining interfaces are
+- * registered, i.e. the ones that are not implemented by a parent
+- * type. In between these two loops, properties and signals are
+- * registered. It has to be done this way, in two steps,
+- * otherwise glib will complain. If registering all interfaces
+- * always before properties, you get an error like:
+- *
+- * ../gobject:121: Warning: Object class
+- * test_interface+MyObject doesn't implement property
+- * 'some-property' from interface 'TestInterface'
+- *
+- * If, on the other hand, you register interfaces after
+- * registering the properties, you get something like:
+- *
+- * ../gobject:121: Warning: cannot add interface type
+- * `TestInterface' to type `test_interface+MyUnknown', since
+- * type `test_interface+MyUnknown' already conforms to
+- * interface
+- *
+- * This looks like a GLib quirk, but no bug has been filed
+- * upstream. However we have a unit test for this particular
+- * problem, which can be found in test_interfaces.py, class
+- * TestInterfaceImpl.
++ * Note, all interfaces need to be registered before the first
++ * g_type_class_ref(), see bug #686149.
+ *
+ * See also comment above pyg_type_add_interfaces().
+ */
+- pyg_type_add_interfaces(class, instance_type, class->tp_bases, FALSE,
++ pyg_type_add_interfaces(class, instance_type, class->tp_bases,
+ parent_interfaces, n_parent_interfaces);
+
+- /* we look this up in the instance dictionary, so we don't
+- * accidentally get a parent type's __gsignals__ attribute. */
+- gsignals = PyDict_GetItemString(class->tp_dict, "__gsignals__");
+- if (gsignals) {
+- if (!PyDict_Check(gsignals)) {
+- PyErr_SetString(PyExc_TypeError,
+- "__gsignals__ attribute not a dict!");
+- g_free(parent_interfaces);
+- return -1;
+- }
+- if (!(overridden_signals = add_signals(instance_type, gsignals))) {
+- g_free(parent_interfaces);
+- return -1;
+- }
+- if (PyDict_SetItemString(class->tp_dict, "__gsignals__",
+- overridden_signals)) {
+- g_free(parent_interfaces);
+- return -1;
+- }
+- Py_DECREF(overridden_signals);
+- } else {
+- PyErr_Clear();
+- }
+
+- /* we look this up in the instance dictionary, so we don't
+- * accidentally get a parent type's __gsignals__ attribute. */
+- gproperties = PyDict_GetItemString(class->tp_dict, "__gproperties__");
+- if (gproperties) {
+- if (!PyDict_Check(gproperties)) {
+- PyErr_SetString(PyExc_TypeError,
+- "__gproperties__ attribute not a dict!");
+- g_free(parent_interfaces);
+- return -1;
+- }
+- if (!add_properties(instance_type, gproperties)) {
+- g_free(parent_interfaces);
+- return -1;
+- }
+- PyDict_DelItemString(class->tp_dict, "__gproperties__");
+- /* Borrowed reference. Py_DECREF(gproperties); */
+- } else {
+- PyErr_Clear();
++ gclass = g_type_class_ref(instance_type);
++ if (PyErr_Occurred() != NULL) {
++ g_type_class_unref(gclass);
++ g_free(parent_interfaces);
++ return -1;
+ }
+
+- /* Register new interfaces, that are _not_ already defined by
+- * the parent type. FIXME: See above.
+- */
+- pyg_type_add_interfaces(class, instance_type, class->tp_bases, TRUE,
+- parent_interfaces, n_parent_interfaces);
+-
+- gclass = g_type_class_ref(instance_type);
+ if (pyg_run_class_init(instance_type, gclass, class)) {
+ g_type_class_unref(gclass);
+ g_free(parent_interfaces);
+@@ -1306,9 +1270,8 @@ pyg_type_register(PyTypeObject *class, const char *type_name)
+ g_type_class_unref(gclass);
+ g_free(parent_interfaces);
+
+- if (gsignals)
+- PyDict_DelItemString(class->tp_dict, "__gsignals__");
+-
++ if (PyErr_Occurred() != NULL)
++ return -1;
+ return 0;
+ }
+
+--
+1.8.3.2
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch b/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch
new file mode 100644
index 000000000000..55376b59d829
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.6-set_qdata.patch
@@ -0,0 +1,28 @@
+From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
+From: Ivan Stankovic <ivan.stankovic@avl.com>
+Date: Tue, 21 Feb 2012 12:24:58 +0100
+Subject: [PATCH] Fix set_qdata warning on accessing NULL gobject property
+
+https://bugzilla.gnome.org/show_bug.cgi?id=661155
+---
+ gobject/pygobject.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/gobject/pygobject.c b/gobject/pygobject.c
+index 6c2f06c..70dc89a 100644
+--- a/gobject/pygobject.c
++++ b/gobject/pygobject.c
+@@ -991,7 +991,9 @@ pygobject_new(GObject *obj)
+ PyObject *
+ pygobject_new_sunk(GObject *obj)
+ {
+- g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
++ if (obj)
++ g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
++
+ return pygobject_new_full(obj, TRUE, NULL);
+ }
+
+--
+1.7.8.5
+
diff --git a/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch b/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch
new file mode 100644
index 000000000000..d7e0c68e0dca
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-2.28.6-tests-no-introspection.patch
@@ -0,0 +1,33 @@
+From 9c8ec7495e9e73855dc284be293828572f408c92 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 25 Dec 2012 00:26:05 -0500
+Subject: [PATCH] Do not run introspection tests when building with
+ introspection disabled
+
+---
+ tests/Makefile.am | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index e60bad5..3a0d1b7 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -120,9 +120,14 @@ RUN_TESTS_ENV_VARS= \
+ RUN_TESTS_LAUNCH=$(RUN_TESTS_ENV_VARS) $(DBUS_LAUNCH) $(EXEC_NAME) $(PYTHON) $(srcdir)/runtests.py
+
+ # run tests in separately to avoid loading static and introspection bindings in the same process
+-check-local: $(check_LTLIBRARIES:.la=.so) Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
++if ENABLE_INTROSPECTION
++CHECK_LOCAL_INTROSPECTION_REQ = Regress-1.0.typelib GIMarshallingTests-1.0.typelib gschemas.compiled
++endif
++check-local: $(check_LTLIBRARIES:.la=.so) $(CHECK_LOCAL_INTROSPECTION_REQ)
+ TEST_FILES="$(TEST_FILES_STATIC)" $(RUN_TESTS_LAUNCH)
++if ENABLE_INTROSPECTION
+ TEST_FILES="$(TEST_FILES_GI)" $(RUN_TESTS_LAUNCH)
++endif
+ if BUILD_GIO
+ TEST_FILES="$(TEST_FILES_GIO)" $(RUN_TESTS_LAUNCH)
+ endif
+--
+1.8.0.2
+
diff --git a/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch b/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch
new file mode 100644
index 000000000000..5ee15b1dd1bd
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-3.16.1-unittest.patch
@@ -0,0 +1,15 @@
+Comment out unittest that ought to work but for some reason does not want to.
+
+--- a/tests/test_glib.py 2015-05-10 14:01:45.873164005 +0200
++++ b/tests/test_glib.py 2015-03-05 09:32:55.000000000 +0100
+@@ -38,8 +38,8 @@
+ def test_xdg_dirs(self):
+ d = GLib.get_user_data_dir()
+ self.assertTrue('/' in d, d)
+- d = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
+- self.assertTrue('/' in d, d)
++ #d = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_MUSIC)
++ #self.assertTrue('/' in d, d)
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore', PyGIDeprecationWarning)
+
diff --git a/dev-python/pygobject/metadata.xml b/dev-python/pygobject/metadata.xml
new file mode 100644
index 000000000000..9b1bc26a9df2
--- /dev/null
+++ b/dev-python/pygobject/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pygobject/pygobject-2.28.6-r55.ebuild b/dev-python/pygobject/pygobject-2.28.6-r55.ebuild
new file mode 100644
index 000000000000..01c5f60590e7
--- /dev/null
+++ b/dev-python/pygobject/pygobject-2.28.6-r55.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils gnome2 python-r1 virtualx
+
+DESCRIPTION="GLib's GObject library bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="examples libffi test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND=">=dev-libs/glib-2.24.0:2
+ dev-lang/python-exec:2
+ libffi? ( virtual/libffi:= )
+ ${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gtk-doc-am
+ virtual/pkgconfig
+ test? (
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<dev-python/pygtk-2.23"
+
+src_prepare() {
+ # Fix FHS compliance, see upstream bug #535524
+ epatch "${FILESDIR}/${PN}-2.28.3-fix-codegen-location.patch"
+
+ # Do not build tests if unneeded, bug #226345
+ epatch "${FILESDIR}/${PN}-2.28.3-make_check.patch"
+
+ # Support installation for multiple Python versions, upstream bug #648292
+ epatch "${FILESDIR}/${PN}-2.28.3-support_multiple_python_versions.patch"
+
+ # Disable tests that fail
+ epatch "${FILESDIR}/${P}-disable-failing-tests.patch"
+
+ # Disable introspection tests when we build with --disable-introspection
+ epatch "${FILESDIR}/${P}-tests-no-introspection.patch"
+
+ # Fix warning spam
+ epatch "${FILESDIR}/${P}-set_qdata.patch"
+ epatch "${FILESDIR}/${P}-gio-types-2.32.patch"
+
+ # Fix glib-2.36 compatibility, bug #486602
+ epatch "${FILESDIR}/${P}-glib-2.36-class_init.patch"
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.ac || die
+
+ eautoreconf
+ gnome2_src_prepare
+
+ python_copy_sources
+
+ prepare_shebangs() {
+ # Make a backup with unconverted shebangs to keep python_doscript happy
+ cp codegen/codegen.py pygobject-codegen-2.0
+ sed -e "s%#! \?/usr/bin/env python%#!${PYTHON}%" \
+ -i codegen/*.py || die "shebang convertion failed"
+ }
+ python_foreach_impl run_in_build_dir prepare_shebangs
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+ # --disable-introspection and --disable-cairo because we use pygobject:3
+ # for introspection support
+ G2CONF="${G2CONF}
+ --disable-introspection
+ --disable-cairo
+ $(use_with libffi ffi)"
+
+ python_foreach_impl run_in_build_dir gnome2_src_configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+# FIXME: With python multiple ABI support, tests return 1 even when they pass
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+
+ testing() {
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+ run_in_build_dir Xemake -j1 check
+ unset XDG_CACHE_HOME
+ }
+ python_foreach_impl testing
+ unset GIO_USE_VFS
+}
+
+src_install() {
+ installing() {
+ local f prefixed_sitedir
+
+ gnome2_src_install
+
+ python_doscript pygobject-codegen-2.0
+
+ # Don't keep multiple copies of pygobject-codegen-2.0 script
+ prefixed_sitedir=$(python_get_sitedir)
+ dosym "${prefixed_sitedir#${EPREFIX}}/gtk-2.0/codegen/codegen.py" "/usr/lib/python-exec/${EPYTHON}/pygobject-codegen-2.0"
+ }
+ python_foreach_impl run_in_build_dir installing
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/pygobject/pygobject-3.12.2.ebuild b/dev-python/pygobject/pygobject-3.12.2.ebuild
new file mode 100644
index 000000000000..67f2b1b8954a
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.12.2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit gnome2 python-r1 virtualx
+
+DESCRIPTION="GLib's GObject library bindings for Python"
+HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+cairo examples test +threads"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.38
+ virtual/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}]
+ x11-libs/cairo )
+ ${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ cairo? ( x11-libs/cairo[glib] )
+ test? (
+ dev-libs/atk[introspection]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection] )
+"
+# gnome-base/gnome-common required by eautoreconf
+
+# We now disable introspection support in slot 2 per upstream recommendation
+# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however,
+# older versions of slot 2 installed their own site-packages/gi, and
+# slot 3 will collide with them.
+RDEPEND="${COMMON_DEPEND}
+ !<dev-python/pygtk-2.13
+ !<dev-python/pygobject-2.28.6-r50:2[introspection]
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ # Hard-enable libffi support since both gobject-introspection and
+ # glib-2.29.x rdepend on it anyway
+ # docs disabled by upstream default since they are very out of date
+ python_foreach_impl run_in_build_dir \
+ gnome2_src_configure \
+ $(use_enable cairo) \
+ $(use_enable threads thread)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+
+ testing() {
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+ run_in_build_dir Xemake check
+ unset XDG_CACHE_HOME
+ }
+ python_foreach_impl testing
+ unset GIO_USE_VFS
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pygobject/pygobject-3.14.0.ebuild b/dev-python/pygobject/pygobject-3.14.0.ebuild
new file mode 100644
index 000000000000..2cc8d7068903
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.14.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit gnome2 python-r1 virtualx
+
+DESCRIPTION="GLib's GObject library bindings for Python"
+HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+cairo examples test +threads"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.39
+ virtual/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}]
+ x11-libs/cairo )
+ ${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ cairo? ( x11-libs/cairo[glib] )
+ test? (
+ dev-libs/atk[introspection]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection] )
+"
+# gnome-base/gnome-common required by eautoreconf
+
+# We now disable introspection support in slot 2 per upstream recommendation
+# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however,
+# older versions of slot 2 installed their own site-packages/gi, and
+# slot 3 will collide with them.
+RDEPEND="${COMMON_DEPEND}
+ !<dev-python/pygtk-2.13
+ !<dev-python/pygobject-2.28.6-r50:2[introspection]
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ # Hard-enable libffi support since both gobject-introspection and
+ # glib-2.29.x rdepend on it anyway
+ # docs disabled by upstream default since they are very out of date
+ python_foreach_impl run_in_build_dir \
+ gnome2_src_configure \
+ $(use_enable cairo) \
+ $(use_enable threads thread)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+
+ testing() {
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+ run_in_build_dir Xemake check
+ unset XDG_CACHE_HOME
+ }
+ python_foreach_impl testing
+ unset GIO_USE_VFS
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pygobject/pygobject-3.16.1.ebuild b/dev-python/pygobject/pygobject-3.16.1.ebuild
new file mode 100644
index 000000000000..9d8907c58d3b
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.16.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils gnome2 python-r1 virtualx
+
+DESCRIPTION="GLib's GObject library bindings for Python"
+HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+cairo examples test +threads"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.39
+ virtual/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}]
+ x11-libs/cairo )
+ ${PYTHON_DEPS}
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ cairo? ( x11-libs/cairo[glib] )
+ test? (
+ dev-libs/atk[introspection]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection] )
+"
+# gnome-base/gnome-common required by eautoreconf
+
+# We now disable introspection support in slot 2 per upstream recommendation
+# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however,
+# older versions of slot 2 installed their own site-packages/gi, and
+# slot 3 will collide with them.
+RDEPEND="${COMMON_DEPEND}
+ !<dev-python/pygtk-2.13
+ !<dev-python/pygobject-2.28.6-r50:2[introspection]
+"
+
+src_prepare() {
+ # Comment out broken unittest
+ epatch "${FILESDIR}"/${PN}-3.16.1-unittest.patch
+
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ # Hard-enable libffi support since both gobject-introspection and
+ # glib-2.29.x rdepend on it anyway
+ # docs disabled by upstream default since they are very out of date
+ python_foreach_impl run_in_build_dir \
+ gnome2_src_configure \
+ $(use_enable cairo) \
+ $(use_enable threads thread)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ export SKIP_PEP8="yes"
+
+ testing() {
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+ run_in_build_dir Xemake check
+ unset XDG_CACHE_HOME
+ }
+ python_foreach_impl testing
+ unset GIO_USE_VFS
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pygobject/pygobject-3.16.2.ebuild b/dev-python/pygobject/pygobject-3.16.2.ebuild
new file mode 100644
index 000000000000..e5610c23cd41
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.16.2.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils gnome2 python-r1 virtualx
+
+DESCRIPTION="GLib's GObject library bindings for Python"
+HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="+cairo examples test +threads"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ test? ( cairo )
+"
+
+COMMON_DEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.38:2
+ >=dev-libs/gobject-introspection-1.39:=
+ virtual/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.10.0[${PYTHON_USEDEP}]
+ x11-libs/cairo )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ cairo? ( x11-libs/cairo[glib] )
+ test? (
+ dev-libs/atk[introspection]
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ !sparc? ( python_targets_python2_7? ( dev-python/pyflakes[$(python_gen_usedep python2_7)] ) ) )
+"
+# FIXME: remove "!sparc?" automagic nonsense above when pyflakes is
+# keyworded on sparc, bug #553380
+
+# gnome-base/gnome-common required by eautoreconf
+
+# We now disable introspection support in slot 2 per upstream recommendation
+# (see https://bugzilla.gnome.org/show_bug.cgi?id=642048#c9); however,
+# older versions of slot 2 installed their own site-packages/gi, and
+# slot 3 will collide with them.
+RDEPEND="${COMMON_DEPEND}
+ !<dev-python/pygtk-2.13
+ !<dev-python/pygobject-2.28.6-r50:2[introspection]
+"
+
+src_prepare() {
+ # Comment out broken unittest
+ epatch "${FILESDIR}"/${PN}-3.16.1-unittest.patch
+
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ # Hard-enable libffi support since both gobject-introspection and
+ # glib-2.29.x rdepend on it anyway
+ # docs disabled by upstream default since they are very out of date
+ configuring() {
+ gnome2_src_configure \
+ $(use_enable cairo) \
+ $(use_enable threads thread)
+
+ # Pyflakes tests work only in python2, bug #516744
+ if use test && [[ ${EPYTHON} != python2.7 ]]; then
+ sed -e 's/if type pyflakes/if false/' \
+ -i Makefile || die "sed failed"
+ fi
+ }
+
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ unset DBUS_SESSION_BUS_ADDRESS
+ export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ export GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ export SKIP_PEP8="yes"
+
+ testing() {
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+ run_in_build_dir Xemake check
+ unset XDG_CACHE_HOME
+ }
+ python_foreach_impl testing
+ unset GIO_USE_VFS
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog* NEWS README"
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pygoocanvas/Manifest b/dev-python/pygoocanvas/Manifest
new file mode 100644
index 000000000000..4f8d6b42be8a
--- /dev/null
+++ b/dev-python/pygoocanvas/Manifest
@@ -0,0 +1 @@
+DIST pygoocanvas-0.14.1.tar.bz2 331136 SHA256 640f54dc62eb2bd4be8ef9687c89baadd7d277895841dd24909ad9029effb3f5 SHA512 cd8175eb51358236b6488d01706d719abfdd0f3d00568e7563b2a1d7edc01f3d77b1ef23b7c062ab4a78d46d5f542c483fc883a81d2f31ce9be2b6a7385c2d22 WHIRLPOOL 3fb234d4271efc0d15fa26fc995411ba7d6ef4a3da2ef150cc3d1bd599e6e1283718d3500ec833cd176716a19765248e74d2299770feb73bfe481eecafd58ce8
diff --git a/dev-python/pygoocanvas/metadata.xml b/dev-python/pygoocanvas/metadata.xml
new file mode 100644
index 000000000000..7c374a2962fb
--- /dev/null
+++ b/dev-python/pygoocanvas/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pygoocanvas/pygoocanvas-0.14.1-r1.ebuild b/dev-python/pygoocanvas/pygoocanvas-0.14.1-r1.ebuild
new file mode 100644
index 000000000000..08f49af5c87c
--- /dev/null
+++ b/dev-python/pygoocanvas/pygoocanvas-0.14.1-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+PYTHON_COMPAT=(python2_7 )
+
+inherit gnome2 python-r1
+
+DESCRIPTION="GooCanvas python bindings"
+HOMEPAGE="http://live.gnome.org/PyGoocanvas"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/pygobject-2.11.3:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.10.4:2[${PYTHON_USEDEP}]
+ >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}]
+ >=x11-libs/goocanvas-0.14:0
+"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-util/gtk-doc-1.4 )
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ prepare_binding() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_binding
+}
+
+src_configure() {
+ # docs installs gtk-doc and xsltproc is not actually used
+ configure_binding() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc docs) \
+ XSLTPROC=$(type -P true)
+ }
+ python_foreach_impl run_in_build_dir configure_binding
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir gnome2_src_install
+
+ dodoc AUTHORS ChangeLog* NEWS
+
+ if use examples; then
+ rm demo/Makefile* || die
+ cp -R demo "${D}"/usr/share/doc/${PF} || die
+ fi
+}
+
+run_in_build_dir() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ "$@"
+ popd > /dev/null
+}
diff --git a/dev-python/pygooglevoice/Manifest b/dev-python/pygooglevoice/Manifest
new file mode 100644
index 000000000000..c2e28742cc3b
--- /dev/null
+++ b/dev-python/pygooglevoice/Manifest
@@ -0,0 +1,2 @@
+DIST pygooglevoice-0.5-extras.zip 65730 SHA256 a5fd22653a9c6550bb9eccfd3df0e8797ec73b00795babf6a5c385d0eea19d66 SHA512 849b3f66747674127d4396cb88ba5a6331033aaa4a4aa056cd714d3796bd8ea7eed8e22089b07c62e36e2ff95ac18ccfd681d5f9d446d3c3ea68a3bd608cace0 WHIRLPOOL bf3681f0dd89a5ed4c1f9f8eb44f0d750eb83def3b3dfd94db4b2a1c63deab09d0cef2e8e33e9eaeaa76fc8e1ca98d8e325ebf3c2d9762d0ef92ed4bcf02f950
+DIST pygooglevoice-0.5.tar.gz 10478 SHA256 228cb8a0a0fb0a75c1bf60cc3c8e19e66dcceb0bafe1bf98a11278c66182ab8b SHA512 789a8d8cbe2351a009ea1badddc1e2f3e61e3b8d230cdc4391441294af78a369248cf50baea54d9ccd40706c5358882d3745ba47657ae848a782177dea53852b WHIRLPOOL f2b40cf4b8fc777c87f6edc0fd8b71007443da6ddab2b29bb0defc3353a84bbba31f5cd6838a445981e1e4c796d68a4f49d091ff3b875034306e43c8ae472f01
diff --git a/dev-python/pygooglevoice/files/pygooglevoice-0.5-auth.patch b/dev-python/pygooglevoice/files/pygooglevoice-0.5-auth.patch
new file mode 100644
index 000000000000..fbbadbac7a5f
--- /dev/null
+++ b/dev-python/pygooglevoice/files/pygooglevoice-0.5-auth.patch
@@ -0,0 +1,121 @@
+--- pygooglevoice-0.5.orig/bin/asterisk-gvoice-setup
++++ pygooglevoice-0.5/bin/asterisk-gvoice-setup
+@@ -66,6 +66,7 @@
+ exten => _X.,n,System(gvoice -b -e \${ACCTNAME} -p \${ACCTPASS} call \${EXTEN} \${RINGBACK})
+ exten => _X.,n,Set(PARKINGEXTEN=\${CALLPARK})
+ exten => _X.,n,Park()
++exten => _X.,n,ParkAndAnnounce(pbx-transfer:PARKED|45|Console/dsp)
+
+ [custom-park]
+ exten => s,1,Wait(4)
+--- pygooglevoice-0.5.orig/googlevoice/settings.py
++++ pygooglevoice-0.5/googlevoice/settings.py
+@@ -19,7 +19,8 @@
+ """
+
+ DEBUG = False
+-LOGIN = 'https://www.google.com/accounts/ServiceLoginAuth?service=grandcentral'
++LOGIN = 'https://www.google.com/accounts/ClientLogin'
++SERVICE = 'grandcentral'
+ FEEDS = ('inbox', 'starred', 'all', 'spam', 'trash', 'voicemail', 'sms',
+ 'recorded', 'placed', 'received', 'missed')
+
+@@ -50,4 +51,4 @@
+ XML_RECORDED = XML_RECENT + 'recorded/'
+ XML_PLACED = XML_RECENT + 'placed/'
+ XML_RECEIVED = XML_RECENT + 'received/'
+-XML_MISSED = XML_RECENT + 'missed/'
+\ No newline at end of file
++XML_MISSED = XML_RECENT + 'missed/'
+--- pygooglevoice-0.5.orig/googlevoice/util.py
++++ pygooglevoice-0.5/googlevoice/util.py
+@@ -6,11 +6,11 @@
+ from pprint import pprint
+ try:
+ from urllib2 import build_opener,install_opener, \
+- HTTPCookieProcessor,Request,urlopen
++ HTTPCookieProcessor,Request,urlopen,HTTPError
+ from urllib import urlencode,quote
+ except ImportError:
+ from urllib.request import build_opener,install_opener, \
+- HTTPCookieProcessor,Request,urlopen
++ HTTPCookieProcessor,Request,urlopen,HTTPError
+ from urllib.parse import urlencode,quote
+ try:
+ from http.cookiejar import LWPCookieJar as CookieJar
+--- pygooglevoice-0.5.orig/googlevoice/voice.py
++++ pygooglevoice-0.5/googlevoice/voice.py
+@@ -39,7 +39,8 @@
+ except NameError:
+ regex = r"('_rnr_se':) '(.+)'"
+ try:
+- sp = re.search(regex, urlopen(settings.INBOX).read()).group(2)
++ response = self.__do_page('inbox', data=None, headers = {'Authorization': 'GoogleLogin auth=%s' % self._auth })
++ sp = re.search(regex, response.read()).group(2)
+ except AttributeError:
+ sp = None
+ self._special = sp
+@@ -65,12 +66,19 @@
+ from getpass import getpass
+ passwd = getpass()
+
+- content = self.__do_page('login').read()
+- # holy hackjob
+- galx = re.search(r"name=\"GALX\"\s+value=\"(.+)\"", content).group(1)
+- self.__do_page('login', {'Email': email, 'Passwd': passwd, 'GALX': galx})
+-
+- del email, passwd
++ response = self.__do_page('login', {'accountType': 'HOSTED_OR_GOOGLE' ,'Email': email, 'Passwd': passwd, 'service': 'grandcentral' })
++
++ respMap = dict( line.strip().split('=', 1) for line in response.readlines() )
++ response.close()
++
++ if respMap.has_key('Auth'):
++ self._auth = respMap['Auth']
++ elif respMap.has_key('Error'):
++ if respMap['Error'] == 'CaptchaRequired':
++ raise LoginError('Clear the captcha at: %s' % respMap['Url'])
++ raise LoginError(respMap['Error'])
++
++ del email, passwd, respMap
+
+ try:
+ assert self.special
+@@ -84,7 +92,7 @@
+ Logs out an instance and makes sure it does not still have a session
+ """
+ self.__do_page('logout')
+- del self._special
++ del self._special, self._auth
+ assert self.special == None
+ return self
+
+@@ -200,7 +208,11 @@
+ return urlopen(Request(getattr(settings, page) + data, None, headers))
+ if data:
+ headers.update({'Content-type': 'application/x-www-form-urlencoded;charset=utf-8'})
+- return urlopen(Request(getattr(settings, page), data, headers))
++ headers.update({'Content-length': '%d' % len(data)})
++ try:
++ return urlopen(Request(getattr(settings, page), data, headers))
++ except (HTTPError), e:
++ return e
+
+ def __validate_special_page(self, page, data={}, **kwargs):
+ """
+@@ -215,11 +227,14 @@
+ """
+ Add self.special to request data
+ """
+- assert self.special, 'You must login before using this page'
++ assert self.special and self._auth, 'You must login before using this page'
+ if isinstance(data, tuple):
+ data += ('_rnr_se', self.special)
+ elif isinstance(data, dict):
+ data.update({'_rnr_se': self.special})
++
++ headers.update({'Authorization': 'GoogleLogin auth=%s' % self._auth})
++
+ return self.__do_page(page, data, headers)
+
+ _Phone__do_special_page = __do_special_page
diff --git a/dev-python/pygooglevoice/metadata.xml b/dev-python/pygooglevoice/metadata.xml
new file mode 100644
index 000000000000..159cbbbf6632
--- /dev/null
+++ b/dev-python/pygooglevoice/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pygooglevoice</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygooglevoice/pygooglevoice-0.5-r2.ebuild b/dev-python/pygooglevoice/pygooglevoice-0.5-r2.ebuild
new file mode 100644
index 000000000000..b81e3a4a21cc
--- /dev/null
+++ b/dev-python/pygooglevoice/pygooglevoice-0.5-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Bindings for the Google Voice API"
+HOMEPAGE="http://code.google.com/p/pygooglevoice/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz
+ http://${PN}.googlecode.com/files/${P}-extras.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="app-arch/unzip"
+
+# Requires interactive login
+RESTRICT="test"
+
+PATCH=( "${FILESDIR}"/${P}-auth.patch )
+
+python_test() {
+ "${PYTHON}" googlevoice/tests.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygpgme/Manifest b/dev-python/pygpgme/Manifest
new file mode 100644
index 000000000000..51674038fade
--- /dev/null
+++ b/dev-python/pygpgme/Manifest
@@ -0,0 +1 @@
+DIST pygpgme-0.3.tar.gz 50100 SHA256 5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1 SHA512 25fc199a7958adfa3bbb294108792974ba96ee7b15dff98f7933e9b089a6044d83bb7c7b77ca84ea0cab5b182f6d401cee42ecab57ab9ba34aa0b14eb6ce7736 WHIRLPOOL 58657f106702a402f466415301530e56cd7287592da012b8869b5bb0a985b0560be4fb12699c22b1949d6ea2f18a6eed943b5e8af59f80855eace82ef4d21017
diff --git a/dev-python/pygpgme/metadata.xml b/dev-python/pygpgme/metadata.xml
new file mode 100644
index 000000000000..cc608635cc22
--- /dev/null
+++ b/dev-python/pygpgme/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ PyGPGME is a Python module that lets you sign, verify, encrypt and
+ decrypt messages using the OpenPGP format. It is built on top of the
+ GNU Privacy Guard and the GPGME
+ library.
+ </longdescription>
+ <upstream>
+ <remote-id type="launchpad">pygpgme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygpgme/pygpgme-0.3-r1.ebuild b/dev-python/pygpgme/pygpgme-0.3-r1.ebuild
new file mode 100644
index 000000000000..8510bb2e4865
--- /dev/null
+++ b/dev-python/pygpgme/pygpgme-0.3-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python wrapper for the GPGME library"
+HOMEPAGE="https://launchpad.net/pygpgme"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="app-crypt/gpgme"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ sed \
+ -e 's/#include <gpgme\.h>/#include <gpgme\/gpgme\.h>/' \
+ -i "${S}/src/pygpgme.h" || die
+ sed \
+ -e 's/suite.addTest(tests.test_sign_verify.test_suite())/#\0/' \
+ -e 's/suite.addTest(tests.test_encrypt_decrypt.test_suite())/#\0/' \
+ -e 's/suite.addTest(tests.test_passphrase.test_suite())/#\0/' \
+ -i "${S}/tests/__init__.py" || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pygraphviz/Manifest b/dev-python/pygraphviz/Manifest
new file mode 100644
index 000000000000..68e8904f10fa
--- /dev/null
+++ b/dev-python/pygraphviz/Manifest
@@ -0,0 +1 @@
+DIST pygraphviz-1.2.tar.gz 90913 SHA256 2e8a82a07dcf006b9558d22c5a6357c012193d4cc681776845e515fffeccc6b3 SHA512 e477af635594c3ba1aa6fa499bc5e60df14e76616a1a777f648e2e96d3953dd3d0b3bae4a92275dac2f7466276cf526ecb8b6a63fd3fbad26ee24b67d76ecfa3 WHIRLPOOL 2757d02b130f326ee2638b78761094de1a841293b6de1d5ea2c89c169cbc8525041e06daef9ded32d7c1ac944ef99293ab67fee6c75a2976283f87725635a4d5
diff --git a/dev-python/pygraphviz/files/pygraphviz-1.0-setup.py.patch b/dev-python/pygraphviz/files/pygraphviz-1.0-setup.py.patch
new file mode 100644
index 000000000000..13eb0f213ce1
--- /dev/null
+++ b/dev-python/pygraphviz/files/pygraphviz-1.0-setup.py.patch
@@ -0,0 +1,33 @@
+--- setup_egg.py
++++ setup_egg.py
+@@ -46,7 +46,6 @@
+ download_url = release.download_url,
+ classifiers = release.classifiers,
+ packages = packages,
+- data_files = data,
+ ext_modules = extension,
+ package_data = package_data,
+ install_requires=['setuptools'],
+--- setup.py
++++ setup.py
+@@ -98,12 +98,6 @@
+ sys.path.pop(0)
+
+ packages = ["pygraphviz","pygraphviz.tests"]
+-docdirbase = 'share/doc/pygraphviz-%s' % release.version
+-data = [(docdirbase, glob("*.txt")),
+- (os.path.join(docdirbase, 'examples'),glob("examples/*.py")),
+- (os.path.join(docdirbase, 'examples'),glob("examples/*.dat")),
+- (os.path.join(docdirbase, 'examples'),glob("examples/*.dat.gz")),
+- ]
+ extension = [Extension("pygraphviz._graphviz",
+ ["pygraphviz/graphviz_wrap.c"],
+ include_dirs=include_dirs,
+@@ -130,7 +124,6 @@
+ download_url = release.download_url,
+ classifiers = release.classifiers,
+ packages = packages,
+- data_files = data,
+ ext_modules = extension,
+ package_data = package_data
+ )
diff --git a/dev-python/pygraphviz/files/pygraphviz-1.1-avoid_tests.patch b/dev-python/pygraphviz/files/pygraphviz-1.1-avoid_tests.patch
new file mode 100644
index 000000000000..0d52e968bf0a
--- /dev/null
+++ b/dev-python/pygraphviz/files/pygraphviz-1.1-avoid_tests.patch
@@ -0,0 +1,41 @@
+--- pygraphviz/agraph.py
++++ pygraphviz/agraph.py
+@@ -1767,29 +1767,3 @@
+ value.decode(self.encoding))
+ except KeyError: # gv.agxget returned KeyError, skip
+ continue
+-
+-
+-
+-def _test_suite():
+- import doctest
+- suite = doctest.DocFileSuite('tests/graph.txt',
+- 'tests/attributes.txt',
+- 'tests/layout_draw.txt',
+- 'tests/subgraph.txt',
+- package='pygraphviz')
+- doctest.testmod() # test docstrings in module
+- return suite
+-
+-
+-if __name__ == "__main__":
+- import os
+- import sys
+- import unittest
+- if sys.version_info[:2] < (2, 4):
+- print "Python version 2.4 or later required for tests (%d.%d detected)." % sys.version_info[:2]
+- sys.exit(-1)
+- # directory of package (relative to this)
+- nxbase=sys.path[0]+os.sep+os.pardir
+- sys.path.insert(0,nxbase) # prepend to search path
+- unittest.TextTestRunner().run(_test_suite())
+-
+--- pygraphviz/__init__.py
++++ pygraphviz/__init__.py
+@@ -67,6 +67,3 @@
+ print "pygraphviz-"+__version__
+ neato=_get_prog('neato')
+ os.system(neato+' -V')
+-
+-# import tests: run as pygraphviz.test()
+-from tests import run as test
diff --git a/dev-python/pygraphviz/files/pygraphviz-1.2-avoid_tests.patch b/dev-python/pygraphviz/files/pygraphviz-1.2-avoid_tests.patch
new file mode 100644
index 000000000000..d444ee3d2df7
--- /dev/null
+++ b/dev-python/pygraphviz/files/pygraphviz-1.2-avoid_tests.patch
@@ -0,0 +1,47 @@
+ pygraphviz/__init__.py | 2 --
+ pygraphviz/agraph.py | 25 -------------------------
+ 2 files changed, 27 deletions(-)
+
+diff --git a/pygraphviz/__init__.py b/pygraphviz/__init__.py
+index a807801..33f727e 100644
+--- a/pygraphviz/__init__.py
++++ b/pygraphviz/__init__.py
+@@ -68,5 +68,3 @@ def version():
+ neato=_get_prog('neato')
+ os.system(neato+' -V')
+
+-# import tests: run as pygraphviz.test()
+-from tests import run as test
+diff --git a/pygraphviz/agraph.py b/pygraphviz/agraph.py
+index c9f735b..90a661e 100644
+--- a/pygraphviz/agraph.py
++++ b/pygraphviz/agraph.py
+@@ -1771,28 +1771,3 @@ class ItemAttribute(Attribute):
+ value.decode(self.encoding))
+ except KeyError: # gv.agxget returned KeyError, skip
+ continue
+-
+-
+-
+-def _test_suite():
+- import doctest
+- suite = doctest.DocFileSuite('tests/graph.txt',
+- 'tests/attributes.txt',
+- 'tests/layout_draw.txt',
+- 'tests/subgraph.txt',
+- package='pygraphviz')
+- doctest.testmod() # test docstrings in module
+- return suite
+-
+-
+-if __name__ == "__main__":
+- import os
+- import sys
+- import unittest
+- if sys.version_info[:2] < (2, 4):
+- print "Python version 2.4 or later required for tests (%d.%d detected)." % sys.version_info[:2]
+- sys.exit(-1)
+- # directory of package (relative to this)
+- nxbase=sys.path[0]+os.sep+os.pardir
+- sys.path.insert(0,nxbase) # prepend to search path
+- unittest.TextTestRunner().run(_test_suite())
diff --git a/dev-python/pygraphviz/metadata.xml b/dev-python/pygraphviz/metadata.xml
new file mode 100644
index 000000000000..d86fec8b72cd
--- /dev/null
+++ b/dev-python/pygraphviz/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Pygraphviz is a Python interface to the Graphviz graph layout and
+ visualization package.
+ With Pygraphviz you can create, edit, read, write, and draw graphs using
+ Python to access the Graphviz graph data structure and layout algorithms.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pygraphviz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygraphviz/pygraphviz-1.2.ebuild b/dev-python/pygraphviz/pygraphviz-1.2.ebuild
new file mode 100644
index 000000000000..b2b7c6824878
--- /dev/null
+++ b/dev-python/pygraphviz/pygraphviz-1.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for the Graphviz Agraph data structure"
+HOMEPAGE="http://networkx.lanl.gov/pygraphviz/ http://pypi.python.org/pypi/pygraphviz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="examples"
+
+# Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary.
+RDEPEND="media-gfx/graphviz"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-setup.py.patch
+ "${FILESDIR}"/${P}-avoid_tests.patch
+)
+
+python_test() {
+ PYTHONPATH=${PYTHONPATH}:${BUILD_DIR}/lib/pygraphviz \
+ "${PYTHON}" \
+ -c "import pygraphviz.tests; pygraphviz.tests.run()" \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygresql/Manifest b/dev-python/pygresql/Manifest
new file mode 100644
index 000000000000..621f42e5e9b5
--- /dev/null
+++ b/dev-python/pygresql/Manifest
@@ -0,0 +1 @@
+DIST PyGreSQL-4.1.1.tgz 100883 SHA256 bb14092f97c66ed13b8faf71471b8c156c6b46d915858447f3a63e9abe48eef7 SHA512 4b37c56f2112471aa5f3003a1d867382ce1b7510afa0963f0ceeb2f8175ca601bb5bade9ea2038d44a1041f12233e364f138a635bb7b353d0a82aeb7d9d49b7f WHIRLPOOL 323bfd1b72341be6b14d71fd4f05f5005a0f8a387f9b050ef3c786531ea19e057aa67fb5737b5aa0c4ca0912ad697a39d8957d70bb6bb4056e81f406ade5a6b9
diff --git a/dev-python/pygresql/metadata.xml b/dev-python/pygresql/metadata.xml
new file mode 100644
index 000000000000..fac7207df9f3
--- /dev/null
+++ b/dev-python/pygresql/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>postgresql</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PyGreSQL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygresql/pygresql-4.1.1-r1.ebuild b/dev-python/pygresql/pygresql-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..1fd9d1bb6778
--- /dev/null
+++ b/dev-python/pygresql/pygresql-4.1.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+POSTGRES_COMPAT=( 9.{0,1,2,3} )
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PyGreSQL-${PV}"
+
+DESCRIPTION="A Python interface for the PostgreSQL database"
+HOMEPAGE="http://www.pygresql.org/"
+SRC_URI="mirror://pypi/P/PyGreSQL/${MY_P}.tgz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~ppc sparc x86"
+IUSE="doc"
+
+DEPEND="|| (
+ dev-db/postgresql:9.3
+ dev-db/postgresql:9.2
+ dev-db/postgresql:9.1
+ dev-db/postgresql:9.0
+)"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+# Verify that the currently selected PostgreSQL slot is set to one of
+# the slots defined in POSTGRES_COMPAT.
+postgres_check_slot() {
+ if ! declare -p POSTGRES_COMPAT &>/dev/null; then
+ die 'POSTGRES_COMPAT not declared.'
+ fi
+
+# Don't die because we can't run postgresql-config during pretend.
+[[ "$EBUILD_PHASE" = "pretend" && -z "$(which postgresql-config 2> /dev/null)" ]] \
+ && return 0
+
+ local res=$(echo ${POSTGRES_COMPAT[@]} \
+ | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
+
+ if [[ "$res" -eq "0" ]] ; then
+ eerror "PostgreSQL slot must be set to one of: "
+ eerror " ${POSTGRES_COMPAT[@]}"
+ return 1
+ fi
+
+ return 0
+}
+
+pkg_pretend() {
+ postgres_check_slot
+}
+
+pkg_setup() {
+ postgres_check_slot || die
+}
+
+python_install_all() {
+ local DOCS=( docs/*.txt )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/tutorial
+ doins tutorial/*
+ dohtml docs/*.{html,css}
+ fi
+}
diff --git a/dev-python/pygresql/pygresql-4.1.1-r2.ebuild b/dev-python/pygresql/pygresql-4.1.1-r2.ebuild
new file mode 100644
index 000000000000..4d40cdbc22d7
--- /dev/null
+++ b/dev-python/pygresql/pygresql-4.1.1-r2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+POSTGRES_COMPAT=( 9.{0,1,2,3,4,5} )
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PyGreSQL-${PV}"
+
+DESCRIPTION="A Python interface for the PostgreSQL database"
+HOMEPAGE="http://www.pygresql.org/"
+SRC_URI="mirror://pypi/P/PyGreSQL/${MY_P}.tgz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc sparc x86"
+IUSE="doc"
+
+DEPEND="|| (
+ dev-db/postgresql:9.5
+ dev-db/postgresql:9.4
+ dev-db/postgresql:9.3
+ dev-db/postgresql:9.2
+ dev-db/postgresql:9.1
+ dev-db/postgresql:9.0
+)"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+# Verify that the currently selected PostgreSQL slot is set to one of
+# the slots defined in POSTGRES_COMPAT.
+postgres_check_slot() {
+ if ! declare -p POSTGRES_COMPAT &>/dev/null; then
+ die 'POSTGRES_COMPAT not declared.'
+ fi
+
+# Don't die because we can't run postgresql-config during pretend.
+[[ "$EBUILD_PHASE" = "pretend" && -z "$(which postgresql-config 2> /dev/null)" ]] \
+ && return 0
+
+ local res=$(echo ${POSTGRES_COMPAT[@]} \
+ | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
+
+ if [[ "$res" -eq "0" ]] ; then
+ eerror "PostgreSQL slot must be set to one of: "
+ eerror " ${POSTGRES_COMPAT[@]}"
+ return 1
+ fi
+
+ return 0
+}
+
+pkg_pretend() {
+ postgres_check_slot
+}
+
+pkg_setup() {
+ postgres_check_slot || die
+}
+
+python_install_all() {
+ local DOCS=( docs/*.txt )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/tutorial
+ doins tutorial/*
+ dohtml docs/*.{html,css}
+ fi
+}
diff --git a/dev-python/pygresql/pygresql-4.1.1.ebuild b/dev-python/pygresql/pygresql-4.1.1.ebuild
new file mode 100644
index 000000000000..2653b005e2a0
--- /dev/null
+++ b/dev-python/pygresql/pygresql-4.1.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+POSTGRES_COMPAT=( 8.{3,4} 9.{0,1,2} )
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PyGreSQL-${PV}"
+
+DESCRIPTION="A Python interface for the PostgreSQL database"
+HOMEPAGE="http://www.pygresql.org/"
+SRC_URI="mirror://pypi/P/PyGreSQL/${MY_P}.tgz"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc sparc x86"
+IUSE="doc"
+
+DEPEND="|| (
+ dev-db/postgresql:8.3
+ dev-db/postgresql:8.4
+ dev-db/postgresql:9.0
+ dev-db/postgresql:9.1
+ dev-db/postgresql:9.2
+)"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+# Verify that the currently selected PostgreSQL slot is set to one of
+# the slots defined in POSTGRES_COMPAT.
+postgres_check_slot() {
+ if ! declare -p POSTGRES_COMPAT &>/dev/null; then
+ die 'POSTGRES_COMPAT not declared.'
+ fi
+
+# Don't die because we can't run postgresql-config during pretend.
+[[ "$EBUILD_PHASE" = "pretend" && -z "$(which postgresql-config 2> /dev/null)" ]] \
+ && return 0
+
+ local res=$(echo ${POSTGRES_COMPAT[@]} \
+ | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null)
+
+ if [[ "$res" -eq "0" ]] ; then
+ eerror "PostgreSQL slot must be set to one of: "
+ eerror " ${POSTGRES_COMPAT[@]}"
+ return 1
+ fi
+
+ return 0
+}
+
+pkg_pretend() {
+ postgres_check_slot
+}
+
+pkg_setup() {
+ postgres_check_slot || die
+}
+
+python_install_all() {
+ local DOCS=( docs/*.txt )
+ distutils-r1_python_install_all
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}/tutorial
+ doins tutorial/*
+ dohtml docs/*.{html,css}
+ fi
+}
diff --git a/dev-python/pygsl/Manifest b/dev-python/pygsl/Manifest
new file mode 100644
index 000000000000..d5d95ecb68de
--- /dev/null
+++ b/dev-python/pygsl/Manifest
@@ -0,0 +1 @@
+DIST pygsl-0.9.5.tar.gz 1674504 SHA256 05d11160ff482e1f1f5f6a047aaef2776eedc1e8e1f98533a95299584fd4752d SHA512 7364e67ff2885be2cbe5410a573071209d3917f4807797b3b8525aacd03e6ab96e157e6d12d631c384e3b66602eab7e6cb89f9ab362f520397df900e77fcc875 WHIRLPOOL 404b5f06b1088d047e7afe56311ad9ce0bdcf465ab6961f3cc9d893f575d54c2a103e4c572a60d93e4cf27ee15d4000b7dfbcd6bd33bbc4cf6638749e87f7e24
diff --git a/dev-python/pygsl/metadata.xml b/dev-python/pygsl/metadata.xml
new file mode 100644
index 000000000000..ede9664139ef
--- /dev/null
+++ b/dev-python/pygsl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ PyGSL provides a python interface for the GNU scientific library
+ (gsl).
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pygsl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygsl/pygsl-0.9.5-r1.ebuild b/dev-python/pygsl/pygsl-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..08a36b8a9f68
--- /dev/null
+++ b/dev-python/pygsl/pygsl-0.9.5-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface for the GNU scientific library (gsl)"
+HOMEPAGE="http://pygsl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+DEPEND="sci-libs/gsl
+ dev-python/numpy[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+# Testsuite written to be run post install
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygsl/pygsl-0.9.5.ebuild b/dev-python/pygsl/pygsl-0.9.5.ebuild
new file mode 100644
index 000000000000..4af265c3ba69
--- /dev/null
+++ b/dev-python/pygsl/pygsl-0.9.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python interface for the GNU scientific library (gsl)"
+HOMEPAGE="http://pygsl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+DEPEND="sci-libs/gsl
+ dev-python/numpy"
+RDEPEND="${DEPEND}"
+
+src_test() {
+ testing() {
+ cd "${S}/tests"
+ PYTHONPATH=$(ls -d ../build-${PYTHON_ABI}/lib*) "$(PYTHON)" run_test.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples || die "install examples failed"
+ fi
+}
diff --git a/dev-python/pygtk/Manifest b/dev-python/pygtk/Manifest
new file mode 100644
index 000000000000..35ad89b06e8e
--- /dev/null
+++ b/dev-python/pygtk/Manifest
@@ -0,0 +1 @@
+DIST pygtk-2.24.0.tar.bz2 2361097 SHA256 cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912 SHA512 64f4344fcf7636e0b2016ffd5310250b5c02a1bf87e44aef39b5d4cf4a5fc50d27cb4f030d4c6802cff61fffb88dee7752821e3d8a4cd1c34dc3745d9ff2f0da WHIRLPOOL 6a5acd3fdd63ded08882ec2a8a3beaeb6bea55672a52841f2b41af5feeb20cfd68941c9322a27861b23fd0244173036815d5f122f7edcf3be14dffaa77b10575
diff --git a/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch b/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch
new file mode 100644
index 000000000000..701d828f1f88
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch
@@ -0,0 +1,11 @@
+--- a/pygtk-2.0.pc.in 2007-11-01 12:20:22.000000000 -0400
++++ b/pygtk-2.0.pc.in 2008-05-28 22:21:04.000000000 -0400
+@@ -12,7 +12,7 @@ pygtkincludedir=${includedir}/pygtk-2.0
+ # This is strictly speaking not necessarily so (we refer to another
+ # package), but we want to preserve compatibility with times codegen
+ # was in PyGTK, not PyGObject.
+-codegendir=${datadir}/pygobject/2.0/codegen
++codegendir=${pyexecdir}/gtk-2.0/codegen
+
+ Name: PyGTK
+ Description: Python bindings for GTK+ and related libraries
diff --git a/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch b/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch
new file mode 100644
index 000000000000..d943e952a421
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch
@@ -0,0 +1,12 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=663421
+
+--- a/pygtk-2.0.pc.in
++++ b/pygtk-2.0.pc.in
+@@ -12,6 +12,7 @@
+ includedir=@includedir@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
++libdir=@libdir@
+ pyexecdir=@pyexecdir@
+
+ # you can use the --variable=pygtkincludedir argument to
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
new file mode 100644
index 000000000000..9106d43c4192
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
@@ -0,0 +1,58 @@
+From eca72baa5616fbe4dbebea43c7e5940847dc5ab8 Mon Sep 17 00:00:00 2001
+From: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Tue, 27 Sep 2011 04:17:52 +0000
+Subject: Fix leaks of Pango objects
+
+Gtk.PrintContext.create_pango_context()
+Gtk.PrintContext.create_pango_layout()
+pangocairo.CairoContext.create_layout()
+
+were leaking the objects they returned.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660216
+---
+diff --git a/gtk/gtk-2.10.defs b/gtk/gtk-2.10.defs
+index 69c7e0c..faa45e1 100644
+--- a/gtk/gtk-2.10.defs
++++ b/gtk/gtk-2.10.defs
+@@ -1388,12 +1388,14 @@
+ (define-method create_pango_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_context")
++ (caller-owns-return #t)
+ (return-type "PangoContext*")
+ )
+
+ (define-method create_pango_layout
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_layout")
++ (caller-owns-return #t)
+ (return-type "PangoLayout*")
+ )
+
+diff --git a/pangocairo.override b/pangocairo.override
+index bb923e6..5101107 100644
+--- a/pangocairo.override
++++ b/pangocairo.override
+@@ -118,11 +118,16 @@ _wrap_pango_cairo_update_context(PyGObject *self, PyObject *args, PyObject *kwar
+ static PyObject *
+ _wrap_pango_cairo_create_layout(PyGObject *self)
+ {
+- PangoLayout *ret;
++ PangoLayout *layout;
++ PyObject *ret;
+
+- ret = pango_cairo_create_layout(PycairoContext_GET(self));
++ layout = pango_cairo_create_layout(PycairoContext_GET(self));
+ /* pygobject_new handles NULL checking */
+- return pygobject_new((GObject *)ret);
++ ret = pygobject_new((GObject *)layout);
++ if (layout)
++ g_object_unref(layout);
++
++ return ret;
+ }
+
+ static PyObject *
+--
+cgit v0.9.2
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
new file mode 100644
index 000000000000..5bb1aec13d89
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
@@ -0,0 +1,9 @@
+--- tests/runtests.py
++++ tests/runtests.py
+@@ -41,4 +41,5 @@
+ suite.addTest(loader.loadTestsFromName(name))
+
+ testRunner = unittest.TextTestRunner()
+-testRunner.run(suite)
++result = testRunner.run(suite)
++sys.exit(not result.wasSuccessful())
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch b/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch
new file mode 100644
index 000000000000..832007af2328
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch
@@ -0,0 +1,28 @@
+From eb92ecdfe7e310499743a5686560e18bb48ef0f0 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Wed, 2 Oct 2013 14:51:20 -0400
+Subject: [PATCH] tests: fix MessageDialogTest.testSubclass
+
+Don't check sub.__gtype__ until we set sub
+
+https://bugzilla.gnome.org/show_bug.cgi?id=709304
+---
+ tests/test_dialog.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_dialog.py b/tests/test_dialog.py
+index a6a3ce5..6540be3 100644
+--- a/tests/test_dialog.py
++++ b/tests/test_dialog.py
+@@ -20,7 +20,7 @@ class MessageDialogTest(unittest.TestCase):
+ print sub.__gtype__.name
+ self.assertEqual(sub.__gtype__.name, 'GtkMessageDialog')
+
+- type('Sub', (gtk.MessageDialog,), {'__gtype_name__': 'SubDialog'})
++ sub = type('Sub', (gtk.MessageDialog,), {'__gtype_name__': 'SubDialog'})
+ self.assertEqual(sub.__gtype__.name, 'SubDialog')
+
+ def testDialogLeak(self):
+--
+1.8.3.2
+
diff --git a/dev-python/pygtk/metadata.xml b/dev-python/pygtk/metadata.xml
new file mode 100644
index 000000000000..6d9588ff59c9
--- /dev/null
+++ b/dev-python/pygtk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+<longdescription>
+PyGTK provides a convenient wrapper for the GTK+ library for use in
+Python programs, taking care of many of the boring details such as
+managing memory and type casting. When combined with PyORBit and
+gnome-python, it can be used to write full featured Gnome applications.
+</longdescription>
+<longdescription lang="ja">
+PyGTKã¯ã€Python言語プログラムã§GTK+ライブラリを使ã†ãŸã‚ã®ã€ãƒžãƒãƒ¼ã‚¸ãƒ³ã‚°ãƒ»ãƒ¡ãƒ¢ãƒª>やタイプ・キャスティングã®æ§˜ãªè©°ã¾ã‚‰ãªã„事柄ã®ä¸–話をã—ã¦ãれる便利ãªãƒ©ãƒƒãƒ‘ーをæ
+ä¾›ã—ã¾ã™ã€‚PyORBitã¨gnome-pythonã¨çµ„ã¿ã‚ã‚ã›ã‚‹ã¨ã€GNOMEã®ã‚¢ãƒ—リケーションã®ç‰¹æ€§ã‚’
+完全ã«æŠ‘ãˆã‚‹ã‚‚ã®ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pygtk/pygtk-2.24.0-r4.ebuild b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
new file mode 100644
index 000000000000..be7a881c59d4
--- /dev/null
+++ b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils flag-o-matic gnome2 python-r1 virtualx
+
+DESCRIPTION="GTK+2 bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-libs/glib-2.8:2
+ >=x11-libs/pango-1.16
+ >=dev-libs/atk-1.12
+ >=x11-libs/gtk+-2.24:2
+ >=dev-python/pycairo-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.26.8-r53:2[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=gnome-base/libglade-2.5:2.0
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ dev-libs/libxslt
+ >=app-text/docbook-xsl-stylesheets-1.70.1 )
+"
+
+src_prepare() {
+ # Fix declaration of codegen in .pc
+ epatch "${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
+ epatch "${FILESDIR}/${PN}-2.14.1-libdir-pc.patch"
+
+ # Fix leaks of Pango objects
+ epatch "${FILESDIR}/${PN}-2.24.0-fix-leaks.patch"
+
+ # Fail when tests are failing, bug #391307
+ epatch "${FILESDIR}/${PN}-2.24.0-test-fail.patch"
+
+ # Fix broken tests, https://bugzilla.gnome.org/show_bug.cgi?id=709304
+ epatch "${FILESDIR}/${P}-test_dialog.patch"
+
+ # Examples is handled "manually"
+ sed -e 's/\(SUBDIRS = .* \)examples/\1/' \
+ -i Makefile.am Makefile.in || die
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466968
+
+ AT_M4DIR="m4" eautoreconf
+
+ prepare_pygtk() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_pygtk
+}
+
+src_configure() {
+ use hppa && append-flags -ffunction-sections
+ configure_pygtk() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc docs) \
+ --with-glade \
+ --enable-thread
+ }
+ python_foreach_impl run_in_build_dir configure_pygtk
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ # Let tests pass without permissions problems, bug #245103
+ gnome2_environment_reset
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ testing() {
+ cd tests
+ Xemake check-local
+ }
+ python_foreach_impl run_in_build_dir testing
+}
+
+src_install() {
+ dodoc AUTHORS ChangeLog INSTALL MAPPING NEWS README THREADS TODO
+
+ if use examples; then
+ rm examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+ prune_libtool_files --modules
+}
diff --git a/dev-python/pygtkglext/Manifest b/dev-python/pygtkglext/Manifest
new file mode 100644
index 000000000000..611a65e3315e
--- /dev/null
+++ b/dev-python/pygtkglext/Manifest
@@ -0,0 +1 @@
+DIST pygtkglext-1.1.0.tar.bz2 349067 SHA256 7f0104347659a81cd5bd84007b97547d18a8a216f5df2629f379ea7f87a1410a SHA512 1b94725d7f93c3ff01a4c2df7986ec3503493a39e78187ed8b440f9609daaf33d801f24b27acef324ea671ec4d46ca1b8cec508f685aa8f70bbc17cbefb69ebd WHIRLPOOL c4eea46296a21a20d4e357344ded68ce99bbb1ddf8ee1307aed94165d0b286d1453d17a3b07b21777f2989f5c4ac62b76fabf5eb0fd13daa71b01392d62f9c6c
diff --git a/dev-python/pygtkglext/metadata.xml b/dev-python/pygtkglext/metadata.xml
new file mode 100644
index 000000000000..c1bb83f0928b
--- /dev/null
+++ b/dev-python/pygtkglext/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">gtkglext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygtkglext/pygtkglext-1.1.0-r1.ebuild b/dev-python/pygtkglext/pygtkglext-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..775d1b1c6d90
--- /dev/null
+++ b/dev-python/pygtkglext/pygtkglext-1.1.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=modules
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils python-r1
+
+DESCRIPTION="Python bindings to GtkGLExt"
+HOMEPAGE="http://gtkglext.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=dev-python/pygtk-2.8:2[${PYTHON_USEDEP}]
+ >=dev-libs/glib-2.0:2
+ >=x11-libs/gtk+-2.0:2
+ >=x11-libs/gtkglext-1.0.0
+ dev-python/pyopengl[${PYTHON_USEDEP}]
+ virtual/opengl
+ virtual/glu"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ python_parallel_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_test() {
+ python_foreach_impl autotools-utils_src_test
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ docinto examples
+ dodoc examples/*.{py,png}
+ fi
+}
diff --git a/dev-python/pygtkhelpers/Manifest b/dev-python/pygtkhelpers/Manifest
new file mode 100644
index 000000000000..a5b834f3c98d
--- /dev/null
+++ b/dev-python/pygtkhelpers/Manifest
@@ -0,0 +1 @@
+DIST pygtkhelpers-0.4.3.tar.gz 118768 SHA256 65417d091c68f6262ebaf18c1358f55ffe9e3735261d4c1bfb0d6e5bed1905b8 SHA512 6736cb77ad7d5f8a9811d6604ef112ed73b27347fb4633c611d3cc77ac28a9b51e03b32a2ffb76fd94effae485b3d890699bdcc3726fcd6be509809045cb3830 WHIRLPOOL f13c6ddad94b2b8aab8ec0c1661c4ac6adc596fb1f378670ef1c973fab35bd137aa4e5d723a6f83f3073664784ec8594237c80facb9343442102143dc59228ce
diff --git a/dev-python/pygtkhelpers/metadata.xml b/dev-python/pygtkhelpers/metadata.xml
new file mode 100644
index 000000000000..986211d4c098
--- /dev/null
+++ b/dev-python/pygtkhelpers/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pygtkhelpers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pygtkhelpers/pygtkhelpers-0.4.3-r1.ebuild b/dev-python/pygtkhelpers/pygtkhelpers-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..3be3f9a3075e
--- /dev/null
+++ b/dev-python/pygtkhelpers/pygtkhelpers-0.4.3-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="PyGTKHelpers is a library to assist the building of PyGTK applications"
+HOMEPAGE="http://packages.python.org/pygtkhelpers/ http://pypi.python.org/pypi/pygtkhelpers"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-python/pygtk[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )"
+
+python_prepare_all() {
+ # docs/_static/scope.jpg does not exist.
+ sed -e "s/^\(html_logo =.*\)/#\1/" -i docs/conf.py || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ esetup.py build_sphinx
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ cd "${BUILD_DIR}"/sphinx/html || die
+ docinto html
+ dodoc -r [a-z]* _images _static
+ cd - >/dev/null || die
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/.
+ fi
+}
diff --git a/dev-python/pygtkhelpers/pygtkhelpers-0.4.3.ebuild b/dev-python/pygtkhelpers/pygtkhelpers-0.4.3.ebuild
new file mode 100644
index 000000000000..94357d47bf61
--- /dev/null
+++ b/dev-python/pygtkhelpers/pygtkhelpers-0.4.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.4 2.5 3.*"
+
+inherit distutils
+
+DESCRIPTION="PyGTKHelpers is a library to assist the building of PyGTK applications"
+HOMEPAGE="http://packages.python.org/pygtkhelpers/ http://pypi.python.org/pypi/pygtkhelpers"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86"
+IUSE="doc examples"
+
+RDEPEND="dev-python/pygtk"
+DEPEND="${RDEPEND}
+ dev-python/setuptools
+ doc? ( dev-python/sphinx )"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # docs/_static/scope.jpg does not exist.
+ sed -e "s/^\(html_logo =.*\)/#\1/" -i docs/conf.py || die "sed failed"
+}
+
+src_compile() {
+ distutils_src_compile
+
+ if use doc; then
+ einfo "Generation of documentation"
+ "$(PYTHON -f)" setup.py build_sphinx || die "Generation of documentation failed"
+ fi
+}
+
+src_install() {
+ distutils_src_install
+
+ if use doc; then
+ pushd build/sphinx/html > /dev/null
+ docinto html
+ cp -R [a-z]* _images _static "${ED}usr/share/doc/${PF}/html" || die "Installation of documentation failed"
+ popd > /dev/null
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/* || die "Installation of examples failed"
+ fi
+}
diff --git a/dev-python/pygtksourceview/Manifest b/dev-python/pygtksourceview/Manifest
new file mode 100644
index 000000000000..009ebf2ff409
--- /dev/null
+++ b/dev-python/pygtksourceview/Manifest
@@ -0,0 +1 @@
+DIST pygtksourceview-2.10.1.tar.bz2 290249 SHA256 b4b47c5aeb67a26141cb03663091dfdf5c15c8a8aae4d69c46a6a943ca4c5974 SHA512 6f8f35ba36cb26f256861ff7f14c3236cf566d6d02f3dea69f63844081caee969ad6288a2aa48d35d4eb542cda73da9d4bfe2cc57548ca15cd372011cab0276e WHIRLPOOL 237ce7a181c4508a17838cae28cf96fda6ebe4f16dbbbfdc83ca5da104a3422031369dbb870c7219f3031feded0833ac1393a6aabcb1fb45b169b198b3b480dc
diff --git a/dev-python/pygtksourceview/metadata.xml b/dev-python/pygtksourceview/metadata.xml
new file mode 100644
index 000000000000..7080c1467b4b
--- /dev/null
+++ b/dev-python/pygtksourceview/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<!-- <herd>python</herd> -->
+<longdescription>
+Python bindings for gtksourceview (text editing widget)
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pygtksourceview/pygtksourceview-2.10.1-r1.ebuild b/dev-python/pygtksourceview/pygtksourceview-2.10.1-r1.ebuild
new file mode 100644
index 000000000000..f6a7d5feecc3
--- /dev/null
+++ b/dev-python/pygtksourceview/pygtksourceview-2.10.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 python-r1
+
+DESCRIPTION="GTK+2 bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-2.15.2:2[${PYTHON_USEDEP}]
+ >=dev-python/pygtk-2.8:2[${PYTHON_USEDEP}]
+ >=x11-libs/gtksourceview-2.9.7:2.0
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.10
+ virtual/pkgconfig
+ doc? (
+ dev-libs/libxslt
+ ~app-text/docbook-xml-dtd-4.1.2
+ >=app-text/docbook-xsl-stylesheets-1.70.1 )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir gnome2_src_configure $(use_enable doc docs)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog NEWS README"
+ python_foreach_impl run_in_build_dir gnome2_src_install
+}
diff --git a/dev-python/pygui/Manifest b/dev-python/pygui/Manifest
new file mode 100644
index 000000000000..64dcc05766f1
--- /dev/null
+++ b/dev-python/pygui/Manifest
@@ -0,0 +1 @@
+DIST PyGUI-2.5.3.tar.gz 594157 SHA256 ef3af16d97dc6f71898d71706ee9e2fe6de44a83ace01d690054804ca16c7315 SHA512 dbbfd95785f37842dab657be7218bf057512fdb43f1c3eda7a9cf1b6d62c83b40b4295572bc6947fe77fc23e25b53c8a69855ddf2272e25410fdb17297483942 WHIRLPOOL 37853cbd2a959c1c9c3e1f69bdd68bfd84094c1db465c490ada16b7081a84b4a6b992ad668f01340295654c15eb0f0137a10f88d38402cee77d50ae196c9acc0
diff --git a/dev-python/pygui/files/pygui-2.2-python-2.6.patch b/dev-python/pygui/files/pygui-2.2-python-2.6.patch
new file mode 100644
index 000000000000..3856cc7787c7
--- /dev/null
+++ b/dev-python/pygui/files/pygui-2.2-python-2.6.patch
@@ -0,0 +1,18 @@
+diff -r -U1 PyGUI-2.2.orig/GUI/Gtk/GL.py PyGUI-2.2/GUI/Gtk/GL.py
+--- PyGUI-2.2.orig/GUI/Gtk/GL.py 2009-04-10 11:45:08.000000000 +0200
++++ PyGUI-2.2/GUI/Gtk/GL.py 2010-02-20 00:30:39.000000000 +0100
+@@ -44,3 +44,3 @@
+ cs = self._color_size
+- as = 0
++ as_ = 0
+ ds = 0
+@@ -50,3 +50,3 @@
+ if self._alpha:
+- as = self._alpha_size
++ as_ = self._alpha_size
+ if self._depth_buffer:
+@@ -64,3 +64,3 @@
+ gdkgl.BLUE_SIZE, cs,
+- gdkgl.ALPHA_SIZE, as,
++ gdkgl.ALPHA_SIZE, as_,
+ gdkgl.AUX_BUFFERS, self._aux_buffers,
diff --git a/dev-python/pygui/files/pygui-2.2-resources.patch b/dev-python/pygui/files/pygui-2.2-resources.patch
new file mode 100644
index 000000000000..dbf3f3fdf7fa
--- /dev/null
+++ b/dev-python/pygui/files/pygui-2.2-resources.patch
@@ -0,0 +1,8 @@
+diff -r -U1 PyGUI-2.2.orig/setup.py PyGUI-2.2/setup.py
+--- PyGUI-2.2.orig/setup.py 2009-04-12 07:36:14.000000000 +0200
++++ PyGUI-2.2/setup.py 2010-02-21 00:52:21.000000000 +0100
+@@ -15,3 +15,3 @@
+ dst_rsrc_dir = os.path.join(dst_gui_dir, "Resources", "cursors")
+-src_rsrc_files = glob(os.path.join("GUI", "Resources", "Cursors", "*"))
++src_rsrc_files = glob(os.path.join("GUI", "Resources", "cursors", "*"))
+
diff --git a/dev-python/pygui/metadata.xml b/dev-python/pygui/metadata.xml
new file mode 100644
index 000000000000..d9113ab8f50a
--- /dev/null
+++ b/dev-python/pygui/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>
+ A cross-platform graphical application framework for Python.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/pygui/pygui-2.5.3-r1.ebuild b/dev-python/pygui/pygui-2.5.3-r1.ebuild
new file mode 100644
index 000000000000..300afd07c316
--- /dev/null
+++ b/dev-python/pygui/pygui-2.5.3-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PyGUI-${PV}"
+
+DESCRIPTION="A cross-platform pythonic GUI API"
+HOMEPAGE="http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/"
+SRC_URI="http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/${MY_P}.tar.gz"
+
+LICENSE="PyGUI"
+SLOT=0
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/pygtk[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Doc/. )
+ use examples && local EXAMPLES=( Demos/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyh2o/metadata.xml b/dev-python/pyh2o/metadata.xml
new file mode 100644
index 000000000000..dd3556565a11
--- /dev/null
+++ b/dev-python/pyh2o/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <bugs-to>https://bitbucket.org/mgorny/pyh2o/issues/</bugs-to>
+ <remote-id type="bitbucket">mgorny/libh2o</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyh2o/pyh2o-9999.ebuild b/dev-python/pyh2o/pyh2o-9999.ebuild
new file mode 100644
index 000000000000..413c25b826ad
--- /dev/null
+++ b/dev-python/pyh2o/pyh2o-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+#if LIVE
+AUTOTOOLS_AUTORECONF=yes
+EGIT_REPO_URI="http://bitbucket.org/mgorny/${PN}.git"
+
+inherit git-r3
+#endif
+
+DESCRIPTION="Library of routines for IF97 water & steam properties"
+HOMEPAGE="https://bitbucket.org/mgorny/libh2o/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=sci-libs/libh2o-0.2.1"
+DEPEND="${RDEPEND}"
+#if LIVE
+
+KEYWORDS=
+SRC_URI=
+#endif
diff --git a/dev-python/pyhamcrest/Manifest b/dev-python/pyhamcrest/Manifest
new file mode 100644
index 000000000000..2413ce8ac5b1
--- /dev/null
+++ b/dev-python/pyhamcrest/Manifest
@@ -0,0 +1,3 @@
+DIST PyHamcrest-1.8.2.tar.gz 372308 SHA256 bd14093c561f9af8ce8271a630929f4a45be7a4e79bec53c83b876a0547d303e SHA512 ff90a6bb1e2319d25ba8c29e998796544d5840599e7d9a4a178022e6b5bcabd23d35433073152a2707d555aab3aa96c316b8db54d7ec1c0ca2ef1cdf50e4df40 WHIRLPOOL e207d109420ea3d1eb6cf14c65a3d2eb9e1dcabcc30b7917f4c95cb445a554c2fea8e5766213fd513c9323c33b58a63f0d9b102b52062ed7f61b148aeba3c770
+DIST PyHamcrest-1.8.3.tar.gz 376145 SHA256 118c48351451ec027cceed781841c19b836739e21f71a26649fe97fca0d346d5 SHA512 4e11a3ca93886c58b512b5ad77f95c2df3771476d6ca0e99eb6e20c0292819a5f985b7004b3523c756255e503cfe4e266fdb776b285e430a7bd987164f9df14a WHIRLPOOL 4210a503b5eb1f60e7f6757d21b0887f96cfe8b5f261d490f5589d3bbd0e099b91d1dd0264025e3730c94b78419cc8e762e66ded8e33dba3b37dc3764beba4ea
+DIST PyHamcrest-1.8.5.tar.gz 376456 SHA256 db990f17477bb0e78f726e8b04fe3ac78f697011e5c8ecb0928567db14efca55 SHA512 7841f704fdad8653bad923dc243431b4c3d82a9646d1138528356162bd556bc5d16178fbc6b1f27918e8ac1df6c54afb4d5eb8b3286536df33dd85ace475ea2d WHIRLPOOL 721fd1101a32b44bfd1cc8e8fc5e63a776ce5c5b3e126311f7f185cee092ebe6035151737db1b99edeca0e9d395a4eb1c1811a83aaed015be4dc6ce2499609f3
diff --git a/dev-python/pyhamcrest/files/sphinx-rtd.patch b/dev-python/pyhamcrest/files/sphinx-rtd.patch
new file mode 100644
index 000000000000..2974c98a56a3
--- /dev/null
+++ b/dev-python/pyhamcrest/files/sphinx-rtd.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/conf.py b/doc/conf.py
+index fb5d79e..7d3571b 100644
+--- a/doc/conf.py
++++ b/doc/conf.py
+@@ -13,6 +13,7 @@
+
+ import sys, os
+ import six
++import sphinx_rtd_theme
+
+ # If extensions (or modules to document with autodoc) are in another directory,
+ # add these directories to sys.path here. If the directory is relative to the
+@@ -106,6 +107,7 @@ html_theme = 'sphinx_rtd_theme'
+
+ # Add any paths that contain custom themes here, relative to this directory.
+ #html_theme_path = []
++html_theme_path = [ sphinx_rtd_theme.get_html_theme_path() ]
+
+ # The name for this set of Sphinx documents. If None, it defaults to
+ # "<project> v<release> documentation".
diff --git a/dev-python/pyhamcrest/metadata.xml b/dev-python/pyhamcrest/metadata.xml
new file mode 100644
index 000000000000..1c6b30c2b82e
--- /dev/null
+++ b/dev-python/pyhamcrest/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <use>
+ <flag name="numpy">Enable optional dependence on dev-python/numpy</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">PyHamcrest</remote-id>
+ <remote-id type="github">hamcrest/PyHamcrest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyhamcrest/pyhamcrest-1.8.2.ebuild b/dev-python/pyhamcrest/pyhamcrest-1.8.2.ebuild
new file mode 100644
index 000000000000..1f1855079370
--- /dev/null
+++ b/dev-python/pyhamcrest/pyhamcrest-1.8.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="PyHamcrest"
+
+DESCRIPTION="Hamcrest framework for matcher objects"
+HOMEPAGE="https://github.com/hamcrest/PyHamcrest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples numpy test"
+
+CDEPEND="
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )' 'python*')
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.2.2[${PYTHON_USEDEP}] )
+ test? (
+ ${CDEPEND}
+ >=dev-python/pytest-2.6[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyhamcrest/pyhamcrest-1.8.3.ebuild b/dev-python/pyhamcrest/pyhamcrest-1.8.3.ebuild
new file mode 100644
index 000000000000..3f57cde2633b
--- /dev/null
+++ b/dev-python/pyhamcrest/pyhamcrest-1.8.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="PyHamcrest"
+
+DESCRIPTION="Hamcrest framework for matcher objects"
+HOMEPAGE="https://github.com/hamcrest/PyHamcrest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples numpy test"
+
+CDEPEND="
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )' 'python*')
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.2[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ >=dev-python/pytest-2.6[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/sphinx-rtd.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+ #use doc && emake -C doc html
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyhamcrest/pyhamcrest-1.8.5.ebuild b/dev-python/pyhamcrest/pyhamcrest-1.8.5.ebuild
new file mode 100644
index 000000000000..700448138cac
--- /dev/null
+++ b/dev-python/pyhamcrest/pyhamcrest-1.8.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+MY_PN="PyHamcrest"
+
+DESCRIPTION="Hamcrest framework for matcher objects"
+HOMEPAGE="https://github.com/hamcrest/PyHamcrest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+CDEPEND=">=dev-python/six-1.4[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.2.2[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ >=dev-python/pytest-2.6[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyid3lib/Manifest b/dev-python/pyid3lib/Manifest
new file mode 100644
index 000000000000..cb87ac6f96ab
--- /dev/null
+++ b/dev-python/pyid3lib/Manifest
@@ -0,0 +1 @@
+DIST pyid3lib-0.5.1.tar.bz2 21207 SHA256 2a7bdd52c24ed0e70e4a2d82c697214c4ab5a70f94ea9e7934df15ca202d1169 SHA512 fee073a7bd87540a186122b477e918b2c3d8a234ea5ebd83207115b9d0503cc22645b93f6702b79a1b41104d0cbcaa3c47900bba27ce52d44195a8f8a6331c57 WHIRLPOOL 35bc8cd5645269d0e7d95043188a4dfb789ed868ee0d6975175daf0de3366dd0b7f6a28f0967d3d9ea9b0f3f2de55dd6d871efdcc4a5ac6e19c2d08601af68b6
diff --git a/dev-python/pyid3lib/files/pyid3lib-0.5.1-gcc-4.4.patch b/dev-python/pyid3lib/files/pyid3lib-0.5.1-gcc-4.4.patch
new file mode 100644
index 000000000000..04df9e0a6c98
--- /dev/null
+++ b/dev-python/pyid3lib/files/pyid3lib-0.5.1-gcc-4.4.patch
@@ -0,0 +1,20 @@
+--- pyid3lib.cc
++++ pyid3lib.cc
+@@ -920,7 +920,7 @@ enum frame_type
+
+ typedef struct
+ {
+- char* name;
++ const char* name;
+ ID3_FrameID fid;
+ frame_type type;
+ } magic_attribute;
+@@ -1030,7 +1030,7 @@ static PyObject* id3_getattr( ID3Object* self, char* attrname )
+ {
+ ID3_Frame* frame;
+ const char* str;
+- char* slash;
++ const char* slash;
+ ID3_Field* fld;
+ int i;
+
diff --git a/dev-python/pyid3lib/files/pyid3lib-0.5.1-py25.patch b/dev-python/pyid3lib/files/pyid3lib-0.5.1-py25.patch
new file mode 100644
index 000000000000..c24cfc97d5ac
--- /dev/null
+++ b/dev-python/pyid3lib/files/pyid3lib-0.5.1-py25.patch
@@ -0,0 +1,57 @@
+--- pyid3lib-0.5.1/pyid3lib.cc.orig 2007-08-08 23:53:08.000000000 +0300
++++ pyid3lib-0.5.1/pyid3lib.cc 2007-08-08 23:53:12.000000000 +0300
+@@ -10,13 +10,19 @@
+ #include <id3/id3lib_frame.h>
+ #include <id3/tag.h>
+
++#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
++typedef int Py_ssize_t;
++#define PY_SSIZE_T_MAX INT_MAX
++#define PY_SSIZE_T_MIN INT_MIN
++#endif
++
+ typedef struct
+ {
+ PyObject_HEAD
+
+ ID3_Tag* tag;
+ ID3_Frame** frames;
+- int size, alloc;
++ Py_ssize_t size, alloc;
+ } ID3Object;
+
+ typedef struct
+@@ -80,13 +86,24 @@
+
+
+ static PySequenceMethods tag_as_sequence = {
++#if PY_VERSION_HEX >= 0x02050000
++ (lenfunc)id3_length,
++#else
+ (inquiry)id3_length,
++#endif
+ NULL,
+ NULL,
++#if PY_VERSION_HEX >= 0x02050000
++ (ssizeargfunc)id3_item,
++ (ssizessizeargfunc)id3_slice,
++ (ssizeobjargproc)id3_ass_item,
++ (ssizessizeobjargproc)id3_ass_slice,
++#else
+ (intargfunc)id3_item,
+ (intintargfunc)id3_slice,
+ (intobjargproc)id3_ass_item,
+ (intintobjargproc)id3_ass_slice,
++#endif
+ (objobjproc)id3_contains,
+ NULL,
+ NULL,
+@@ -824,7 +841,7 @@
+ static ID3_Frame* frame_from_dict( ID3_FrameID fid, PyObject* dict )
+ {
+ char* data;
+- int size;
++ Py_ssize_t size;
+
+ ID3_Field* field;
+ ID3_FieldID flid;
diff --git a/dev-python/pyid3lib/metadata.xml b/dev-python/pyid3lib/metadata.xml
new file mode 100644
index 000000000000..1f09e0ca6c52
--- /dev/null
+++ b/dev-python/pyid3lib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pyid3lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyid3lib/pyid3lib-0.5.1-r1.ebuild b/dev-python/pyid3lib/pyid3lib-0.5.1-r1.ebuild
new file mode 100644
index 000000000000..ffcb0dd8d315
--- /dev/null
+++ b/dev-python/pyid3lib/pyid3lib-0.5.1-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils eutils
+
+DESCRIPTION="Module for manipulating ID3 tags in Python"
+HOMEPAGE="http://pyid3lib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="media-libs/id3lib"
+RDEPEND="${DEPEND}"
+
+PYTHON_CXXFLAGS=("2.* + -fno-strict-aliasing")
+
+src_prepare() {
+ distutils_src_prepare
+
+ epatch "${FILESDIR}/${P}-gcc-4.4.patch"
+ epatch "${FILESDIR}/${P}-py25.patch"
+}
+
+src_install() {
+ distutils_src_install
+ dohtml doc.html || die "dohtml failed"
+}
diff --git a/dev-python/pyid3lib/pyid3lib-0.5.1-r2.ebuild b/dev-python/pyid3lib/pyid3lib-0.5.1-r2.ebuild
new file mode 100644
index 000000000000..11f9710a7f44
--- /dev/null
+++ b/dev-python/pyid3lib/pyid3lib-0.5.1-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Module for manipulating ID3 tags in Python"
+HOMEPAGE="http://pyid3lib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="media-libs/id3lib"
+RDEPEND="${DEPEND}"
+
+HTML_DOCS=( doc.html )
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-gcc-4.4.patch"
+ "${FILESDIR}/${P}-py25.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/pyifp/Manifest b/dev-python/pyifp/Manifest
new file mode 100644
index 000000000000..05a5cb49bdd6
--- /dev/null
+++ b/dev-python/pyifp/Manifest
@@ -0,0 +1 @@
+DIST pyifp-0.2.2.tar.gz 21378 SHA256 df283d037ee206ede1de7e058022a7cd13d55c4d935323c3ae3af923b39f8ff3 SHA512 9d4b2fc41406c784e8fe9bb650760d750fdf9390b2c69baee1032cc33ffc726ec1a688faa043196a0d075f4e10530dac6637e76b4440b92142f69683cd65a281 WHIRLPOOL 666157875f7c2bd4f0b0c479c1ee25ab2aeafd8900f4b25ee31cdfe4153275307e182d6ed068f2cd8c90a7ccc90c5706d0226f8b8be2056f56058f441bf4d2d5
diff --git a/dev-python/pyifp/files/pyifp-0.2.2-setup-fix.patch b/dev-python/pyifp/files/pyifp-0.2.2-setup-fix.patch
new file mode 100644
index 000000000000..2582e0fd8841
--- /dev/null
+++ b/dev-python/pyifp/files/pyifp-0.2.2-setup-fix.patch
@@ -0,0 +1,11 @@
+--- pyifp-0.2.2/setup.py 2005-02-21 01:36:05.000000000 -0500
++++ pyifp-0.2.2-fixed/setup.py 2005-10-15 13:29:26.000000000 -0400
+@@ -54,7 +54,7 @@
+ self.swig_inc = 'SWIG'
+ self.swig_shadow = None
+
+- def swig_sources(self, sources):
++ def swig_sources(self, sources, extension=None):
+ """Override the definition of 'swig_sources' in build_ext. This
+ is essentially the same function but with better swig support.
+ I will now quote the original docstring:
diff --git a/dev-python/pyifp/metadata.xml b/dev-python/pyifp/metadata.xml
new file mode 100644
index 000000000000..ef19ed78816d
--- /dev/null
+++ b/dev-python/pyifp/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sound</herd>
+ <upstream>
+ <remote-id type="sourceforge">ifp-gnome</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyifp/pyifp-0.2.2-r1.ebuild b/dev-python/pyifp/pyifp-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..77a47b72383c
--- /dev/null
+++ b/dev-python/pyifp/pyifp-0.2.2-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for libifp library for accessing iRiver iFP devices"
+HOMEPAGE="http://ifp-gnome.sourceforge.net"
+SRC_URI="mirror://sourceforge/ifp-gnome/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE=""
+
+RDEPEND=">=media-libs/libifp-1.0.0.2"
+DEPEND="${RDEPEND}
+ dev-lang/swig"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+PATCHES=( "${FILESDIR}"/${P}-setup-fix.patch )
diff --git a/dev-python/pyinotify/Manifest b/dev-python/pyinotify/Manifest
new file mode 100644
index 000000000000..d993b08e8727
--- /dev/null
+++ b/dev-python/pyinotify/Manifest
@@ -0,0 +1,3 @@
+DIST pyinotify-0.9.4.tar.gz 59604 SHA256 a09767e4e0610e2e1e9f9dc89483b0ee4a53764e700f5866a570bec51d003fec SHA512 cdaf9f239a43e3889cdca0ebe1e3559bf6411e4cd829120cc2199cb91122bfe4af62f61a9bf297de28036716f974abd4d7bbeb210e22e96245781fbad08a2b75 WHIRLPOOL aba8f4e4fba5e684e0bade9c3a02a24747f3af4a441209f138223398860da8fdbc6b52546f6cd55134e72c69e6e15b06e45c50767b13ffab6f12afa4484cbfb6
+DIST pyinotify-0.9.5.tar.gz 61744 SHA256 e7c52a9f36cee27c5d0931ecf92959cd022317b00901bd34ef05ece4a2a5cb1b SHA512 f73e51e71dba9805b55bfa0ad9ec202c4aa6a763ecfb1c37fb46448729789109170b36cd08b884675e5cef3060ba95453d1f330787e7f9f716e8477b1da7474e WHIRLPOOL 4d87968ee4b267f058f96e95cf7923f94bbe678793f32964f76d5e2fec4951c64de4042c5172c006a7891e2b2478967ec7c21131b0f25dff727ffa1fcd0d6745
+DIST pyinotify-0.9.6.tar.gz 60998 SHA256 9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4 SHA512 b52de43293b06b32236e90b7c33fac061f3095cd7d4aecec89a099d56020db1a85440ab9dcc8b521238c001fc49a1f37d1b16d621bc1acab4d7273aebcaadbc5 WHIRLPOOL 19e5c96528e3092d9a0e08e4853afc1765afcb0b286875e9583c703dda066c8372def076416158a740b248ade21b14314464232bdc70f210f306f3d3ca5c4a7f
diff --git a/dev-python/pyinotify/metadata.xml b/dev-python/pyinotify/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyinotify/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyinotify/pyinotify-0.9.4-r1.ebuild b/dev-python/pyinotify/pyinotify-0.9.4-r1.ebuild
new file mode 100644
index 000000000000..f32b311bb4c1
--- /dev/null
+++ b/dev-python/pyinotify/pyinotify-0.9.4-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module used for monitoring filesystems events"
+HOMEPAGE="http://trac.dbzteam.org/pyinotify http://pypi.python.org/pypi/pyinotify"
+SRC_URI="http://seb.dbzteam.org/pub/pyinotify/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_install_all() {
+ use examples && local EXAMPLES=( python2/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyinotify/pyinotify-0.9.5.ebuild b/dev-python/pyinotify/pyinotify-0.9.5.ebuild
new file mode 100644
index 000000000000..a5f85d3a60ea
--- /dev/null
+++ b/dev-python/pyinotify/pyinotify-0.9.5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module used for monitoring filesystems events"
+HOMEPAGE="http://trac.dbzteam.org/pyinotify http://pypi.python.org/pypi/pyinotify"
+SRC_URI="http://seb.dbzteam.org/pub/pyinotify/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_install_all() {
+ use examples && local EXAMPLES=( python2/examples/. )
+ EXAMPLES+=( python3/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyinotify/pyinotify-0.9.6.ebuild b/dev-python/pyinotify/pyinotify-0.9.6.ebuild
new file mode 100644
index 000000000000..a5f85d3a60ea
--- /dev/null
+++ b/dev-python/pyinotify/pyinotify-0.9.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module used for monitoring filesystems events"
+HOMEPAGE="http://trac.dbzteam.org/pyinotify http://pypi.python.org/pypi/pyinotify"
+SRC_URI="http://seb.dbzteam.org/pub/pyinotify/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_install_all() {
+ use examples && local EXAMPLES=( python2/examples/. )
+ EXAMPLES+=( python3/examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyinsane/Manifest b/dev-python/pyinsane/Manifest
new file mode 100644
index 000000000000..a961d5e5ae5a
--- /dev/null
+++ b/dev-python/pyinsane/Manifest
@@ -0,0 +1 @@
+DIST pyinsane-1.3.8.tar.gz 28819 SHA256 387ecbc8b8f732e6a250adbc9b9d92a71963eb3fab9435d2dbe40b6113991d62 SHA512 6dc90802b8b53211a621cb1baa68f2741b05b7dd68888bb85898e820b77c6e2810a4355f63219044f2e10edd002a08162117b552ac22bae2ba946a90bbaf9a74 WHIRLPOOL 13a9df7d7f3268de99b325d1bddf83e1cdedc134759eb236b3b9f4b5bb5d74ec82adf3e23a23af03a9e92a90769a4fdf6650026a577de55fa9452c8417ee5d04
diff --git a/dev-python/pyinsane/metadata.xml b/dev-python/pyinsane/metadata.xml
new file mode 100644
index 000000000000..1a9167bf1f6c
--- /dev/null
+++ b/dev-python/pyinsane/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <longdescription lang="en">
+Python implementation of the Sane API (using ctypes) and abstration layer.
+
+The code is divided in 3 layers:
+
+ * rawapi : Ctypes binding to the raw Sane API
+ * abstract : An Object-Oriented layer that simplifies the use of the Sane API and try to avoid possible misuse of the Sane API. When scanning, it also takes care of returning a Pillow image.
+ * abstract_th : The Sane API is not thread-safe and cannot be used in a multi-threaded environment easily. This layer solves this problem by using a fully dedicated thread.
+</longdescription>
+ <upstream>
+ <remote-id type="github">jflesch/pyinsane</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyinsane/pyinsane-1.3.8.ebuild b/dev-python/pyinsane/pyinsane-1.3.8.ebuild
new file mode 100644
index 000000000000..c842c5baa1a9
--- /dev/null
+++ b/dev-python/pyinsane/pyinsane-1.3.8.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Sane API and abstration layer"
+HOMEPAGE="https://github.com/jflesch/pyinsane"
+SRC_URI="https://github.com/jflesch/pyinsane/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="media-gfx/sane-backends
+ virtual/python-imaging"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
new file mode 100644
index 000000000000..a395d4cddeaa
--- /dev/null
+++ b/dev-python/pyjwt/Manifest
@@ -0,0 +1,2 @@
+DIST pyjwt-1.3.0.tar.gz 61828 SHA256 fc230244ec4e4014d6eeae894ac852e820a4c843dc209d4f77e76d564f46ee49 SHA512 2b7ab0702bb71041bb7280e0e51958fb6bfb9b8c70ac99e24c4ce92e6d37d0432f3323634dceb371dd47c6b380687b2df92bb6ae9f4df555e4938a9a2f76e0f3 WHIRLPOOL bc4a0d79d37b60aa018607d715e2dc7e275ade326994df9a4ac7e0e70e37c11c7bec4d70d292bedf6f18be8d7aa09f826b80d14a532fd00c650d417223285daf
+DIST pyjwt-1.4.0.tar.gz 34613 SHA256 e1b2386cfad541445b1d43e480b02ca37ec57259fd1a23e79415b57ba5d8a694 SHA512 1664864c0566dbeb1e35c977d30e746c844605e1ce90becda8771c4ff8a8dbad911075f5a41f445d405552b2d61bbb1e86011564027f68c6c4fcd332cf704ff1 WHIRLPOOL 4ebd7291b9a9676559703794acdaf0dd2bd1033dd649ef8068bca85fa7ef6ab444e834910fa78b16c15cf324dd4a470d9b40ecdccdb5fdaca7568ab096dc9a8e
diff --git a/dev-python/pyjwt/metadata.xml b/dev-python/pyjwt/metadata.xml
new file mode 100644
index 000000000000..eddceefa4c06
--- /dev/null
+++ b/dev-python/pyjwt/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PyJWT</remote-id>
+ <remote-id type="github">progrium/pyjwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyjwt/pyjwt-1.3.0.ebuild b/dev-python/pyjwt/pyjwt-1.3.0.ebuild
new file mode 100644
index 000000000000..dbfb7f3f7e3c
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-1.3.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+MY_PN="PyJWT"
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="http://github.com/progrium/pyjwt https://pypi.python.org/pypi/PyJWT/"
+#SRC_URI="https://github.com/progrium/${P}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE=" MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_prepare_all() {
+ find . -name '__pycache__' -prune -exec rm -rf {} \; || die "Cleaning __pycache__ failed"
+ find . -name '*.pyc' -exec rm -f {} \; || die "Cleaing *.pyc failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ elog "Available optional features:"
+ optfeature "cryptography" dev-python/cryptography
+ optfeature "flake8" dev-python/flake8
+
+ ewarn "flake8 feature requires 'flake8-import-order' and 'pep8-naming', which are not in portage yet"
+}
diff --git a/dev-python/pyjwt/pyjwt-1.4.0.ebuild b/dev-python/pyjwt/pyjwt-1.4.0.ebuild
new file mode 100644
index 000000000000..5611c02641c3
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-1.4.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+MY_PN="PyJWT"
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="http://github.com/progrium/pyjwt https://pypi.python.org/pypi/PyJWT/"
+#SRC_URI="https://github.com/progrium/${P}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pytest-runner[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_prepare_all() {
+ find . -name '__pycache__' -prune -exec rm -rf {} \; || die "Cleaning __pycache__ failed"
+ find . -name '*.pyc' -exec rm -f {} \; || die "Cleaing *.pyc failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ elog "Available optional features:"
+ optfeature "cryptography" dev-python/cryptography
+ optfeature "flake8" dev-python/flake8
+
+ ewarn "flake8 feature requires 'flake8-import-order' and 'pep8-naming', which are not in portage yet"
+}
diff --git a/dev-python/pykerberos/Manifest b/dev-python/pykerberos/Manifest
new file mode 100644
index 000000000000..e9b2e21e0acd
--- /dev/null
+++ b/dev-python/pykerberos/Manifest
@@ -0,0 +1,2 @@
+DIST pykerberos-1.1.5.tar.gz 17585 SHA256 07a3dad9f370f9b7d8c0c1943eeff640e717201c301dcc3116f88d3366fbd179 SHA512 3c24a293508ee8f7231accdbe4a606a2cdf4650872a56fccf67c4e3b7b8a686df1e2ef431edd72efb7f8015930a330dd885866798abc748bfd722a3b2c0264a1 WHIRLPOOL dd821b5ae4ae2f04b9fea231fb063104cf1d4c4db7da9f84fbbdb20544f1bef0d256127326d168c1881d6a6f877c78eee0966deb9d0ebbce48bb20fa8bcecd46
+DIST pykerberos-1.1.7.tar.gz 35439 SHA256 fc9530c6d1e1cf5c2d6a45e08e4806b50621cab28f981cf428dec67bfb52effd SHA512 ad5882b7e962509af97cc67b118e50fa94fab6848e8121e2b7d40029d27987c8812eed9feb1687ddbb03dc95ef0724f585fc6c7f273c7cb85621e06ecb7ec7bd WHIRLPOOL 0d5b4f693a368b0f0114abfc54f159367074f6f8a54b264858447bf84bb430d5f9d02fe0fd451797ea8e0a4fe744ad129a097cafa864315ed1da1f1feebe8775
diff --git a/dev-python/pykerberos/metadata.xml b/dev-python/pykerberos/metadata.xml
new file mode 100644
index 000000000000..be8bb8b6ecea
--- /dev/null
+++ b/dev-python/pykerberos/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+ </maintainer>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pykerberos</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pykerberos/pykerberos-1.1.5.ebuild b/dev-python/pykerberos/pykerberos-1.1.5.ebuild
new file mode 100644
index 000000000000..a0de1142cfc6
--- /dev/null
+++ b/dev-python/pykerberos/pykerberos-1.1.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python wrapper for Kerberos/GSSAPI operations"
+HOMEPAGE="http://trac.calendarserver.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+IUSE=""
+
+DEPEND="app-crypt/mit-krb5
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pykerberos/pykerberos-1.1.7.ebuild b/dev-python/pykerberos/pykerberos-1.1.7.ebuild
new file mode 100644
index 000000000000..e14465fed1c9
--- /dev/null
+++ b/dev-python/pykerberos/pykerberos-1.1.7.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python wrapper for Kerberos/GSSAPI operations"
+HOMEPAGE="http://trac.calendarserver.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}-1.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE=""
+
+DEPEND="app-crypt/mit-krb5
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pykit/Manifest b/dev-python/pykit/Manifest
new file mode 100644
index 000000000000..40211a339bd4
--- /dev/null
+++ b/dev-python/pykit/Manifest
@@ -0,0 +1,2 @@
+DIST pykit-0.1.0.tar.gz 96379 SHA256 a9acc4210b5852a021c6317ee51de819c291146924122404fc065170b5128b69 SHA512 739f253d463ddf0da5b5fd4f74f73df416787af1ebd6cca46bdc88c9a1d733b9a6663f0abe74e23c7da7967e5b14ca4fd0acbb0bb08fcf1cfa57697f714d6726 WHIRLPOOL d681be515632fd962e6b55818c10477ebf3e350f776e73a32db683425bd809e68f4b062e22cff48d3a0969e48543486d376aa7ec22712a6ac5c3512aeb77a7a2
+DIST pykit-0.2.0.tar.gz 197103 SHA256 862641497d5aa0fa863b37af65af6cc019168a6ad3b3b6d6a47820ea98b872f0 SHA512 8738c11e790d78cd8a2a53d5d52bc66b2e2d6260dde3ceb7ca4a79dbe5a038a2976626b68a281469da0db518fef8ff3a6dd1dbc8ac9b609e381ca3d64add1799 WHIRLPOOL ccc726cabee3e89efee07ddc5ad9145ae2ad0ce34a2921e741ae82b011e73ebc8fac39ef73d06108fe007926f3d8707472c9d70df7726d300a74e4f7ae050cc7
diff --git a/dev-python/pykit/metadata.xml b/dev-python/pykit/metadata.xml
new file mode 100644
index 000000000000..db53dcbe695a
--- /dev/null
+++ b/dev-python/pykit/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Backend compiler for high-level typed code with first-class support
+ for multi-dimensional arrays, list tuples and dicts. High-level
+ operations are optimized and must be lowered to a runtime
+ implementation. Provided runtime implementations are in place for
+ memory management and garbage collection, exceptions and threads.
+</longdescription>
+ <upstream>
+ <remote-id type="github">pykit/pykit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pykit/pykit-0.1.0.ebuild b/dev-python/pykit/pykit-0.1.0.ebuild
new file mode 100644
index 000000000000..e946a49acdc6
--- /dev/null
+++ b/dev-python/pykit/pykit-0.1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Backend compiler for high-level typed code"
+HOMEPAGE="http://pykit.github.io/pykit/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/llvmmath[${PYTHON_USEDEP}]
+ dev-python/llvmpy[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import sys, pykit; sys.exit(pykit.test())" || die
+}
diff --git a/dev-python/pykit/pykit-0.2.0.ebuild b/dev-python/pykit/pykit-0.2.0.ebuild
new file mode 100644
index 000000000000..c891754b0c30
--- /dev/null
+++ b/dev-python/pykit/pykit-0.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Backend compiler for high-level typed code"
+HOMEPAGE="http://pykit.github.io/pykit/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/llvmmath[${PYTHON_USEDEP}]
+ dev-python/llvmpy[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? ( ${RDEPEND} dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${PYTHON} -c "import sys, pykit; sys.exit(pykit.test())" || die
+}
diff --git a/dev-python/pykka/Manifest b/dev-python/pykka/Manifest
new file mode 100644
index 000000000000..105c3c106d6a
--- /dev/null
+++ b/dev-python/pykka/Manifest
@@ -0,0 +1 @@
+DIST Pykka-1.2.1.tar.gz 46252 SHA256 e847ffeadee49b563426ab803e8eee67264d773e38ca14763fdcda56411e3c11 SHA512 22eaa735915e33146d8a3fa3f9dd5ea1dd608e7ad45ab21721a108b01ddf058b4cd00da67b762a95ede650c9ba1a79ee3d6fd22a491bc7ff348a56b7c0139cfd WHIRLPOOL e6efd2c78714cba9ec296917ad42e5b495bed751e1339c407fe42796d99cb7bb39e33bfdce70fff8ed42f9706616676f7cf975750672989f833fe1f464e5cd34
diff --git a/dev-python/pykka/metadata.xml b/dev-python/pykka/metadata.xml
new file mode 100644
index 000000000000..c953f1983592
--- /dev/null
+++ b/dev-python/pykka/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Pykka</remote-id>
+ <remote-id type="github">jodal/pykka</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pykka/pykka-1.2.1.ebuild b/dev-python/pykka/pykka-1.2.1.ebuild
new file mode 100644
index 000000000000..9e401071483f
--- /dev/null
+++ b/dev-python/pykka/pykka-1.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="A Python implementation of the actor model"
+HOMEPAGE="http://pykka.org https://github.com/jodal/pykka"
+SRC_URI="mirror://pypi/P/Pykka/Pykka-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/Pykka-${PV}
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pylast/Manifest b/dev-python/pylast/Manifest
new file mode 100644
index 000000000000..985f630374cf
--- /dev/null
+++ b/dev-python/pylast/Manifest
@@ -0,0 +1,2 @@
+DIST pylast-0.5.11.tar.gz 26146 SHA256 bf35820be35447d55564d36072d40b09ac8a7fd41a6f1a7a9d408f4d0eaefac4 SHA512 4b313156aff927f1ec61a848d1ee4c74fde348e1faef6d8dcf9578b164d65621c85bac3de0288d7aae0147157cc2c01a048d7293c191e9c1ede1197527d987e6 WHIRLPOOL 16f4b0c4b4844997575bb382f62c2b65b69dbf3b3a794e016b84046aefd023e44591e12819171eada7c7d0f88791a85c5d549340d85823d46cd1d1c4d36fd0d9
+DIST pylast-1.0.0.tar.gz 29099 SHA256 948bc9efb2e2785db8c303cc6559358b943538cc45f902838db770b84843d605 SHA512 1d6183596ff994f37722be493e22c65a2c441f5890b539fd9e19d515a5a38afc7017524600903879a8c76b938a52dec6ef4753c0e01dd59bae4e1596962755a0 WHIRLPOOL fd81c5143574f7685383719d76db67b24dbf78d387f3f73846ee2fc2433bf1ea65b1d35961b8f9424fb083f42872bb150e505cbfda93134fcb4509a74d8a8980
diff --git a/dev-python/pylast/metadata.xml b/dev-python/pylast/metadata.xml
new file mode 100644
index 000000000000..4bdf9326e9c3
--- /dev/null
+++ b/dev-python/pylast/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idella4gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <longdescription lang="en">
+Python interface to last.fm and other api-compatible websites
+
+Features:
+ * Simple public interface.
+ * Access to all the data exposed by the Last.fm webservices.
+ * Scrobbling support.
+ * Full object-oriented design.
+ * Proxy support.
+ * Internal caching support for some webservices calls (disabled by default).
+ * No extra dependencies but python itself.
+ * Support for other API-compatible networks like Libre.fm
+ * Python3-friendly (Starting from 0.5).
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pylast</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylast/pylast-0.5.11-r1.ebuild b/dev-python/pylast/pylast-0.5.11-r1.ebuild
new file mode 100644
index 000000000000..a3cd6d748ca7
--- /dev/null
+++ b/dev-python/pylast/pylast-0.5.11-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to last.fm and other api-compatible websites"
+HOMEPAGE="http://code.google.com/p/pylast/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE=""
diff --git a/dev-python/pylast/pylast-1.0.0.ebuild b/dev-python/pylast/pylast-1.0.0.ebuild
new file mode 100644
index 000000000000..81eb2ec6c48b
--- /dev/null
+++ b/dev-python/pylast/pylast-1.0.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to last.fm and other api-compatible websites"
+HOMEPAGE="http://code.google.com/p/pylast/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
diff --git a/dev-python/pylibacl/Manifest b/dev-python/pylibacl/Manifest
new file mode 100644
index 000000000000..9c6ce6074413
--- /dev/null
+++ b/dev-python/pylibacl/Manifest
@@ -0,0 +1 @@
+DIST pylibacl-0.5.0.tar.gz 23886 SHA256 8706291e815547e2e89426508d00fd31d437bdb8e5eb9407777f414b0606e2d6 SHA512 c12390b6a0ca73fd351b84860a9d68d74126dbcd8656916d677a39002a6e4abbac704d450b0b0118bba40987cdd11cc11ad14008de39dac8dc9ca7587ae54c46 WHIRLPOOL e6496a45f81f9bb12bff33f7724768f768a9ad1936ea6efd358fff1ac1ecb8ba1bd662c22b8ce6b9e4cfa879ed32bec5dc4c288fb025960e2e81e5236065c07a
diff --git a/dev-python/pylibacl/metadata.xml b/dev-python/pylibacl/metadata.xml
new file mode 100644
index 000000000000..722d5c6169a3
--- /dev/null
+++ b/dev-python/pylibacl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">pylibacl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylibacl/pylibacl-0.5.0-r1.ebuild b/dev-python/pylibacl/pylibacl-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..2ac597db3593
--- /dev/null
+++ b/dev-python/pylibacl/pylibacl-0.5.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="POSIX ACLs (Access Control Lists) for Python"
+HOMEPAGE="http://sourceforge.net/projects/pylibacl/ http://pypi.python.org/pypi/pylibacl"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86"
+IUSE=""
+
+RDEPEND="sys-apps/acl"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+# Tests are missing in the tarball.
+RESTRICT="test"
+
+python_test() {
+ if ! "${PYTHON}" test/test_acls.py; then
+ eerror
+ eerror "If you got the following errors:"
+ eerror "\"IOError: [Errno 95] Operation not supported\","
+ eerror "then you should remount the filesystem containing"
+ eerror "build directory with \"acl\" option enabled."
+ eerror
+ die "Tests fail with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pyliblzma/Manifest b/dev-python/pyliblzma/Manifest
new file mode 100644
index 000000000000..7fb21c85e519
--- /dev/null
+++ b/dev-python/pyliblzma/Manifest
@@ -0,0 +1 @@
+DIST pyliblzma-0.5.3.tar.bz2 43498 SHA256 08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957 SHA512 272983aac426e86d6d636ccba4fe78a07d7282560081df937114162bfd317bd8023814693b8d473d0f7884e38a968ebeaf8f954a5a27c1f7e5da084f3fd05c65 WHIRLPOOL 289fc18a8cf7b90f53f06bd4cc3865b4e02f87710bf0ade15c11d2774f86ff826171483f746765cda67628ae3d78f7914448e652a6b5e69c0c572d357e3cac20
diff --git a/dev-python/pyliblzma/metadata.xml b/dev-python/pyliblzma/metadata.xml
new file mode 100644
index 000000000000..ea2a8b112c95
--- /dev/null
+++ b/dev-python/pyliblzma/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyliblzma</remote-id>
+ <remote-id type="launchpad">pyliblzma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyliblzma/pyliblzma-0.5.3-r1.ebuild b/dev-python/pyliblzma/pyliblzma-0.5.3-r1.ebuild
new file mode 100644
index 000000000000..c80d52a831af
--- /dev/null
+++ b/dev-python/pyliblzma/pyliblzma-0.5.3-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for liblzma"
+HOMEPAGE="https://launchpad.net/pyliblzma http://pypi.python.org/pypi/pyliblzma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="app-arch/xz-utils"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+DOCS="THANKS"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pylibmc/Manifest b/dev-python/pylibmc/Manifest
new file mode 100644
index 000000000000..12045d03ede2
--- /dev/null
+++ b/dev-python/pylibmc/Manifest
@@ -0,0 +1,2 @@
+DIST pylibmc-1.4.3.tar.gz 53063 SHA256 44167da299eaec2674eea7f8ebead646e361ad07e242e35b755181f88bab44ff SHA512 562091ecc046e1f4d181071dede056865649704e02d705f5af5845ad003ad775ed006c1431d48b330cf3b9fdeaceec6a6748ea9e120f673f06fdb99ed4953318 WHIRLPOOL 6055d0aee74f7edcc995d4350542cfebadeea97ffb367db8595e63cee6c4e0aae61b56471b619c07a7d289f87a2c1b9f0fa538939d113f1d395ceff3e96a86c4
+DIST pylibmc-1.5.0.tar.gz 53077 SHA256 16255595616a6d78cd786a55cc6431da5b7accf46512df854712a0cdbb3acfaa SHA512 0b89ad56d44205c0a20c5e2b56f70ac5128b46df81b4fcb9c72918b5d32e455dd3d976366872fe1d0acf40b61460d08fa6f30a8fa26977c1d65509e28bbbf80d WHIRLPOOL 3d3b8cd8842a6e0e602b5addfed12db94da4fbfb6d4f215546ca6ba9cfc0b24f5ce333e5f2740ba625a416663097e46dc40749418cc4c1a52f3123a032c4b45f
diff --git a/dev-python/pylibmc/metadata.xml b/dev-python/pylibmc/metadata.xml
new file mode 100644
index 000000000000..b549092efe6f
--- /dev/null
+++ b/dev-python/pylibmc/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Proxy-Maintainer, assign bugs</description>
+ </maintainer>
+ <maintainer>
+ <email>djc@gentoo.org</email>
+ <name>Dirkjan Ochtman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pylibmc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylibmc/pylibmc-1.4.3.ebuild b/dev-python/pylibmc/pylibmc-1.4.3.ebuild
new file mode 100644
index 000000000000..952867dc86b9
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.4.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Libmemcached wrapper written as a Python extension"
+HOMEPAGE="http://sendapatch.se/projects/pylibmc/ http://pypi.python.org/pypi/pylibmc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/libmemcached-0.32"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "/with-info=1/d" -i setup.cfg
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ memcached -d -p 11219 -u nobody -l localhost -P "${T}/m.pid" || die
+ MEMCACHED_PORT=11219 nosetests
+ local ret=${?}
+ kill "$(<"${T}/m.pid")" || die
+ [[ ${ret} == 0 ]] || die "Tests fail with ${EPYTHON}!"
+}
diff --git a/dev-python/pylibmc/pylibmc-1.5.0.ebuild b/dev-python/pylibmc/pylibmc-1.5.0.ebuild
new file mode 100644
index 000000000000..952867dc86b9
--- /dev/null
+++ b/dev-python/pylibmc/pylibmc-1.5.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Libmemcached wrapper written as a Python extension"
+HOMEPAGE="http://sendapatch.se/projects/pylibmc/ http://pypi.python.org/pypi/pylibmc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-libs/libmemcached-0.32"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "/with-info=1/d" -i setup.cfg
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ memcached -d -p 11219 -u nobody -l localhost -P "${T}/m.pid" || die
+ MEMCACHED_PORT=11219 nosetests
+ local ret=${?}
+ kill "$(<"${T}/m.pid")" || die
+ [[ ${ret} == 0 ]] || die "Tests fail with ${EPYTHON}!"
+}
diff --git a/dev-python/pylibpcap/Manifest b/dev-python/pylibpcap/Manifest
new file mode 100644
index 000000000000..c6518ef64251
--- /dev/null
+++ b/dev-python/pylibpcap/Manifest
@@ -0,0 +1 @@
+DIST pylibpcap-0.6.4.tar.gz 49517 SHA256 cfc365f2707a7986496acacf71789fef932a5ddbeaa36274cc8f9834831ca3b1 SHA512 5db891bc044065ea72fb24f800adcdc1c80280a95a169f241a926b65ecff9b2cddc8cca1f2210bdd3fa01f4bc358a696eab93438d49b2eea10a22b6afc4ca468 WHIRLPOOL a72881dc5634adeabca3f779ab6bc0b106bcb024bb4f899697dd1004eafda547e4cea530a023962a45f8c8947b9d29ca788ade4bffa2600246bbf04063da4ee6
diff --git a/dev-python/pylibpcap/metadata.xml b/dev-python/pylibpcap/metadata.xml
new file mode 100644
index 000000000000..5de669fc1069
--- /dev/null
+++ b/dev-python/pylibpcap/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pylibpcap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylibpcap/pylibpcap-0.6.4-r1.ebuild b/dev-python/pylibpcap/pylibpcap-0.6.4-r1.ebuild
new file mode 100644
index 000000000000..9c21a59e32ec
--- /dev/null
+++ b/dev-python/pylibpcap/pylibpcap-0.6.4-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to libpcap"
+HOMEPAGE="http://sourceforge.net/projects/pylibpcap/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ia64 ~x86"
+IUSE="examples"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="${RDEPEND}"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pylibpcap/pylibpcap-0.6.4.ebuild b/dev-python/pylibpcap/pylibpcap-0.6.4.ebuild
new file mode 100644
index 000000000000..1d53233dd33e
--- /dev/null
+++ b/dev-python/pylibpcap/pylibpcap-0.6.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python interface to libpcap"
+HOMEPAGE="http://sourceforge.net/projects/pylibpcap/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ia64 x86"
+IUSE="examples"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="${RDEPEND}"
+
+PYTHON_MODNAME="pcap.py"
+
+src_install() {
+ distutils_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
new file mode 100644
index 000000000000..5ce8409977d3
--- /dev/null
+++ b/dev-python/pylint/Manifest
@@ -0,0 +1,5 @@
+DIST pylint-0.25.2.tar.gz 214769 SHA256 08c2a0ccf2d715cdc9a2a0478200c54aac5b4f6d521e10c5b27db65d5787ff07 SHA512 eea1a783ca52623fa2a026fe82939b8a5920b3b6be21b808388bb9336ba85aeded157198a436fcf3ab8735df6cfcf94c352b695db1131490dda2e26305be68d0 WHIRLPOOL b6a4595e14a350c9156ebb6fce3c9c35ada304f0c33659c55266534c4539f871102dfb6c601bd4e0b4a067a5695da28dcefda7e911d7d11325f4672b38dc7ecd
+DIST pylint-1.4.0.tar.gz 331577 SHA256 816646b9d5fd0c33f9e3b009953c46727d22bec3e880712d69b39b1b630fa3ca SHA512 b221390076c337a9ef14ef848cfa911f4d0217d7a39a0b0ebc2b556974a33d44381e15746c117ef4b7dcd87acca45f07894aa2db4cf3fe2b70228d570b89725c WHIRLPOOL d71264f76c9c49e22b8943705b0169548d9c69413527583ec95613eb9d5419e6175169cc25c791de94588617f6ac567668036192317fdcc5020511fddab99f78
+DIST pylint-1.4.1.tar.gz 338636 SHA256 3e383060edd432cbbd0e8bd686f5facfe918047ffe1bb401ab5897cb6ee0f030 SHA512 019405c16ef731f83c12e2b0a7f4b3fc2e17f35df50a18dbbc084ed14450a070e689850b8d7761e2fba0d2a8f6c70ef06709de5b96e59af7da9cc6cc412bbf25 WHIRLPOOL ae88953c5c43960438abf87e3c730afda220afae697cc6fc985372ddf8b0f94c018850800f6001e93e6748eee25e59e1ded2211935f3e45b55f04833acd40fb0
+DIST pylint-1.4.3.tar.gz 342509 SHA256 1dce8c143a5aa15e0638887c2b395e2e823223c63ebaf8d5f432a99e44b29f60 SHA512 63af8c72496b88db967c61d5be2b974fca053a45425ea8b5898e941be135d26c8c004b91b8b3a98337c0c5af4f5a530afbf091d7c5ecfa36bfa36aef9f843a95 WHIRLPOOL 17b08712a00c01468ca466f2f83386275a304ab7a2c8a1d223eeda8e9fd4cc4753796a354250accad9f9fcbd0aaba3562ebc794af880e49889ee1b5b2d295d0c
+DIST pylint-1.4.4.tar.gz 342461 SHA256 0561af4d6bd4fa9e8e02f3997fe93684f7187c57bcef9db8c2ea9fb0d7d2f022 SHA512 bcbf5439628a071055cea441455f6c0fe0cbfae2617c473bc376b880421f17f78653901d7cf49950653436a0991a3bafbc2df15744ff24a3b059de53e518b331 WHIRLPOOL 9b8f5384691f5e762bfd7313691783e0b1a9148effec0b29f2e538f587dfa03f57413817589f8fc3f152c05330b7f39c8ede27720ff6ad12496f9101d824fedf
diff --git a/dev-python/pylint/files/pylint-0.26.0-gtktest.patch b/dev-python/pylint/files/pylint-0.26.0-gtktest.patch
new file mode 100644
index 000000000000..c7e8ca39e621
--- /dev/null
+++ b/dev-python/pylint/files/pylint-0.26.0-gtktest.patch
@@ -0,0 +1,32 @@
+test_gtk_import can't connect to an X, decided by consensus to skip due to onerous
+overhead required by virtualx eclass to see it pass.
+diff -ur pylint-0.26.0.orig/test/test_regr.py pylint-0.26.0/test/test_regr.py
+--- test/test_regr.py 2012-07-18 14:34:04.000000000 +0800
++++ test/test_regr.py 2013-01-08 06:11:08.846289350 +0800
+@@ -75,16 +75,16 @@
+ sys.path.pop(0)
+ os.chdir(cwd)
+
+- def test_gtk_import(self):
+- try:
+- import gtk
+- except ImportError:
+- self.skipTest('test skipped: gtk is not available')
+- except RuntimeError: # RuntimeError when missing display
+- self.skipTest('no display, can\'t run this test')
+- linter.check(join(REGR_DATA, 'pygtk_import.py'))
+- got = linter.reporter.finalize().strip()
+- self.assertEqual(got, '')
++# def test_gtk_import(self):
++# try:
++# import gtk
++# except ImportError:
++# self.skipTest('test skipped: gtk is not available')
++# except RuntimeError: # RuntimeError when missing display
++# self.skipTest('no display, can\'t run this test')
++# linter.check(join(REGR_DATA, 'pygtk_import.py'))
++# got = linter.reporter.finalize().strip()
++# self.assertEqual(got, '')
+
+ def test_numarray_inference(self):
+ try:
diff --git a/dev-python/pylint/metadata.xml b/dev-python/pylint/metadata.xml
new file mode 100644
index 000000000000..a108538b650b
--- /dev/null
+++ b/dev-python/pylint/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Pylint is a Python source code analyzer which looks for programming
+ errors, helps enforcing a coding standard and sniffs for some code
+ smells (as defined in Martin Fowler's Refactoring book).
+ Pylint can be seen as another PyChecker since nearly all tests you can
+ do with PyChecker can also be done with Pylint. However, Pylint offers
+ some more features, like checking length of lines of code, checking if
+ variable names are well-formed according to your coding standard, or
+ checking if declared interfaces are truly implemented, and much more.
+ Additionally, it is possible to write plugins to add your own checks.</longdescription>
+ <upstream>
+ <remote-id type="pypi">pylint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylint/pylint-0.25.2.ebuild b/dev-python/pylint/pylint-0.25.2.ebuild
new file mode 100644
index 000000000000..132a626e3c7c
--- /dev/null
+++ b/dev-python/pylint/pylint-0.25.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="http://www.logilab.org/project/pylint http://pypi.python.org/pypi/pylint"
+SRC_URI="ftp://ftp.logilab.org/pub/${PN}/${P}.tar.gz mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="examples"
+
+# Versions specified in __pkginfo__.py.
+RDEPEND=">=dev-python/logilab-common-0.53.0[${PYTHON_USEDEP}]
+ >=dev-python/astng-0.24.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${PN}-0.26.0-gtktest.patch )
+
+python_test() {
+ # Test suite broken with Python 3
+ local msg="Test suite broken with ${EPYTHON}"
+ if [[ "${EPYTHON}" == python3* ]]; then
+ einfo "${msg}"
+ else
+ # https://bitbucket.org/logilab/pylint/issue/11/apparent-regression-in-testsuite-pylint
+ # This 'issue' became' declared fixed by accident for version 0.27.0 despite being made citing 0.28.0
+ pytest || die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doman man/{pylint,pyreverse}.1
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*
+ fi
+}
+
+pkg_postinst() {
+ # Optional dependency on "tk" USE flag would break support for Jython.
+ elog "pylint-gui script requires dev-lang/python with \"tk\" USE flag enabled."
+}
diff --git a/dev-python/pylint/pylint-1.4.0.ebuild b/dev-python/pylint/pylint-1.4.0.ebuild
new file mode 100644
index 000000000000..bebe3317fa29
--- /dev/null
+++ b/dev-python/pylint/pylint-1.4.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+RESTRICT="test" # needs pygtk
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="http://www.logilab.org/project/pylint http://pypi.python.org/pypi/pylint"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-python/logilab-common-0.53.0[${PYTHON_USEDEP}]
+ >=dev-python/astroid-1.3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( "${RDEPEND}" )"
+
+# Usual. Requ'd for impl specific failures in test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ # selection of straight html triggers a trivial annoying bug, we skirt it
+ use doc && emake -C doc singlehtml
+}
+
+python_test() {
+ # Test suite appears not to work under Python 3.
+ # https://bitbucket.org/logilab/pylint/issue/240/
+ local msg="Test suite broken with ${EPYTHON}"
+ if python_is_python3; then
+ einfo "${msg}"
+ return 0
+ fi
+
+ pytest || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/{pylint,pyreverse}.1
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/singlehtml/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ # Optional dependency on "tk" USE flag would break support for Jython.
+ elog "pylint-gui script requires dev-lang/python with \"tk\" USE flag enabled."
+}
diff --git a/dev-python/pylint/pylint-1.4.1.ebuild b/dev-python/pylint/pylint-1.4.1.ebuild
new file mode 100644
index 000000000000..258e6ef271fb
--- /dev/null
+++ b/dev-python/pylint/pylint-1.4.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+RESTRICT="test" # needs pygtk
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="http://www.logilab.org/project/pylint http://pypi.python.org/pypi/pylint"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-python/logilab-common-0.53.0[${PYTHON_USEDEP}]
+ >=dev-python/astroid-1.3.3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND} )"
+
+# Usual. Requ'd for impl specific failures in test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ # selection of straight html triggers a trivial annoying bug, we skirt it
+ use doc && emake -C doc singlehtml
+}
+
+python_test() {
+ # Test suite appears not to work under Python 3.
+ # https://bitbucket.org/logilab/pylint/issue/240/
+ local msg="Test suite broken with ${EPYTHON}"
+ if python_is_python3; then
+ einfo "${msg}"
+ return 0
+ fi
+
+ pytest || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/{pylint,pyreverse}.1
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/singlehtml/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ # Optional dependency on "tk" USE flag would break support for Jython.
+ elog "pylint-gui script requires dev-lang/python with \"tk\" USE flag enabled."
+}
diff --git a/dev-python/pylint/pylint-1.4.3.ebuild b/dev-python/pylint/pylint-1.4.3.ebuild
new file mode 100644
index 000000000000..cd28321348a6
--- /dev/null
+++ b/dev-python/pylint/pylint-1.4.3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+RESTRICT="test" # needs pygtk
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="http://www.logilab.org/project/pylint http://pypi.python.org/pypi/pylint"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-python/logilab-common-0.53.0[${PYTHON_USEDEP}]
+ >=dev-python/astroid-1.3.6[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND} )"
+
+# Usual. Requ'd for impl specific failures in test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ # selection of straight html triggers a trivial annoying bug, we skirt it
+ use doc && emake -C doc singlehtml
+}
+
+python_test() {
+ # Test suite appears not to work under Python 3.
+ # https://bitbucket.org/logilab/pylint/issue/240/
+ local msg="Test suite broken with ${EPYTHON}"
+ if python_is_python3; then
+ einfo "${msg}"
+ return 0
+ fi
+
+ pytest || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/{pylint,pyreverse}.1
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/singlehtml/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ # Optional dependency on "tk" USE flag would break support for Jython.
+ elog "pylint-gui script requires dev-lang/python with \"tk\" USE flag enabled."
+}
diff --git a/dev-python/pylint/pylint-1.4.4.ebuild b/dev-python/pylint/pylint-1.4.4.ebuild
new file mode 100644
index 000000000000..f62ca2c8ccd8
--- /dev/null
+++ b/dev-python/pylint/pylint-1.4.4.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+RESTRICT="test" # needs pygtk
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="http://www.logilab.org/project/pylint http://pypi.python.org/pypi/pylint"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-python/logilab-common-0.53.0[${PYTHON_USEDEP}]
+ >=dev-python/astroid-1.3.6[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND} )"
+
+# Usual. Requ'd for impl specific failures in test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_compile_all() {
+ # selection of straight html triggers a trivial annoying bug, we skirt it
+ use doc && PYTHONPATH="${S}" emake -e -C doc singlehtml
+}
+
+python_test() {
+ # Test suite appears not to work under Python 3.
+ # https://bitbucket.org/logilab/pylint/issue/240/
+ local msg="Test suite broken with ${EPYTHON}"
+ if python_is_python3; then
+ einfo "${msg}"
+ return 0
+ fi
+
+ pytest || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ doman man/{pylint,pyreverse}.1
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/singlehtml/. )
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ # Optional dependency on "tk" USE flag would break support for Jython.
+ elog "pylint-gui script requires dev-lang/python with \"tk\" USE flag enabled."
+}
diff --git a/dev-python/pylirc/Manifest b/dev-python/pylirc/Manifest
new file mode 100644
index 000000000000..5c92d6769220
--- /dev/null
+++ b/dev-python/pylirc/Manifest
@@ -0,0 +1 @@
+DIST pylirc-0.0.5.tar.gz 3538 SHA256 a78315e1ddf5af61cf91000a4b2f8e2df0841edd97b2596b2e0c5505bf8330a2 SHA512 c697e100e430dbd9f52322b6494b0cdb0fdd539ea94ea95c025801f1e8a80330ad8d23f075f3cea2ad98f57420658f98445f47969e7408f1f36d48063fb6c540 WHIRLPOOL 539cfc89fcfb1852bbf81145fa1ad357b55a632bdc3ec2cca56c78046fbf952ddb110e80d876383cebe70dcd3002b4ddcbeb4f3a39f8cc04a27533273f468888
diff --git a/dev-python/pylirc/metadata.xml b/dev-python/pylirc/metadata.xml
new file mode 100644
index 000000000000..90a49430013b
--- /dev/null
+++ b/dev-python/pylirc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>media-tv</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pylirc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylirc/pylirc-0.0.5-r1.ebuild b/dev-python/pylirc/pylirc-0.0.5-r1.ebuild
new file mode 100644
index 000000000000..13dbe6e87a4a
--- /dev/null
+++ b/dev-python/pylirc/pylirc-0.0.5-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="lirc module for Python"
+HOMEPAGE="http://sourceforge.net/projects/pylirc/ http://pypi.python.org/pypi/pylirc"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="app-misc/lirc"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pylons/Manifest b/dev-python/pylons/Manifest
new file mode 100644
index 000000000000..681f5d2b5b26
--- /dev/null
+++ b/dev-python/pylons/Manifest
@@ -0,0 +1 @@
+DIST Pylons-1.0.1.tar.gz 2299257 SHA256 7c22579516d92e6fcab3f9555b33fe7a259cc2e16d2fe414816c0138c91e8c0d SHA512 1b34541c912c914636fc7b0d358439a6705e5161a306a4bfa6a08cbc1ee4741cb3882afc9cae9a22d208f89f9648a4b7559304842339c8d6d75472f058a91ceb WHIRLPOOL 58019b223a0fc52f5cf7582a03ae7f5b25c29b88d3faff42c03ed5602f3fb2bc4bc9a4cce48d761109c2c7a4edc0b05ffcb100bf1bab70cf572f93c6da38d2c8
diff --git a/dev-python/pylons/metadata.xml b/dev-python/pylons/metadata.xml
new file mode 100644
index 000000000000..10c66b0d7fe6
--- /dev/null
+++ b/dev-python/pylons/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="genshi">Add optional genshi support</flag>
+ <flag name="jinja">Add optional jinja support</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">Pylons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylons/pylons-1.0.1-r1.ebuild b/dev-python/pylons/pylons-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..630e9e1c4e09
--- /dev/null
+++ b/dev-python/pylons/pylons-1.0.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Pylons"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Pylons Web Framework"
+HOMEPAGE="http://pylonshq.com/ http://pypi.python.org/pypi/Pylons"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="genshi jinja test"
+
+RDEPEND=">=dev-python/beaker-1.3[${PYTHON_USEDEP}]
+ >=dev-python/decorator-2.3.2[${PYTHON_USEDEP}]
+ >=dev-python/formencode-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/mako-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paste-1.7.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/pastescript-1.7.3[${PYTHON_USEDEP}]
+ >=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.8[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.2[${PYTHON_USEDEP}]
+ >=dev-python/weberror-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/webhelpers-0.6.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-0.9.6.1[${PYTHON_USEDEP}]
+ >=dev-python/webtest-1.1[${PYTHON_USEDEP}]
+ genshi? ( >=dev-python/genshi-0.4.4[${PYTHON_USEDEP}] )
+ jinja? ( >=dev-python/jinja-2[${PYTHON_USEDEP}] )"
+# Dependency on >=dev-python/coverage-2.85 and dev-python/genshi is not with Jython.
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/coverage-2.85[${PYTHON_USEDEP}]
+ dev-python/genshi[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.2.1[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyltxml/Manifest b/dev-python/pyltxml/Manifest
new file mode 100644
index 000000000000..5441a1881021
--- /dev/null
+++ b/dev-python/pyltxml/Manifest
@@ -0,0 +1 @@
+DIST PyLTXML-1.3.tar.gz 27550 SHA256 4bd7a726667e48fc604bb471d775c0c42cb62a1aa77b01aa9a761012fab052f2 SHA512 0221557ec2a4311b346031a6059a7776ec30b9c34fe78e59a0e4f236931b3ab2268ed28de93429fe66f38fc855b6368eab990d5d977bca03bb4b0882136c0c1c WHIRLPOOL 6fc5ef5fba42e0b6e0ccea7424fe142c5784a488c4a171571fdc4434b28e74d9261b31a321ad7502d223c91e10f2a5d937e88d25bbd1a2d66812ddbe2a634231
diff --git a/dev-python/pyltxml/metadata.xml b/dev-python/pyltxml/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyltxml/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyltxml/pyltxml-1.3-r1.ebuild b/dev-python/pyltxml/pyltxml-1.3-r1.ebuild
new file mode 100644
index 000000000000..f3bd3bc19b70
--- /dev/null
+++ b/dev-python/pyltxml/pyltxml-1.3-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Bindings for LTXML libraries"
+HOMEPAGE="http://www.ltg.ed.ac.uk/software/xml/"
+SRC_URI="ftp://ftp.cogsci.ed.ac.uk/pub/LTXML/PyLTXML-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="ppc x86"
+IUSE=""
+
+DEPEND="=dev-libs/ltxml-1.2.5"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/PyLTXML-${PV}"
+
+DOCS="00README"
+PYTHON_MODNAME="PyLTXML"
+
+src_prepare() {
+ distutils_src_prepare
+
+ sed \
+ -e s':projects/ltg/projects/lcontrib/include:usr/include:' \
+ -e s':projects/ltg/projects/lcontrib/lib:usr/lib/ltxml12:' \
+ -i setup.py || die "sed failed"
+}
diff --git a/dev-python/pylzma/Manifest b/dev-python/pylzma/Manifest
new file mode 100644
index 000000000000..89754e500062
--- /dev/null
+++ b/dev-python/pylzma/Manifest
@@ -0,0 +1,4 @@
+DIST pylzma-0.4.4.tar.gz 106537 SHA256 ba65fbeee504bd10af275399df10e5603a33226a3e22d393dfa59ae99765cff1 SHA512 50803ca88f86059908920cc3a67abf78d319aa74bcec4fcf65b7f42893f64e3a064c683ae017566900d457a34322945a9ef420f18c6d254318ee2a3d06c4a63a WHIRLPOOL 1da7c51c645ad197686e73562d6b718ace12ce7b433ecaf01e8b0c8601ee8da33df9ac4b1ebcb89ef7d4ca3493758d3a4c1b3a6dac98b4c74626ead4def1dabb
+DIST pylzma-0.4.5.tar.gz 109966 SHA256 02eb860567bf760a7dd48e55e9834f7668f0c3ffbaedefcb82f954438253b3e4 SHA512 024dc144dc2649982aa032f7dd14d64854ac72dc65ae676fcdd7b1440c3eb14583c9e315d8837448e4d98c101cbd00fb7dc7b138b609bfd4eabc0a6d1bc8f330 WHIRLPOOL 53db9f42de8a00fbfe11328b16f8f8974d6e06c591e74e640a783431574138861208abe2855ff6a8310fa4b4c8215c61aa44a296cc881e2929f5cd5ea7c05e07
+DIST pylzma-0.4.6.tar.gz 110092 SHA256 3357c1c74122ee289ce973788f8dc2371a00ec4a145397202001acfb4bc85974 SHA512 9418bebeea811a99ad6874340d36baf28d1310fb6d58eee94dc34f68a37916f18dfca52c32dd43d4d10bfca507d157315a563e6c5a3444a89fd381e9991de150 WHIRLPOOL d1856beb436e8319fbe5547581e0483847451db1d23e506b5bedd7df44c07f42d1d41c82ef02aa20eda479715c1f624d6e4bb02e76f9094f6bd65ec026585c09
+DIST pylzma-0.4.8.tar.gz 115234 SHA256 e6239cc4c134083ef6cfee54b1b9f5116dfc081474e093136b1b0e3226ac2532 SHA512 27f9ba035f326fddbfd72b186bf272986838ff88f603f397a8dd503b99681cdf197848ff0e47e1035bd7c3fd40fd2c09026afec30728fd58f065602b0078fbeb WHIRLPOOL 351877b6c46c609b44e171998c336470fbd9a6252fd2639884d813437ed781c3a5e5566ca248a97398af00d1885909b167c4dd57612380cbaf42b2a1a72803e1
diff --git a/dev-python/pylzma/metadata.xml b/dev-python/pylzma/metadata.xml
new file mode 100644
index 000000000000..151fd0ccea62
--- /dev/null
+++ b/dev-python/pylzma/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pylzma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pylzma/pylzma-0.4.4-r1.ebuild b/dev-python/pylzma/pylzma-0.4.4-r1.ebuild
new file mode 100644
index 000000000000..b861f22d8590
--- /dev/null
+++ b/dev-python/pylzma/pylzma-0.4.4-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+# hashlib module required.
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the LZMA compression library"
+HOMEPAGE="http://www.joachim-bauch.de/projects/python/pylzma/ http://pypi.python.org/pypi/pylzma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="dev-python/m2crypto[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=(doc/usage.txt readme.txt)
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pylzma/pylzma-0.4.5.ebuild b/dev-python/pylzma/pylzma-0.4.5.ebuild
new file mode 100644
index 000000000000..1e7783d25ac0
--- /dev/null
+++ b/dev-python/pylzma/pylzma-0.4.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+# hashlib module required.
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the LZMA compression library"
+HOMEPAGE="http://www.joachim-bauch.de/projects/python/pylzma/ http://pypi.python.org/pypi/pylzma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="dev-python/m2crypto[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=(doc/USAGE.md README.md)
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pylzma/pylzma-0.4.6.ebuild b/dev-python/pylzma/pylzma-0.4.6.ebuild
new file mode 100644
index 000000000000..1e7783d25ac0
--- /dev/null
+++ b/dev-python/pylzma/pylzma-0.4.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+# hashlib module required.
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the LZMA compression library"
+HOMEPAGE="http://www.joachim-bauch.de/projects/python/pylzma/ http://pypi.python.org/pypi/pylzma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="dev-python/m2crypto[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=(doc/USAGE.md README.md)
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pylzma/pylzma-0.4.8.ebuild b/dev-python/pylzma/pylzma-0.4.8.ebuild
new file mode 100644
index 000000000000..1e7783d25ac0
--- /dev/null
+++ b/dev-python/pylzma/pylzma-0.4.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+# hashlib module required.
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the LZMA compression library"
+HOMEPAGE="http://www.joachim-bauch.de/projects/python/pylzma/ http://pypi.python.org/pypi/pylzma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="dev-python/m2crypto[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=(doc/USAGE.md README.md)
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pymad/Manifest b/dev-python/pymad/Manifest
new file mode 100644
index 000000000000..08512f8ffd89
--- /dev/null
+++ b/dev-python/pymad/Manifest
@@ -0,0 +1 @@
+DIST pymad-0.6.tar.gz 22099 SHA256 1c9fc529b78de7d26e9e47cf182c9f8bf43838d8f62a9c1773540d57f5ebc522 SHA512 1493925cf0fca3ede8314071795736354e2f036f41a9e72cfcf77f960c84bba8e76b43ce7c389c15dc9f2f619ce77b0afae1b78558b1617240bdde3012ad753c WHIRLPOOL 843b888f6bb1ac95240ab9b35177d43c562a26cc1513d2e69a19d1477f64dec142b092b34e409a8c20523ed0afab4b6704ac6567fb28c206be922d16c4b3c22c
diff --git a/dev-python/pymad/metadata.xml b/dev-python/pymad/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pymad/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pymad/pymad-0.6-r1.ebuild b/dev-python/pymad/pymad-0.6-r1.ebuild
new file mode 100644
index 000000000000..c109803b2300
--- /dev/null
+++ b/dev-python/pymad/pymad-0.6-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for libmad MP3 decoding in python"
+HOMEPAGE="http://www.spacepants.org/src/pymad/"
+SRC_URI="http://www.spacepants.org/src/pymad/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="media-libs/libmad"
+RDEPEND="${DEPEND}"
+
+python_configure_all() {
+ set -- "${PYTHON}" config_unix.py --prefix "${EPREFIX}/usr"
+ echo "${@}"
+ "${@}" || die "Configuration failed"
+}
diff --git a/dev-python/pymad/pymad-0.6.ebuild b/dev-python/pymad/pymad-0.6.ebuild
new file mode 100644
index 000000000000..dd384de716c4
--- /dev/null
+++ b/dev-python/pymad/pymad-0.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python wrapper for libmad MP3 decoding in python"
+HOMEPAGE="http://www.spacepants.org/src/pymad/"
+SRC_URI="http://www.spacepants.org/src/pymad/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="media-libs/libmad"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS THANKS"
+
+src_configure() {
+ echo "$(PYTHON -f)" config_unix.py --prefix "${EPREFIX}/usr"
+ "$(PYTHON -f)" config_unix.py --prefix "${EPREFIX}/usr" || die "Configuration failed"
+}
diff --git a/dev-python/pymetar/Manifest b/dev-python/pymetar/Manifest
new file mode 100644
index 000000000000..aef058ffca84
--- /dev/null
+++ b/dev-python/pymetar/Manifest
@@ -0,0 +1 @@
+DIST pymetar-0.19.tar.gz 22123 SHA256 2666c9bcb171bcc5cd6c174073a280836f049fbbd9c264ea24a2a023edb647c9 SHA512 2d6f93db41743eceee776f17dd57ce626b89e19d538a9e52a5a984c3ff858ae42abc5c6f129bceda6efccfd2ae7f1c9616f5b82d7e3795cc38d5ece430aec2a6 WHIRLPOOL cad04c3d8415ff67ff0a08070b787e61321eb7836aeafc3fe326382d9d81c46ac41045ead7100b9561d51dc268bd70522782c2d7937901843a3cf03605ad9a49
diff --git a/dev-python/pymetar/files/setup.patch b/dev-python/pymetar/files/setup.patch
new file mode 100644
index 000000000000..d953af0be4c5
--- /dev/null
+++ b/dev-python/pymetar/files/setup.patch
@@ -0,0 +1,14 @@
+entry for data_files cause unwanted duplicate entry @ install
+diff -u pymetar-0.19.orig/setup.py pymetar-0.19/setup.py
+--- setup.py 2012-01-25 22:01:19.000000000 +0800
++++ setup.py 2015-01-04 10:57:14.698948559 +0800
+@@ -26,7 +26,5 @@
+ packages= [ "" ],
+ py_modules=["pymetar"],
+ scripts = [ "bin/pymetar" ],
+- data_files = [("share/doc/pymetar-%s"%pymetar.__version__,
+- ['README', 'COPYING', 'THANKS', 'librarydoc.txt']),
+- ("share/man/man1", ['pymetar.1'])]
++ data_files = [("share/man/man1", ['pymetar.1'])]
+ )
+
diff --git a/dev-python/pymetar/metadata.xml b/dev-python/pymetar/metadata.xml
new file mode 100644
index 000000000000..110abde3a93a
--- /dev/null
+++ b/dev-python/pymetar/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+This library downloads the weather report for a given station
+ID (get yours from http://www.nws.noaa.gov/tg/siteloc.shtml),
+decodes it and provides easy access to all the data found in the
+report. Documentation and a small example app are inside the tarball.
+</longdescription>
+<longdescription lang="ja">
+ã“ã®ãƒ©ã‚¤ãƒ–ラリã¯æŒ‡å®šã—ãŸã‚¹ãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ID( http://www.nws.noaa.gov/tg/siteloc.shtml ã§å…¥æ‰‹)ã‹ã‚‰å¤©æ°—予報çµæžœã‚’ダウンロードã—ã€è§£èª­ã—ã€äºˆå ±ãƒ‡ãƒ¼ã‚¿ã‹ã‚‰æ¤œç´¢ã™ã‚‹ã®ã«ç°¡å˜
+ãªã‚¢ã‚¯ã‚»ã‚¹æ‰‹æ®µã‚’æä¾›ã—ã¾ã™ã€‚ドキュメンテーションã¨å˜ç´”ãªã‚µãƒ³ãƒ—ル・アプリケーショ
+ンã¯tarballファイルã®ä¸­ã§ã™ã€‚
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pymetar/pymetar-0.19-r1.ebuild b/dev-python/pymetar/pymetar-0.19-r1.ebuild
new file mode 100644
index 000000000000..dc61ff545c50
--- /dev/null
+++ b/dev-python/pymetar/pymetar-0.19-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Downloads, decodes and provides access to the weather report for a given station ID"
+HOMEPAGE="http://www.schwarzvogel.de/software-pymetar.shtml"
+SRC_URI="http://www.schwarzvogel.de/pkgs/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ~sparc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS="librarydoc.txt README THANKS"
+
+# Fix to install of data
+PATCHES=( "${FILESDIR}"/setup.patch )
diff --git a/dev-python/pyminuit/Manifest b/dev-python/pyminuit/Manifest
new file mode 100644
index 000000000000..ac6bea7915b1
--- /dev/null
+++ b/dev-python/pyminuit/Manifest
@@ -0,0 +1,2 @@
+DIST Minuit-1_7_9-patch1.tar.gz 430753 SHA256 3c223b0d145484bd8bff202f6c18efb974218130fa1ca49389db512d02bd58e4 SHA512 741ded2e6e999e8edf1e067ce9c2583784f6c1a7e34709430074d1f312de3a5815249466fe0a1c5be0a2f77932f34cbdb4bd1eb9de1b3528223711f26cbc65b9 WHIRLPOOL a6103d209cb8b97202346acd7ef0fdb37a0eb3a94658e6130ff8013448c5d56730ee3d8985c59f406cbd18e0fbb4586b443fe93a4b3c95bc0e0c9621cd5a09ee
+DIST pyminuit-1.2.1.tgz 17099 SHA256 d065f7f57a524ec322cb95252a6ed6e8056148f0d34fd90ae2bfc1259ac4d4ea SHA512 b5bd954288d57a6c043e336ddb62a42cd4e6cc340847fbd700573db288c4404ef80a86a76b3c4e458913cd73b08ea97b20a4e411043a6ce826d9d88ee54fbe1f WHIRLPOOL 28e84ddd1125e76365cb204079281f184e89ed8033b8535c399ac422c5f02a4c7dc2ac34c488fa8a86557d3bab44b3d4ca72c00890c89fc91adb2f5275c0e6a7
diff --git a/dev-python/pyminuit/metadata.xml b/dev-python/pyminuit/metadata.xml
new file mode 100644
index 000000000000..7bc6ee8ea837
--- /dev/null
+++ b/dev-python/pyminuit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pyminuit/pyminuit-1.2.1.ebuild b/dev-python/pyminuit/pyminuit-1.2.1.ebuild
new file mode 100644
index 000000000000..c8b4920cf29d
--- /dev/null
+++ b/dev-python/pyminuit/pyminuit-1.2.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Minuit numerical function minimization in Python"
+HOMEPAGE="https://code.google.com/p/pyminuit"
+SRC_URI="
+ https://pyminuit.googlecode.com/files/${P}.tgz
+ https://pyminuit.googlecode.com/files/Minuit-1_7_9-patch1.tar.gz
+ "
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/${PN}
+
+src_configure() {
+ cd "${WORKDIR}"/Minuit-1_7_9 && econf --disable-static || die
+}
+src_compile() {
+ cd "${WORKDIR}"/Minuit-1_7_9 && emake
+ cd "${S}"
+ distutils-r1_src_compile
+}
+
+python_install_all() {
+ cd "${WORKDIR}"/Minuit-1_7_9 || die
+ default
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyml/Manifest b/dev-python/pyml/Manifest
new file mode 100644
index 000000000000..e681cefad913
--- /dev/null
+++ b/dev-python/pyml/Manifest
@@ -0,0 +1,2 @@
+DIST PyML-0.7.13.2.tar.gz 5880930 SHA256 daec23fb3293d8d00efcbb64464676c196807a81a959e6adac5aceb08b15503b SHA512 8a642cfc8744098e145cf6940c606f53034c3a04aa9665e23bfd30bbd4098bcceaf10508ea9c3b3be40f1b9d964aea793c7e20d4b48eb66656b5fd6b200fca5c WHIRLPOOL 9adbf1b4a75627bf10e93fcea93b9ab60a128a0ec3523fdd3f9ff1a58b8df1a1501617b4684dd56a04c518bbecb13a34b48d41c529057c17477f665f09612879
+DIST PyML-0.7.13.3.tar.gz 5896911 SHA256 607c722d7ca309aa382ba1fc1c8580de11fa3ee4659aee11d4c2d2873fad6f77 SHA512 9933be07122e6fc7ece017b28fbc895cd2ef2778d8d5144c7f084ddd2090e054e37a581341371450fd7c28713ed4c725e229a81daad571150f476945750a51ae WHIRLPOOL f21ce9fe10dffdde92585750f3de4c33f14f5f67638590ffd92df909654c8224aa1d5ca1bbeaf1b529ceab94d595fe188439547a9f7478a94b332f9315a3cdd5
diff --git a/dev-python/pyml/metadata.xml b/dev-python/pyml/metadata.xml
new file mode 100644
index 000000000000..8457b7b53d6d
--- /dev/null
+++ b/dev-python/pyml/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ PyML is a flexible Python framework for using various classification
+ methods including Support Vector Machines (SVM).
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pyml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyml/pyml-0.7.13.2-r1.ebuild b/dev-python/pyml/pyml-0.7.13.2-r1.ebuild
new file mode 100644
index 000000000000..a2208f1ecbfc
--- /dev/null
+++ b/dev-python/pyml/pyml-0.7.13.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MYP=PyML-${PV}
+
+DESCRIPTION="Python machine learning package"
+HOMEPAGE="http://pyml.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MYP}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MYP}"
+
+python_test() {
+ pushd data > /dev/null
+ "${PYTHON}" -c "from PyML.demo import pyml_test; pyml_test.test('svm')" || die "tests failed"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && dodoc doc/tutorial.pdf && dohtml -r doc/autodoc/*
+}
diff --git a/dev-python/pyml/pyml-0.7.13.3.ebuild b/dev-python/pyml/pyml-0.7.13.3.ebuild
new file mode 100644
index 000000000000..a2208f1ecbfc
--- /dev/null
+++ b/dev-python/pyml/pyml-0.7.13.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MYP=PyML-${PV}
+
+DESCRIPTION="Python machine learning package"
+HOMEPAGE="http://pyml.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MYP}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MYP}"
+
+python_test() {
+ pushd data > /dev/null
+ "${PYTHON}" -c "from PyML.demo import pyml_test; pyml_test.test('svm')" || die "tests failed"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && dodoc doc/tutorial.pdf && dohtml -r doc/autodoc/*
+}
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
new file mode 100644
index 000000000000..f2f31dacf6d2
--- /dev/null
+++ b/dev-python/pymongo/Manifest
@@ -0,0 +1,4 @@
+DIST pymongo-2.6.3.tar.gz 324241 SHA256 cabe1d785ad5db6ed8ff70dcb9c987958fc75400f066ec78911ca3f37184a4e2 SHA512 6da3cbf035b52379c24df37b76e1eb743b12c1026116e28e4e7b6450e2674d730f9c8c2dd85f352c6ee4c9f604decaffc2dbc57fe64268bd7522d8ce155cca9e WHIRLPOOL ac36dd88c4311237ecda66a6008fa0d89d0670e331df6c49a08a1d3bc4ddcafe72e8e003009c206d3ac12afb1b14afe2d3615834a5a8df5ce30442f7b49fdbf2
+DIST pymongo-2.7.2.tar.gz 381455 SHA256 8fb45e3edec006f4b11580fc579bec7781a8b3201ce0abf31593f086070e51f6 SHA512 0e78495462d670c168e716a7c34e05f6a11a203f0bf9b32c1488608343588a48cbbb76ce715411b310359de19d9cd57c75f80ac7d8195a122a760cec22e8d0c7 WHIRLPOOL 6cb7eedc530908c2fdb17b6e31561d9c860d6fd1edddb4d66288c3fe11bc199ebc58538a70508b2540b827077f62345a86729644fdf8d37c1b9934de03e77543
+DIST pymongo-2.8.1.tar.gz 399521 SHA256 300ea5762d059c07d1bb2578f35bd0e55bc31753951e2de3d6fe2ed54438e374 SHA512 8d02829eb8683572ffe8c1be5ee50a4c778e1a0b938820859be215b583e719d079183b1a26bc074fad7e31e8944756b82b146657ad528123514b59c725f6d7aa WHIRLPOOL b0c8c373771d3a4525ddf30db5903a6b1241aa1e160e688c215bef21395d598faa65f12e57ea8fe0f16d1c0eaa0abad02ebf3e0b9df2acb8e1c8e6ff9c20a214
+DIST pymongo-3.0.3.tar.gz 419692 SHA256 3c6b2317f8031bc1e200fd1ea35f00a96f4569e3f3f220a5e66ab6227d96ccaf SHA512 7a20fdcae5b3f852bded19c95b36ef6a8141bce0179440a2c5966cbb9f18f3985b7b6b4584c5253c34d0f846d809d72ec0ae076c88472a3de6f090466e9132b4 WHIRLPOOL ae610909b610c7d116dd3aa7c04ab9ce357b25208b07c025924c53bb36183a6d344ecff214def6a01b929dc50d698464c8dd33b6eafd2d88d6666d8534858a38
diff --git a/dev-python/pymongo/files/pymongo-2.5.1-greenlet.patch b/dev-python/pymongo/files/pymongo-2.5.1-greenlet.patch
new file mode 100644
index 000000000000..dde6228f3422
--- /dev/null
+++ b/dev-python/pymongo/files/pymongo-2.5.1-greenlet.patch
@@ -0,0 +1,17 @@
+https://github.com/mongodb/mongo-python-driver/commit/519733457fb456f64b49ae66ffa6a401e1e72f24
+diff --git a/test/test_pooling_base.py b/test/test_pooling_base.py
+index 2190f38..d396b56 100644
+--- a/test/test_pooling_base.py
++++ b/test/test_pooling_base.py
+@@ -700,6 +700,10 @@ def leak_request():
+ g.start()
+ g.join(1)
+ self.assertTrue(g.ready(), "Greenlet is hung")
++
++ # In Gevent after 0.13.8, join() returns before the Greenlet.link
++ # callback fires. Give it a moment to reclaim the socket.
++ gevent.sleep(0.1)
+ else:
+ lock = thread.allocate_lock()
+ lock.acquire()
+
diff --git a/dev-python/pymongo/metadata.xml b/dev-python/pymongo/metadata.xml
new file mode 100644
index 000000000000..0046698bcecb
--- /dev/null
+++ b/dev-python/pymongo/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Proxy-Maintainer, assign bugs</description>
+ </maintainer>
+ <maintainer>
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
+ </maintainer>
+ <maintainer>
+ <email>julien@thebault.co</email>
+ <name>Lujeni</name>
+ <description>Proxy-Maintainer, assign bugs</description>
+ </maintainer>
+ <longdescription lang="en">PyMongo is a Python distribution containing tools
+ for working with MongoDB, and is the recommended way to work
+ with MongoDB from Python.</longdescription>
+ <use>
+ <flag name="mod_wsgi">Disable the C extension to work with mod_wsgi.</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">pymongo</remote-id>
+ <remote-id type="github">mongodb/mongo-python-driver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pymongo/pymongo-2.6.3.ebuild b/dev-python/pymongo/pymongo-2.6.3.ebuild
new file mode 100644
index 000000000000..7dd5af2d453c
--- /dev/null
+++ b/dev-python/pymongo/pymongo-2.6.3.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit check-reqs distutils-r1
+
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="http://github.com/mongodb/mongo-python-driver http://pypi.python.org/pypi/pymongo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc kerberos mod_wsgi test"
+
+RDEPEND="dev-db/mongodb"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ kerberos? ( dev-python/pykerberos )"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+reqcheck() {
+ if use test; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir html || die
+ sphinx-build doc html || die
+ fi
+}
+
+src_test() {
+ # Yes, we need TCP/IP for that...
+ local DB_IP=127.0.0.1
+ local DB_PORT=27000
+
+ export DB_IP DB_PORT
+
+ # 1.5G of disk space per run.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --smallfiles --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ if [[ "${EPYTHON}" == python3* ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}"
+}
+
+python_install() {
+ # Maintainer note:
+ # In order to work with mod_wsgi, we need to disable the C extension.
+ # See [1] for more information.
+ # [1] http://api.mongodb.org/python/current/faq.html#does-pymongo-work-with-mod-wsgi
+ distutils-r1_python_install $(use mod_wsgi && echo --no_ext)
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymongo/pymongo-2.7.2.ebuild b/dev-python/pymongo/pymongo-2.7.2.ebuild
new file mode 100644
index 000000000000..ff289d406bb8
--- /dev/null
+++ b/dev-python/pymongo/pymongo-2.7.2.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit check-reqs distutils-r1
+
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="http://github.com/mongodb/mongo-python-driver http://pypi.python.org/pypi/pymongo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+IUSE="doc kerberos test"
+
+RDEPEND="
+ kerberos? ( dev-python/pykerberos )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-db/mongodb-2.6.0
+ )
+"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+reqcheck() {
+ if use test; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir html || die
+ sphinx-build doc html || die
+ fi
+}
+
+src_test() {
+ # Yes, we need TCP/IP for that...
+ local DB_IP=127.0.0.1
+ local DB_PORT=27000
+
+ export DB_IP DB_PORT
+
+ # 1.5G of disk space per run.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --smallfiles --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ if [[ "${EPYTHON}" == python3* ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymongo/pymongo-2.8.1.ebuild b/dev-python/pymongo/pymongo-2.8.1.ebuild
new file mode 100644
index 000000000000..77b2fac6d1cf
--- /dev/null
+++ b/dev-python/pymongo/pymongo-2.8.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit check-reqs distutils-r1
+
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="http://github.com/mongodb/mongo-python-driver http://pypi.python.org/pypi/pymongo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc kerberos test"
+
+RDEPEND="
+ kerberos? ( dev-python/pykerberos )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-db/mongodb-2.6.0
+ )
+"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+reqcheck() {
+ if use test; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir html || die
+ sphinx-build doc html || die
+ fi
+}
+
+src_test() {
+ # Yes, we need TCP/IP for that...
+ local DB_IP=127.0.0.1
+ local DB_PORT=27000
+
+ export DB_IP DB_PORT
+
+ # 1.5G of disk space per run.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --smallfiles --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ if [[ "${EPYTHON}" == python3* ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymongo/pymongo-3.0.3.ebuild b/dev-python/pymongo/pymongo-3.0.3.ebuild
new file mode 100644
index 000000000000..a321bbcd9f5d
--- /dev/null
+++ b/dev-python/pymongo/pymongo-3.0.3.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit check-reqs distutils-r1
+
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="http://github.com/mongodb/mongo-python-driver http://pypi.python.org/pypi/pymongo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc kerberos test"
+
+RDEPEND="
+ kerberos? ( dev-python/pykerberos )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-db/mongodb-2.6.0
+ )
+"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+reqcheck() {
+ if use test; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir html || die
+ sphinx-build doc html || die
+ fi
+}
+
+src_test() {
+ # Yes, we need TCP/IP for that...
+ local DB_IP=127.0.0.1
+ local DB_PORT=27000
+
+ export DB_IP DB_PORT
+
+ # 1.5G of disk space per run.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --smallfiles --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ local failed
+ #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent
+ pushd "${BUILD_DIR}"/../ > /dev/null
+ if [[ "${EPYTHON}" == python3* ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1
+
+ mongod --dbpath "${dbpath}" --shutdown
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymountboot/Manifest b/dev-python/pymountboot/Manifest
new file mode 100644
index 000000000000..a924642dea0b
--- /dev/null
+++ b/dev-python/pymountboot/Manifest
@@ -0,0 +1,2 @@
+DIST pymountboot-0.2.1.tar.bz2 4075 SHA256 0d3b109540380f92ae031b92e195f600165c6d45bf251ac83f82e9610df44406 SHA512 e21f73d832b69bc458a3f220f099bf6a8eabb21c0159b230969f4342e83874bac3983ef6bba19975b17e5185bdeb5cc42c6778f982f4fd4551a077039a2b6a0c WHIRLPOOL 1e644751e04cac4d3a6a1597cb8aaf3fc7e1031b45f269619fcd24f3feb3725364b94f9ee6fa6be26e5fbd5bf91bf94d15b025e6a933a65b014c7cf09b11b380
+DIST pymountboot-0.2.2.tar.bz2 4098 SHA256 d10a94069ee85c4038be7d600cc0ea0f97476a1798e962fb95510a17a018252f SHA512 bb6ec0772300b2edf9864a09ff64f67ad99f0cd29b009793e1b2a590be48146640c927b5772023d27e68fc2fba51652a55ab66d1cf875dd9b4134f043ac353c9 WHIRLPOOL 899180ddb16f65c12df18306fc093ebac694f060c9f183b610c4cb616e6a8c97e41813b07da0ba710aa6ae8923e0f22958af2f8830f3ce44b452172484f66a64
diff --git a/dev-python/pymountboot/metadata.xml b/dev-python/pymountboot/metadata.xml
new file mode 100644
index 000000000000..6d5d6440f942
--- /dev/null
+++ b/dev-python/pymountboot/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <bugs-to>https://bitbucket.org/mgorny/pymountboot/issues/</bugs-to>
+ <remote-id type="bitbucket">mgorny/pymountboot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pymountboot/pymountboot-0.2.1.ebuild b/dev-python/pymountboot/pymountboot-0.2.1.ebuild
new file mode 100644
index 000000000000..60a9a161a48c
--- /dev/null
+++ b/dev-python/pymountboot/pymountboot-0.2.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python extension module to (re)mount /boot"
+HOMEPAGE="https://bitbucket.org/mgorny/pymountboot/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=sys-apps/util-linux-2.20"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/pymountboot/pymountboot-0.2.2.ebuild b/dev-python/pymountboot/pymountboot-0.2.2.ebuild
new file mode 100644
index 000000000000..2367787847e3
--- /dev/null
+++ b/dev-python/pymountboot/pymountboot-0.2.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python extension module to (re)mount /boot"
+HOMEPAGE="https://bitbucket.org/mgorny/pymountboot/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=sys-apps/util-linux-2.20"
+DEPEND="${RDEPEND}"
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pymountboot/pymountboot-9999.ebuild b/dev-python/pymountboot/pymountboot-9999.ebuild
new file mode 100644
index 000000000000..5f8d95378f86
--- /dev/null
+++ b/dev-python/pymountboot/pymountboot-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+#if LIVE
+EGIT_REPO_URI="http://bitbucket.org/mgorny/${PN}.git"
+inherit git-r3
+#endif
+
+DESCRIPTION="Python extension module to (re)mount /boot"
+HOMEPAGE="https://bitbucket.org/mgorny/pymountboot/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=sys-apps/util-linux-2.20"
+DEPEND="${RDEPEND}"
+
+#if LIVE
+KEYWORDS=
+SRC_URI=
+#endif
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pympler/Manifest b/dev-python/pympler/Manifest
new file mode 100644
index 000000000000..9a616b12b1c7
--- /dev/null
+++ b/dev-python/pympler/Manifest
@@ -0,0 +1,3 @@
+DIST Pympler-0.3.1.tar.gz 382158 SHA256 8cb170fddfe592342856590e2239e8c20ac61eacf18bc4f65a95ccaf74475e3e SHA512 0863f754edcd80375128f54d443974ef9933c203658d3215b8e98b53c8a1a36db199e309412c5b9f2d886e515ddd4d93c65035feb2c2fcaee4d6dc549e0e0b3c WHIRLPOOL 9e2c6a6c5c28040a4e3b712cf6ec58a8b0040a5092498e4d1958684966ce7d42b3de5a25588a6a0b62a27f24ef8e834bd13189bbb75b5a8b1958802e31f4adbc
+DIST Pympler-0.4.1.tar.gz 395535 SHA256 6a8bfd2972c4ec34ac8750358515950be4a4ca13dfa6a05a9a22419786745f90 SHA512 3f7e2d88ca431ae73cf49d5140c10de4eab10c1627cdacc12e216c89410add16cb5e1faedc484ea765e4b866b905a5379bb21e7d41b9b8d622c4ac7b1b16a8a3 WHIRLPOOL 4b35b554cabda8b9ab633409f1c91728956cad31c1a41d3b66a8d2cbf2e1283edd32017181d5f9c8bd66a1bac7ba398c292dd60fd9cdc268fec86222b4a790c8
+DIST Pympler-0.4.tar.gz 476969 SHA256 b280480502df658b18cb6310d2c744fabf05d4c518f873377884b4d4b5d2992d SHA512 14d5f7b6ecfeb81fb89f0e4e231aedd8effaad079742d75904b4ae6a5840f273bb76b565cb075b1d691b84eb878f0e39f627a51e9982deab9d147b0841baf66c WHIRLPOOL 3a75aaf8ce974aa03d2638ae9c15fd7e3f23bd25d31a6a244bed6fd8f80eb9aebcedf2f3d2a9015bb15fbe4ccd40e8eb8f04d43977b8d901e4e28fdeec06c6ad
diff --git a/dev-python/pympler/metadata.xml b/dev-python/pympler/metadata.xml
new file mode 100644
index 000000000000..50702feb43e1
--- /dev/null
+++ b/dev-python/pympler/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+Pympler is a development tool to measure, monitor and analyze the memory
+behavior of Python objects in a running Python application. By pympling a
+Python application, detailed insight in the size and the lifetime of Python
+objects can be obtained. Undesirable or unexpected runtime behavior like
+memory bloat and other "pymples" can easily be identified.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">Pympler</remote-id>
+ <remote-id type="github">pympler/pympler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pympler/pympler-0.3.1.ebuild b/dev-python/pympler/pympler-0.3.1.ebuild
new file mode 100644
index 000000000000..3e606f1692b6
--- /dev/null
+++ b/dev-python/pympler/pympler-0.3.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MY_PN="Pympler"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Memory profiling for Python applications"
+HOMEPAGE="http://code.google.com/p/pympler/ https://pypi.python.org/pypi/Pympler https://github.com/pympler/pympler"
+SRC_URI="mirror://pypi/P/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/bottle[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND} )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ rm pympler/util/bottle.py || die
+ sed \
+ -e '/import bottle/s:^.*$:import bottle:g' \
+ -i pympler/web.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py try || die
+}
diff --git a/dev-python/pympler/pympler-0.4.1.ebuild b/dev-python/pympler/pympler-0.4.1.ebuild
new file mode 100644
index 000000000000..d2f582662ca8
--- /dev/null
+++ b/dev-python/pympler/pympler-0.4.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Pympler"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Memory profiling for Python applications"
+HOMEPAGE="http://code.google.com/p/pympler/ https://pypi.python.org/pypi/Pympler https://github.com/pympler/pympler"
+SRC_URI="mirror://pypi/P/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/bottle[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND} )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ rm pympler/util/bottle.py || die
+ sed \
+ -e '/import bottle/s:^.*$:import bottle:g' \
+ -i pympler/web.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py try
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pympler/pympler-0.4.ebuild b/dev-python/pympler/pympler-0.4.ebuild
new file mode 100644
index 000000000000..d2f582662ca8
--- /dev/null
+++ b/dev-python/pympler/pympler-0.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Pympler"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Memory profiling for Python applications"
+HOMEPAGE="http://code.google.com/p/pympler/ https://pypi.python.org/pypi/Pympler https://github.com/pympler/pympler"
+SRC_URI="mirror://pypi/P/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/bottle[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND} )"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ rm pympler/util/bottle.py || die
+ sed \
+ -e '/import bottle/s:^.*$:import bottle:g' \
+ -i pympler/web.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py try
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymssql/Manifest b/dev-python/pymssql/Manifest
new file mode 100644
index 000000000000..541e3091d6d2
--- /dev/null
+++ b/dev-python/pymssql/Manifest
@@ -0,0 +1 @@
+DIST pymssql-1.0.2.tar.gz 175469 SHA256 c8befb3ec227fb3d1141558ddb1590549a493b677fa2fc85ee3e8dc9ad9a4f7b SHA512 6e9a2d26f2cc33bac093f2a2a41771aa41ba336413076c793137558c05e48cea7409f74f35530939b36a708cc47c66ec0dc765a768bd5f857642553568fe859e WHIRLPOOL 7ef0cfe36de73f26df8edb48eacd4bacac8dc847aee55387e6328c4688678969c6f6b0405552af8c7284e65fa3953f9f807357a4bea8bff88cc395a6a9edb5ef
diff --git a/dev-python/pymssql/metadata.xml b/dev-python/pymssql/metadata.xml
new file mode 100644
index 000000000000..6fd34d4822e8
--- /dev/null
+++ b/dev-python/pymssql/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>lordvan@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">pymssql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pymssql/pymssql-1.0.2-r1.ebuild b/dev-python/pymssql/pymssql-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..7c2c58a6ab7b
--- /dev/null
+++ b/dev-python/pymssql/pymssql-1.0.2-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple MSSQL python extension module"
+HOMEPAGE="http://pymssql.sourceforge.net/ http://code.google.com/p/pymssql/ http://pypi.python.org/pypi/pymssql"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+DEPEND=">=dev-db/freetds-0.63[mssql]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${DEPEND}"
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/pymtp/Manifest b/dev-python/pymtp/Manifest
new file mode 100644
index 000000000000..e39824cdc80a
--- /dev/null
+++ b/dev-python/pymtp/Manifest
@@ -0,0 +1 @@
+DIST pymtp_0.0.6.orig.tar.gz 22431 SHA256 c729beddad8d200afeefd0bf59b01065b9fe276a3845a4a4940eca4ea2e3a47b SHA512 f50249c6b2acfe2c86da5e5f8a24e1392d47e0ddd02d10891763a3150f9985ecdb8a0b7c7ce8bc36f53f2bf62073a26dd3a72b6c3f95d59cd447bb55684811b0 WHIRLPOOL fe34509a7a66d7e554fd84a1339758a57525771bea34db0433f503b334aa888556266e98967060acd07431412bab5ca5f87f6fefef3ca74cd692914923f40a73
diff --git a/dev-python/pymtp/metadata.xml b/dev-python/pymtp/metadata.xml
new file mode 100644
index 000000000000..566450e394eb
--- /dev/null
+++ b/dev-python/pymtp/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pymtp/pymtp-0.0.6.ebuild b/dev-python/pymtp/pymtp-0.0.6.ebuild
new file mode 100644
index 000000000000..795dcede20c6
--- /dev/null
+++ b/dev-python/pymtp/pymtp-0.0.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="LibMTP bindings for Python"
+HOMEPAGE="http://packages.debian.org/libmtp http://libmtp.sourceforge.net/ http://pypi.python.org/pypi/PyMTP"
+DEB_URI="mirror://debian/pool/main/${PN:0:1}/${PN}"
+SRC_URI="${DEB_URI}/${PN}_${PV}.orig.tar.gz"
+
+LICENSE=GPL-3
+SLOT=0
+KEYWORDS="amd64 ppc x86"
+IUSE="examples"
+
+RDEPEND="media-libs/libmtp"
+DEPEND=${RDEPEND}
+
+S="${WORKDIR}"/PyMTP-${PV}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pymysql/Manifest b/dev-python/pymysql/Manifest
new file mode 100644
index 000000000000..c83643cd9ca1
--- /dev/null
+++ b/dev-python/pymysql/Manifest
@@ -0,0 +1,2 @@
+DIST pymysql-0.6.3.tar.gz 52877 SHA256 eeb9772521cd08132885a283ba885dce5929994daf4953eb27a5ebde6f353143 SHA512 5dfe41039e703d2feb53b25db45a0541929bf52a2fe7b8f06b1dd3ff71118b99808b6d299f52073aaab779cddcd9858a51d59f23f1983e4f200d672caee5e624 WHIRLPOOL 0c0c6dd747200f2dbdde35767bb53177cdfbeae1d3623f6f1329c5030cfb89650c627cc73f2bf7039da96d3cb1e3b285ab304b5d12cc8806bcc5ef703ca06bd0
+DIST pymysql-0.6.6.tar.gz 58118 SHA256 613073e7b0ede054620e5863cb0e461a13abc0f2f00b894a5f4d6de104b8dc2b SHA512 c09fc9801132243708cab18b7e4e1e9ed706579c6a08a51867bec41d27af41b1c19e33290206cf881153d81f42e5a9ba0871ad472abcc90a818a14f9413a5de6 WHIRLPOOL 0d90a574ed194420da938246c1037abfac2e1e344a5886a91444236425e6f05d84f8027b2706b7548e50646cfd95e00ab3ed5aa85464a8a0a1b8c5ec3c1fedc7
diff --git a/dev-python/pymysql/metadata.xml b/dev-python/pymysql/metadata.xml
new file mode 100644
index 000000000000..ef692b37f9f4
--- /dev/null
+++ b/dev-python/pymysql/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mysql</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>grknight@gentoo.org</email>
+ <name>Brian Evans</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">PyMySQL/PyMySQL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pymysql/pymysql-0.6.3.ebuild b/dev-python/pymysql/pymysql-0.6.3.ebuild
new file mode 100644
index 000000000000..12e24a0336c5
--- /dev/null
+++ b/dev-python/pymysql/pymysql-0.6.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2014-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="PyMySQL"
+DESCRIPTION="Pure-Python MySQL Driver"
+HOMEPAGE="http://www.pymysql.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+S=${WORKDIR}/${MY_PN}-${P}
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# While tests exist, they require an unsecure server to run without manual config file
+RESTRICT="test"
+
+python_test() {
+ ${PYTHON} runtests.py || die
+}
diff --git a/dev-python/pymysql/pymysql-0.6.6.ebuild b/dev-python/pymysql/pymysql-0.6.6.ebuild
new file mode 100644
index 000000000000..2854680d6e21
--- /dev/null
+++ b/dev-python/pymysql/pymysql-0.6.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2014-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="PyMySQL"
+DESCRIPTION="Pure-Python MySQL Driver"
+HOMEPAGE="http://www.pymysql.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+S=${WORKDIR}/${MY_PN}-${P}
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# While tests exist, they require an unsecure server to run without manual config file
+RESTRICT="test"
+
+python_test() {
+ ${PYTHON} runtests.py || die
+}
diff --git a/dev-python/pyndex/Manifest b/dev-python/pyndex/Manifest
new file mode 100644
index 000000000000..2bb8065163b5
--- /dev/null
+++ b/dev-python/pyndex/Manifest
@@ -0,0 +1 @@
+DIST Pyndex-0.3.2a.tar.gz 34651 SHA256 032564bb4f90da894d2a634b02c65c581db091ce8fee7320b56d487ad27947fe SHA512 f1ddea8cde1f1517ed1c1319cab442ace3e4c9e2a6a2174aca2f348c915c5db2c9fe4c1543f5b16770cc8364cac930a40bef9bce8f7b76c3b0d88c8639acce75 WHIRLPOOL 7c5aa723e222fcffea189f41f29439affbfa66ce2f2326cc87cbd1b2ca72bf00fea19b089e7cb09c1b0b876695ba8702f12cb96f10a59b6f3b7b476f9cee7299
diff --git a/dev-python/pyndex/metadata.xml b/dev-python/pyndex/metadata.xml
new file mode 100644
index 000000000000..307309402a1f
--- /dev/null
+++ b/dev-python/pyndex/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>lordvan@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">pyndex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyndex/pyndex-0.3.2a-r1.ebuild b/dev-python/pyndex/pyndex-0.3.2a-r1.ebuild
new file mode 100644
index 000000000000..2933a1ae48a5
--- /dev/null
+++ b/dev-python/pyndex/pyndex-0.3.2a-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+MY_PN="Pyndex"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple and fast Python full-text indexer (aka search engine) using Metakit as its back-end"
+HOMEPAGE="http://www.divmod.org/Pyndex/index.html"
+SRC_URI="mirror://sourceforge/pyndex/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-db/metakit-2.4.9.2[python]"
+DEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-python/pyndex/pyndex-0.3.2a.ebuild b/dev-python/pyndex/pyndex-0.3.2a.ebuild
new file mode 100644
index 000000000000..818eeaf62550
--- /dev/null
+++ b/dev-python/pyndex/pyndex-0.3.2a.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+MY_PN="Pyndex"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Simple and fast Python full-text indexer (aka search engine) using Metakit as its back-end"
+HOMEPAGE="http://www.divmod.org/Pyndex/index.html"
+SRC_URI="mirror://sourceforge/pyndex/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE=""
+
+DEPEND=">=dev-db/metakit-2.4.9.2[python]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pynotifier/Manifest b/dev-python/pynotifier/Manifest
new file mode 100644
index 000000000000..c7fe651f0777
--- /dev/null
+++ b/dev-python/pynotifier/Manifest
@@ -0,0 +1 @@
+DIST pynotifier_0.7.0.orig.tar.gz 35358 SHA256 2b27bd034b631226e4bf878183c208909f2653102dfa200af5a075ebf54d2723 SHA512 60be00e5a729c3bb3a6f778025e2422268986645bcb461a81db457cb8e4c94b86d7215d7725f0bc9dd1ea1dfaa16a879760c53dd6824fb398d02b7dc8979c3ef WHIRLPOOL d620d9493129061a02a23310eaeb8c32a6d7f0a963e0cde143019bf3ee27907e29305b52dc833bb8933d69cd9ffc7bcbf2276cd624e060df007f85c14222e42c
diff --git a/dev-python/pynotifier/metadata.xml b/dev-python/pynotifier/metadata.xml
new file mode 100644
index 000000000000..3c0d60c95c68
--- /dev/null
+++ b/dev-python/pynotifier/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ pyNotifier provides an implementation of a notifier/event
+ scheduler and is capable of wrapping other notifier
+ implementations of GTK+, Qt and wxWidgets.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/pynotifier/pynotifier-0.7.0-r2.ebuild b/dev-python/pynotifier/pynotifier-0.7.0-r2.ebuild
new file mode 100644
index 000000000000..38c834a6e49b
--- /dev/null
+++ b/dev-python/pynotifier/pynotifier-0.7.0-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="pyNotifier provides an implementation of a notifier/event scheduler"
+HOMEPAGE="http://www.bitkipper.net/"
+SRC_URI="http://www.bitkipper.net/bytes/debian/dists/unstable/source/${PN}_${PV}.orig.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="qt4 gtk"
+
+DEPEND=""
+RDEPEND="dev-python/twisted-core
+ gtk? ( dev-python/pygobject:2[${PYTHON_USEDEP}] )
+ qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ use gtk || rm notifier/nf_gtk.py
+ use qt4 || rm notifier/nf_qt.py
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pynut/Manifest b/dev-python/pynut/Manifest
new file mode 100644
index 000000000000..580692f6ee99
--- /dev/null
+++ b/dev-python/pynut/Manifest
@@ -0,0 +1 @@
+DIST python-pynut-1.2.tar.gz 3610 SHA256 446adbc317f67815d0faefb679c0c7f47c2cba64efaa1b9386f08a442b3fd2ce SHA512 b4fcaff1a23648c7a7bb48bb3b795291a57aabc032c2ed53fc54eb87d6ba46c970fb67472e41e23ce40b021d2b21a027189c2c93369c7503078acc8109368fb7 WHIRLPOOL 03964bc2648b22543dc11da62ce27e3cbd36cfcbf1352fd9d442fe46e3f151500295a5bec745ab8ac50bda6c5607b90ccf17e35d2e44fbd8d17ee07d9fdceec4
diff --git a/dev-python/pynut/metadata.xml b/dev-python/pynut/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pynut/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pynut/pynut-1.2.ebuild b/dev-python/pynut/pynut-1.2.ebuild
new file mode 100644
index 000000000000..895bc47de0c4
--- /dev/null
+++ b/dev-python/pynut/pynut-1.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit python
+
+DESCRIPTION="An abstraction class written in Python to access NUT (Network UPS Tools) server"
+HOMEPAGE="http://www.lestat.st/informatique/projets/pynut-en/"
+SRC_URI="http://www.lestat.st/_media/informatique/projets/pynut/python-${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+S="${WORKDIR}/python-${P}"
+
+src_install() {
+ installation() {
+ insinto $(python_get_sitedir)
+ doins PyNUT.py
+ }
+ python_execute_function -q installation
+
+ dodoc README
+}
+
+pkg_postinst() {
+ python_mod_optimize PyNUT.py
+}
+
+pkg_postrm() {
+ python_mod_cleanup PyNUT.py
+}
diff --git a/dev-python/pynzb/Manifest b/dev-python/pynzb/Manifest
new file mode 100644
index 000000000000..a77df925609a
--- /dev/null
+++ b/dev-python/pynzb/Manifest
@@ -0,0 +1 @@
+DIST pynzb-0.1.0.tar.gz 5598 SHA256 0735b3889a1174bbb65418ee503629d3f5e4a63f04b16f46ffba18253ec3ef17 SHA512 c1efb43e56c67652bc12ec555700f134b2bd32546b9dd6c0a28a043db5c8ded5758940121b84541bdb972c7c740357cbc656e233ecfb77787d77727e245b1e72 WHIRLPOOL 0012fd21fd90614f51190ea86f50a0acdbf196555d17de0df8c317a98678d0658e2a3cf4719477cb76981c8a221060c3738230621346a5fda21ebe77ddf94a4e
diff --git a/dev-python/pynzb/metadata.xml b/dev-python/pynzb/metadata.xml
new file mode 100644
index 000000000000..4f6c8e68e7c0
--- /dev/null
+++ b/dev-python/pynzb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pynzb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pynzb/pynzb-0.1.0-r1.ebuild b/dev-python/pynzb/pynzb-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..146ccd76a53f
--- /dev/null
+++ b/dev-python/pynzb/pynzb-0.1.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Unified API for parsing NZB files"
+HOMEPAGE="http://pypi.python.org/pypi/pynzb/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/pyocr/Manifest b/dev-python/pyocr/Manifest
new file mode 100644
index 000000000000..bff45801fa0c
--- /dev/null
+++ b/dev-python/pyocr/Manifest
@@ -0,0 +1,2 @@
+DIST pyocr-0.2.4.tar.gz 309220 SHA256 a8db05190b505691a5c5fd1459072fda7f429940b562209b42f3db93c1292ef6 SHA512 8df6aa267743ae05864a0272764bfefc95c5071399ac90a7c0d52ec9fff65c55380066fad46412f71f6c7b2f8125e1b618fec6ecca4d7ff696c005115cd59d9d WHIRLPOOL 22efb3f668b9adc0e80a71b86d157252c4de8cee0d7628f1835b40d8892501871ba58ad6928dab97a76b66d66319bdbe43fe0a4cfa57d39b6216c673747b9dd3
+DIST pyocr-0.3.0.tar.gz 315750 SHA256 b17279f1961487d635dd43dbbf94c3cee678ab262812cf4d7b0bd919f960f13d SHA512 c5014026072d4a5edad2bf32817c07c09436aed0d2544aba6d1418dd6f0a238ee4794171922d5d473142ff21e5df97b27be6fe12c83124a39dd2c1f67445d6de WHIRLPOOL a6b10f313660b80c47ead6b0e6a426e3ce595dda23954c25675273ef5a7adc8abce626a964fc14eb12baa9b46e346e54c6dd49e91b2a92d4be68db8e07b5edde
diff --git a/dev-python/pyocr/metadata.xml b/dev-python/pyocr/metadata.xml
new file mode 100644
index 000000000000..11b6156c308f
--- /dev/null
+++ b/dev-python/pyocr/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <longdescription lang="en">
+Pyocr is an optical character recognition (OCR) tool wrapper for python. That is, it helps using OCR tools from a Python program.
+
+It has been tested only on GNU/Linux systems. It should also work on similar systems (*BSD, etc). It doesn't work on Windows, MacOSX, etc.
+
+Pyocr can be used as a wrapper for google's Tesseract-OCR or Cuneiform. It can read all image types supported by Pillow, including jpeg, png, gif, bmp, tiff, and others. It also support bounding box data.
+ </longdescription>
+ <use>
+ <flag name="cuneiform">Enable support for the <pkg>app-text/cuneiform</pkg> OCR engine</flag>
+ <flag name="tesseract">Enable support for the <pkg>app-text/tesseract</pkg> OCR engine</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">jflesch/pyocr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyocr/pyocr-0.2.4.ebuild b/dev-python/pyocr/pyocr-0.2.4.ebuild
new file mode 100644
index 000000000000..53f9463043da
--- /dev/null
+++ b/dev-python/pyocr/pyocr-0.2.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="an optical character recognition (OCR) tool wrapper for python"
+HOMEPAGE="https://github.com/jflesch/pyocr"
+SRC_URI="https://github.com/jflesch/pyocr/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+IUSE="cuneiform +tesseract"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="cuneiform? ( app-text/cuneiform )
+ tesseract? ( app-text/tesseract )
+ virtual/python-imaging"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="|| ( cuneiform tesseract )"
diff --git a/dev-python/pyocr/pyocr-0.3.0.ebuild b/dev-python/pyocr/pyocr-0.3.0.ebuild
new file mode 100644
index 000000000000..6f9516e3ef54
--- /dev/null
+++ b/dev-python/pyocr/pyocr-0.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="an optical character recognition (OCR) tool wrapper for python"
+HOMEPAGE="https://github.com/jflesch/pyocr"
+SRC_URI="https://github.com/jflesch/pyocr/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+IUSE="cuneiform +tesseract"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="cuneiform? ( app-text/cuneiform )
+ tesseract? ( app-text/tesseract )
+ virtual/python-imaging"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="|| ( cuneiform tesseract )"
diff --git a/dev-python/pyodbc/Manifest b/dev-python/pyodbc/Manifest
new file mode 100644
index 000000000000..c90f1ac660e2
--- /dev/null
+++ b/dev-python/pyodbc/Manifest
@@ -0,0 +1 @@
+DIST pyodbc-3.0.7.zip 85722 SHA256 d8355f2d43b10386070e8564aa973119fdb6e10864e1bbd73f3224cd3baab351 SHA512 35d4b17324c60f15bc8647961fff0fa74afa02e37e1019a399add468cfd96e0403f2f7259f3c0164e4c7cabce67de7c300c9950602d9293b0b94a84d2ed02ffe WHIRLPOOL 3da4ecf3706a7cfbe8f11e7f3b1891160e02f7331abea6b407cc5809faa8604f291163f3d3342d7bcf5daa54b1f95aca0b397a5412b7bcdb198810f4fcd59eff
diff --git a/dev-python/pyodbc/metadata.xml b/dev-python/pyodbc/metadata.xml
new file mode 100644
index 000000000000..cdef949fdd00
--- /dev/null
+++ b/dev-python/pyodbc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">pyodbc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyodbc/pyodbc-3.0.7-r1.ebuild b/dev-python/pyodbc/pyodbc-3.0.7-r1.ebuild
new file mode 100644
index 000000000000..ac95691f3098
--- /dev/null
+++ b/dev-python/pyodbc/pyodbc-3.0.7-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="python ODBC module to connect to almost any database"
+HOMEPAGE="http://code.google.com/p/pyodbc"
+SRC_URI="http://pyodbc.googlecode.com/files/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="mssql"
+
+RDEPEND=">=dev-db/unixODBC-2.3.0
+ mssql? ( >=dev-db/freetds-0.64[odbc] )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_configure_all() {
+ append-cxxflags -fno-strict-aliasing
+}
diff --git a/dev-python/pyode/Manifest b/dev-python/pyode/Manifest
new file mode 100644
index 000000000000..c737bd0d76a4
--- /dev/null
+++ b/dev-python/pyode/Manifest
@@ -0,0 +1 @@
+DIST PyODE-snapshot-2010-03-22.tar.bz2 55651 SHA256 c934fe2fc76e0b8d71d343eb5db63511ab040b226fd0148708214fc775e2998b SHA512 fd9457d9a9c42a5e9834ce45886d6b57c9ecfdc68868353d986fa219eb57246d4dc175ca5d12c876c359c5bdac5bcdaf6dfc2ee65fff52f53337b1d10458e54c WHIRLPOOL 0051aa48e88bce569c86e517e5992ab8b860f724df9a9d3b8a9d0a700223927c677b0598bc9be7430f035a59cae65d76343f30539456000467f8da63e906a9e5
diff --git a/dev-python/pyode/metadata.xml b/dev-python/pyode/metadata.xml
new file mode 100644
index 000000000000..0cbac5cb0e74
--- /dev/null
+++ b/dev-python/pyode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pyode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyode/pyode-1.2.0_p20100322-r1.ebuild b/dev-python/pyode/pyode-1.2.0_p20100322-r1.ebuild
new file mode 100644
index 000000000000..ce17f5434068
--- /dev/null
+++ b/dev-python/pyode/pyode-1.2.0_p20100322-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+inherit distutils-r1
+
+MY_P="${P/pyode/PyODE}"
+SNAPSHOT_DATE="2010-03-22" # This is a snapshot
+
+DESCRIPTION="Python bindings to the ODE physics engine"
+HOMEPAGE="http://pyode.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/PyODE-snapshot-${SNAPSHOT_DATE}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd"
+IUSE="examples"
+
+RDEPEND=">=dev-games/ode-0.7
+ >=dev-python/pyrex-0.9.4.1[${PYTHON_USEDEP}]"
+DEPEND=${RDEPEND}
+
+S=${WORKDIR}/PyODE-snapshot-${SNAPSHOT_DATE}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # The build system doesnt error if it fails to build
+ # the ode library so we need our own sanity check
+ [[ -n $(find "${D}" -name ode.so) ]] || die "ode.so is missing"
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyoembed/Manifest b/dev-python/pyoembed/Manifest
new file mode 100644
index 000000000000..37b8a73d14e0
--- /dev/null
+++ b/dev-python/pyoembed/Manifest
@@ -0,0 +1 @@
+DIST pyoembed-0.1.1.tar.gz 12941 SHA256 7a50072d8f0e38e9aa586c24fd693f225ccd78936f55fa35c3fed3fadf1b0e13 SHA512 6ce7ec87082179c0f35dffe67f7ce91b71c40c57ed6bf7bd0ecd2ce654fbd1ab0c6f6469cbfb4e0a8dafc970bf496ffbc57f09838cf575e0becf7527553de63e WHIRLPOOL ae3cf3eaf51ea52a1c4349df97fb628b78172bb2bcedcf8d99993c38c5526755a73a921929f5b137a6a2d69a884a540cf69badc8cfcfd872c697e6eb5909f098
diff --git a/dev-python/pyoembed/metadata.xml b/dev-python/pyoembed/metadata.xml
new file mode 100644
index 000000000000..ec27dbbcbb3d
--- /dev/null
+++ b/dev-python/pyoembed/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <longdescription lang="en">
+ A Python library for oEmbed that supports auto-discovered and manually included providers.
+ </longdescription>
+ <upstream>
+ <maintainer status="active">
+ <email>rafaelmartins@gentoo.org</email>
+ <name>Rafael G. Martins</name>
+ </maintainer>
+ <remote-id type="pypi">pyoembed</remote-id>
+ <remote-id type="github">rafaelmartins/pyoembed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyoembed/pyoembed-0.1.1.ebuild b/dev-python/pyoembed/pyoembed-0.1.1.ebuild
new file mode 100644
index 000000000000..82bfdebc5ab7
--- /dev/null
+++ b/dev-python/pyoembed/pyoembed-0.1.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for oEmbed with auto-discovered and manually added providers"
+HOMEPAGE="https://github.com/rafaelmartins/pyoembed"
+
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=
+ KEYWORDS=
+ EGIT_REPO_URI="git://github.com/rafaelmartins/pyoembed.git
+ https://github.com/rafaelmartins/pyoembed.git"
+ inherit git-r3
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pyoembed/pyoembed-9999.ebuild b/dev-python/pyoembed/pyoembed-9999.ebuild
new file mode 100644
index 000000000000..82bfdebc5ab7
--- /dev/null
+++ b/dev-python/pyoembed/pyoembed-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for oEmbed with auto-discovered and manually added providers"
+HOMEPAGE="https://github.com/rafaelmartins/pyoembed"
+
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI=
+ KEYWORDS=
+ EGIT_REPO_URI="git://github.com/rafaelmartins/pyoembed.git
+ https://github.com/rafaelmartins/pyoembed.git"
+ inherit git-r3
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pyogg/Manifest b/dev-python/pyogg/Manifest
new file mode 100644
index 000000000000..980fd488b570
--- /dev/null
+++ b/dev-python/pyogg/Manifest
@@ -0,0 +1 @@
+DIST pyogg-1.3-r1.tar.gz 24094 SHA256 10051f2894e901037dfa05b3c604fbdd76d891b9db2213a3c4f24ae79fbcc2a4 SHA512 aac8ac880080b3a0b7008fd52115b0790892a41abc36155fbd7b6b363f0bb0ed14b2c839cafe28233f17fed34f1511d3218db09df728bab6510c7f81e028577f WHIRLPOOL 34035eb0364c84521a035a7648488b94439c819e4205d1ca63a7638a67f47bf3852503d12ad9eb7db7400ca54bdb658d92e614d377ed74886a6e423a9aeb0ea2
diff --git a/dev-python/pyogg/metadata.xml b/dev-python/pyogg/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyogg/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyogg/pyogg-1.3-r2.ebuild b/dev-python/pyogg/pyogg-1.3-r2.ebuild
new file mode 100644
index 000000000000..b91069a95402
--- /dev/null
+++ b/dev-python/pyogg/pyogg-1.3-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Python bindings for the ogg library"
+HOMEPAGE="http://www.andrewchatham.com/pyogg/"
+# Grumble. They changed the tarball without changing the name..
+#SRC_URI="http://www.andrewchatham.com/pyogg/download/${P}.tar.gz"
+SRC_URI="mirror://gentoo/${P}-r1.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=">=media-libs/libogg-1.0"
+RDEPEND="${DEPEND}"
+
+DOCS=( COPYING ChangeLog )
+
+python_configure_all() {
+ tc-export CC
+ "${PYTHON}" config_unix.py --prefix /usr || die "Configuration failed"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*
+}
diff --git a/dev-python/pyopenal/Manifest b/dev-python/pyopenal/Manifest
new file mode 100644
index 000000000000..104649ccd67b
--- /dev/null
+++ b/dev-python/pyopenal/Manifest
@@ -0,0 +1 @@
+DIST PyOpenAL-0.1.6.tar.gz 27698 SHA256 94b69cc57fe5e5abe2876865a6e2264d180892e82ac2ed684dc8eaf2cbf1ec5e SHA512 b617781d8253e4ec81fb806709fa5cb0ca3815d11c2fe1b9a74043909bbc3fa57eb8cb0375ad5999c1a7105c5468a75cb7893e186f48e2c440d8b56bb6a87f7b WHIRLPOOL 238f4e65c31972a131858fda02a0858e85af187318a09d5bc5b48d6b68943de1c1eeec5de1715d4124aa49dc2c5efb445bbddadb6cc02c3214e00c23e3d76275
diff --git a/dev-python/pyopenal/files/pyopenal-0.1.6-setup.patch b/dev-python/pyopenal/files/pyopenal-0.1.6-setup.patch
new file mode 100644
index 000000000000..f9ef9f3c0330
--- /dev/null
+++ b/dev-python/pyopenal/files/pyopenal-0.1.6-setup.patch
@@ -0,0 +1,20 @@
+diff -urN PyOpenAL-0.1.6.orig/setup.py PyOpenAL-0.1.6/setup.py
+--- PyOpenAL-0.1.6.orig/setup.py 2006-04-30 11:23:44.000000000 -0400
++++ PyOpenAL-0.1.6/setup.py 2006-06-13 12:15:46.000000000 -0400
+@@ -4,16 +4,6 @@
+ LIBDIRS = ["/usr/lib", "/usr/local/lib"]
+ LIBS = ["openal", "alut"]
+
+-try:
+- openal_version = os.popen("openal-config --version").read()
+- if openal_version[0] == "0":
+- LIBDIRS = ["/usr/lib", "/usr/local/lib"]
+- LIBS = ["openal"]
+-
+-except:
+- print "Warning: error while running 'openal-config --version', using default values..."
+-
+-
+ setup(
+ name = "PyOpenAL",
+ version = "0.1.6",
diff --git a/dev-python/pyopenal/metadata.xml b/dev-python/pyopenal/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyopenal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyopenal/pyopenal-0.1.6-r1.ebuild b/dev-python/pyopenal/pyopenal-0.1.6-r1.ebuild
new file mode 100644
index 000000000000..027803fa9437
--- /dev/null
+++ b/dev-python/pyopenal/pyopenal-0.1.6-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P="${P/pyopenal/PyOpenAL}"
+
+DESCRIPTION="OpenAL library port for Python"
+HOMEPAGE="http://home.gna.org/oomadness/en/pyopenal/"
+SRC_URI="http://download.gna.org/pyopenal/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=">=dev-python/pyogg-1.1[${PYTHON_USEDEP}]
+ >=dev-python/pyvorbis-1.1[${PYTHON_USEDEP}]
+ media-libs/freealut
+ media-libs/openal"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( AUTHORS CHANGES )
+PATCHES=( "${FILESDIR}/${P}-setup.patch" )
+
+python_compile() {
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
new file mode 100644
index 000000000000..3f25ec0d2a02
--- /dev/null
+++ b/dev-python/pyopencl/Manifest
@@ -0,0 +1,2 @@
+DIST pyopencl-2014.1.tar.gz 1642825 SHA256 7c8df4f22ef49516a1444760dc622a037c83079ff60ff81779e60cb9fc5410e7 SHA512 da3e4e8d95605381d87db482f61fe7030fe244611a3c35d84c88210bcfb3472dc197be721f92e46e6828cc5d0245981ae004331a7c19e7fd8011a0aab593072f WHIRLPOOL e9d3c742c6ef217cf1f223990f852ae5b5ef50b7eae3513955da00f41134d9805e2078c16cd31429e327ea64a7ea16c15c014a749a3a532c3a11e4babdb91202
+DIST pyopencl-2015.1.tar.gz 1652046 SHA256 823b8c5ae438a70de87b3675c3896d04d785261cb0cbd45c01c7dd0fe9d9f6ff SHA512 0236237b1f21283aa2fa7edf86d4c7a275df508e2bdd833ad83d333f3a070b00b125310bfbf8e0fd7308b47d94c565642f87645cc91c8d7020f1e377cdd8bec5 WHIRLPOOL 2b581e4a02c8f5f77085c87c5e8b63ada0b86c58d04e62e665144be00447a9cdd69e8befecc3effe8b6253f3cace2920e8158417c940d08f89ff2985c479753b
diff --git a/dev-python/pyopencl/metadata.xml b/dev-python/pyopencl/metadata.xml
new file mode 100644
index 000000000000..17d2b2bc6c6b
--- /dev/null
+++ b/dev-python/pyopencl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyopencl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyopencl/pyopencl-2014.1.ebuild b/dev-python/pyopencl/pyopencl-2014.1.ebuild
new file mode 100644
index 000000000000..b945d0d31819
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-2014.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="http://mathema.tician.de/software/pyopencl http://pypi.python.org/pypi/pyopencl"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples opengl"
+
+RDEPEND=">=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytools[${PYTHON_USEDEP}]
+ >=virtual/opencl-0-r1"
+DEPEND="${RDEPEND}"
+
+src_configure()
+{
+ local myconf=()
+ if use opengl; then
+ myconf+=(--cl-enable-gl)
+ fi
+
+ "${PYTHON}" configure.py \
+ --boost-compiler=gcc \
+ --boost-python-libname=boost_python-${PYTHON_ABI}-mt \
+ --no-use-shipped-boost \
+ "${myconf[@]}"
+}
+
+python_install_all() {
+ if use examples; then
+ local EXAMPLES=( examples/. )
+ einfo "Some of the examples provided by this package require dev-python/matplotlib."
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyopencl/pyopencl-2015.1.ebuild b/dev-python/pyopencl/pyopencl-2015.1.ebuild
new file mode 100644
index 000000000000..8a282ea9a3d6
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-2015.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="http://mathema.tician.de/software/pyopencl http://pypi.python.org/pypi/pyopencl"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples opengl"
+
+RDEPEND=">=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/pytools[${PYTHON_USEDEP}]
+ >=virtual/opencl-0-r1"
+DEPEND="${RDEPEND}"
+
+src_configure()
+{
+ local myconf=()
+ if use opengl; then
+ myconf+=(--cl-enable-gl)
+ fi
+
+ "${PYTHON}" configure.py \
+ --boost-compiler=gcc \
+ --boost-python-libname=boost_python-${PYTHON_ABI}-mt \
+ --no-use-shipped-boost \
+ "${myconf[@]}"
+}
+
+python_install_all() {
+ if use examples; then
+ local EXAMPLES=( examples/. )
+ einfo "Some of the examples provided by this package require dev-python/matplotlib."
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyopencl/pyopencl-9999.ebuild b/dev-python/pyopencl/pyopencl-9999.ebuild
new file mode 100644
index 000000000000..68ac81627161
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 git-2
+
+EGIT_REPO_URI="http://git.tiker.net/trees/pyopencl.git"
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="http://mathema.tician.de/software/pyopencl http://pypi.python.org/pypi/pyopencl"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples opengl"
+
+RDEPEND=">=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/pytools-9999[${PYTHON_USEDEP}]
+ >=virtual/opencl-0-r1"
+DEPEND="${RDEPEND}"
+
+src_configure()
+{
+ local myconf=()
+ if use opengl; then
+ myconf+=(--cl-enable-gl)
+ fi
+
+ "${PYTHON}" configure.py \
+ --boost-compiler=gcc \
+ --boost-python-libname=boost_python-${PYTHON_ABI}-mt \
+ --no-use-shipped-boost \
+ "${myconf[@]}"
+}
+
+python_install_all() {
+ if use examples; then
+ local EXAMPLES=( examples/. )
+ einfo "Some of the examples provided by this package require dev-python/matplotlib."
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyopengl/Manifest b/dev-python/pyopengl/Manifest
new file mode 100644
index 000000000000..7269b15ce1be
--- /dev/null
+++ b/dev-python/pyopengl/Manifest
@@ -0,0 +1,2 @@
+DIST PyOpenGL-3.0.2.tar.gz 891943 SHA256 9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03 SHA512 e5663682eee5aa7276590ae7547d8345141e2e8e34ddfcbb3867c10a91e9959ebe8ec82606e257826ba6dd21d731ad76f38134849f095a01760d007d752fe9a9 WHIRLPOOL 9638e25ae0c8e99f0adfe99eb99e6d321c0b38f6c1b6a9efb46d675707ceb547aa596878dbc99d114f53e80b80063bcd12fbeb58fb5f6296c3371c06a333f5e6
+DIST PyOpenGL-3.1.0.tar.gz 1172688 SHA256 9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf SHA512 f748017ab3734c7672c3fdbedcea80df297a91a78b111533e260feb0868ebb02935666c041f77db03841ee8f90057d9c53c53b00b097aae4cf67a52c7fc9c2eb WHIRLPOOL 4e7a37a6ac07b4fa7b5a28a280a5b25a2dcb4c83bf27c6e7615c6d8ce60178cbb069eaa502b690897daae79961d47558985fd0e981117c623640e49b72f4a04f
diff --git a/dev-python/pyopengl/metadata.xml b/dev-python/pyopengl/metadata.xml
new file mode 100644
index 000000000000..b584ea323555
--- /dev/null
+++ b/dev-python/pyopengl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">PyOpenGL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyopengl/pyopengl-3.0.2-r1.ebuild b/dev-python/pyopengl/pyopengl-3.0.2-r1.ebuild
new file mode 100644
index 000000000000..7d48212a2ae4
--- /dev/null
+++ b/dev-python/pyopengl/pyopengl-3.0.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_REQ_USE="tk?"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="PyOpenGL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python OpenGL bindings"
+HOMEPAGE="http://pyopengl.sourceforge.net/ http://pypi.python.org/pypi/PyOpenGL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+# mirror://sourceforge/pyopengl/${MY_P}.tar.gz" # broken mirror for this release
+LICENSE="BSD"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="tk"
+
+RDEPEND="media-libs/freeglut
+ virtual/opengl
+ x11-libs/libXi
+ x11-libs/libXmu
+ tk? ( dev-tcltk/togl )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyopengl/pyopengl-3.1.0.ebuild b/dev-python/pyopengl/pyopengl-3.1.0.ebuild
new file mode 100644
index 000000000000..0e810b6974e5
--- /dev/null
+++ b/dev-python/pyopengl/pyopengl-3.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_REQ_USE="tk?"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="PyOpenGL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python OpenGL bindings"
+HOMEPAGE="http://pyopengl.sourceforge.net/ http://pypi.python.org/pypi/PyOpenGL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+# mirror://sourceforge/pyopengl/${MY_P}.tar.gz" # broken mirror for this release
+LICENSE="BSD"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="tk"
+
+RDEPEND="media-libs/freeglut
+ virtual/opengl
+ x11-libs/libXi
+ x11-libs/libXmu
+ tk? ( dev-tcltk/togl )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
new file mode 100644
index 000000000000..01e9362ba552
--- /dev/null
+++ b/dev-python/pyopenssl/Manifest
@@ -0,0 +1,3 @@
+DIST pyOpenSSL-0.13.1.tar.gz 254431 SHA256 ba06ec710414f6dfe5566ec24c81882547c3e6fc48458d64315b73a0d5142fdb SHA512 5be0fddd0517566fa954e13854a428a21962b13f0c31a8ca0a27d90b74b3a9cfc60e3650e5915a28b3e55b97c655d4a6589122408ef61e6dea509745662bbc0e WHIRLPOOL 5d6500a21ab3808765b9a5cf14beac66b5359ba5c184d0de02839f3f0b7c4935fe4f656577866b6c4f1bae2e1461f4fbb41fb6cb4615c3d02efb408010bc3dc5
+DIST pyOpenSSL-0.14.tar.gz 128005 SHA256 a99db8e59c120138ad8a72eecedcc24b4510d2eed3ce48213b7e32f22cc4ee6e SHA512 afd14aad8f7313425b9f0d79d80fbc17feaf128204cbda21db4116c8ce6e08e77e865110971c02bdc99b27a2d43402cc87f04586375167f41c61d0f474109512 WHIRLPOOL 6d73c560fb2f9adcdf12d92c4d1f20ef62a0284bd8cb3598e48f539cc4c4ee557215251d13f97cda3acc468b89c10e206cd1484eee582b46dca9fc0f6c6b110f
+DIST pyOpenSSL-0.15.1.tar.gz 149887 SHA256 f0a26070d6db0881de8bcc7846934b7c3c930d8f9c79d45883ee48984bc0d672 SHA512 bd204f40c9583a8580cff28b061f02ea772fdda3965dab6ac9e3f8c3b98792bea87b6de76494f7ce81e1ddcc76019432a9ffa3bcd55c5adb063bb639efe62e51 WHIRLPOOL 34badbf11b49cb65019cb55da7c6d6a539971392741d14ea1408c56dc0564d52ffeb947d86549fed17762474d863d59a406cde86daa75a329bd5b6411a77702b
diff --git a/dev-python/pyopenssl/metadata.xml b/dev-python/pyopenssl/metadata.xml
new file mode 100644
index 000000000000..545a1761b785
--- /dev/null
+++ b/dev-python/pyopenssl/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyOpenSSL</remote-id>
+ <remote-id type="launchpad">pyopenssl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyopenssl/pyopenssl-0.13.1-r1.ebuild b/dev-python/pyopenssl/pyopenssl-0.13.1-r1.ebuild
new file mode 100644
index 000000000000..1f4f1072091b
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-0.13.1-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="pyOpenSSL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="http://pyopenssl.sourceforge.net/ https://launchpad.net/pyopenssl http://pypi.python.org/pypi/pyOpenSSL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND=">=dev-libs/openssl-0.9.6g"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-tex/latex2html-2002.2[gif,png] )"
+
+# pypy* won't fit since CPython 3 is 'better' than it
+REQUIRED_USE="doc? ( || ( $(python_gen_useflags python2*) ) )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed \
+ -e "s/test_set_tlsext_host_name_wrong_args/_&/" \
+ -i OpenSSL/test/test_ssl.py || die "test_ssl sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ [[ ${EPYTHON} != python3* ]] && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ addwrite /var/cache/fonts
+
+ cd doc || die
+ emake -j1 html ps dvi
+ fi
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib/OpenSSL/test || die
+
+ local t
+ for t in test_*.py; do
+ "${PYTHON}" "${t}" || die "Test ${t} fails with ${EPYTHON}"
+ done
+ # https://bugs.launchpad.net/pyopenssl/+bug/1237953
+ rm -rf tmp* *.key *.pem
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r doc/html/.
+ dodoc doc/pyOpenSSL.*
+ fi
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/dev-python/pyopenssl/pyopenssl-0.13.1.ebuild b/dev-python/pyopenssl/pyopenssl-0.13.1.ebuild
new file mode 100644
index 000000000000..4a4ff8dc8e74
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-0.13.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="pyOpenSSL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="http://pyopenssl.sourceforge.net/ https://launchpad.net/pyopenssl http://pypi.python.org/pypi/pyOpenSSL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc"
+
+RDEPEND=">=dev-libs/openssl-0.9.6g"
+DEPEND="${RDEPEND}
+ doc? ( >=dev-tex/latex2html-2002.2[gif,png] )"
+
+# pypy* won't fit since CPython 3 is 'better' than it
+REQUIRED_USE="doc? ( || ( $(python_gen_useflags python2*) ) )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed \
+ -e "s/test_set_tlsext_host_name_wrong_args/_&/" \
+ -i OpenSSL/test/test_ssl.py || die "test_ssl sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
+ [[ ${EPYTHON} != python3* ]] && append-flags -fno-strict-aliasing
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ addwrite /var/cache/fonts
+
+ cd doc || die
+ emake -j1 html ps dvi
+ fi
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib/OpenSSL/test || die
+
+ local t
+ for t in test_*.py; do
+ "${PYTHON}" "${t}" || die "Test ${t} fails with ${EPYTHON}"
+ done
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ dohtml -r doc/html/.
+ dodoc doc/pyOpenSSL.*
+ fi
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/dev-python/pyopenssl/pyopenssl-0.14.ebuild b/dev-python/pyopenssl/pyopenssl-0.14.ebuild
new file mode 100644
index 000000000000..755c3046dbd7
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-0.14.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN=pyOpenSSL
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="http://pyopenssl.sourceforge.net/ https://launchpad.net/pyopenssl http://pypi.python.org/pypi/pyOpenSSL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-0.2.1-r2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ sed \
+ -e "s/test_set_tlsext_host_name_wrong_args/_&/" \
+ -i OpenSSL/test/test_ssl.py || die "test_ssl sed failed"
+
+ # https://github.com/pyca/pyopenssl/issues/41
+ sed -e "s/test_digest/_&/" -i OpenSSL/test/test_crypto.py
+ # https://github.com/pyca/pyopenssl/issues/67
+ sed -e "s/test_wantWriteError/_&/" -i OpenSSL/test/test_ssl.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+
+ # https://bugs.launchpad.net/pyopenssl/+bug/1237953
+ rm -rf tmp* *.key *.pem
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyopenssl/pyopenssl-0.15.1.ebuild b/dev-python/pyopenssl/pyopenssl-0.15.1.ebuild
new file mode 100644
index 000000000000..dbf10bb0006c
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-0.15.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN=pyOpenSSL
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="http://pyopenssl.sourceforge.net/ https://launchpad.net/pyopenssl http://pypi.python.org/pypi/pyOpenSSL"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-0.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ # https://github.com/pyca/pyopenssl/issues/41
+ sed -e "s/test_digest/_&/" -i OpenSSL/test/test_crypto.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+
+ # https://bugs.launchpad.net/pyopenssl/+bug/1237953
+ rm -rf tmp* *.key *.pem
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyorbit/Manifest b/dev-python/pyorbit/Manifest
new file mode 100644
index 000000000000..2523373d7ef6
--- /dev/null
+++ b/dev-python/pyorbit/Manifest
@@ -0,0 +1 @@
+DIST pyorbit-2.24.0.tar.bz2 293054 SHA256 8754669b8220aa1f151b920360029d5ea28c42bec55769059676725fe28397b8 SHA512 07824722831ac39d853bbcb35f543c6a1f24606a0fea8048881b3b9e370769592b2bc92b2ec6c9c6e88a2a7f84838757a115392fba6e1dbc0d29cff6f8da8141 WHIRLPOOL 50d2fa833d7a38cd7e6481fffdc85d67673ceecb71ec06c7db446aee1895293015f2eac2a95431ce28941f474b16674e0a67ea4e7a9af17db0237ee3bb3a6f09
diff --git a/dev-python/pyorbit/metadata.xml b/dev-python/pyorbit/metadata.xml
new file mode 100644
index 000000000000..9b1bc26a9df2
--- /dev/null
+++ b/dev-python/pyorbit/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyorbit/pyorbit-2.24.0-r1.ebuild b/dev-python/pyorbit/pyorbit-2.24.0-r1.ebuild
new file mode 100644
index 000000000000..526d31b9892f
--- /dev/null
+++ b/dev-python/pyorbit/pyorbit-2.24.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 multilib python-r1
+
+DESCRIPTION="ORBit2 bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+ >=gnome-base/orbit-2.12"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DOCS="AUTHORS ChangeLog INSTALL NEWS README TODO"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ python_parallel_foreach_impl run_in_build_dir gnome2_src_configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ python_foreach_impl run_in_build_dir default_src_test
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir gnome2_src_install
+}
diff --git a/dev-python/pyosd/Manifest b/dev-python/pyosd/Manifest
new file mode 100644
index 000000000000..832569692d29
--- /dev/null
+++ b/dev-python/pyosd/Manifest
@@ -0,0 +1 @@
+DIST pyosd-0.2.14.tar.gz 20845 SHA256 a8a52357845f9c84faeab2983f4042b91bbcbb3355d4e70783de7a97aeb3564c SHA512 5781097ec5b082555c5a77953fd939a41d9eaab76fba32a132feec42d01e581f5dcf547fbed13122c56a5778e4b13441ae3d098a9bf7d6db8fac08361ad325a9 WHIRLPOOL 359440f8161d2da66a9319732577b8368f524d3e1636b79a52bb7b286144d86e826db901b7c82e7fd4e7230662744dff01313782bfa178ac81623c1c272a0040
diff --git a/dev-python/pyosd/metadata.xml b/dev-python/pyosd/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyosd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyosd/pyosd-0.2.14-r1.ebuild b/dev-python/pyosd/pyosd-0.2.14-r1.ebuild
new file mode 100644
index 000000000000..34d56bb8ad20
--- /dev/null
+++ b/dev-python/pyosd/pyosd-0.2.14-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for displaying text on your X display, like the 'On Screen Displays' used on TVs"
+HOMEPAGE="http://ichi2.net/pyosd/"
+SRC_URI="http://ichi2.net/pyosd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="doc examples"
+
+DEPEND=">=x11-libs/xosd-2.2.4"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( pyosd.html )
+ use examples && local EXAMPLES=( modules/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "If you want to run the included daemon, you will need to install dev-python/twisted-core."
+ elog "Also note that the volume plugin requires media-sound/aumix."
+}
diff --git a/dev-python/pyosd/pyosd-0.2.14.ebuild b/dev-python/pyosd/pyosd-0.2.14.ebuild
new file mode 100644
index 000000000000..496a88035375
--- /dev/null
+++ b/dev-python/pyosd/pyosd-0.2.14.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python module for displaying text on your X display, like the 'On Screen Displays' used on TVs"
+HOMEPAGE="http://ichi2.net/pyosd/"
+SRC_URI="http://ichi2.net/pyosd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86"
+IUSE="examples"
+
+DEPEND=">=x11-libs/xosd-2.2.4"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS"
+
+src_install() {
+ distutils_src_install
+
+ dohtml pyosd.html
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r modules || die "doins failed"
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+
+ elog "If you want to run the included daemon, you will need to install dev-python/twisted-core."
+ elog "Also note that the volume plugin requires media-sound/aumix."
+}
diff --git a/dev-python/pypam/Manifest b/dev-python/pypam/Manifest
new file mode 100644
index 000000000000..e5f270c416e2
--- /dev/null
+++ b/dev-python/pypam/Manifest
@@ -0,0 +1 @@
+DIST PyPAM-0.5.0.tar.gz 105206 SHA256 796ac019b9ee805696d0d277d8fb912fa2391b6ac070dc6f9f1a9a0fadbc3a5a SHA512 9e0e919e34930d2283307cd6665c5287c664a76a5de56367bd975867ac26b376ae03d30cb3bc4a16390c977ca2690cfd2e90ac73dcc7886b8c999444da4a07e0 WHIRLPOOL 03e93e671dd4c74252b5c04ea74d389408934ce03206ec47d3dbbb2c19d4dce7b4271765d0967dbbee2c288bc3c6451b1295bf46ba82ed3665711bdc1aa173c4
diff --git a/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch b/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch
new file mode 100644
index 000000000000..b73dd0b08c59
--- /dev/null
+++ b/dev-python/pypam/files/PyPAM-0.5.0-dealloc.patch
@@ -0,0 +1,17 @@
+diff -up PyPAM-0.5.0/PAMmodule.c.dealloc PyPAM-0.5.0/PAMmodule.c
+--- PyPAM-0.5.0/PAMmodule.c.dealloc 2011-01-17 22:48:22.000000000 +0100
++++ PyPAM-0.5.0/PAMmodule.c 2011-01-18 21:24:59.000000000 +0100
+@@ -538,10 +538,11 @@ static void PyPAM_dealloc(PyPAMObject *s
+ free(self->service);
+ free(self->user);
+ free(self->conv);
+- pam_end(self->pamh, PAM_SUCCESS);
++ if (self->pamh)
++ pam_end(self->pamh, PAM_SUCCESS);
+ dlclose(self->dlh2);
+ dlclose(self->dlh1);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject * PyPAM_getattr(PyPAMObject *self, char *name)
diff --git a/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch b/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch
new file mode 100644
index 000000000000..6e0b4c0dce4b
--- /dev/null
+++ b/dev-python/pypam/files/PyPAM-0.5.0-memory-errors.patch
@@ -0,0 +1,128 @@
+diff -up PyPAM-0.5.0/PAMmodule.c.memory PyPAM-0.5.0/PAMmodule.c
+--- PyPAM-0.5.0/PAMmodule.c.memory 2012-05-07 17:22:54.503914026 +0200
++++ PyPAM-0.5.0/PAMmodule.c 2012-05-07 17:23:15.644381942 +0200
+@@ -37,33 +37,48 @@ static void PyPAM_Err(PyPAMObject *self,
+
+ err_msg = pam_strerror(self->pamh, result);
+ error = Py_BuildValue("(si)", err_msg, result);
+- Py_INCREF(PyPAM_Error);
+ PyErr_SetObject(PyPAM_Error, error);
++ Py_XDECREF(error);
+ }
+
+ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
+ struct pam_response **resp, void *appdata_ptr)
+ {
+- PyObject *args;
+-
++ PyObject *args, *msgList, *respList, *item;
++ struct pam_response *response, *spr;
+ PyPAMObject* self = (PyPAMObject *) appdata_ptr;
++
+ if (self->callback == NULL)
+ return PAM_CONV_ERR;
+
+ Py_INCREF(self);
+
+- PyObject* msgList = PyList_New(num_msg);
+-
++ msgList = PyList_New(num_msg);
++ if (msgList == NULL) {
++ Py_DECREF(self);
++ return PAM_CONV_ERR;
++ }
++
+ for (int i = 0; i < num_msg; i++) {
+- PyList_SetItem(msgList, i,
+- Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style));
++ item = Py_BuildValue("(si)", msg[i]->msg, msg[i]->msg_style);
++ if (item == NULL) {
++ Py_DECREF(msgList);
++ Py_DECREF(self);
++ return PAM_CONV_ERR;
++ }
++ PyList_SetItem(msgList, i, item);
+ }
+-
++
+ args = Py_BuildValue("(OO)", self, msgList);
+- PyObject* respList = PyEval_CallObject(self->callback, args);
++ if (args == NULL) {
++ Py_DECREF(self);
++ Py_DECREF(msgList);
++ return PAM_CONV_ERR;
++ }
++ respList = PyEval_CallObject(self->callback, args);
+ Py_DECREF(args);
+ Py_DECREF(self);
+-
++
+ if (respList == NULL)
+ return PAM_CONV_ERR;
+
+@@ -71,11 +86,15 @@ static int PyPAM_conv(int num_msg, const
+ Py_DECREF(respList);
+ return PAM_CONV_ERR;
+ }
+-
+- *resp = (struct pam_response *) malloc(
++
++ response = (struct pam_response *) malloc(
+ PyList_Size(respList) * sizeof(struct pam_response));
++ if (response == NULL) {
++ Py_DECREF(respList);
++ return PAM_CONV_ERR;
++ }
++ spr = response;
+
+- struct pam_response* spr = *resp;
+ for (int i = 0; i < PyList_Size(respList); i++, spr++) {
+ PyObject* respTuple = PyList_GetItem(respList, i);
+ char* resp_text;
+@@ -85,7 +104,7 @@ static int PyPAM_conv(int num_msg, const
+ free((--spr)->resp);
+ --i;
+ }
+- free(*resp);
++ free(response);
+ Py_DECREF(respList);
+ return PAM_CONV_ERR;
+ }
+@@ -95,7 +114,8 @@ static int PyPAM_conv(int num_msg, const
+ }
+
+ Py_DECREF(respList);
+-
++ *resp = response;
++
+ return PAM_SUCCESS;
+ }
+
+@@ -122,7 +142,11 @@ static PyObject * PyPAM_pam(PyObject *se
+ PyPAMObject_Type.ob_type = &PyType_Type;
+ p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type);
+
++ if (p == NULL)
++ return NULL;
++
+ if ((spc = (struct pam_conv *) malloc(sizeof(struct pam_conv))) == NULL) {
++ Py_DECREF((PyObject *)p);
+ PyErr_SetString(PyExc_MemoryError, "out of memory");
+ return NULL;
+ }
+@@ -455,9 +479,15 @@ static PyObject * PyPAM_getenvlist(PyObj
+ }
+
+ retval = PyList_New(0);
++ if (retval == NULL)
++ return NULL;
+
+ while ((cp = *(result++)) != NULL) {
+ entry = Py_BuildValue("s", cp);
++ if (entry == NULL) {
++ Py_DECREF(retval);
++ return NULL;
++ }
+ PyList_Append(retval, entry);
+ Py_DECREF(entry);
+ }
diff --git a/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch b/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch
new file mode 100644
index 000000000000..f27e9d543d06
--- /dev/null
+++ b/dev-python/pypam/files/PyPAM-0.5.0-nofree.patch
@@ -0,0 +1,60 @@
+diff --git a/PAMmodule.c b/PAMmodule.c
+index 03cb799..a7ff8a5 100644
+--- a/PAMmodule.c
++++ b/PAMmodule.c
+@@ -24,8 +24,6 @@ typedef struct {
+ char *service;
+ char *user;
+ PyObject *callback;
+- struct pam_response *response_data;
+- int response_len;
+ PyObject *user_data;
+ void *dlh1, *dlh2;
+ } PyPAMObject;
+@@ -54,15 +52,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
+
+ Py_INCREF(self);
+
+- if (NULL != self->response_data) {
+- for (int i = 0; i < self->response_len; i++) {
+- free(self->response_data[0].resp);
+- }
+- free(self->response_data);
+- self->response_data = NULL;
+- self->response_len = 0;
+- }
+-
+ PyObject* msgList = PyList_New(num_msg);
+
+ for (int i = 0; i < num_msg; i++) {
+@@ -92,6 +81,10 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
+ char* resp_text;
+ int resp_retcode = 0;
+ if (!PyArg_ParseTuple(respTuple, "si", &resp_text, &resp_retcode)) {
++ while (i > 0) {
++ free((--spr)->resp);
++ --i;
++ }
+ free(*resp);
+ Py_DECREF(respList);
+ return PAM_CONV_ERR;
+@@ -100,10 +93,6 @@ static int PyPAM_conv(int num_msg, const struct pam_message **msg,
+ spr->resp_retcode = resp_retcode;
+ Py_DECREF(respTuple);
+ }
+-
+- // Save this so we can free it later.
+- self->response_data = *resp;
+- self->response_len = PyList_Size(respList);
+
+ Py_DECREF(respList);
+
+@@ -144,8 +133,6 @@ static PyObject * PyPAM_pam(PyObject *self, PyObject *args)
+ p->user = NULL;
+ Py_INCREF(Py_None);
+ p->callback = Py_None;
+- p->response_data = NULL;
+- p->response_len = 0;
+ Py_INCREF(Py_None);
+ p->user_data = Py_None;
+
diff --git a/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch b/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch
new file mode 100644
index 000000000000..6e771e9949a3
--- /dev/null
+++ b/dev-python/pypam/files/PyPAM-0.5.0-return-value.patch
@@ -0,0 +1,57 @@
+diff -up PyPAM-0.5.0/PAMmodule.c.retval PyPAM-0.5.0/PAMmodule.c
+--- PyPAM-0.5.0/PAMmodule.c.retval 2012-05-04 21:47:51.000000000 +0200
++++ PyPAM-0.5.0/PAMmodule.c 2012-05-07 09:42:27.690963206 +0200
+@@ -248,7 +248,7 @@ static PyObject * PyPAM_setcred(PyObject
+ result = pam_setcred(_self->pamh, flags);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
+@@ -270,7 +270,7 @@ static PyObject * PyPAM_acct_mgmt(PyObje
+ result = pam_acct_mgmt(_self->pamh, flags);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
+@@ -292,7 +292,7 @@ static PyObject * PyPAM_chauthtok(PyObje
+ result = pam_chauthtok(_self->pamh, flags);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
+@@ -314,7 +314,7 @@ static PyObject * PyPAM_open_session(PyO
+ result = pam_open_session(_self->pamh, flags);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
+@@ -336,7 +336,7 @@ static PyObject * PyPAM_close_session(Py
+ result = pam_close_session(_self->pamh, flags);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
+@@ -433,7 +433,7 @@ static PyObject * PyPAM_putenv(PyObject
+ result = pam_putenv(_self->pamh, val);
+
+ if (result != PAM_SUCCESS) {
+- PyErr_SetString(PyPAM_Error, "Not authenticated");
++ PyPAM_Err(_self, result);
+ return NULL;
+ }
+
diff --git a/dev-python/pypam/files/PyPAM-python3-support.patch b/dev-python/pypam/files/PyPAM-python3-support.patch
new file mode 100644
index 000000000000..2aec60eabdf4
--- /dev/null
+++ b/dev-python/pypam/files/PyPAM-python3-support.patch
@@ -0,0 +1,198 @@
+--- PAMmodule.c.python3 2014-06-24 11:29:10.958299393 +0200
++++ PAMmodule.c 2014-06-24 15:20:02.728118493 +0200
+@@ -15,6 +15,14 @@
+ #include <stdio.h>
+ #include <dlfcn.h>
+
++#if PY_MAJOR_VERSION >= 3
++#define IS_PY3K
++#else
++// include bytesobject.h to map PyBytes_* to PyString_*
++#include <bytesobject.h>
++#endif
++
++
+ static PyObject *PyPAM_Error;
+
+ typedef struct {
+@@ -28,7 +36,11 @@
+ void *dlh1, *dlh2;
+ } PyPAMObject;
+
++#ifdef IS_PY3K
++static PyTypeObject PyPAMObject_Type;
++#else
+ staticforward PyTypeObject PyPAMObject_Type;
++#endif
+
+ static void PyPAM_Err(PyPAMObject *self, int result)
+ {
+@@ -139,7 +151,6 @@
+ return NULL;
+ }
+
+- PyPAMObject_Type.ob_type = &PyType_Type;
+ p = (PyPAMObject *) PyObject_NEW(PyPAMObject, &PyPAMObject_Type);
+
+ if (p == NULL)
+@@ -562,35 +573,44 @@
+ PyObject_Del(self);
+ }
+
+-static PyObject * PyPAM_getattr(PyPAMObject *self, char *name)
+-{
+- return Py_FindMethod(PyPAMObject_Methods, (PyObject *) self, name);
+-}
+-
+ static PyObject * PyPAM_repr(PyPAMObject *self)
+ {
+ char buf[1024];
+
+ snprintf(buf, 1024, "<pam object, service=\"%s\", user=\"%s\", conv=%p, pamh=%p>",
+ self->service, self->user, self->conv, self->pamh);
+- return PyString_FromString(buf);
++ return PyBytes_FromString(buf);
+ }
+
+ static PyTypeObject PyPAMObject_Type = {
+- PyObject_HEAD_INIT(0) /* Must fill in type value later */
+- 0,
+- "pam",
+- sizeof(PyPAMObject),
+- 0,
+- (destructor)PyPAM_dealloc, /*tp_dealloc*/
+- 0, /*tp_print*/
+- (getattrfunc)PyPAM_getattr, /*tp_getattr*/
+- 0, /*tp_setattr*/
+- 0, /*tp_compare*/
+- (reprfunc)PyPAM_repr, /*tp_repr*/
+- 0, /*tp_as_number*/
+- 0, /*tp_as_sequence*/
+- 0, /*tp_as_mapping*/
++ PyVarObject_HEAD_INIT(NULL, 0) /* Must fill in type value later */
++ "pam", /* tp_name */
++ sizeof(PyPAMObject), /* tp_basicsize */
++ 0, /* tp_itemsize */
++ (destructor)PyPAM_dealloc, /* tp_dealloc */
++ 0, /* tp_print */
++ 0, /* tp_getattr */
++ 0, /* tp_setattr */
++ 0, /* tp_compare */
++ (reprfunc)PyPAM_repr, /* tp_repr */
++ 0, /* tp_as_number */
++ 0, /* tp_as_sequence */
++ 0, /* tp_as_mapping */
++ 0, /* tp_hash */
++ 0, /* tp_call */
++ 0, /* tp_str */
++ PyObject_GenericGetAttr, /* tp_getattro */
++ 0, /* tp_setattro */
++ 0, /* tp_as_buffer */
++ Py_TPFLAGS_DEFAULT, /* tp_flags */
++ "PyPAM", /* tp_doc */
++ 0, /* tp_traverse */
++ 0, /* tp_clear */
++ 0, /* tp_richcompare */
++ 0, /* tp_weaklistoffset */
++ 0, /* tp_iter */
++ 0, /* tp_iternext */
++ PyPAMObject_Methods, /* tp_methods */
+ };
+
+ static PyMethodDef PyPAM_Methods[] = {
+@@ -607,7 +627,12 @@
+ */
+ static void insint(PyObject *d, char *name, int value)
+ {
+- PyObject* v = PyInt_FromLong((long) value);
++ PyObject* v;
++#ifdef IS_PY3K
++ v = PyLong_FromLong((long) value);
++#else
++ v = PyInt_FromLong((long) value);
++#endif
+
+ if (!v || PyDict_SetItemString(d, name, v))
+ PyErr_Clear();
+@@ -615,19 +640,42 @@
+ Py_XDECREF(v);
+ }
+
++#ifdef IS_PY3K
++static struct PyModuleDef pamdef = {
++ PyModuleDef_HEAD_INIT,
++ "PAM",
++ NULL,
++ -1,
++ PyPAM_Methods,
++ NULL,
++ NULL,
++ NULL,
++ NULL
++};
++
++#define INITERROR return NULL
++PyObject *PyInit_PAM(void)
++
++#else
++#define INITERROR return
+ void initPAM(void)
++#endif
+ {
+ PyObject *m, *d;
+
++#ifdef IS_PY3K
++ m = PyModule_Create(&pamdef);
++#else
+ m = Py_InitModule("PAM", PyPAM_Methods);
++#endif
+ d = PyModule_GetDict(m);
+
+ PyPAM_Error = PyErr_NewException("PAM.error", NULL, NULL);
+ if (PyPAM_Error == NULL)
+- return;
++ INITERROR;
+ PyDict_SetItemString(d, "error", PyPAM_Error);
+
+- PyPAMObject_Type.ob_type = &PyType_Type;
++ Py_TYPE(&PyPAMObject_Type) = &PyType_Type;
+ PyPAMObject_Type.tp_doc = PyPAMObject_doc;
+ Py_INCREF(&PyPAMObject_Type);
+
+@@ -692,4 +740,7 @@
+ insint(d, "PAM_BINARY_PROMPT", PAM_BINARY_PROMPT);
+ #endif
+
++#ifdef IS_PY3K
++ return m;
++#endif
+ }
+--- setup.py.python3 2014-06-24 15:58:07.792172439 +0200
++++ setup.py 2014-06-24 15:58:13.714909021 +0200
+@@ -12,7 +12,7 @@
+ license='LGPL',
+ ext_modules=[
+ Extension(
+- 'PAMmodule',
++ 'PAM',
+ ['PAMmodule.c'],
+ libraries=['pam', 'pam_misc'],
+ extra_compile_args = ['-std=c99'],
+--- tests/PamTest.py.python3 2014-06-24 16:54:28.902998249 +0200
++++ tests/PamTest.py 2014-06-24 17:07:11.392094775 +0200
+@@ -41,13 +41,13 @@
+ def test_userdata_default(self):
+ """The default value for userdata is None."""
+
+- self.failUnless(self.pam.get_userdata() is None)
++ self.assertTrue(self.pam.get_userdata() is None)
+
+ def test_userdata(self):
+ """The userdata getter and setter will store and return any data."""
+
+ self.pam.set_userdata(1)
+- self.failUnless(self.pam.get_userdata() == 1)
++ self.assertTrue(self.pam.get_userdata() == 1)
+
+ def test_start(self):
+ """pam.start() works as expected."""
diff --git a/dev-python/pypam/files/pypam-0.5.0-stricter.patch b/dev-python/pypam/files/pypam-0.5.0-stricter.patch
new file mode 100644
index 000000000000..453910349134
--- /dev/null
+++ b/dev-python/pypam/files/pypam-0.5.0-stricter.patch
@@ -0,0 +1,15 @@
+=== modified file 'PAMmodule.c'
+--- PAMmodule.c 2007-05-28 17:50:59 +0000
++++ PAMmodule.c 2007-05-28 18:13:33 +0000
+@@ -9,8 +9,9 @@
+
++#include <Python.h>
+ #include <security/pam_appl.h>
+ #include <security/pam_misc.h>
+-#include <Python.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <dlfcn.h>
+
+ static PyObject *PyPAM_Error;
+
diff --git a/dev-python/pypam/metadata.xml b/dev-python/pypam/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pypam/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pypam/pypam-0.5.0-r3.ebuild b/dev-python/pypam/pypam-0.5.0-r3.ebuild
new file mode 100644
index 000000000000..abbee94b7872
--- /dev/null
+++ b/dev-python/pypam/pypam-0.5.0-r3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="PyPAM"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Bindings for PAM (Pluggable Authentication Modules)"
+HOMEPAGE="http://www.pangalactic.org/PyPAM"
+SRC_URI="http://www.pangalactic.org/PyPAM/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE=""
+
+DEPEND=">=sys-libs/pam-0.64"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( AUTHORS examples/pamtest.py )
+
+PATCHES=(
+ # Pull patches from fedora.
+ "${FILESDIR}/PyPAM-${PV}-dealloc.patch"
+ "${FILESDIR}/PyPAM-${PV}-nofree.patch"
+ "${FILESDIR}/PyPAM-${PV}-memory-errors.patch"
+ "${FILESDIR}/PyPAM-${PV}-return-value.patch"
+ "${FILESDIR}/PyPAM-python3-support.patch"
+ # Fix a missing include.
+ "${FILESDIR}/${P}-stricter.patch"
+)
+
+src_compile() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_src_compile
+}
+
+python_test() {
+ "${PYTHON}" tests/PamTest.py
+}
diff --git a/dev-python/pyparsing/Manifest b/dev-python/pyparsing/Manifest
new file mode 100644
index 000000000000..9cb18a43461d
--- /dev/null
+++ b/dev-python/pyparsing/Manifest
@@ -0,0 +1,3 @@
+DIST pyparsing-1.5.6.tar.gz 1418892 SHA256 5c84aa4500e82d5aa2c0842d5628c5da985e68ac1fb33554e0e5547eb3c85a75 SHA512 614c1a016d121b7c4ecf90a164bbe323affd6cf72319c8494e9a583078ffa233c351627fc3e793307e407e043570f8301f112c4d86645dcd130220ed976289c8 WHIRLPOOL 278d37581a950a570ac3cca2a5f8b674c909220fddc47072d9d52c38b8dfc30b335530dffd3c522cd18e58e9bddcc5e48d9184cdaf4b09203bbba308607e24a4
+DIST pyparsing-2.0.1.tar.gz 1129563 SHA256 0007cd3f008eba4a203f1f6b4b133ddc352552c8808b694c88c23db56416e4e4 SHA512 e9c9307c59c7020f4a454458703bd1eb4ef0ac513b2a6a07706b5d676c010f33a72d03d78a61bf3daa96d6598b966a3e4921a88c50f71939a697fa00377ac67a WHIRLPOOL c95815cc6d8471e1ea730daf19ea954fbbddbc67b771700100b04c7103e1ec5e7226e3881a037476f898a3874c072baed7ed159ca32566bd8ed825ab8f4f3cbe
+DIST pyparsing-2.0.3.tar.gz 1462653 SHA256 06e729e1cbf5274703b1f47b6135ed8335999d547f9d8cf048b210fb8ebf844f SHA512 9771851f4b0191c7d3f8d2a2a6d2a9198b173120d3f133d08284b71e792fc59a906d571edea8f44ba04ab00c1d906e1974d1e8a2d6155d492de1358ba99c575a WHIRLPOOL 42b9c7aa0b8d4d91436a01a60cbca64a9c8f7798b7aeb60bd2c4af085f9e13167a5ac5132d55bd890b4890c00428e908dfae32ed78ec153c868ee02ed3cdaa3f
diff --git a/dev-python/pyparsing/metadata.xml b/dev-python/pyparsing/metadata.xml
new file mode 100644
index 000000000000..cbe760bfb74a
--- /dev/null
+++ b/dev-python/pyparsing/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The pyparsing module is an alternative approach to creating and
+ executing simple grammars, vs. the traditional lex/yacc approach, or the
+ use of regular expressions. The pyparsing module provides a library of
+ classes that client code uses to construct the grammar directly in
+ Python code.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pyparsing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyparsing/pyparsing-1.5.6-r2.ebuild b/dev-python/pyparsing/pyparsing-1.5.6-r2.ebuild
new file mode 100644
index 000000000000..efe8e7f3d233
--- /dev/null
+++ b/dev-python/pyparsing/pyparsing-1.5.6-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
+HOMEPAGE="http://pyparsing.wikispaces.com/ http://pypi.python.org/pypi/pyparsing"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+# Build system copies the module from py2/py3 version to the regular
+# name before installing.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # resorted to sed, fixed in June upstream, bug ID: 3381439.
+ # See Bug #443836.
+ sed -e "s/26 June 2011 10:53/16 June 2012 03:08/" \
+ -e 's:exc.__traceback__:pe.__traceback__:' \
+ -i pyparsing_py3.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local HTML_DOCS=( HowToUsePyparsing.html )
+
+ distutils-r1_python_install_all
+
+ insinto /usr/share/doc/${PF}
+
+ if use doc; then
+ dohtml -r htmldoc/*
+ doins docs/*.pdf
+ fi
+
+ if use examples; then
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyparsing/pyparsing-1.5.6.ebuild b/dev-python/pyparsing/pyparsing-1.5.6.ebuild
new file mode 100644
index 000000000000..604c388b6a00
--- /dev/null
+++ b/dev-python/pyparsing/pyparsing-1.5.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils eutils
+
+DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
+HOMEPAGE="http://pyparsing.wikispaces.com/ http://pypi.python.org/pypi/pyparsing"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1"
+PYTHON_MODNAME="pyparsing.py"
+
+src_install() {
+ distutils_src_install
+
+ dohtml HowToUsePyparsing.html
+ dodoc CHANGES
+
+ if use doc; then
+ dohtml -r htmldoc/*
+ insinto /usr/share/doc/${PF}
+ doins docs/*.pdf
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyparsing/pyparsing-2.0.1.ebuild b/dev-python/pyparsing/pyparsing-2.0.1.ebuild
new file mode 100644
index 000000000000..7148e7e1b77e
--- /dev/null
+++ b/dev-python/pyparsing/pyparsing-2.0.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
+HOMEPAGE="http://pyparsing.wikispaces.com/ http://pypi.python.org/pypi/pyparsing"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+RDEPEND="!dev-python/pyparsing:py2 !dev-python/pyparsing:py3"
+
+python_install_all() {
+ local HTML_DOCS=( HowToUsePyparsing.html )
+ use doc && HTML_DOCS+=( htmldoc/ )
+
+ distutils-r1_python_install_all
+
+ use doc && dodoc docs/*.pdf
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/pyparsing/pyparsing-2.0.3.ebuild b/dev-python/pyparsing/pyparsing-2.0.3.ebuild
new file mode 100644
index 000000000000..2845373889f2
--- /dev/null
+++ b/dev-python/pyparsing/pyparsing-2.0.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="pyparsing is an easy-to-use Python module for text parsing"
+HOMEPAGE="http://pyparsing.wikispaces.com/ http://pypi.python.org/pypi/pyparsing"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+RDEPEND="!dev-python/pyparsing:py2 !dev-python/pyparsing:py3"
+
+python_install_all() {
+ local HTML_DOCS=( HowToUsePyparsing.html )
+ if use doc; then
+ HTML_DOCS+=( htmldoc/. )
+ dodoc docs/*.pdf
+ fi
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyparted/Manifest b/dev-python/pyparted/Manifest
new file mode 100644
index 000000000000..2fdb9ead7d07
--- /dev/null
+++ b/dev-python/pyparted/Manifest
@@ -0,0 +1,3 @@
+DIST pyparted-3.10.3.tar.gz 96927 SHA256 ba385beff0bd31e64886ac1ed699306c49474dcf5dc33f96f867d208f8d7e992 SHA512 238da222bb76e6838861f4fdff63f52823d0c7ace068fd4f40d5ccf5de5b7c26fadf52add689ec143755d568c52788b79262ba1090639560c3b54daa67e6507f WHIRLPOOL 9fab91096f345507fc3528c960ae8e151975abd36e8e76f5f55b48aabee6c23ac6e16c7b471b1b01a5977c7157f32b3726b1ce0fbb0d221ba0a07a0df9f19c13
+DIST pyparted-3.10.4.tar.gz 99746 SHA256 1121d6457dac0efa64cd1efe326ba2147c25c27e2ade3e1043cdbd188ab828a1 SHA512 8af3381b548f4f08eadfec2607b9b355d503fefc3057fd76c1bbe63d17f885a37604594593a1b2160c46ee608e4dcf217c7b0e2aee33d5ed4eeb9283f5bee030 WHIRLPOOL a8341ad50f5ed00623f291c146fae98069c64bb05928f3c5d37ad186dfe1b3c41a6dd6df543506b23ff3747d754ba4c27d180032d40d454e44527a9f72f05610
+DIST pyparted-3.10.5.tar.gz 99638 SHA256 8cbaf024fbbc73cdceab2eac0937035052da48295970fe9eaa84b19d8e353e19 SHA512 c3cdc370d9a86278d47b97ed0b54d225fc6e92285aabda3ed529c0df67f4f45835016c7eea7bc02981f9273961948d5d7096f8f35c1f8eafde67ad241d9ec9fa WHIRLPOOL d79d8fcbaf04ae3f1a61b27bace5fd101fd70b271d11ff45be9dc3aebad6c7f5ad2e80e1694a68ebb0ad3a9633d3b8161ba7276f7f60a8696e365451989c63f3
diff --git a/dev-python/pyparted/files/pyparted-3.10.3-greater.patch b/dev-python/pyparted/files/pyparted-3.10.3-greater.patch
new file mode 100644
index 000000000000..53af4fe34e59
--- /dev/null
+++ b/dev-python/pyparted/files/pyparted-3.10.3-greater.patch
@@ -0,0 +1,11 @@
+--- a/tests/test__ped_ped.py
++++ b/tests/test__ped_ped.py
+@@ -228,7 +228,7 @@
+
+ self.assertGreater(len(lst), 0)
+ self.assertGreater(
+- len([e for e in lst if e.path.startswith("/tmp/temp-device-")]), 0)
++ len([e for e in lst]), 0)
+
+ class DeviceFreeAllTestCase(RequiresDevice):
+ def runTest(self):
diff --git a/dev-python/pyparted/files/pyparted-3.10.3-sbin-parted.patch b/dev-python/pyparted/files/pyparted-3.10.3-sbin-parted.patch
new file mode 100644
index 000000000000..e12088e248ac
--- /dev/null
+++ b/dev-python/pyparted/files/pyparted-3.10.3-sbin-parted.patch
@@ -0,0 +1,11 @@
+--- a/tests/baseclass.py
++++ b/tests/baseclass.py
+@@ -127,7 +127,7 @@
+ class RequiresLabeledDevice(RequiresDevice):
+ def setUp(self):
+ RequiresDevice.setUp(self)
+- os.system("/sbin/parted -s %s mklabel msdos" % (self.path,))
++ os.system("/usr/sbin/parted -s %s mklabel msdos" % (self.path,))
+
+ # Base class for any test case that requires a _ped.Disk or parted.Disk.
+ class RequiresDisk(RequiresDevice):
diff --git a/dev-python/pyparted/metadata.xml b/dev-python/pyparted/metadata.xml
new file mode 100644
index 000000000000..88653ddd7172
--- /dev/null
+++ b/dev-python/pyparted/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>livecd</herd>
+</pkgmetadata>
diff --git a/dev-python/pyparted/pyparted-3.10.3-r1.ebuild b/dev-python/pyparted/pyparted-3.10.3-r1.ebuild
new file mode 100644
index 000000000000..d755d150894c
--- /dev/null
+++ b/dev-python/pyparted/pyparted-3.10.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for sys-block/parted"
+HOMEPAGE="https://github.com/dcantrell/pyparted/"
+SRC_URI="${HOMEPAGE}archive/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="test"
+REQUIRED_USE="
+ test? ( python_targets_python2_7 )
+"
+
+RDEPEND="
+ >=sys-block/parted-3.1
+ dev-python/decorator[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-python/pychecker )
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${PN}-${P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-greater.patch
+ "${FILESDIR}"/${P}-sbin-parted.patch
+)
+
+python_test() {
+ if [[ ${EPYTHON} = python2* ]]; then
+ emake test
+ else
+ einfo "Skipping ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pyparted/pyparted-3.10.4.ebuild b/dev-python/pyparted/pyparted-3.10.4.ebuild
new file mode 100644
index 000000000000..a2078e6421af
--- /dev/null
+++ b/dev-python/pyparted/pyparted-3.10.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for sys-block/parted"
+HOMEPAGE="https://github.com/dcantrell/pyparted/"
+SRC_URI="${HOMEPAGE}archive/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+REQUIRED_USE="
+ test? ( python_targets_python2_7 )
+"
+
+RDEPEND="
+ >=sys-block/parted-3.1
+ dev-python/decorator[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-python/pychecker )
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${PN}-${P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.10.3-greater.patch
+ "${FILESDIR}"/${PN}-3.10.3-sbin-parted.patch
+)
+
+python_test() {
+ if [[ ${EPYTHON} = python2* ]]; then
+ emake test
+ else
+ einfo "Skipping ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pyparted/pyparted-3.10.5.ebuild b/dev-python/pyparted/pyparted-3.10.5.ebuild
new file mode 100644
index 000000000000..49c937eac55e
--- /dev/null
+++ b/dev-python/pyparted/pyparted-3.10.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for sys-block/parted"
+HOMEPAGE="https://github.com/rhinstaller/pyparted/"
+SRC_URI="${HOMEPAGE}archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+REQUIRED_USE="
+ test? ( python_targets_python2_7 )
+"
+
+RDEPEND="
+ >=sys-block/parted-3.1
+ dev-python/decorator[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-python/pychecker )
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.10.3-greater.patch
+ "${FILESDIR}"/${PN}-3.10.3-sbin-parted.patch
+)
+
+python_test() {
+ if [[ ${EPYTHON} = python2* ]]; then
+ emake test
+ else
+ einfo "Skipping ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pypax/Manifest b/dev-python/pypax/Manifest
new file mode 100644
index 000000000000..71ba474647dc
--- /dev/null
+++ b/dev-python/pypax/Manifest
@@ -0,0 +1,2 @@
+DIST elfix-0.8.4.tar.gz 374742 SHA256 374be66da3dddef485bbb5e95bfcab6fd0c2db478255bddd10079730ada5260b SHA512 10aacc3fff33c934e2d4487d174a2b0cec10ffb7a35fc72b160c786f82f0355f3a2dea716bc7fb929d2919cc32a26844f37f9d73064b755098bdaa72e8075bda WHIRLPOOL b04e099f188c0b76d8c07abd76559c1313854aa83a03ad69afb72674d93cde6ce538ae10d0fea3be5495937e72a4b98fdd36efbb2e3aa8ff23c1d9f7f943c1ae
+DIST elfix-0.9.0.tar.gz 372014 SHA256 8b547d987edb2f7dc23ddf30f959d7d051a9ed49810f983b8fe6c489fe731cf0 SHA512 fd9bab90d745f77429c902acd2a14f615132731b3c38929dce764f1e5f7ee8f6478a6fef7ce0cb38e7ebd9181ba57965ff0c97da5e01d0fbf2cfb940ed691ebf WHIRLPOOL c09fa2193b990a506cae17f370ec10fa6302e17d2a165e42eceb88644f8a92e297c839ad788204e213d8205695b65557a7dcef5f6417177c434c8d0a34bd5eb7
diff --git a/dev-python/pypax/metadata.xml b/dev-python/pypax/metadata.xml
new file mode 100644
index 000000000000..a3052a5dba99
--- /dev/null
+++ b/dev-python/pypax/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>hardened</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <use>
+ <flag name='xtpax'>Enable XATTR_PAX_FLAGS support.</flag>
+ <flag name='ptpax'>Enable PT_PAX_FLAGS support.</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypax/pypax-0.8.4.ebuild b/dev-python/pypax/pypax-0.8.4.ebuild
new file mode 100644
index 000000000000..40c64155a305
--- /dev/null
+++ b/dev-python/pypax/pypax-0.8.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to get or set either PT_PAX and/or XATTR_PAX flags"
+HOMEPAGE="http://dev.gentoo.org/~blueness/elfix/
+ http://www.gentoo.org/proj/en/hardened/pax-quickstart.xml"
+SRC_URI="http://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
+
+S="${WORKDIR}/elfix-${PV}/scripts"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="+ptpax +xtpax"
+
+REQUIRED_USE="|| ( ptpax xtpax )"
+
+RDEPEND="
+ ptpax? ( dev-libs/elfutils )
+ xtpax? ( sys-apps/attr )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${RDEPEND}"
+
+src_compile() {
+ unset PTPAX
+ unset XTPAX
+ use ptpax && export PTPAX="yes"
+ use xtpax && export XTPAX="yes"
+ distutils-r1_src_compile
+}
diff --git a/dev-python/pypax/pypax-0.9.0.ebuild b/dev-python/pypax/pypax-0.9.0.ebuild
new file mode 100644
index 000000000000..22d7ef6b3f78
--- /dev/null
+++ b/dev-python/pypax/pypax-0.9.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to get or set either PT_PAX and/or XATTR_PAX flags"
+HOMEPAGE="http://dev.gentoo.org/~blueness/elfix/
+ http://www.gentoo.org/proj/en/hardened/pax-quickstart.xml"
+SRC_URI="http://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
+
+S="${WORKDIR}/elfix-${PV}/scripts"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="+ptpax +xtpax"
+
+REQUIRED_USE="|| ( ptpax xtpax )"
+
+RDEPEND="
+ ptpax? ( dev-libs/elfutils )
+ xtpax? ( sys-apps/attr )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${RDEPEND}"
+
+src_compile() {
+ unset PTPAX
+ unset XTPAX
+ use ptpax && export PTPAX="yes"
+ use xtpax && export XTPAX="yes"
+ distutils-r1_src_compile
+}
diff --git a/dev-python/pypcap/Manifest b/dev-python/pypcap/Manifest
new file mode 100644
index 000000000000..edf7d76bcb59
--- /dev/null
+++ b/dev-python/pypcap/Manifest
@@ -0,0 +1,2 @@
+DIST pypcap-1.1.1.tar.gz 44878 SHA256 b310d5af36f5d68ef4217fda68086ffce56345b415eaac15ad618f94057b017b SHA512 339a081cc06edc2f532b7a8eb962b3fd1d1185ed4fb42ef4a3b768bb27d852a7878d4e08ca421b0fdabd6db61b53663fbf20a073fa61f1839e06bdaf13ec1060 WHIRLPOOL 52cabe0b91747657a1f923ee619771d56af1c544ae7635f1e7e7dc0030064b8edcfe8ef9dc604163b85dce89b79b75e5595736863255147af7e34a2d7070821c
+DIST pypcap-1.1.3.tar.gz 44805 SHA256 cc0786efd527f16c5f0d08accf3cbd9ff8971ddc284a445cdabf2e47b458a377 SHA512 c8c3634173246838cd1d716ffd630cc149daa171749ab22901b352ed98f58c1377a754bf8510c33dc338deec4c80e5462eaf8baec502f1edb79cfac3ab8844bc WHIRLPOOL 2354f992aace04acad55e2dd8563543d5b4a408734259c228b6f3e30be587248e6db228b87b76c78e7e78b8a7007e4411684e8822dc9d0c3768df9a6ff07bcbc
diff --git a/dev-python/pypcap/metadata.xml b/dev-python/pypcap/metadata.xml
new file mode 100644
index 000000000000..1b65681c8e3b
--- /dev/null
+++ b/dev-python/pypcap/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>netmon</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pypcap</remote-id>
+ <remote-id type="pypi">pypcap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pypcap/pypcap-1.1.1.ebuild b/dev-python/pypcap/pypcap-1.1.1.ebuild
new file mode 100644
index 000000000000..ffcb66237c19
--- /dev/null
+++ b/dev-python/pypcap/pypcap-1.1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplified object-oriented Python extension module for libpcap"
+HOMEPAGE="http://code.google.com/p/pypcap/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_compile() {
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pypcap/pypcap-1.1.3.ebuild b/dev-python/pypcap/pypcap-1.1.3.ebuild
new file mode 100644
index 000000000000..121ce6ce3bfb
--- /dev/null
+++ b/dev-python/pypcap/pypcap-1.1.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplified object-oriented Python extension module for libpcap"
+HOMEPAGE="http://code.google.com/p/pypcap/ https://pypi.python.org/pypi/pypcap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_compile() {
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
diff --git a/dev-python/pypeg2/Manifest b/dev-python/pypeg2/Manifest
new file mode 100644
index 000000000000..53719f8891a3
--- /dev/null
+++ b/dev-python/pypeg2/Manifest
@@ -0,0 +1 @@
+DIST pyPEG2-2.15.1.tar.gz 24103 SHA256 f4814a5f9c84bbb0794bef8d2a5871f4aed25366791c55e2162681873ad8bd21 SHA512 53fc9f40d426384c6107e62fa76dd231d7abe7eba3144f29a6eb9374bd7f6bc2f209fc8a687a6df762a0ba98abdb1071783780acd85cd637f86692baafe52ad1 WHIRLPOOL 61ad75f1570afd4c2a282e3196c909b69af3b1d7f36a3b42b613be3a613785c75a4938948c5dfac50098ccea464a0a03564fe6c4ce8b4a8d7b6ec3cd36f58bb6
diff --git a/dev-python/pypeg2/files/pypeg2-2.15.1-test.patch b/dev-python/pypeg2/files/pypeg2-2.15.1-test.patch
new file mode 100644
index 000000000000..6ca8839d7776
--- /dev/null
+++ b/dev-python/pypeg2/files/pypeg2-2.15.1-test.patch
@@ -0,0 +1,12 @@
+Drop seemingly wrong test line that throws an AttributeError.
+
+--- pyPEG2-2.15.1/pypeg2/test/test_pyPEG2.py
++++ pyPEG2-2.15.1/pypeg2/test/test_pyPEG2.py
+@@ -255,7 +255,6 @@
+ def runTest(self):
+ r = pypeg2.parse("!all", type(self).C1)
+ self.assertEqual(str(r), "all")
+- self.assertEqual(r._ignore1, None)
+
+ class ParseOmitTestCase(ParserTestCase):
+ def runTest(self):
diff --git a/dev-python/pypeg2/metadata.xml b/dev-python/pypeg2/metadata.xml
new file mode 100644
index 000000000000..09eafda74579
--- /dev/null
+++ b/dev-python/pypeg2/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyPEG2</remote-id>
+ <remote-id type="bitbucket">fdik/pypeg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pypeg2/pypeg2-2.15.1.ebuild b/dev-python/pypeg2/pypeg2-2.15.1.ebuild
new file mode 100644
index 000000000000..0dc8266d91db
--- /dev/null
+++ b/dev-python/pypeg2/pypeg2-2.15.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=pyPEG2
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="An intrinsic PEG Parser-Interpreter for Python"
+HOMEPAGE="http://fdik.org/pyPEG/ https://bitbucket.org/fdik/pypeg/ https://pypi.python.org/pypi/pyPEG2"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pypgsql/Manifest b/dev-python/pypgsql/Manifest
new file mode 100644
index 000000000000..4599a025d019
--- /dev/null
+++ b/dev-python/pypgsql/Manifest
@@ -0,0 +1 @@
+DIST pyPgSQL-2.5.1.tar.gz 152840 SHA256 498486f066f11a68f5b02a54ba5a008d01d507038c873bfd901c14d3f5ca18af SHA512 50fc6f9e44f17e116a9122ab010642850d6dcdcbecf8e0ee4c32182eadc593cde2b03aa3cc353cdcc5f79f6e4f7337e6b1250f3b98977b208a98aad282763ab3 WHIRLPOOL 55a21c648d8eeda53def823039f9021982b02ceaa0cac72384c113a1a2ce2a0fdccfa4697dad800d79adc161583cc1a1c281ad602483c7a43cf9952584176124
diff --git a/dev-python/pypgsql/metadata.xml b/dev-python/pypgsql/metadata.xml
new file mode 100644
index 000000000000..55c1d142df87
--- /dev/null
+++ b/dev-python/pypgsql/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pypgsql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pypgsql/pypgsql-2.5.1-r1.ebuild b/dev-python/pypgsql/pypgsql-2.5.1-r1.ebuild
new file mode 100644
index 000000000000..5e7fd4651c64
--- /dev/null
+++ b/dev-python/pypgsql/pypgsql-2.5.1-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="pyPgSQL-${PV}"
+
+DESCRIPTION="Python Interface to PostgreSQL"
+HOMEPAGE="http://pypgsql.sourceforge.net/ http://pypi.python.org/pypi/pyPgSQL"
+SRC_URI="mirror://sourceforge/pypgsql/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-db/postgresql"
+RDEPEND="${DEPEND}
+ dev-python/egenix-mx-base[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pypgsql/pypgsql-2.5.1.ebuild b/dev-python/pypgsql/pypgsql-2.5.1.ebuild
new file mode 100644
index 000000000000..9ee38c06a858
--- /dev/null
+++ b/dev-python/pypgsql/pypgsql-2.5.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+MY_P="pyPgSQL-${PV}"
+
+DESCRIPTION="Python Interface to PostgreSQL"
+HOMEPAGE="http://pypgsql.sourceforge.net/ http://pypi.python.org/pypi/pyPgSQL"
+SRC_URI="mirror://sourceforge/pypgsql/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE=""
+
+DEPEND="dev-db/postgresql"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+DOCS="Announce"
+PYTHON_MODNAME="pyPgSQL"
+
+src_install() {
+ distutils_src_install
+
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+}
diff --git a/dev-python/pyphen/Manifest b/dev-python/pyphen/Manifest
new file mode 100644
index 000000000000..da7e32c72ea1
--- /dev/null
+++ b/dev-python/pyphen/Manifest
@@ -0,0 +1,2 @@
+DIST Pyphen-0.8.tar.gz 962586 SHA256 378169ce89b8d3b6a0b95bbfdedc9da8c428d6b7c98ff6498ff41c390702a21a SHA512 230ae11fa3aabba52c923a562284cbc9051c42aa8bc6336bf7e66a47db8974adb3fe136f605bac4cb8c5dee20e68181e6fb3b0c5726a35ab85d11ac5e30c537a WHIRLPOOL 6a7ce38c2d0ca801d58464de8d2c184b28762ecb7b469494675ae87384bbf76cd333d4e3c7aeb32c75cc37c40d5169bb8dd833e3d979e421475ebd6ec5dc8092
+DIST Pyphen-0.9.1.tar.gz 1020062 SHA256 f518012a3296689b13f80a879ed75d1f876e6d9c09f982b114e78847407aa515 SHA512 b3fd71aab1a85d7a8a482907f5bffec1179a29ec3cbeef02a59d8ec975b57d3d667b47c7014b27ee08edeef5d652fcc2d091062e67e4ff2897cd37bcd93ad174 WHIRLPOOL e68bbf476880fd7c40d7b762e684835b51396a6c005d310faef51da6fe89df3c8fb1d98c5897de102248232ec0152c1a2687ff941c9f3391df646c2439195e1b
diff --git a/dev-python/pyphen/metadata.xml b/dev-python/pyphen/metadata.xml
new file mode 100644
index 000000000000..9b0f6f22e9af
--- /dev/null
+++ b/dev-python/pyphen/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Pyphen</remote-id>
+ <remote-id type="github">Kozea/Pyphen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyphen/pyphen-0.8.ebuild b/dev-python/pyphen/pyphen-0.8.ebuild
new file mode 100644
index 000000000000..31fe2cc350b6
--- /dev/null
+++ b/dev-python/pyphen/pyphen-0.8.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
+MY_PN="Pyphen"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/Kozea/Pyphen"
+
+LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyphen/pyphen-0.9.1.ebuild b/dev-python/pyphen/pyphen-0.9.1.ebuild
new file mode 100644
index 000000000000..d8d4f9661d15
--- /dev/null
+++ b/dev-python/pyphen/pyphen-0.9.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
+MY_PN="Pyphen"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/Kozea/Pyphen"
+
+LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyplusplus/Manifest b/dev-python/pyplusplus/Manifest
new file mode 100644
index 000000000000..040daa343387
--- /dev/null
+++ b/dev-python/pyplusplus/Manifest
@@ -0,0 +1,2 @@
+DIST pyplusplus-1.0.0.zip 7886416 SHA256 dc749514642846d85de148735b44c5f5e03dc0b62feceb0727698f4069d3c963 SHA512 04a9d6f06d8d22da9ac3b4ec1efdf001f0e4a2453ff5d70d6a15b808d7247ace630c4064ab2476a28ed3dede9cdb867c0650810a0c72a0a6474912fc7ef65812 WHIRLPOOL ab12d4c2432155226e66081f72007406c71da11aae5f7e2e4bf80e3e28680cef5ec0370a8fc442f86ed14793bc340f85d203903f348982d355f48f4a52c4f89a
+DIST pyplusplus-1.0.0_p20131206.tar.xz 2984232 SHA256 bcec544fc4520a3f37dc672dfb5c3611ed973ac34912eff5f5c67267680154ba SHA512 5cdf158477d6b93d1b579383657241c48d59ac17fd890016ac68d3b9ca8453726dabb8a7913f6139e24e93c691ead85adb99a6b20aa031603c6471df04fcfea6 WHIRLPOOL ef8d5d193ab334a82a3b364bf525efd3fd588e07993de525cad705aa175041291ffabfd115f8863952a00d9424a802f4c4cb5d09c3837ef67c860d821c212730
diff --git a/dev-python/pyplusplus/files/pyplusplus-1.0.0_p20131206-numpy.patch b/dev-python/pyplusplus/files/pyplusplus-1.0.0_p20131206-numpy.patch
new file mode 100644
index 000000000000..bf33f3810948
--- /dev/null
+++ b/dev-python/pyplusplus/files/pyplusplus-1.0.0_p20131206-numpy.patch
@@ -0,0 +1,179 @@
+generate code for Boost.NumPy[1] to accelerate c 1D array handling
+
+Upstream: https://sourceforge.net/p/pygccxml/patches/2/
+
+Index: pyplusplus/code_creators/__init__.py
+===================================================================
+--- pyplusplus/code_creators/__init__.py.orig
++++ pyplusplus/code_creators/__init__.py
+@@ -110,6 +110,8 @@ from member_variable import bit_field_t
+ from member_variable import bit_field_wrapper_t
+ from member_variable import array_mv_t
+ from member_variable import array_mv_wrapper_t
++from member_variable import array_numpy_t
++from member_variable import array_numpy_wrapper_t
+ from member_variable import mem_var_ref_t
+ from member_variable import mem_var_ref_wrapper_t
+ from member_variable import member_variable_addressof_t
+Index: pyplusplus/code_creators/code_creator.py
+===================================================================
+--- pyplusplus/code_creators/code_creator.py.orig
++++ pyplusplus/code_creators/code_creator.py
+@@ -126,6 +126,7 @@ class code_creator_t(object):
+ files = []
+ if self.code_generator == self.CODE_GENERATOR_TYPES.BOOST_PYTHON:
+ files.append( "boost/python.hpp" )
++ files.append( "boost/numpy.hpp" )
+ files.append( code_repository.named_tuple.file_name )
+ else:
+ files.append( code_repository.ctypes_utils.file_name )
+Index: pyplusplus/code_creators/member_variable.py
+===================================================================
+--- pyplusplus/code_creators/member_variable.py.orig
++++ pyplusplus/code_creators/member_variable.py
+@@ -507,7 +507,95 @@ class array_mv_wrapper_t( code_creator.c
+ def _get_system_files_impl( self ):
+ return [code_repository.array_1.file_name]
+
++class array_numpy_t( member_variable_base_t ):
++ """
++ Creates boost.python code that exposes array member variable via boost.numpy.
++ """
++ def __init__(self, variable, wrapper ):
++ member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper )
++ self.works_on_instance = False
++
++ def _create_body( self ):
++ answer = []
++ doc = ''
++ if self.declaration.type_qualifiers.has_static:
++ answer.append( self.parent.class_var_name + '.add_static_property' )
++ else:
++ if self.documentation:
++ doc = self.documentation
++ answer.append( self.parent.class_var_name + '.add_property' )
++ answer.append('( "%s", &%s );' % (self.declaration.name, self.wrapper.wrapper_creator_full_name ))
++ if doc:
++ answer.append( os.linesep )
++ answer.append( self.PARAM_SEPARATOR )
++ answer.append( doc )
++ return ''.join( answer )
++
++ def _create_impl( self ):
++ answer = []
++ answer.append( '{ //%s, type=%s' % ( self.declaration, self.declaration.type ) )
++ answer.append( os.linesep )
++ answer.append( self.indent( self._create_body() ) )
++ answer.append( os.linesep )
++ answer.append( '}' )
++ return ''.join( answer )
++
++ def _get_system_files_impl( self ):
++ return []
+
++class array_numpy_wrapper_t( code_creator.code_creator_t
++ , declaration_based.declaration_based_t ):
++ """registers array class"""
++ def __init__(self, variable ):
++ code_creator.code_creator_t.__init__( self )
++ declaration_based.declaration_based_t.__init__( self, declaration=variable)
++ self.py_class_type = declarations.reference_t(declarations.const_t(declarations.dummy_type_t( "bp::object" )))
++
++ @property
++ def wrapped_class_type( self ):
++ wrapped_cls_type = declarations.declarated_t( self.declaration.parent )
++ if declarations.is_const( self.declaration.type ):
++ wrapped_cls_type = declarations.const_t( wrapped_cls_type )
++ return declarations.reference_t( wrapped_cls_type )
++
++ @property
++ def wrapper_creator_name(self):
++ return '_'.join( ['pyplusplus', self.declaration.name, 'wrapper'] )
++
++ @property
++ def wrapper_creator_full_name(self):
++ return '::'.join( [self.parent.full_name, self.wrapper_creator_name] )
++
++ def _create_impl( self ):
++ if self.declaration.type_qualifiers.has_static:
++ tmpl = [ "static %(wrapper_type)s %(wrapper_creator_name)s( ){" ]
++ tmpl.append( self.indent( "return bn::from_data( %(parent_class_type)s::%(mem_var_ref)s," ) )
++ else:
++ tmpl = [ "static %(wrapper_type)s %(wrapper_creator_name)s( %(py_class_type)s inst ){" ]
++ tmpl.append( self.indent( "return bn::from_data(bp::extract< %(wrapped_class_type)s >(inst)().%(mem_var_ref)s," ) )
++ owner = "bp::object()"
++
++ tmpl.append( self.indent(self.indent("bn::dtype::get_builtin< %(item_type)s >(), bp::make_tuple(%(array_size)s),")) )
++ tmpl.append( self.indent(self.indent("bp::make_tuple(sizeof(%(item_type)s)), %(owner)s);")) )
++ tmpl.append( "}" )
++
++ tmpl = os.linesep.join( tmpl )
++
++ return tmpl % {
++ 'wrapper_type' : "bn::ndarray"
++ , 'parent_class_type' : self.parent.declaration.partial_decl_string
++ , 'wrapper_creator_name' : self.wrapper_creator_name
++ , 'wrapped_class_type' : self.wrapped_class_type.decl_string
++ , 'mem_var_ref' : self.declaration.name
++ , 'py_class_type' : self.py_class_type.decl_string
++ , 'item_type' : declarations.array_item_type( self.declaration.type ).decl_string
++ , 'array_size': declarations.array_size( self.declaration.type )
++ , 'owner': owner
++ }
++
++ def _get_system_files_impl( self ):
++ return []
++
+ class mem_var_ref_t( member_variable_base_t ):
+ """
+ creates get/set accessors for class member variable, that has type reference.
+Index: pyplusplus/code_creators/module_body.py
+===================================================================
+--- pyplusplus/code_creators/module_body.py.orig
++++ pyplusplus/code_creators/module_body.py
+@@ -18,6 +18,7 @@ class module_body_t(compound.compound_t)
+ def _create_impl(self):
+ result = []
+ result.append( "BOOST_PYTHON_MODULE(%s){" % self.name )
++ result.append( "bn::initialize();" )
+ result.append( compound.compound_t.create_internal_code( self.creators ) )
+ result.append( "}" )
+ return os.linesep.join( result )
+Index: pyplusplus/creators_factory/bpcreator.py
+===================================================================
+--- pyplusplus/creators_factory/bpcreator.py.orig
++++ pyplusplus/creators_factory/bpcreator.py
+@@ -76,10 +76,14 @@ class bpcreator_t( declarations.decl_vis
+ global_ns = declarations.get_global_namespace(decls)
+
+ self.__extmodule = code_creators.bpmodule_t( global_ns )
+- if boost_python_ns_name:
+- bp_ns_alias = code_creators.namespace_alias_t( alias=boost_python_ns_name
+- , full_namespace_name='::boost::python' )
+- self.__extmodule.adopt_creator( bp_ns_alias )
++
++ # alias of boost::numpy is hard-coded here, as it will be merged into boost::python.
++ for ns_name, full_ns_name in {boost_python_ns_name: '::boost::python'
++ , 'bn': '::boost::numpy'}.iteritems():
++ if ns_name:
++ ns_alias = code_creators.namespace_alias_t( alias=ns_name
++ , full_namespace_name=full_ns_name )
++ self.__extmodule.adopt_creator( ns_alias )
+
+ self.__module_body = code_creators.module_body_t( name=module_name )
+
+@@ -723,8 +727,12 @@ class bpcreator_t( declarations.decl_vis
+ wrapper = code_creators.bit_field_wrapper_t( variable=self.curr_decl )
+ maker = code_creators.bit_field_t( variable=self.curr_decl, wrapper=wrapper )
+ elif declarations.is_array( self.curr_decl.type ):
+- wrapper = code_creators.array_mv_wrapper_t( variable=self.curr_decl )
+- maker = code_creators.array_mv_t( variable=self.curr_decl, wrapper=wrapper )
++ if declarations.is_arithmetic(declarations.array_item_type( self.curr_decl.type )):
++ wrapper = code_creators.array_numpy_wrapper_t( variable=self.curr_decl )
++ maker = code_creators.array_numpy_t( variable=self.curr_decl, wrapper=wrapper )
++ else:
++ wrapper = code_creators.array_mv_wrapper_t( variable=self.curr_decl )
++ maker = code_creators.array_mv_t( variable=self.curr_decl, wrapper=wrapper )
+ elif declarations.is_pointer( self.curr_decl.type ):
+ wrapper = code_creators.member_variable_wrapper_t( variable=self.curr_decl )
+ maker = code_creators.member_variable_t( variable=self.curr_decl, wrapper=wrapper )
diff --git a/dev-python/pyplusplus/metadata.xml b/dev-python/pyplusplus/metadata.xml
new file mode 100644
index 000000000000..d3722f45aca6
--- /dev/null
+++ b/dev-python/pyplusplus/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>heroxbd@gentoo.org</email>
+ <name>Benda Xu</name>
+ </maintainer>
+ <longdescription>pyplusplus is an object-oriented framework for creating a code generator for boost.python library.</longdescription>
+ <use>
+ <flag name="indexing"> Install indexing_suite_v2 to enhance boost python
+ </flag>
+ <flag name="numpy"> Generate code for <pkg>dev-libs/boost-numpy </pkg> to accelerate arrays
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pyplusplus/pyplusplus-1.0.0-r1.ebuild b/dev-python/pyplusplus/pyplusplus-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..abe35c58e4de
--- /dev/null
+++ b/dev-python/pyplusplus/pyplusplus-1.0.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Object-oriented framework for creating a code generator for Boost.Python library"
+HOMEPAGE="http://www.language-binding.net/"
+SRC_URI="mirror://sourceforge/pygccxml/${P}.zip"
+
+LICENSE="freedist Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples +indexing"
+
+DEPEND="app-arch/unzip"
+RDEPEND="=dev-python/pygccxml-1.0.0[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/Py++-${PV}
+
+python_test() {
+ "${PYTHON}" unittests/test_all.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/documentation/apidocs/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ if use indexing; then
+ insinto /usr/include/boost/python/suite/indexing
+ doins indexing_suite_v2/indexing/*.hpp
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyplusplus/pyplusplus-1.0.0_p20131206.ebuild b/dev-python/pyplusplus/pyplusplus-1.0.0_p20131206.ebuild
new file mode 100644
index 000000000000..1091ce0a1b02
--- /dev/null
+++ b/dev-python/pyplusplus/pyplusplus-1.0.0_p20131206.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Object-oriented framework for creating a code generator for Boost.Python library"
+HOMEPAGE="http://www.language-binding.net/"
+
+if [[ ${PV} == 9999 ]]; then
+ ESVN_REPO_URI="http://svn.code.sf.net/p/pygccxml/svn/${PN}_dev"
+ inherit subversion
+ S=${WORKDIR}/${PN}_dev
+else
+ SRC_URI="http://dev.gentoo.org/~heroxbd/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="freedist Boost-1.0"
+SLOT="0"
+IUSE="examples numpy"
+
+DEPEND="app-arch/unzip
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/pygccxml[${PYTHON_USEDEP}]"
+
+src_prepare() {
+ use numpy && epatch --binary "${FILESDIR}"/${PN}-1.0.0_p20131206-numpy.patch
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${PYTHON}" unittests/test_all.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyplusplus/pyplusplus-9999.ebuild b/dev-python/pyplusplus/pyplusplus-9999.ebuild
new file mode 100644
index 000000000000..87f2b63d5393
--- /dev/null
+++ b/dev-python/pyplusplus/pyplusplus-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Object-oriented framework for creating a code generator for Boost.Python library"
+HOMEPAGE="http://www.language-binding.net/"
+
+if [[ ${PV} == 9999 ]]; then
+ ESVN_REPO_URI="http://svn.code.sf.net/p/pygccxml/svn/${PN}_dev"
+ inherit subversion
+ S=${WORKDIR}/${PN}_dev
+else
+ SRC_URI="http://dev.gentoo.org/~heroxbd/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="freedist Boost-1.0"
+SLOT="0"
+IUSE="examples numpy"
+
+DEPEND="app-arch/unzip
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/pygccxml[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" unittests/test_all.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyprof2calltree/Manifest b/dev-python/pyprof2calltree/Manifest
new file mode 100644
index 000000000000..466a34f65f78
--- /dev/null
+++ b/dev-python/pyprof2calltree/Manifest
@@ -0,0 +1,2 @@
+DIST pyprof2calltree-1.3.1.tar.gz 6565 SHA256 3afdd4e6ba4d5d02fcf4815f9eebb816c0f74ba936ae34a7e264f26739be1f89 SHA512 ba939fe9ab28066067dc0989221acbf8d5c84b5cdb68850fd90b4579f8ab812883561447ae61cc896b5e461591ba5b1e40e666e21f8a824071b9c98d80e583a9 WHIRLPOOL 1120d15deb1409eb70d9af1483fa0392be124f70848b86779dea1ef5753cef03a3c82b83bc692a1d2ea1e848f0045206d85d2af9bb99b5c429946f8f9c1a35ac
+DIST pyprof2calltree-1.3.2.tar.gz 6609 SHA256 28eac89262d0edd86ee2574d24d1840cbca2d4ed6a1de7e1d8fc05f30ea5a22b SHA512 e85c5a21fe52b246ee6080f59e2ff115b43e3ab634e2842aff0d493b8b996105e0c1698e049ae7d11ea53c1f1fd601ef5f12c6fba62dcea28ddff23ec61a2736 WHIRLPOOL b132fe3179bbf7e3dc999fe3f8da1fdb298b515c302e76de4d96cff4392966875df8180aba66b535a122c8521d22755efbc9f46a133f8a758cce0a230d943bc3
diff --git a/dev-python/pyprof2calltree/metadata.xml b/dev-python/pyprof2calltree/metadata.xml
new file mode 100644
index 000000000000..603d5e5f4f91
--- /dev/null
+++ b/dev-python/pyprof2calltree/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyprof2calltree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyprof2calltree/pyprof2calltree-1.3.1.ebuild b/dev-python/pyprof2calltree/pyprof2calltree-1.3.1.ebuild
new file mode 100644
index 000000000000..429b3d83f4d0
--- /dev/null
+++ b/dev-python/pyprof2calltree/pyprof2calltree-1.3.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="convert python profile data to kcachegrind calltree form"
+HOMEPAGE="http://pypi.python.org/pypi/pyprof2calltree/"
+SRC_URI="mirror://pypi/p/${PN}/${PF}.tar.gz"
+IUSE=
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyprof2calltree/pyprof2calltree-1.3.2.ebuild b/dev-python/pyprof2calltree/pyprof2calltree-1.3.2.ebuild
new file mode 100644
index 000000000000..429b3d83f4d0
--- /dev/null
+++ b/dev-python/pyprof2calltree/pyprof2calltree-1.3.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="convert python profile data to kcachegrind calltree form"
+HOMEPAGE="http://pypi.python.org/pypi/pyprof2calltree/"
+SRC_URI="mirror://pypi/p/${PN}/${PF}.tar.gz"
+IUSE=
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
new file mode 100644
index 000000000000..856c3e70c254
--- /dev/null
+++ b/dev-python/pyproj/Manifest
@@ -0,0 +1,2 @@
+DIST pyproj-1.9.3.tar.gz 2687498 SHA256 912ed86c5e407f091d0f3d076594af4fb569e27c68199b7d71651edd522aaa0c SHA512 a365da012bf7b9adc8069896bdeabf88ff3d260b643e49b8a74edccc3b65aab10ec96116353fbb45c73ce1027c9b4e80aae566c6b28e149110b16cd8405cda30 WHIRLPOOL b6008b4879722e6e6ce82fbda22a5d8f57e6484f74d2607c19087130f833188ee76d1bc40ffd205babb25b9e7ea983c80bc1bd7555dd83f2473f2950421e7c62
+DIST pyproj-1.9.4.tar.gz 7838454 SHA256 71b4d8c52d781e2b4afe2d3609e9d700cb631ddbf51060bc702644733cc70869 SHA512 96b118e75ba8360ca56176631c44567c7b6596f98189a99bfbdc2d0f8bff1bba814a86d66ac1c54964951a3534c2a5cfb54a0fc4d8eda52c77069a8b64f8db3a WHIRLPOOL 750f466566aab3d2edb155407f37efc7f514901bd782b5be589f1c788059c81c8e17e519d53410be169cec971aa3524268bd86e08f9f90a1e2b742343f6b0ae2
diff --git a/dev-python/pyproj/metadata.xml b/dev-python/pyproj/metadata.xml
new file mode 100644
index 000000000000..60cafbbd17f0
--- /dev/null
+++ b/dev-python/pyproj/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pyproj</remote-id>
+ <remote-id type="pypi">pyproj</remote-id>
+ <remote-id type="github">jswhit/pyproj</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyproj/pyproj-1.9.3-r1.ebuild b/dev-python/pyproj/pyproj-1.9.3-r1.ebuild
new file mode 100644
index 000000000000..f563b867855b
--- /dev/null
+++ b/dev-python/pyproj/pyproj-1.9.3-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to PROJ.4 library"
+HOMEPAGE="http://code.google.com/p/pyproj/ http://pypi.python.org/pypi/pyproj"
+SRC_URI="http://pyproj.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="doc"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyproj/pyproj-1.9.4.ebuild b/dev-python/pyproj/pyproj-1.9.4.ebuild
new file mode 100644
index 000000000000..a1e47073bfdc
--- /dev/null
+++ b/dev-python/pyproj/pyproj-1.9.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to PROJ.4 library"
+HOMEPAGE="http://github.com/jswhit/pyproj"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="doc"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+python_test() {
+ einfo "Testruns do not have regular unittest type tests, instead for test.py,"
+ einfo "the output need be compared with a separate file, sample.out."
+ "${PYTHON}" test/test.py || die
+
+ einfo ""; einfo "Now the file test2.py is run to test pickling"; einfo ""
+ "${PYTHON}" test/test2.py || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyprotocols/Manifest b/dev-python/pyprotocols/Manifest
new file mode 100644
index 000000000000..d4320d036cc2
--- /dev/null
+++ b/dev-python/pyprotocols/Manifest
@@ -0,0 +1 @@
+DIST PyProtocols-1.0a0dev_r2306.tar.gz 218555 SHA256 55241280fdb5c9a00e69c51e0fca2d76214d741843753f00c73bf78ea09db284 SHA512 1f18be9548ae29b6111dccd158f5706f3a1ed7074152e9ef2e0d17caaad2227d3f613b50b602b3b1d47b5db7f53e583fce4e06b3e23916ac0daf7a92bcd66ccc WHIRLPOOL 150bedb9f3f531104efb30bc7c49f1dbfbb6bdde32bb706273c8f0c2513e951fa80bf992b4f58e151185ebfaf26df70aecd5b84e1ba55cf907ee78e9c5788f65
diff --git a/dev-python/pyprotocols/files/SkipTests.patch b/dev-python/pyprotocols/files/SkipTests.patch
new file mode 100644
index 000000000000..7e362678fe4f
--- /dev/null
+++ b/dev-python/pyprotocols/files/SkipTests.patch
@@ -0,0 +1,26 @@
+diff -ur PyProtocols.orig/src/protocols/tests/__init__.py PyProtocols/src/protocols/tests/__init__.py
+--- src/protocols/tests/__init__.py 2007-04-25 12:15:46.000000000 +0800
++++ src/protocols/tests/__init__.py 2013-04-10 19:22:28.720647271 +0800
+@@ -256,22 +256,6 @@
+ makeSuite(GenerationTests,'check'),
+ ]
+
+- try:
+- import zope.interface
+- except ImportError:
+- pass
+- else:
+- from protocols.tests import test_zope
+- tests.append( test_zope.test_suite() )
+-
+- try:
+- from twisted.python.components import Interface
+- except (ImportError, SystemError):
+- pass
+- else:
+- from protocols.tests import test_twisted
+- tests.append( test_twisted.test_suite() )
+-
+ return TestSuite(
+ tests
+ )
diff --git a/dev-python/pyprotocols/metadata.xml b/dev-python/pyprotocols/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyprotocols/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyprotocols/pyprotocols-1.0_pre2306-r1.ebuild b/dev-python/pyprotocols/pyprotocols-1.0_pre2306-r1.ebuild
new file mode 100644
index 000000000000..6868e3adee72
--- /dev/null
+++ b/dev-python/pyprotocols/pyprotocols-1.0_pre2306-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic eutils
+
+MY_PN="PyProtocols"
+MY_P="${MY_PN}-${PV/_pre/a0dev_r}"
+
+DESCRIPTION="Extends the PEP 246 adapt function with a new 'declaration API'"
+HOMEPAGE="http://peak.telecommunity.com/PyProtocols.html http://pypi.python.org/pypi/PyProtocols \
+ http://svn.eby-sarna.com/PyProtocols/"
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
+
+LICENSE="|| ( PSF-2 ZPL )"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/decoratortools-1.4[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ >=dev-python/pyrex-0.9.9[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_PN}"
+
+DOCS=( CHANGES.txt README.txt UPGRADING.txt )
+
+python_prepare_all() {
+ # Rm peripheral & rogue failing tests
+ rm -f src//protocols/tests/{test_twisted.py,test_zope.py} || die
+ epatch "${FILESDIR}"/SkipTests.patch
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_test() {
+ esetup.py test && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pyptlib/Manifest b/dev-python/pyptlib/Manifest
new file mode 100644
index 000000000000..68b3a3ddc0c2
--- /dev/null
+++ b/dev-python/pyptlib/Manifest
@@ -0,0 +1 @@
+DIST pyptlib-0.0.6.tar.gz 239316 SHA256 b98472e3d9e8f4689d3913ca8f89afa5e6cc5383dcd8686987606166f9dac607 SHA512 f54ee3ae51f2d6884b0157f8cec3e9af267f926e50728478b961551d069fc6c4a2840d59e74d5b0f93b4bb305d9f91f31b91fa4425d1931688ffc5783f6192f9 WHIRLPOOL 1144479085e6f9a762638e6b0adee886b7446362233e246a494523ef53afeb394f6d00db0d5cb425491ae1f2e2db60499c05d03a162079e6357deb224bb938ef
diff --git a/dev-python/pyptlib/metadata.xml b/dev-python/pyptlib/metadata.xml
new file mode 100644
index 000000000000..d59896409bc9
--- /dev/null
+++ b/dev-python/pyptlib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyptlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyptlib/pyptlib-0.0.6.ebuild b/dev-python/pyptlib/pyptlib-0.0.6.ebuild
new file mode 100644
index 000000000000..6f792c38696f
--- /dev/null
+++ b/dev-python/pyptlib/pyptlib-0.0.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for tor's pluggable transport managed-proxy protocol"
+HOMEPAGE="https://gitweb.torproject.org/pluggable-transports/pyptlib.git"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DOCS=( README.rst TODO )
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest
new file mode 100644
index 000000000000..ea0f28bd8ea5
--- /dev/null
+++ b/dev-python/pypy-bin/Manifest
@@ -0,0 +1,33 @@
+DIST pypy-2.3.1-src.tar.bz2 15225332 SHA256 3fd10d97c0177c33ed358a78eb26f5bf1f91b266af853564b1a9d8c310a1e439 SHA512 86aab86c5f413cdd6a56680915605de5c1416255b43a8dce1b4dcf8f1febdb3275076a4a9c7de30002387d59e4171a52da2528436eb205d8d947de7edd049c65 WHIRLPOOL c78d41240f1803d9461f797fd0ef647a40a6990a4e3a504e80a0eaaf460d052bb60fe6240cacdb3ee8737500c9c7f418b1d55c619d01ac7b73aace3d82157aa6
+DIST pypy-2.4.0-src.tar.bz2 15495214 SHA256 38810007aee4885ca0703b566db6594dd7649adaaa287df7a1012f10e067740f SHA512 91b41ed80a6ff0d7b2b134a7802f098de35ffd2068dc3e477d27b0bc821c6d329eb8bcad4db4a5ff9ff429830d4abfbeb435a2a2d2d9bbc2c36f2d21af0b2e0c WHIRLPOOL affb14b805b2dcb8b579dd421bfb8276e80d3b31cea41bf57ad5dd9260e2e27d838b0303e4a3af5ca38b0b4f08ac88b142d6f1db20753bec6f8cbfdfc482099b
+DIST pypy-2.5.1-src.tar.bz2 16740876 SHA256 ddb3a580b1ee99c5a699172d74be91c36dda9a38946d4731d8c6a63120a3ba2a SHA512 ac4cab47566d7d4e1a293a680e0dffa301c99a8329c2e68f645f186c0266cbe8f045a03e392c0cc2112a16178037cd978b7867ad073bf5dd957dd19f4c818067 WHIRLPOOL 6f16c4090780081dfe1d4642186262c66d4ac1a4b3b8311e573bfa6029eb7aac0483b3e48cad5ce03879391a4e316c0186d33fac5e86d0024ff20cc6d4dc0dd3
+DIST pypy-2.6.0-src.tar.bz2 16858400 SHA256 9bf353f22d25e97a85a6d3766619966055edea1ea1b2218445d683a8ad0399d9 SHA512 82a6a44c0c551a1291215394610e5331cf83216b38ac9f1a79a3eab53ba2933b121c3154b58cead814c73a1da1fc95d895324bb0c43e8e0429438b0dea527cc4 WHIRLPOOL e536ff5d3b393c6834fd721f383318b5dcef79046f475b0f1fe737c67c56e8769cabc0a35f553da5dc475a255c5711de01bd6d42e541cabbab3b9e30f20c9a5c
+DIST pypy-bin-2.3.1-r1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 10724632 SHA256 e897fce8057d6ffd8a8f66ddd3736d82c4edae9e30bf0622b5695c083a5f249d SHA512 b3b9ccb63bf2922c734874d745a40c49d5af1e9d9a3a1188c31040fef20faf4fdc00ac1be90ed35848e09bf86dfe5552a720b7c5c4d845777fc85479b515dac6 WHIRLPOOL 583864f5923dc0e0ee59e2397d1ed0f7ecd027605470bb2462f70b40338167f932a235fc40bf0b7349d9facdb7b1a07d86ff46ccc296acc3bb0f21cf7f8709e9
+DIST pypy-bin-2.3.1-r1-amd64+bzip2+jit+ncurses.tar.xz 12234132 SHA256 2169569b4f85869607d4ba7fa57852f954815a9bbb344da4fa842fbc59e4081a SHA512 7484fa22d79dfb1970c926fa27579184f3a38548d8072c49f239f31a8dc5549786776c27c0aa28583736f144e16ea0edb6fb8be81c0e394af783c6916e775cc1 WHIRLPOOL 3b1124526531cbf86e503933e8294ad7d11cb0993c1d103c59ced46830323e7e7c540194a13880d46b730e7b6498b1b48a1a902766948d28379ccf1020f05f35
+DIST pypy-bin-2.3.1-r1-amd64+bzip2+ncurses.tar.xz 6893836 SHA256 e547e1c5674e53e955373f44ab2ef7ef81f0f3f27240070e634c72b666428456 SHA512 5cb35f6a88aea9e92a8bbbdd873235e8b0b5bcce52d749dd80f68ddb7127eae27122ece74e13c4a2360a0dd65449fa7207a5279f0195732946f7ce8f8aa54142 WHIRLPOOL 4eaa864a456fc29a3731801901f93b62b559eb1bd5867f790840f8f8de1c98fa63bc17bd3dec0f9de82d8f639c2ecf8d3831555503c0089a727ff820c525b24a
+DIST pypy-bin-2.3.1-r1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9114380 SHA256 9e30512444e889236d2bf762a2378da4a79e9b7c055e525a786380fa6fe391c4 SHA512 1175552bd4abde9bc71ef212c3f817f12e5c1815afe02b43d2834e2ae1cdc358d90701f8db667feabdd13009a955a12fabbe88fa441c12cc02fba4757c84056d WHIRLPOOL db927c10627fade821891fda8333ebcb3b0ead64df6bb38ec7482a5aaa8eff3a2b3b4ee0734c541431dcc7492f24424f42a54d48dc3bbd2d26d669ada776d626
+DIST pypy-bin-2.3.1-r1-x86+bzip2+jit+ncurses+sse2.tar.xz 10074824 SHA256 1a15019bf2c1bff57833c0061e2074e48222142919d32b5e8349f5fc2d2a7dc9 SHA512 a99e880e08ecb0cb802ad78f4c6b20017710875503a1fb73bc3e8c5a7710bbbe1d2d3f57f129b4e815fb9576a5dd92731eccd485915f9f036a227aeaecc8a270 WHIRLPOOL 193e0b219e7398a4937d092684447d633dfc66dfbff5c174280bed6b0e31d4230c6c9847de6fed0ddebfa96e9e76aa5edffb0899542c0cabfc688ad24b9c24ce
+DIST pypy-bin-2.3.1-r1-x86+bzip2+ncurses+sse2.tar.xz 5996472 SHA256 cefe34845216e5d7f5a51e318c5449aad867987044849e61fda0ce5486e68c5f SHA512 df07645f87d29b75da9f9d2213922562b4059ebad23da43d8d0eecc3e5fb95feef990e76e54c2dd86712a253db41d64a70d464f9ff7d8e1fa72aae648c888b92 WHIRLPOOL d806f691fc0200b9d470e6508c4217203892ccc7f2f34045952ce111b2a8ec2027d14e6030cee22c3681817b8f6d66ada49fdb62b32a583751494fd605b08dc5
+DIST pypy-bin-2.3.1-r1-x86+bzip2+ncurses.tar.xz 6025904 SHA256 e8aa0fa467daca78cb0231339d3267ecc396faf7b7b992b160bb65f76b65ba19 SHA512 291d11f2cf9115601dcec95876975d694cffe6b8d156ef91463d17d0de26b13d9ad0d773fdf4f126a9a24fc5fe41dc254df36a51e0f1dd8c1c5fa81155d128f2 WHIRLPOOL 98a8e68fdfea8be8efdd2445aa449f3d32731eb6ab2727454e4c0474025316ce43dfbd0bb2fab3cff698401994c76444133e95df3590894cc733f97f3f541539
+DIST pypy-bin-2.4.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 10238896 SHA256 158ebb6bef9e77c0ea84ade4449717a608f3e2378b18a198a15187f49f240262 SHA512 3baa4387336ee343949ff7a04de236ef6da1446efa9ae565a61abd6d5d3915d54b51d91d4958b8c1ec61d894943804ea1158c0618349fc4c9e52a8956a4afa56 WHIRLPOOL a2803b6f42a35b74761af918be7c33a460bac246fdaba3c1ca34b3dcff6bbe1f68a1a4299123ce167664516b7e29bc8450cdb6be196313657f2178259b3783a6
+DIST pypy-bin-2.4.0-amd64+bzip2+jit+ncurses.tar.xz 11771744 SHA256 4a05b8819486693c83af7cf45092926526f5511615b6d4181f72e11ac240f263 SHA512 d8e5c1c1721935fe73254fc3037176ad3c71d96acd55d8bcd15bc7b317a72261b7e08a6ae28cb62bfb2203f06b13839670b5da3e435cd87c0f65fea259be2732 WHIRLPOOL 496f244487146e1acd34981b3ec4af81590b136b884f0cb698fc35698cadfad1e278ad627563fd643294c49e1ea27f05c180dd05b3f6d2d4079527775ef4ec90
+DIST pypy-bin-2.4.0-amd64+bzip2+ncurses.tar.xz 6596304 SHA256 f2f2fa539ec1f3fd048bd81bb5fa54f260980fe9689c578f134f39ecf00aa027 SHA512 e8603ba08a11c1cbd9d3af824aca1c4ae7b61d46879b398d5d18428bc438c2e0bd0fd9ecd83f100715b635968eee3805db18a42ab62fbc10d8cd0186b6998431 WHIRLPOOL 2758fc778a1f9e5db966aa1e5a47a8da8c1fbb5882aa74ba9709c23e1b3a546c826de8ea4ba83e5baae262a51636d7201445102c97d4c749a98805a46aeac9ba
+DIST pypy-bin-2.4.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 8596232 SHA256 3fded027e8e70fc11ec793b99ec18bde7893c54122492e5599fea59049b3a5fb SHA512 bac9647580cbee99e327d436a02c038a621aa6f4b2635b3a392218c76a0690bb9a8f3a3f79520c716cffd30a613874a1104114c287e130e2c0eadb5f3a5b05bd WHIRLPOOL 00f646d55093ea07abfe1f8ac9e354f8bb39a2dd3fe2925436583ad6209e6da0c34476b29832de4274dfe516d70db5ea6345e23532925ed09360464d4405b926
+DIST pypy-bin-2.4.0-x86+bzip2+jit+ncurses+sse2.tar.xz 9511800 SHA256 5178ce53d9da16a0d989797dd909677aaec4a8d4a936a4d27d8be1ea248489d9 SHA512 4910c72ea0b0849245657772eebfc598779f4a3eb077cec7d6e735c8aae3564ab064f9462fb0576f18792df2459d6c8f372578803497a83e4525671ffe0f8054 WHIRLPOOL 1ae421817e5f5f30ae7e9c446b4afe024de7d271a4fd8185002240e942c96dae93d45e80f6fe794dcb4a1c542a5b2ba76ab1ee81702e501de53861901ba7092b
+DIST pypy-bin-2.4.0-x86+bzip2+ncurses+sse2.tar.xz 5655980 SHA256 fcfbd71b903e9c6a26cd6590090d8d0c2f8c507e9f4650f7972f36a8ef86fcc6 SHA512 45d71f2d785a65091c9f25376bcb2f7f7e02cf1f00111fcb4b0a3bf0fc5e56947be7f66f5281744de31424f9e0b7249523a4bcd5fec7bf4f3c829b66598b02af WHIRLPOOL a9fef84296f9e77062b0e0cb17537615a02f3ba7d0ed804cf63cce9baf7c1ab843b326301bde5e5a33744b716ea0efd4619e9ba55c0387acfa1622aa11b875de
+DIST pypy-bin-2.4.0-x86+bzip2+ncurses.tar.xz 5634780 SHA256 2d0494fdab270c26efbe84fa42118b822b3fc021940e2d260a5c39938dcbed8d SHA512 672468e436646ed0334352addeda824ddd76a4cf1ad46231983aec7b697ae6ef2cc2b9072ae5149b4b0987b06caade65ab8bf67ca1dea10219030a9b3fd5b4b4 WHIRLPOOL 003bf4ef085b01c6625f43d34bdcfc2fa035e93373197c67540548856b160db39aed8f0a319ff3f77063dbb8abd2b6a4b412dccbab8c6a70689cf701cf98c4cc
+DIST pypy-bin-2.5.1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12366684 SHA256 14e7667b36da045c5eb6758e68d0647ba6eb9804125ad9bb9425891492012b5a SHA512 6b4abd9f8546a7e39670c8d0a00bd1f4eb5ee860eda5e6d16fc64a4b8259e8c784ac4ea567b4dad84d2ff3c72a48b07836720aaee8e608f7e7ecb2b2fcf20f89 WHIRLPOOL f2517cfd7d7d46208c8cfcdb2adcfed7c1782fd014179addc9da6842070d8d90c193bedecb20538a8330c9ae31df73fe1abf9b22727aebd0770fc3caa6e0163c
+DIST pypy-bin-2.5.1-amd64+bzip2+jit+ncurses.tar.xz 14282808 SHA256 be3f365d6250a600e7494b687f41f1632774fa08938dac09cf61da1cdc331079 SHA512 41d81febca05ad6df500e1a8ff712c77ef920ae244ea48523bf637022a0a6ea07663723c284c3b2d9c7893777be4dd2266369b51c583bee9c7e42d53f4bf5c10 WHIRLPOOL 7d3719ba751f5a9b7056aa2be341823a8bacffb851f549d873ad269bc15445a7805105d201b27429247402126c2ba207bad602532372baf7053372219fbda2b2
+DIST pypy-bin-2.5.1-amd64+bzip2+ncurses.tar.xz 7298184 SHA256 4f19b38509644ebf855eabf794f89fcf83fff22d7e8b50d471a7018ce4d98f80 SHA512 45ee8a21d106b035c98bb812664b3687cfeb5eb4dfd429d84b6ee66d035692f94ca6e23ce28e68dc2c243af7008287e1cfa8f76b32b166db0af40cc206ca7168 WHIRLPOOL 7f8f86a861beb297d4081681669ae900b0fd743c76d69b695194708f192d2e00741314cd35010d71c6a7838672e223896058c34d1665777c4e4b195d74bd8474
+DIST pypy-bin-2.5.1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9521220 SHA256 90fc72bd6333ef805bb996badc5a954fa1ecc7bb3d43ff655cba86db533ec8e7 SHA512 ece7fd6f126c8923854fdd5c05a343ec77a79a342f17588b66eb475ade9541190144d4beb7d57ab4437581109c4d74648fe941ec392bb939e325ee8f87bfd768 WHIRLPOOL 12b28e947a732bc5403a41638aa4c9167424ae70d4b620b91bfc2968daa449c03ebc8cc06e89992c4916e091987d9801b86dba9cf62a22b3a3965f547dec5602
+DIST pypy-bin-2.5.1-x86+bzip2+jit+ncurses+sse2.tar.xz 11702676 SHA256 ccd17d468a1e5a33e7f45ca542644d4ea4f24f8c070cc85264aea430c31b0f7c SHA512 70da9139476b1c0d05464b54001c276018ab70c41d2032d7b1b82a1ed88d697646f476a4589ec7b2ba1faca5a3ed751c22582939adb6f7bdcab93bc8b201d8ee WHIRLPOOL 4c816821c8c54d3762939a70718bcc0fbbd194e98b1efea25899e1dc1f31b037a798c02bb684c8d86ae1bfcb5a5f93ede3dd67c07fe6b112b1a99ced83b7999b
+DIST pypy-bin-2.5.1-x86+bzip2+ncurses+sse2.tar.xz 5687144 SHA256 bcb27dbd3c6158970c705be18c162442b0b655a09af564ea12e1492559ee4f0a SHA512 524a638373079789ca97d9a5dbbe2a68e5123945d2c730408cc3b693b5182c16223b320581936b644f2e54b1b37e8f8b9f4ab6b6834483ff6462fea2572cf180 WHIRLPOOL ba73cf944180a6925ff9d429f3f6c1404e7ba24c0257ac45b7e0d449bd73c95742cc0a41901d2420ed811e62012b5a7d177c9f724fe6bee010b21ad1b7906079
+DIST pypy-bin-2.5.1-x86+bzip2+ncurses.tar.xz 5725788 SHA256 668339be67618d47aaf7a64cca6900b53b74fc23e411afed9911ef5d12401de4 SHA512 56f0a200386ee97a1d4bacab43a2b0b71a9d8aae519b9b6480a982757852ef9aa8faa53490088704398507a559af05af590e778a0284c9adfbfe151c9da556b3 WHIRLPOOL 180aa2265fb2eb9b3db86e977bcc8c09d076facf17c42de0a6eb4b0a4a753643634fa742cef37aa52e814127d5d9dfee39cc71ee844482d7cb2ee29abc1c2c33
+DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12713852 SHA256 5a23efc74a73f2073d14975949b29b46f85eb815e40fe617d788bcc8463914c2 SHA512 3dbb73047365ab39f328b1c48f370015577ac68aa8ae331d2f49b89a65f2146fa9f53629c33e424ca3949e03caf1b7616c852bd65f49a635a0a3d600f1f252ae WHIRLPOOL fdb1f43231a2e0b99f9a4db6077cda172160514b8504def1f925a66521033a522710b68f7755363701639069bb8d20edfc627dc4fb8c04015b78214581c0999d
+DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses.tar.xz 13707848 SHA256 f989708173de093a9d98f190b249a8ed32642fe96ace548f231457e4c743ce57 SHA512 c45cc995349f30630ae14171125bb2ddf8974a77eb817f01a0d86845050832932ca00f3d2c0fcabb15649d3b19a19cfa55d515a90e750d507828ec598aaf998e WHIRLPOOL 3e07920c7bbc9217dccbad948dd404af808c441a725c804e90b2a427fb37fbaaa08dbe12f1ad970292b301e4dd2c0014442761839290a8c7f39a3a11bf6a4019
+DIST pypy-bin-2.6.0-amd64+bzip2+ncurses.tar.xz 7440860 SHA256 b86d2c6939949c16f745729082ee35ef221a48d745f98d0d9a09897187412ca9 SHA512 de9bfe9ddd342e806c59477e333c22afc672175fa3207519379c71d8d359b004a187ac0ed59211347beb562802daa05ba4e6cbb08dd8ad3587c2c9be41ed1307 WHIRLPOOL d62aec345b8a98b3ab790a2588108745c4e0203e8a76580ee700c2379b22215b141141c31d41ab211c451713aadebf05ae0f9cdd1e2b318b73e43a6f2a5ff76f
+DIST pypy-bin-2.6.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9727668 SHA256 24166748d0aeb7d6943ba0441d5c545c9a7b526e7822ee7f128cfb80321bb379 SHA512 88ebe86b81e85b22213cfda7a2edf3f7deff29c080cef3688d4abaa719117cde168164e08d68cdc9bcfe4a5fd80ee2d19951b42aa4534d37fc79bd7fbb30cf5f WHIRLPOOL 07847adca7fc29165a8d12a3d7eeade9360370a2001fda8af9015b67c451056e15c742aa5d9d143d89dd17b11feaac9b850b6291b691bbd0e2dfa0dde46829b8
+DIST pypy-bin-2.6.0-x86+bzip2+jit+ncurses+sse2.tar.xz 10769552 SHA256 c985a47cf30b272b2b18794f1274af9d7f83037780545c6076b50e5df4ed5161 SHA512 b2a4d62133022b4677c869e345068eb312e71f1bd7f4351131fa9b0874903d6c81f22db47ec8e717b8243997263219d52b67135d7becba7a5c8f6d2ac3f9179c WHIRLPOOL 4e62d8a943faee2fbb2d34e077ab8292cd3a985347ded90fef83740ce26f6e9e1265a77b736f831df0f48da58b047b92363bbb646cfe0322045ebf2521c63e14
+DIST pypy-bin-2.6.0-x86+bzip2+ncurses+sse2.tar.xz 5823376 SHA256 c0e6d23ae866aa7c272891b755b197f37c9be9c59666e74be86a7c68bec2e9b8 SHA512 227da4e84f915c4aa8e176a3535e97968dbbc4eab93ab092ad8c70841a60d00ce15e4579222f777f75a06f1022b3f54b1f4a490fdd25886dc087df581d5ae0df WHIRLPOOL d44c3005f0b6103cfb700390a44b08bbac1118ec9e7930a6e050b36f5d806019a716f7a46aa1b32e39f036453967d16feb6b587950c34cf6b5f9d55b54819577
+DIST pypy-bin-2.6.0-x86+bzip2+ncurses.tar.xz 5801592 SHA256 fd3ad04815cda1f2746a2dfa9c02f5394f73011fd1247016e6a6d760cef30dab SHA512 b23afff4ba9c9dd2246b3305de8274699a00db8d0bc38d59641414fde0680695373cda12fbd4091f6a06df6c4ce548355b7cdadb299a0ba9a0efedd90680df21 WHIRLPOOL 3554ff89fbe434e099d95c528d1b2414decd46b802f357f187fb21835a8b4c8fe5b10001ad311827d01bbbf71dcf1cf89bd9e081dbbe1706f2727bf35ca0337b
+DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9
diff --git a/dev-python/pypy-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
new file mode 100644
index 000000000000..b3d5235000d5
--- /dev/null
+++ b/dev-python/pypy-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
@@ -0,0 +1,11 @@
+--- lib-python/2.7/distutils/unixccompiler.py
++++ lib-python/2.7/distutils/unixccompiler.py
+@@ -297,7 +297,7 @@
+ # this time, there's no way to determine this information from
+ # the configuration data stored in the Python installation, so
+ # we use this hack.
+- compiler = os.path.basename(sysconfig.get_config_var("CC"))
++ compiler = os.path.basename(self.compiler[0])
+ if sys.platform[:6] == "darwin":
+ # MacOSX's linker doesn't understand the -R flag at all
+ return "-L" + dir
diff --git a/dev-python/pypy-bin/files/1.9-scripts-location.patch b/dev-python/pypy-bin/files/1.9-scripts-location.patch
new file mode 100644
index 000000000000..5f0190d9a20f
--- /dev/null
+++ b/dev-python/pypy-bin/files/1.9-scripts-location.patch
@@ -0,0 +1,11 @@
+--- pypy-pypy-release-1.7/lib-python/2.7/distutils/command/install.py
++++ pypy-pypy-release-1.7/lib-python/2.7/distutils/command/install.py
+@@ -87,7 +87,7 @@
+ 'purelib': '$base/site-packages',
+ 'platlib': '$base/site-packages',
+ 'headers': '$base/include',
+- 'scripts': '$base/bin',
++ 'scripts': '/usr/bin',
+ 'data' : '$base',
+ },
+ }
diff --git a/dev-python/pypy-bin/files/2.3-21_all_distutils_c++.patch b/dev-python/pypy-bin/files/2.3-21_all_distutils_c++.patch
new file mode 100644
index 000000000000..2787360c15be
--- /dev/null
+++ b/dev-python/pypy-bin/files/2.3-21_all_distutils_c++.patch
@@ -0,0 +1,321 @@
+http://bugs.python.org/issue1222585
+
+--- Lib/distutils/cygwinccompiler.py
++++ Lib/distutils/cygwinccompiler.py
+@@ -117,8 +117,10 @@
+ # dllwrap 2.10.90 is buggy
+ if self.ld_version >= "2.10.90":
+ self.linker_dll = "gcc"
++ self.linker_dll_cxx = "g++"
+ else:
+ self.linker_dll = "dllwrap"
++ self.linker_dll_cxx = "dllwrap"
+
+ # ld_version >= "2.13" support -shared so use it instead of
+ # -mdll -static
+@@ -132,9 +134,13 @@
+ self.set_executables(compiler='gcc -mcygwin -O -Wall',
+ compiler_so='gcc -mcygwin -mdll -O -Wall',
+ compiler_cxx='g++ -mcygwin -O -Wall',
++ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
+ linker_exe='gcc -mcygwin',
+ linker_so=('%s -mcygwin %s' %
+- (self.linker_dll, shared_option)))
++ (self.linker_dll, shared_option)),
++ linker_exe_cxx='g++ -mcygwin',
++ linker_so_cxx=('%s -mcygwin %s' %
++ (self.linker_dll_cxx, shared_option)))
+
+ # cygwin and mingw32 need different sets of libraries
+ if self.gcc_version == "2.91.57":
+@@ -160,8 +166,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -327,9 +337,14 @@
+ self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
+ compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+ compiler_cxx='g++%s -O -Wall' % no_cygwin,
++ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
+ linker_exe='gcc%s' % no_cygwin,
+ linker_so='%s%s %s %s'
+ % (self.linker_dll, no_cygwin,
++ shared_option, entry_point),
++ linker_exe_cxx='g++%s' % no_cygwin,
++ linker_so_cxx='%s%s %s %s'
++ % (self.linker_dll_cxx, no_cygwin,
+ shared_option, entry_point))
+ # Maybe we should also append -mthreads, but then the finished
+ # dlls need another dll (mingwm10.dll see Mingw32 docs)
+--- Lib/distutils/emxccompiler.py
++++ Lib/distutils/emxccompiler.py
+@@ -65,8 +65,12 @@
+ # XXX optimization, warnings etc. should be customizable.
+ self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ linker_exe='gcc -Zomf -Zmt -Zcrtdll',
+- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
++ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
++ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
++ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
+
+ # want the gcc library statically linked (so that we don't have
+ # to distribute a version dependent on the compiler we have)
+@@ -83,8 +87,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+--- Lib/distutils/sysconfig_cpython.py
++++ Lib/distutils/sysconfig_cpython.py
+@@ -170,10 +170,12 @@
+ _osx_support.customize_compiler(_config_vars)
+ _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+
+- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
+- 'ARFLAGS')
++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'SO', 'AR', 'ARFLAGS')
++
++ cflags = ''
++ cxxflags = ''
+
+ if 'CC' in os.environ:
+ newcc = os.environ['CC']
+@@ -188,19 +190,27 @@
+ cxx = os.environ['CXX']
+ if 'LDSHARED' in os.environ:
+ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
+ if 'CPP' in os.environ:
+ cpp = os.environ['CPP']
+ else:
+ cpp = cc + " -E" # not always
+ if 'LDFLAGS' in os.environ:
+ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+ if 'CFLAGS' in os.environ:
+- cflags = opt + ' ' + os.environ['CFLAGS']
++ cflags = os.environ['CFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+ if 'CPPFLAGS' in os.environ:
+ cpp = cpp + ' ' + os.environ['CPPFLAGS']
+ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+ if 'AR' in os.environ:
+ ar = os.environ['AR']
+ if 'ARFLAGS' in os.environ:
+@@ -209,13 +219,17 @@
+ archiver = ar + ' ' + ar_flags
+
+ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
+ compiler.set_executables(
+ preprocessor=cpp,
+ compiler=cc_cmd,
+ compiler_so=cc_cmd + ' ' + ccshared,
+- compiler_cxx=cxx,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+ linker_so=ldshared,
+ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx,
+ archiver=archiver)
+
+ compiler.shared_lib_extension = so_ext
+--- Lib/distutils/unixccompiler.py
++++ Lib/distutils/unixccompiler.py
+@@ -55,14 +55,17 @@
+ # are pretty generic; they will probably have to be set by an outsider
+ # (eg. using information discovered by the sysconfig about building
+ # Python extensions).
+- executables = {'preprocessor' : None,
+- 'compiler' : ["cc"],
+- 'compiler_so' : ["cc"],
+- 'compiler_cxx' : ["cc"],
+- 'linker_so' : ["cc", "-shared"],
+- 'linker_exe' : ["cc"],
+- 'archiver' : ["ar", "-cr"],
+- 'ranlib' : None,
++ executables = {'preprocessor' : None,
++ 'compiler' : ["cc"],
++ 'compiler_so' : ["cc"],
++ 'compiler_cxx' : ["c++"],
++ 'compiler_so_cxx' : ["c++"],
++ 'linker_so' : ["cc", "-shared"],
++ 'linker_exe' : ["cc"],
++ 'linker_so_cxx' : ["c++", "-shared"],
++ 'linker_exe_cxx' : ["c++"],
++ 'archiver' : ["ar", "-cr"],
++ 'ranlib' : None,
+ }
+
+ if sys.platform[:6] == "darwin":
+@@ -112,12 +115,19 @@
+
+ def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+ compiler_so = self.compiler_so
++ compiler_so_cxx = self.compiler_so_cxx
+ if sys.platform == 'darwin':
+ compiler_so = _osx_support.compiler_fixup(compiler_so,
+ cc_args + extra_postargs)
++ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++ cc_args + extra_postargs)
+ try:
+- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -174,23 +184,16 @@
+ ld_args.extend(extra_postargs)
+ self.mkpath(os.path.dirname(output_filename))
+ try:
+- if target_desc == CCompiler.EXECUTABLE:
+- linker = self.linker_exe[:]
++ if target_lang == "c++":
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe_cxx[:]
++ else:
++ linker = self.linker_so_cxx[:]
+ else:
+- linker = self.linker_so[:]
+- if target_lang == "c++" and self.compiler_cxx:
+- # skip over environment variable settings if /usr/bin/env
+- # is used to set up the linker's environment.
+- # This is needed on OSX. Note: this assumes that the
+- # normal and C++ compiler have the same environment
+- # settings.
+- i = 0
+- if os.path.basename(linker[0]) == "env":
+- i = 1
+- while '=' in linker[i]:
+- i = i + 1
+-
+- linker[i] = self.compiler_cxx[i]
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe[:]
++ else:
++ linker = self.linker_so[:]
+
+ if sys.platform == 'darwin':
+ linker = _osx_support.compiler_fixup(linker, ld_args)
+--- Lib/_osx_support.py
++++ Lib/_osx_support.py
+@@ -14,13 +14,13 @@
+ # configuration variables that may contain universal build flags,
+ # like "-arch" or "-isdkroot", that may need customization for
+ # the user environment
+-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS')
++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
++ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
++ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
+
+ # configuration variables that may contain compiler calls
+-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
+
+ # prefix added to original configuration variable names
+ _INITPRE = '_OSX_SUPPORT_INITIAL_'
+--- a/distutils/sysconfig_pypy.py
++++ b/distutils/sysconfig_pypy.py
+@@ -123,7 +123,55 @@
+ optional C speedup components.
+ """
+ if compiler.compiler_type == "unix":
+- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
++ cc = ' '.join(compiler.compiler)
++ cxx = ' '.join(compiler.compiler_cxx)
++ ldshared = ' '.join(compiler.linker_so)
++ ldcxxshared = ' '.join(compiler.linker_so_cxx)
++
++ cflags = ''
++ cxxflags = ''
++ ccshared = '-fPIC'
++
++ if 'CC' in os.environ:
++ cc = os.environ['CC']
++ if 'CXX' in os.environ:
++ cxx = os.environ['CXX']
++ if 'LDSHARED' in os.environ:
++ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
++ if 'CPP' in os.environ:
++ cpp = os.environ['CPP']
++ else:
++ cpp = cc + " -E" # not always
++ if 'LDFLAGS' in os.environ:
++ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
++ if 'CFLAGS' in os.environ:
++ cflags = os.environ['CFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
++ if 'CPPFLAGS' in os.environ:
++ cpp = cpp + ' ' + os.environ['CPPFLAGS']
++ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
++
++ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
++ compiler.set_executables(
++ preprocessor=cpp,
++ compiler=cc_cmd,
++ compiler_so=cc_cmd + ' ' + ccshared,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
++ linker_so=ldshared,
++ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx)
+ compiler.shared_lib_extension = get_config_var('SO')
+ if "CPPFLAGS" in os.environ:
+ cppflags = shlex.split(os.environ["CPPFLAGS"])
diff --git a/dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch b/dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch
new file mode 100644
index 000000000000..aa298d0df646
--- /dev/null
+++ b/dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch
@@ -0,0 +1,324 @@
+http://bugs.python.org/issue1222585
+
+--- _osx_support.py
++++ _osx_support.py
+@@ -14,13 +14,13 @@
+ # configuration variables that may contain universal build flags,
+ # like "-arch" or "-isdkroot", that may need customization for
+ # the user environment
+-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS')
++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
++ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
++ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
+
+ # configuration variables that may contain compiler calls
+-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
+
+ # prefix added to original configuration variable names
+ _INITPRE = '_OSX_SUPPORT_INITIAL_'
+--- distutils/sysconfig_pypy.py
++++ distutils/sysconfig_pypy.py
+@@ -123,7 +123,55 @@
+ optional C speedup components.
+ """
+ if compiler.compiler_type == "unix":
+- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
++ cc = ' '.join(compiler.compiler)
++ cxx = ' '.join(compiler.compiler_cxx)
++ ldshared = ' '.join(compiler.linker_so)
++ ldcxxshared = ' '.join(compiler.linker_so_cxx)
++
++ cflags = ''
++ cxxflags = ''
++ ccshared = '-fPIC'
++
++ if 'CC' in os.environ:
++ cc = os.environ['CC']
++ if 'CXX' in os.environ:
++ cxx = os.environ['CXX']
++ if 'LDSHARED' in os.environ:
++ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
++ if 'CPP' in os.environ:
++ cpp = os.environ['CPP']
++ else:
++ cpp = cc + " -E" # not always
++ if 'LDFLAGS' in os.environ:
++ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
++ if 'CFLAGS' in os.environ:
++ cflags = os.environ['CFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
++ if 'CPPFLAGS' in os.environ:
++ cpp = cpp + ' ' + os.environ['CPPFLAGS']
++ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
++
++ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
++ compiler.set_executables(
++ preprocessor=cpp,
++ compiler=cc_cmd,
++ compiler_so=cc_cmd + ' ' + ccshared,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
++ linker_so=ldshared,
++ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx)
+ compiler.shared_lib_extension = get_config_var('SO')
+ if "CPPFLAGS" in os.environ:
+ cppflags = shlex.split(os.environ["CPPFLAGS"])
+--- distutils/cygwinccompiler.py
++++ distutils/cygwinccompiler.py
+@@ -117,8 +117,10 @@
+ # dllwrap 2.10.90 is buggy
+ if self.ld_version >= "2.10.90":
+ self.linker_dll = "gcc"
++ self.linker_dll_cxx = "g++"
+ else:
+ self.linker_dll = "dllwrap"
++ self.linker_dll_cxx = "dllwrap"
+
+ # ld_version >= "2.13" support -shared so use it instead of
+ # -mdll -static
+@@ -132,9 +134,13 @@
+ self.set_executables(compiler='gcc -mcygwin -O -Wall',
+ compiler_so='gcc -mcygwin -mdll -O -Wall',
+ compiler_cxx='g++ -mcygwin -O -Wall',
++ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
+ linker_exe='gcc -mcygwin',
+ linker_so=('%s -mcygwin %s' %
+- (self.linker_dll, shared_option)))
++ (self.linker_dll, shared_option)),
++ linker_exe_cxx='g++ -mcygwin',
++ linker_so_cxx=('%s -mcygwin %s' %
++ (self.linker_dll_cxx, shared_option)))
+
+ # cygwin and mingw32 need different sets of libraries
+ if self.gcc_version == "2.91.57":
+@@ -160,8 +166,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -327,9 +337,14 @@
+ self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
+ compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+ compiler_cxx='g++%s -O -Wall' % no_cygwin,
++ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
+ linker_exe='gcc%s' % no_cygwin,
+ linker_so='%s%s %s %s'
+ % (self.linker_dll, no_cygwin,
++ shared_option, entry_point),
++ linker_exe_cxx='g++%s' % no_cygwin,
++ linker_so_cxx='%s%s %s %s'
++ % (self.linker_dll_cxx, no_cygwin,
+ shared_option, entry_point))
+ # Maybe we should also append -mthreads, but then the finished
+ # dlls need another dll (mingwm10.dll see Mingw32 docs)
+http://bugs.python.org/issue1222585
+
+--- distutils/emxccompiler.py
++++ distutils/emxccompiler.py
+@@ -65,8 +65,12 @@
+ # XXX optimization, warnings etc. should be customizable.
+ self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ linker_exe='gcc -Zomf -Zmt -Zcrtdll',
+- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
++ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
++ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
++ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
+
+ # want the gcc library statically linked (so that we don't have
+ # to distribute a version dependent on the compiler we have)
+@@ -83,8 +87,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+--- distutils/sysconfig_cpython.py
++++ distutils/sysconfig_cpython.py
+@@ -170,10 +170,12 @@
+ _osx_support.customize_compiler(_config_vars)
+ _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+
+- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
+- 'ARFLAGS')
++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'SO', 'AR', 'ARFLAGS')
++
++ cflags = ''
++ cxxflags = ''
+
+ if 'CC' in os.environ:
+ newcc = os.environ['CC']
+@@ -188,19 +190,27 @@
+ cxx = os.environ['CXX']
+ if 'LDSHARED' in os.environ:
+ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
+ if 'CPP' in os.environ:
+ cpp = os.environ['CPP']
+ else:
+ cpp = cc + " -E" # not always
+ if 'LDFLAGS' in os.environ:
+ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+ if 'CFLAGS' in os.environ:
+- cflags = opt + ' ' + os.environ['CFLAGS']
++ cflags = os.environ['CFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+ if 'CPPFLAGS' in os.environ:
+ cpp = cpp + ' ' + os.environ['CPPFLAGS']
+ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+ if 'AR' in os.environ:
+ ar = os.environ['AR']
+ if 'ARFLAGS' in os.environ:
+@@ -209,13 +219,17 @@
+ archiver = ar + ' ' + ar_flags
+
+ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
+ compiler.set_executables(
+ preprocessor=cpp,
+ compiler=cc_cmd,
+ compiler_so=cc_cmd + ' ' + ccshared,
+- compiler_cxx=cxx,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+ linker_so=ldshared,
+ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx,
+ archiver=archiver)
+
+ compiler.shared_lib_extension = so_ext
+--- distutils/unixccompiler.py
++++ distutils/unixccompiler.py
+@@ -55,14 +55,17 @@
+ # are pretty generic; they will probably have to be set by an outsider
+ # (eg. using information discovered by the sysconfig about building
+ # Python extensions).
+- executables = {'preprocessor' : None,
+- 'compiler' : ["cc"],
+- 'compiler_so' : ["cc"],
+- 'compiler_cxx' : ["c++"], # pypy: changed, 'cc' is bogus
+- 'linker_so' : ["cc", "-shared"],
+- 'linker_exe' : ["cc"],
+- 'archiver' : ["ar", "-cr"],
+- 'ranlib' : None,
++ executables = {'preprocessor' : None,
++ 'compiler' : ["cc"],
++ 'compiler_so' : ["cc"],
++ 'compiler_cxx' : ["c++"],
++ 'compiler_so_cxx' : ["c++"],
++ 'linker_so' : ["cc", "-shared"],
++ 'linker_exe' : ["cc"],
++ 'linker_so_cxx' : ["c++", "-shared"],
++ 'linker_exe_cxx' : ["c++"],
++ 'archiver' : ["ar", "-cr"],
++ 'ranlib' : None,
+ }
+
+ if sys.platform[:6] == "darwin":
+@@ -112,12 +115,19 @@
+
+ def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+ compiler_so = self.compiler_so
++ compiler_so_cxx = self.compiler_so_cxx
+ if sys.platform == 'darwin':
+ compiler_so = _osx_support.compiler_fixup(compiler_so,
+ cc_args + extra_postargs)
++ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++ cc_args + extra_postargs)
+ try:
+- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -174,23 +184,16 @@
+ ld_args.extend(extra_postargs)
+ self.mkpath(os.path.dirname(output_filename))
+ try:
+- if target_desc == CCompiler.EXECUTABLE:
+- linker = self.linker_exe[:]
++ if target_lang == "c++":
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe_cxx[:]
++ else:
++ linker = self.linker_so_cxx[:]
+ else:
+- linker = self.linker_so[:]
+- if target_lang == "c++" and self.compiler_cxx:
+- # skip over environment variable settings if /usr/bin/env
+- # is used to set up the linker's environment.
+- # This is needed on OSX. Note: this assumes that the
+- # normal and C++ compiler have the same environment
+- # settings.
+- i = 0
+- if os.path.basename(linker[0]) == "env":
+- i = 1
+- while '=' in linker[i]:
+- i = i + 1
+-
+- linker[i] = self.compiler_cxx[i]
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe[:]
++ else:
++ linker = self.linker_so[:]
+
+ if sys.platform == 'darwin':
+ linker = _osx_support.compiler_fixup(linker, ld_args)
+
diff --git a/dev-python/pypy-bin/metadata.xml b/dev-python/pypy-bin/metadata.xml
new file mode 100644
index 000000000000..feca6569cb86
--- /dev/null
+++ b/dev-python/pypy-bin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alicef@gentoo.org</email>
+ <name>Alice Ferrazzi</name>
+ </maintainer>
+ <use>
+ <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy-bin/pypy-bin-2.3.1-r2.ebuild b/dev-python/pypy-bin/pypy-bin-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..8d808c2089a7
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-2.3.1-r2.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 vcs-snapshot versionator
+
+BINHOST="http://pypy.aliceinwire.net/pypy-bin/"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://www.bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ -> ${P}-r1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ -> ${P}-r1-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ -> ${P}-r1-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !cpu_flags_x86_sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ -> ${P}-r1-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ app-arch/bzip2:0
+ dev-libs/expat:0
+ dev-libs/libffi:0
+ dev-libs/openssl:0[-bindist]
+ sys-libs/glibc:2.2
+ sys-libs/ncurses:5
+ sys-libs/zlib:0
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+ doc? ( ${PYTHON_DEPS}
+ dev-python/sphinx )
+ test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch"
+ epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}/2.3-21_all_distutils_c++.patch"
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h include/ || die
+ mv pypy/module/cpyext/include/numpy include/ || die
+
+ use doc && emake -C pypy/doc/ html
+ #needed even without jit :( also needed in both compile and install phases
+ pax-mark m pypy-c
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dosym ../$(get_libdir)/pypy/libpypy-c.so /usr/$(get_libdir)/libpypy-c.so
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # ctypes config cache
+ "${PYTHON}" -m ctypes_config_cache.rebuild || die "Failed to rebuild ctypes config cache"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy-bin/pypy-bin-2.4.0.ebuild b/dev-python/pypy-bin/pypy-bin-2.4.0.ebuild
new file mode 100644
index 000000000000..94858f577eba
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-2.4.0.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !cpu_flags_x86_sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ app-arch/bzip2:0
+ dev-libs/expat:0
+ dev-libs/libffi:0
+ dev-libs/openssl:0[-bindist]
+ sys-libs/glibc:2.2
+ sys-libs/ncurses:5
+ sys-libs/zlib:0
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+ doc? ( ${PYTHON_DEPS}
+ dev-python/sphinx )
+ test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}/2.3-21_all_distutils_c++.patch"
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h include/ || die
+ mv pypy/module/cpyext/include/numpy include/ || die
+
+ use doc && emake -C pypy/doc/ html
+ #needed even without jit :( also needed in both compile and install phases
+ pax-mark m pypy-c
+
+ # ctypes config cache
+ # this one we need to do with python2 too...
+ ./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \
+ || die "Failed to rebuild ctypes config cache"
+}
+
+# Doesn't work - pypy missing its own libs
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild b/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild
new file mode 100644
index 000000000000..a01a3499f705
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !cpu_flags_x86_sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ app-arch/bzip2:0
+ dev-libs/expat:0
+ dev-libs/libffi:0
+ dev-libs/openssl:0[-bindist]
+ sys-libs/glibc:2.2
+ sys-libs/ncurses:5
+ sys-libs/zlib:0
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+ doc? ( ${PYTHON_DEPS}
+ dev-python/sphinx )
+ test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h include/ || die
+ mv pypy/module/cpyext/include/numpy include/ || die
+
+ use doc && emake -C pypy/doc/ html
+ #needed even without jit :( also needed in both compile and install phases
+ pax-mark m pypy-c
+
+ # ctypes config cache
+ # this one we need to do with python2 too...
+ ./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \
+ || die "Failed to rebuild ctypes config cache"
+}
+
+# Doesn't work - pypy missing its own libs
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy-bin/pypy-bin-2.6.0.ebuild b/dev-python/pypy-bin/pypy-bin-2.6.0.ebuild
new file mode 100644
index 000000000000..2a0ee5b85d04
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-2.6.0.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+CPY_PATCHSET_VERSION="2.7.10-0"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+ http://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !cpu_flags_x86_sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ app-arch/bzip2:0
+ dev-libs/expat:0
+ dev-libs/libffi:0
+ dev-libs/openssl:0[-bindist]
+ sys-libs/glibc:2.2
+ sys-libs/ncurses:5
+ sys-libs/zlib:0
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+ doc? ( ${PYTHON_DEPS}
+ dev-python/sphinx )
+ test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+ # apply CPython stdlib patches
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \
+ "${WORKDIR}"/patches/22_all_turkish_locale.patch \
+ "${WORKDIR}"/patches/62_all_xml.use_pyxml.patch
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h include/ || die
+ mv pypy/module/cpyext/include/numpy include/ || die
+
+ use doc && emake -C pypy/doc/ html
+ #needed even without jit :( also needed in both compile and install phases
+ pax-mark m pypy-c
+
+ # ctypes config cache
+ # this one we need to do with python2 too...
+ ./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \
+ || die "Failed to rebuild ctypes config cache"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi modules
+ # Please keep in sync with pypy/tool/release/package.py!
+#cffi_build_scripts = {
+# "sqlite3": "_sqlite3_build.py",
+# "audioop": "_audioop_build.py",
+# "tk": "_tkinter/tklib_build.py",
+# "curses": "_curses_build.py" if sys.platform != "win32" else None,
+# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
+# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
+# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
+ cffi_targets=( audioop curses syslog gdbm pwdgrp )
+ use gdbm && cffi_targets+=( gdbm )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd "${ED%/}${INSDESTTREE}"/lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ "${PYTHON}" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
new file mode 100644
index 000000000000..d53afe97fb44
--- /dev/null
+++ b/dev-python/pypy/Manifest
@@ -0,0 +1,5 @@
+DIST pypy-2.3.1-src.tar.bz2 15225332 SHA256 3fd10d97c0177c33ed358a78eb26f5bf1f91b266af853564b1a9d8c310a1e439 SHA512 86aab86c5f413cdd6a56680915605de5c1416255b43a8dce1b4dcf8f1febdb3275076a4a9c7de30002387d59e4171a52da2528436eb205d8d947de7edd049c65 WHIRLPOOL c78d41240f1803d9461f797fd0ef647a40a6990a4e3a504e80a0eaaf460d052bb60fe6240cacdb3ee8737500c9c7f418b1d55c619d01ac7b73aace3d82157aa6
+DIST pypy-2.4.0-src.tar.bz2 15495214 SHA256 38810007aee4885ca0703b566db6594dd7649adaaa287df7a1012f10e067740f SHA512 91b41ed80a6ff0d7b2b134a7802f098de35ffd2068dc3e477d27b0bc821c6d329eb8bcad4db4a5ff9ff429830d4abfbeb435a2a2d2d9bbc2c36f2d21af0b2e0c WHIRLPOOL affb14b805b2dcb8b579dd421bfb8276e80d3b31cea41bf57ad5dd9260e2e27d838b0303e4a3af5ca38b0b4f08ac88b142d6f1db20753bec6f8cbfdfc482099b
+DIST pypy-2.5.1-src.tar.bz2 16740876 SHA256 ddb3a580b1ee99c5a699172d74be91c36dda9a38946d4731d8c6a63120a3ba2a SHA512 ac4cab47566d7d4e1a293a680e0dffa301c99a8329c2e68f645f186c0266cbe8f045a03e392c0cc2112a16178037cd978b7867ad073bf5dd957dd19f4c818067 WHIRLPOOL 6f16c4090780081dfe1d4642186262c66d4ac1a4b3b8311e573bfa6029eb7aac0483b3e48cad5ce03879391a4e316c0186d33fac5e86d0024ff20cc6d4dc0dd3
+DIST pypy-2.6.0-src.tar.bz2 16858400 SHA256 9bf353f22d25e97a85a6d3766619966055edea1ea1b2218445d683a8ad0399d9 SHA512 82a6a44c0c551a1291215394610e5331cf83216b38ac9f1a79a3eab53ba2933b121c3154b58cead814c73a1da1fc95d895324bb0c43e8e0429438b0dea527cc4 WHIRLPOOL e536ff5d3b393c6834fd721f383318b5dcef79046f475b0f1fe737c67c56e8769cabc0a35f553da5dc475a255c5711de01bd6d42e541cabbab3b9e30f20c9a5c
+DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9
diff --git a/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
new file mode 100644
index 000000000000..65321bb60e6e
--- /dev/null
+++ b/dev-python/pypy/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/2.7/distutils/unixccompiler.py
++++ b/lib-python/2.7/distutils/unixccompiler.py
+@@ -297,7 +297,7 @@
+ # this time, there's no way to determine this information from
+ # the configuration data stored in the Python installation, so
+ # we use this hack.
+- compiler = os.path.basename(sysconfig.get_config_var("CC"))
++ compiler = os.path.basename(self.compiler[0])
+ if sys.platform[:6] == "darwin":
+ # MacOSX's linker doesn't understand the -R flag at all
+ return "-L" + dir
diff --git a/dev-python/pypy/files/1.9-scripts-location.patch b/dev-python/pypy/files/1.9-scripts-location.patch
new file mode 100644
index 000000000000..74539088297b
--- /dev/null
+++ b/dev-python/pypy/files/1.9-scripts-location.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/2.7/distutils/command/install.py
++++ b/lib-python/2.7/distutils/command/install.py
+@@ -87,7 +87,7 @@
+ 'purelib': '$base/site-packages',
+ 'platlib': '$base/site-packages',
+ 'headers': '$base/include',
+- 'scripts': '$base/bin',
++ 'scripts': '/usr/bin',
+ 'data' : '$base',
+ },
+ }
diff --git a/dev-python/pypy/files/2.3-21_all_distutils_c++.patch b/dev-python/pypy/files/2.3-21_all_distutils_c++.patch
new file mode 100644
index 000000000000..2787360c15be
--- /dev/null
+++ b/dev-python/pypy/files/2.3-21_all_distutils_c++.patch
@@ -0,0 +1,321 @@
+http://bugs.python.org/issue1222585
+
+--- Lib/distutils/cygwinccompiler.py
++++ Lib/distutils/cygwinccompiler.py
+@@ -117,8 +117,10 @@
+ # dllwrap 2.10.90 is buggy
+ if self.ld_version >= "2.10.90":
+ self.linker_dll = "gcc"
++ self.linker_dll_cxx = "g++"
+ else:
+ self.linker_dll = "dllwrap"
++ self.linker_dll_cxx = "dllwrap"
+
+ # ld_version >= "2.13" support -shared so use it instead of
+ # -mdll -static
+@@ -132,9 +134,13 @@
+ self.set_executables(compiler='gcc -mcygwin -O -Wall',
+ compiler_so='gcc -mcygwin -mdll -O -Wall',
+ compiler_cxx='g++ -mcygwin -O -Wall',
++ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
+ linker_exe='gcc -mcygwin',
+ linker_so=('%s -mcygwin %s' %
+- (self.linker_dll, shared_option)))
++ (self.linker_dll, shared_option)),
++ linker_exe_cxx='g++ -mcygwin',
++ linker_so_cxx=('%s -mcygwin %s' %
++ (self.linker_dll_cxx, shared_option)))
+
+ # cygwin and mingw32 need different sets of libraries
+ if self.gcc_version == "2.91.57":
+@@ -160,8 +166,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -327,9 +337,14 @@
+ self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
+ compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+ compiler_cxx='g++%s -O -Wall' % no_cygwin,
++ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
+ linker_exe='gcc%s' % no_cygwin,
+ linker_so='%s%s %s %s'
+ % (self.linker_dll, no_cygwin,
++ shared_option, entry_point),
++ linker_exe_cxx='g++%s' % no_cygwin,
++ linker_so_cxx='%s%s %s %s'
++ % (self.linker_dll_cxx, no_cygwin,
+ shared_option, entry_point))
+ # Maybe we should also append -mthreads, but then the finished
+ # dlls need another dll (mingwm10.dll see Mingw32 docs)
+--- Lib/distutils/emxccompiler.py
++++ Lib/distutils/emxccompiler.py
+@@ -65,8 +65,12 @@
+ # XXX optimization, warnings etc. should be customizable.
+ self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ linker_exe='gcc -Zomf -Zmt -Zcrtdll',
+- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
++ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
++ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
++ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
+
+ # want the gcc library statically linked (so that we don't have
+ # to distribute a version dependent on the compiler we have)
+@@ -83,8 +87,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+--- Lib/distutils/sysconfig_cpython.py
++++ Lib/distutils/sysconfig_cpython.py
+@@ -170,10 +170,12 @@
+ _osx_support.customize_compiler(_config_vars)
+ _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+
+- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
+- 'ARFLAGS')
++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'SO', 'AR', 'ARFLAGS')
++
++ cflags = ''
++ cxxflags = ''
+
+ if 'CC' in os.environ:
+ newcc = os.environ['CC']
+@@ -188,19 +190,27 @@
+ cxx = os.environ['CXX']
+ if 'LDSHARED' in os.environ:
+ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
+ if 'CPP' in os.environ:
+ cpp = os.environ['CPP']
+ else:
+ cpp = cc + " -E" # not always
+ if 'LDFLAGS' in os.environ:
+ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+ if 'CFLAGS' in os.environ:
+- cflags = opt + ' ' + os.environ['CFLAGS']
++ cflags = os.environ['CFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+ if 'CPPFLAGS' in os.environ:
+ cpp = cpp + ' ' + os.environ['CPPFLAGS']
+ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+ if 'AR' in os.environ:
+ ar = os.environ['AR']
+ if 'ARFLAGS' in os.environ:
+@@ -209,13 +219,17 @@
+ archiver = ar + ' ' + ar_flags
+
+ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
+ compiler.set_executables(
+ preprocessor=cpp,
+ compiler=cc_cmd,
+ compiler_so=cc_cmd + ' ' + ccshared,
+- compiler_cxx=cxx,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+ linker_so=ldshared,
+ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx,
+ archiver=archiver)
+
+ compiler.shared_lib_extension = so_ext
+--- Lib/distutils/unixccompiler.py
++++ Lib/distutils/unixccompiler.py
+@@ -55,14 +55,17 @@
+ # are pretty generic; they will probably have to be set by an outsider
+ # (eg. using information discovered by the sysconfig about building
+ # Python extensions).
+- executables = {'preprocessor' : None,
+- 'compiler' : ["cc"],
+- 'compiler_so' : ["cc"],
+- 'compiler_cxx' : ["cc"],
+- 'linker_so' : ["cc", "-shared"],
+- 'linker_exe' : ["cc"],
+- 'archiver' : ["ar", "-cr"],
+- 'ranlib' : None,
++ executables = {'preprocessor' : None,
++ 'compiler' : ["cc"],
++ 'compiler_so' : ["cc"],
++ 'compiler_cxx' : ["c++"],
++ 'compiler_so_cxx' : ["c++"],
++ 'linker_so' : ["cc", "-shared"],
++ 'linker_exe' : ["cc"],
++ 'linker_so_cxx' : ["c++", "-shared"],
++ 'linker_exe_cxx' : ["c++"],
++ 'archiver' : ["ar", "-cr"],
++ 'ranlib' : None,
+ }
+
+ if sys.platform[:6] == "darwin":
+@@ -112,12 +115,19 @@
+
+ def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+ compiler_so = self.compiler_so
++ compiler_so_cxx = self.compiler_so_cxx
+ if sys.platform == 'darwin':
+ compiler_so = _osx_support.compiler_fixup(compiler_so,
+ cc_args + extra_postargs)
++ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++ cc_args + extra_postargs)
+ try:
+- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -174,23 +184,16 @@
+ ld_args.extend(extra_postargs)
+ self.mkpath(os.path.dirname(output_filename))
+ try:
+- if target_desc == CCompiler.EXECUTABLE:
+- linker = self.linker_exe[:]
++ if target_lang == "c++":
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe_cxx[:]
++ else:
++ linker = self.linker_so_cxx[:]
+ else:
+- linker = self.linker_so[:]
+- if target_lang == "c++" and self.compiler_cxx:
+- # skip over environment variable settings if /usr/bin/env
+- # is used to set up the linker's environment.
+- # This is needed on OSX. Note: this assumes that the
+- # normal and C++ compiler have the same environment
+- # settings.
+- i = 0
+- if os.path.basename(linker[0]) == "env":
+- i = 1
+- while '=' in linker[i]:
+- i = i + 1
+-
+- linker[i] = self.compiler_cxx[i]
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe[:]
++ else:
++ linker = self.linker_so[:]
+
+ if sys.platform == 'darwin':
+ linker = _osx_support.compiler_fixup(linker, ld_args)
+--- Lib/_osx_support.py
++++ Lib/_osx_support.py
+@@ -14,13 +14,13 @@
+ # configuration variables that may contain universal build flags,
+ # like "-arch" or "-isdkroot", that may need customization for
+ # the user environment
+-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS')
++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
++ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
++ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
+
+ # configuration variables that may contain compiler calls
+-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
+
+ # prefix added to original configuration variable names
+ _INITPRE = '_OSX_SUPPORT_INITIAL_'
+--- a/distutils/sysconfig_pypy.py
++++ b/distutils/sysconfig_pypy.py
+@@ -123,7 +123,55 @@
+ optional C speedup components.
+ """
+ if compiler.compiler_type == "unix":
+- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
++ cc = ' '.join(compiler.compiler)
++ cxx = ' '.join(compiler.compiler_cxx)
++ ldshared = ' '.join(compiler.linker_so)
++ ldcxxshared = ' '.join(compiler.linker_so_cxx)
++
++ cflags = ''
++ cxxflags = ''
++ ccshared = '-fPIC'
++
++ if 'CC' in os.environ:
++ cc = os.environ['CC']
++ if 'CXX' in os.environ:
++ cxx = os.environ['CXX']
++ if 'LDSHARED' in os.environ:
++ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
++ if 'CPP' in os.environ:
++ cpp = os.environ['CPP']
++ else:
++ cpp = cc + " -E" # not always
++ if 'LDFLAGS' in os.environ:
++ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
++ if 'CFLAGS' in os.environ:
++ cflags = os.environ['CFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
++ if 'CPPFLAGS' in os.environ:
++ cpp = cpp + ' ' + os.environ['CPPFLAGS']
++ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
++
++ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
++ compiler.set_executables(
++ preprocessor=cpp,
++ compiler=cc_cmd,
++ compiler_so=cc_cmd + ' ' + ccshared,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
++ linker_so=ldshared,
++ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx)
+ compiler.shared_lib_extension = get_config_var('SO')
+ if "CPPFLAGS" in os.environ:
+ cppflags = shlex.split(os.environ["CPPFLAGS"])
diff --git a/dev-python/pypy/files/2.3.1-shared-lib.patch b/dev-python/pypy/files/2.3.1-shared-lib.patch
new file mode 100644
index 000000000000..ae1139f89867
--- /dev/null
+++ b/dev-python/pypy/files/2.3.1-shared-lib.patch
@@ -0,0 +1,11 @@
+--- rpython/translator/platform/posix.py
++++ rpython/translator/platform/posix.py
+@@ -180,7 +180,7 @@
+ 'int main(int argc, char* argv[]) '
+ '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
+ m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
+- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@')
++ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
+
+ return m
+
diff --git a/dev-python/pypy/files/2.5.0-shared-lib.patch b/dev-python/pypy/files/2.5.0-shared-lib.patch
new file mode 100644
index 000000000000..ddd74730f3dd
--- /dev/null
+++ b/dev-python/pypy/files/2.5.0-shared-lib.patch
@@ -0,0 +1,12 @@
+diff -ur pypy-2.5.0-src.orig/rpython/translator/platform/posix.py pypy-2.5.0-src/rpython/translator/platform/posix.py
+--- rpython/translator/platform/posix.py 2015-02-03 05:12:49.000000000 +0800
++++ rpython/translator/platform/posix.py 2015-03-22 07:36:01.420116684 +0800
+@@ -183,7 +183,7 @@
+ 'int main(int argc, char* argv[]) '
+ '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
+ m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
+- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@ $(RPATH_FLAGS)')
++ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
+
+ return m
+
diff --git a/dev-python/pypy/files/2.5.0_all_distutils_cxx.patch b/dev-python/pypy/files/2.5.0_all_distutils_cxx.patch
new file mode 100644
index 000000000000..aa298d0df646
--- /dev/null
+++ b/dev-python/pypy/files/2.5.0_all_distutils_cxx.patch
@@ -0,0 +1,324 @@
+http://bugs.python.org/issue1222585
+
+--- _osx_support.py
++++ _osx_support.py
+@@ -14,13 +14,13 @@
+ # configuration variables that may contain universal build flags,
+ # like "-arch" or "-isdkroot", that may need customization for
+ # the user environment
+-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS')
++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
++ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
++ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
+
+ # configuration variables that may contain compiler calls
+-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
+
+ # prefix added to original configuration variable names
+ _INITPRE = '_OSX_SUPPORT_INITIAL_'
+--- distutils/sysconfig_pypy.py
++++ distutils/sysconfig_pypy.py
+@@ -123,7 +123,55 @@
+ optional C speedup components.
+ """
+ if compiler.compiler_type == "unix":
+- compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
++ cc = ' '.join(compiler.compiler)
++ cxx = ' '.join(compiler.compiler_cxx)
++ ldshared = ' '.join(compiler.linker_so)
++ ldcxxshared = ' '.join(compiler.linker_so_cxx)
++
++ cflags = ''
++ cxxflags = ''
++ ccshared = '-fPIC'
++
++ if 'CC' in os.environ:
++ cc = os.environ['CC']
++ if 'CXX' in os.environ:
++ cxx = os.environ['CXX']
++ if 'LDSHARED' in os.environ:
++ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
++ if 'CPP' in os.environ:
++ cpp = os.environ['CPP']
++ else:
++ cpp = cc + " -E" # not always
++ if 'LDFLAGS' in os.environ:
++ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
++ if 'CFLAGS' in os.environ:
++ cflags = os.environ['CFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
++ if 'CPPFLAGS' in os.environ:
++ cpp = cpp + ' ' + os.environ['CPPFLAGS']
++ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
++ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
++
++ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
++ compiler.set_executables(
++ preprocessor=cpp,
++ compiler=cc_cmd,
++ compiler_so=cc_cmd + ' ' + ccshared,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
++ linker_so=ldshared,
++ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx)
+ compiler.shared_lib_extension = get_config_var('SO')
+ if "CPPFLAGS" in os.environ:
+ cppflags = shlex.split(os.environ["CPPFLAGS"])
+--- distutils/cygwinccompiler.py
++++ distutils/cygwinccompiler.py
+@@ -117,8 +117,10 @@
+ # dllwrap 2.10.90 is buggy
+ if self.ld_version >= "2.10.90":
+ self.linker_dll = "gcc"
++ self.linker_dll_cxx = "g++"
+ else:
+ self.linker_dll = "dllwrap"
++ self.linker_dll_cxx = "dllwrap"
+
+ # ld_version >= "2.13" support -shared so use it instead of
+ # -mdll -static
+@@ -132,9 +134,13 @@
+ self.set_executables(compiler='gcc -mcygwin -O -Wall',
+ compiler_so='gcc -mcygwin -mdll -O -Wall',
+ compiler_cxx='g++ -mcygwin -O -Wall',
++ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
+ linker_exe='gcc -mcygwin',
+ linker_so=('%s -mcygwin %s' %
+- (self.linker_dll, shared_option)))
++ (self.linker_dll, shared_option)),
++ linker_exe_cxx='g++ -mcygwin',
++ linker_so_cxx=('%s -mcygwin %s' %
++ (self.linker_dll_cxx, shared_option)))
+
+ # cygwin and mingw32 need different sets of libraries
+ if self.gcc_version == "2.91.57":
+@@ -160,8 +166,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -327,9 +337,14 @@
+ self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
+ compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+ compiler_cxx='g++%s -O -Wall' % no_cygwin,
++ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
+ linker_exe='gcc%s' % no_cygwin,
+ linker_so='%s%s %s %s'
+ % (self.linker_dll, no_cygwin,
++ shared_option, entry_point),
++ linker_exe_cxx='g++%s' % no_cygwin,
++ linker_so_cxx='%s%s %s %s'
++ % (self.linker_dll_cxx, no_cygwin,
+ shared_option, entry_point))
+ # Maybe we should also append -mthreads, but then the finished
+ # dlls need another dll (mingwm10.dll see Mingw32 docs)
+http://bugs.python.org/issue1222585
+
+--- distutils/emxccompiler.py
++++ distutils/emxccompiler.py
+@@ -65,8 +65,12 @@
+ # XXX optimization, warnings etc. should be customizable.
+ self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ linker_exe='gcc -Zomf -Zmt -Zcrtdll',
+- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
++ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
++ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
++ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
+
+ # want the gcc library statically linked (so that we don't have
+ # to distribute a version dependent on the compiler we have)
+@@ -83,8 +87,12 @@
+ raise CompileError, msg
+ else: # for other files use the C-compiler
+ try:
+- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+--- distutils/sysconfig_cpython.py
++++ distutils/sysconfig_cpython.py
+@@ -170,10 +170,12 @@
+ _osx_support.customize_compiler(_config_vars)
+ _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+
+- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
+- 'ARFLAGS')
++ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
++ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++ 'SO', 'AR', 'ARFLAGS')
++
++ cflags = ''
++ cxxflags = ''
+
+ if 'CC' in os.environ:
+ newcc = os.environ['CC']
+@@ -188,19 +190,27 @@
+ cxx = os.environ['CXX']
+ if 'LDSHARED' in os.environ:
+ ldshared = os.environ['LDSHARED']
++ if 'LDCXXSHARED' in os.environ:
++ ldcxxshared = os.environ['LDCXXSHARED']
+ if 'CPP' in os.environ:
+ cpp = os.environ['CPP']
+ else:
+ cpp = cc + " -E" # not always
+ if 'LDFLAGS' in os.environ:
+ ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+ if 'CFLAGS' in os.environ:
+- cflags = opt + ' ' + os.environ['CFLAGS']
++ cflags = os.environ['CFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CFLAGS']
++ if 'CXXFLAGS' in os.environ:
++ cxxflags = os.environ['CXXFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+ if 'CPPFLAGS' in os.environ:
+ cpp = cpp + ' ' + os.environ['CPPFLAGS']
+ cflags = cflags + ' ' + os.environ['CPPFLAGS']
++ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+ ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+ if 'AR' in os.environ:
+ ar = os.environ['AR']
+ if 'ARFLAGS' in os.environ:
+@@ -209,13 +219,17 @@
+ archiver = ar + ' ' + ar_flags
+
+ cc_cmd = cc + ' ' + cflags
++ cxx_cmd = cxx + ' ' + cxxflags
+ compiler.set_executables(
+ preprocessor=cpp,
+ compiler=cc_cmd,
+ compiler_so=cc_cmd + ' ' + ccshared,
+- compiler_cxx=cxx,
++ compiler_cxx=cxx_cmd,
++ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+ linker_so=ldshared,
+ linker_exe=cc,
++ linker_so_cxx=ldcxxshared,
++ linker_exe_cxx=cxx,
+ archiver=archiver)
+
+ compiler.shared_lib_extension = so_ext
+--- distutils/unixccompiler.py
++++ distutils/unixccompiler.py
+@@ -55,14 +55,17 @@
+ # are pretty generic; they will probably have to be set by an outsider
+ # (eg. using information discovered by the sysconfig about building
+ # Python extensions).
+- executables = {'preprocessor' : None,
+- 'compiler' : ["cc"],
+- 'compiler_so' : ["cc"],
+- 'compiler_cxx' : ["c++"], # pypy: changed, 'cc' is bogus
+- 'linker_so' : ["cc", "-shared"],
+- 'linker_exe' : ["cc"],
+- 'archiver' : ["ar", "-cr"],
+- 'ranlib' : None,
++ executables = {'preprocessor' : None,
++ 'compiler' : ["cc"],
++ 'compiler_so' : ["cc"],
++ 'compiler_cxx' : ["c++"],
++ 'compiler_so_cxx' : ["c++"],
++ 'linker_so' : ["cc", "-shared"],
++ 'linker_exe' : ["cc"],
++ 'linker_so_cxx' : ["c++", "-shared"],
++ 'linker_exe_cxx' : ["c++"],
++ 'archiver' : ["ar", "-cr"],
++ 'ranlib' : None,
+ }
+
+ if sys.platform[:6] == "darwin":
+@@ -112,12 +115,19 @@
+
+ def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+ compiler_so = self.compiler_so
++ compiler_so_cxx = self.compiler_so_cxx
+ if sys.platform == 'darwin':
+ compiler_so = _osx_support.compiler_fixup(compiler_so,
+ cc_args + extra_postargs)
++ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++ cc_args + extra_postargs)
+ try:
+- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+- extra_postargs)
++ if self.detect_language(src) == 'c++':
++ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++ extra_postargs)
++ else:
++ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++ extra_postargs)
+ except DistutilsExecError, msg:
+ raise CompileError, msg
+
+@@ -174,23 +184,16 @@
+ ld_args.extend(extra_postargs)
+ self.mkpath(os.path.dirname(output_filename))
+ try:
+- if target_desc == CCompiler.EXECUTABLE:
+- linker = self.linker_exe[:]
++ if target_lang == "c++":
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe_cxx[:]
++ else:
++ linker = self.linker_so_cxx[:]
+ else:
+- linker = self.linker_so[:]
+- if target_lang == "c++" and self.compiler_cxx:
+- # skip over environment variable settings if /usr/bin/env
+- # is used to set up the linker's environment.
+- # This is needed on OSX. Note: this assumes that the
+- # normal and C++ compiler have the same environment
+- # settings.
+- i = 0
+- if os.path.basename(linker[0]) == "env":
+- i = 1
+- while '=' in linker[i]:
+- i = i + 1
+-
+- linker[i] = self.compiler_cxx[i]
++ if target_desc == CCompiler.EXECUTABLE:
++ linker = self.linker_exe[:]
++ else:
++ linker = self.linker_so[:]
+
+ if sys.platform == 'darwin':
+ linker = _osx_support.compiler_fixup(linker, ld_args)
+
diff --git a/dev-python/pypy/metadata.xml b/dev-python/pypy/metadata.xml
new file mode 100644
index 000000000000..a90c29e4bb20
--- /dev/null
+++ b/dev-python/pypy/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alicef@gentoo.org</email>
+ <name>Alice Ferrazzi</name>
+ </maintainer>
+ <use>
+ <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint. \
+ This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
+ at the cost of lengthened build time. Please note that you will need an extra ~1G of extra RAM or \
+ swap since the translation memory (unused at the time) is not freed when the C compiler is spawned.</flag>
+ <flag name="sandbox">Enable sandboxing functionality</flag>
+ <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy/pypy-2.3.1-r2.ebuild b/dev-python/pypy/pypy-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..b469181bb41d
--- /dev/null
+++ b/dev-python/pypy/pypy-2.3.1-r2.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs eutils multilib multiprocessing pax-utils \
+ python-any-r1 toolchain-funcs vcs-snapshot versionator
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/${PN}/${PN}/get/release-${PV}.tar.bz2 -> ${P}-src.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox shadowstack sqlite cpu_flags_x86_sse2 tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ dev-libs/openssl:0=
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:5= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy-bin:0"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+ ${PYTHON_DEPS}"
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+
+pkg_pretend() {
+ if use low-memory; then
+ if ! has_version dev-python/pypy && ! has_version dev-python/pypy-bin
+ then
+ eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
+ eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
+ eerror
+ eerror " $ emerge -1v dev-python/pypy-bin"
+ eerror
+ eerror "before attempting to build dev-python/pypy[low-memory]."
+ die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
+ fi
+
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ local force_pypy
+
+ pkg_pretend
+
+ if has_version dev-python/pypy || has_version dev-python/pypy-bin
+ then
+ if [[ ! ${EPYTHON} ]] || use low-memory; then
+ einfo "Using already-installed PyPy to perform the translation."
+ force_pypy=1
+ else
+ einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please unset"
+ einfo "the EPYTHON variable."
+ fi
+ fi
+
+ if [[ ${force_pypy} ]]; then
+ # set manually since python_setup needs virtual/pypy
+ # and we don't force the dep
+ python_export pypy EPYTHON PYTHON
+ python_wrapper_setup
+ else
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
+ "${FILESDIR}"/2.3.1-shared-lib.patch # 517002
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}/2.3-21_all_distutils_c++.patch"
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex shadowstack --gcrootfinder=shadowstack '')
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+ --make-jobs=$(makeopts_jobs)
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "compile error"
+
+ use doc && emake -C pypy/doc/ html
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy/pypy-2.4.0.ebuild b/dev-python/pypy/pypy-2.4.0.ebuild
new file mode 100644
index 000000000000..15faabb3d294
--- /dev/null
+++ b/dev-python/pypy/pypy-2.4.0.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs eutils multilib multiprocessing pax-utils \
+ python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox shadowstack sqlite cpu_flags_x86_sse2 tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ dev-libs/openssl:0=
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:5= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy-bin:0"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+ ${PYTHON_DEPS}"
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+
+pkg_pretend() {
+ if use low-memory; then
+ if ! python_is_installed pypy; then
+ eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
+ eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
+ eerror
+ eerror " $ emerge -1v dev-python/pypy-bin"
+ eerror
+ eerror "before attempting to build dev-python/pypy[low-memory]."
+ die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
+ fi
+
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+
+ if python_is_installed pypy; then
+ if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
+ einfo "Using already-installed PyPy to perform the translation."
+ local EPYTHON=pypy
+ else
+ einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please unset"
+ einfo "the EPYTHON variable."
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
+ "${FILESDIR}"/2.3.1-shared-lib.patch # 517002
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}/2.3-21_all_distutils_c++.patch"
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex shadowstack --gcrootfinder=shadowstack '')
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+ --make-jobs=$(makeopts_jobs)
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "compile error"
+
+ use doc && emake -C pypy/doc/ html
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy/pypy-2.5.1.ebuild b/dev-python/pypy/pypy-2.5.1.ebuild
new file mode 100644
index 000000000000..c07de498ec7d
--- /dev/null
+++ b/dev-python/pypy/pypy-2.5.1.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs eutils multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ dev-libs/openssl:0=[-bindist]
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:5= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy-bin:0"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+ ${PYTHON_DEPS}
+ test? ( dev-python/pytest )"
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+
+pkg_pretend() {
+ if use low-memory; then
+ if ! python_is_installed pypy; then
+ eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
+ eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
+ eerror
+ eerror " $ emerge -1v dev-python/pypy-bin"
+ eerror
+ eerror "before attempting to build dev-python/pypy[low-memory]."
+ die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
+ fi
+
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+
+ if python_is_installed pypy; then
+ if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
+ einfo "Using already-installed PyPy to perform the translation."
+ local EPYTHON=pypy
+ else
+ einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please unset"
+ einfo "the EPYTHON variable."
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
+ "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
+
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex shadowstack --gcrootfinder=shadowstack '')
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+ --make-jobs=$(makeopts_jobs)
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "compile error"
+
+ use doc && emake -C pypy/doc/ html
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy/pypy-2.6.0.ebuild b/dev-python/pypy/pypy-2.6.0.ebuild
new file mode 100644
index 000000000000..d73cb5e5c1c0
--- /dev/null
+++ b/dev-python/pypy/pypy-2.6.0.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs eutils multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
+
+CPY_PATCHSET_VERSION="2.7.10-0"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2
+ http://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ dev-libs/openssl:0=[-bindist]
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:5= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy-bin:0"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+ ${PYTHON_DEPS}
+ test? ( dev-python/pytest )"
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+
+pkg_pretend() {
+ if use low-memory; then
+ if ! python_is_installed pypy; then
+ eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
+ eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
+ eerror
+ eerror " $ emerge -1v dev-python/pypy-bin"
+ eerror
+ eerror "before attempting to build dev-python/pypy[low-memory]."
+ die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
+ fi
+
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+
+ if python_is_installed pypy; then
+ if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
+ einfo "Using already-installed PyPy to perform the translation."
+ local EPYTHON=pypy
+ else
+ einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please unset"
+ einfo "the EPYTHON variable."
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
+ "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
+
+ # apply CPython stdlib patches
+ pushd lib-python/2.7 > /dev/null || die
+ epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \
+ "${WORKDIR}"/patches/22_all_turkish_locale.patch \
+ "${WORKDIR}"/patches/62_all_xml.use_pyxml.patch
+ popd > /dev/null || die
+
+ epatch_user
+}
+
+src_compile() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex shadowstack --gcrootfinder=shadowstack '')
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+ --make-jobs=$(makeopts_jobs)
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "compile error"
+
+ use doc && emake -C pypy/doc/ html
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi modules
+ # Please keep in sync with pypy/tool/release/package.py!
+#cffi_build_scripts = {
+# "sqlite3": "_sqlite3_build.py",
+# "audioop": "_audioop_build.py",
+# "tk": "_tkinter/tklib_build.py",
+# "curses": "_curses_build.py" if sys.platform != "win32" else None,
+# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
+# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
+# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
+ cffi_targets=( audioop curses syslog gdbm pwdgrp )
+ use gdbm && cffi_targets+=( gdbm )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd "${ED%/}${INSDESTTREE}"/lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ "${PYTHON}" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy3-bin/Manifest b/dev-python/pypy3-bin/Manifest
new file mode 100644
index 000000000000..1d7e85ad79f9
--- /dev/null
+++ b/dev-python/pypy3-bin/Manifest
@@ -0,0 +1,8 @@
+DIST pypy3-2.4.0-src.tar.bz2 14693194 SHA256 d9ba207d6eecf8a0dc4414e9f4e92db1abd143e8cc6ec4a6bdcac75b29f104f3 SHA512 7e2b0c21f1833b8cd61251c2d58c6a9f99207e5d582618f0036886ff28dcb313541dce1c36bd1b57b332a36a94b13e416bb7b67110be7c8ece8283749ba712be WHIRLPOOL bd02009c828b7b491b46b260d687d268561e5372766adccbcb58e87a3f1c545f293c54e5cdd6e6b7fb95feb678677137211ee890f106140ce1bc256f8563d2cd
+DIST pypy3-bin-2.4.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 9687272 SHA256 8f03fc87ec796877e5a13111f509a5d1c06284bc31133d25c4c9cca6a82f7039 SHA512 ec5e3ef4f2f4b06c31df5ab9fc4a9f7a2a08f744a0128e6ab8215767d4fba7a3e35e319ff9d9a0de4d018ed35eed24809c82928972a860a220ea45f284087770 WHIRLPOOL 15ba1d18ae4fc5d0968fa5c6cadfcb8762b258d683c770530ac35067ca91210f8d825facd775602a9d2b578542a4b760a0a11a9b0a6d59f539d4e7043fcad734
+DIST pypy3-bin-2.4.0-amd64+bzip2+jit+ncurses.tar.xz 11047984 SHA256 558176dacd1e3222fb56b8c3226077288281ee2a131149fdbb2a54561d5bc7d9 SHA512 cde76c37bf9c043a4fde4a2d07a04366f3c906562e6ed640544ac0228b511729b481c6cd6b7b25b80c02a69cdd02707d427edcd8e46e41313b31161313c6c5fb WHIRLPOOL 9eb8dc5d3319bf2c09baae38ecaa23c1f7ee38b4ea20f72a9fde3f68004ac4f3cbe807ff93e6cba5318745a251d09d2f951cb5a86f04c41b2e05d151d1f6cd03
+DIST pypy3-bin-2.4.0-amd64+bzip2+ncurses.tar.xz 6281232 SHA256 326115bcd7ad2d659b69842182dee4fc2adb558f20a3e44ab4b803fa70c43a21 SHA512 f938aa797e352f80a99095a15bf83a758f0c203adc402cf92494f909ad870457a28ae14b5959880e55898c2ce92ce0b08b05e3d691133758bca52f524c8aad73 WHIRLPOOL b0aa4c24d645aa914aa439646b813dfcae14e6731af86d4348d24637bbdb7f88a26d3a63ff5262749ee654715eaf5312beb4879341d222aaedfcd3e81acd2426
+DIST pypy3-bin-2.4.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 8159232 SHA256 65bb567693048894d13c7ffecda126a222ebb641dc6c6e0a899197da8f0844d8 SHA512 734e42d6962b4411d9beab55013454dd27bd18c342ed334e07f85e217cd7d992cbaffb36ee3e74469662860f130d1065a381e49a6b8287fa83736ffe75cb8a5a WHIRLPOOL a5b7ed4a177dc5c1322e79551166d3be8e478e969b223db4fe6a2e9fddaf2e4c22633726a667e3deca19763f44edd4e3f4c20c477da5d7e26c88f21d4ce70544
+DIST pypy3-bin-2.4.0-x86+bzip2+jit+ncurses+sse2.tar.xz 9121216 SHA256 5f03284815a313065b99da0154a08831e3ae2c6e43c4ce515de1aff60c4537ad SHA512 f069ece90666385eb8aade97ad81c4c6c2480dee1bf3b1cb520c4fc1d123d17f7ef2cbf7ed25b72b24e56165c08ded671c8bce74ed2ea2f1b6e57ca9fdd214ae WHIRLPOOL 8cf368e0efa416d3cba06ea61bc97ed7ead0e25f5008c948d1bec8d0494fd9908d1e6640414ffe7c6b6260badef41da114370f2a5ef28a63234203a604e1be4e
+DIST pypy3-bin-2.4.0-x86+bzip2+ncurses+sse2.tar.xz 5366816 SHA256 bff57d563dbce1b4858d87161c2338e5ed6ed20008a8dc4fb78cbb9e320d1188 SHA512 afb395257b0259b096a9fdbae405ffb021950dfda39ddc490777662ab77d0573b5b51e6381241c09debbca0a706637dba39c8644c878e541b83d68a94fc9ad1e WHIRLPOOL a1e1079a68b03b65a0680c65080d6c6dc48e4a652dd634bfaa805a6117c67da84bcc65ee2fe6711a61ab86a905bd2a6993e0ac88547a807eca3722f70ca890fb
+DIST pypy3-bin-2.4.0-x86+bzip2+ncurses.tar.xz 5439032 SHA256 3bd4e476ff76da1f3c111a11abe0ef72683ba719934ede1252c32de6200beb25 SHA512 d11805b704baa51097261f0886bd160f9d1a3e220ceeeaa5741c3aaf9ee8437479b2f371889dbe2ad72f16559de86c1e71bfd17f45375071cafc535d7c30b3cc WHIRLPOOL 41ef35df997da9aca90be8442001b6807c1a8dd0a7d4e66c0c925dc74546db35e6d54a2bf292c8bca732427786019e7e5041d19e6169e2573a058f269a0332ce
diff --git a/dev-python/pypy3-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy3-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
new file mode 100644
index 000000000000..29d99dcfdb73
--- /dev/null
+++ b/dev-python/pypy3-bin/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/3/distutils/unixccompiler.py
++++ b/lib-python/3/distutils/unixccompiler.py
+@@ -297,7 +297,7 @@
+ # this time, there's no way to determine this information from
+ # the configuration data stored in the Python installation, so
+ # we use this hack.
+- compiler = os.path.basename(sysconfig.get_config_var("CC"))
++ compiler = os.path.basename(self.compiler[0])
+ if sys.platform[:6] == "darwin":
+ # MacOSX's linker doesn't understand the -R flag at all
+ return "-L" + dir
diff --git a/dev-python/pypy3-bin/files/1.9-scripts-location.patch b/dev-python/pypy3-bin/files/1.9-scripts-location.patch
new file mode 100644
index 000000000000..6ed12856509e
--- /dev/null
+++ b/dev-python/pypy3-bin/files/1.9-scripts-location.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/3/distutils/command/install.py
++++ b/lib-python/3/distutils/command/install.py
+@@ -87,7 +87,7 @@
+ 'purelib': '$base/site-packages',
+ 'platlib': '$base/site-packages',
+ 'headers': '$base/include',
+- 'scripts': '$base/bin',
++ 'scripts': '/usr/bin',
+ 'data' : '$base',
+ },
+ }
diff --git a/dev-python/pypy3-bin/files/2.3.1-shared-lib.patch b/dev-python/pypy3-bin/files/2.3.1-shared-lib.patch
new file mode 100644
index 000000000000..ae1139f89867
--- /dev/null
+++ b/dev-python/pypy3-bin/files/2.3.1-shared-lib.patch
@@ -0,0 +1,11 @@
+--- rpython/translator/platform/posix.py
++++ rpython/translator/platform/posix.py
+@@ -180,7 +180,7 @@
+ 'int main(int argc, char* argv[]) '
+ '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
+ m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
+- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@')
++ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
+
+ return m
+
diff --git a/dev-python/pypy3-bin/metadata.xml b/dev-python/pypy3-bin/metadata.xml
new file mode 100644
index 000000000000..feca6569cb86
--- /dev/null
+++ b/dev-python/pypy3-bin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alicef@gentoo.org</email>
+ <name>Alice Ferrazzi</name>
+ </maintainer>
+ <use>
+ <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3-bin/pypy3-bin-2.4.0.ebuild b/dev-python/pypy3-bin/pypy3-bin-2.4.0.ebuild
new file mode 100644
index 000000000000..40859bc44e37
--- /dev/null
+++ b/dev-python/pypy3-bin/pypy3-bin-2.4.0.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# some random parts need python 2...
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+
+DESCRIPTION="A fast, compliant alternative implementation of Python 3 (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy3-${PV}-src.tar.bz2
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !cpu_flags_x86_sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ app-arch/bzip2:0
+ dev-libs/expat:0
+ dev-libs/libffi:0
+ dev-libs/openssl:0
+ sys-libs/glibc:2.2
+ sys-libs/ncurses:5
+ sys-libs/zlib:0
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy3:0"
+DEPEND="app-arch/xz-utils
+ test? ( ${RDEPEND}
+ ${PYTHON_DEPS} )"
+# doc? ( ${PYTHON_DEPS}
+# dev-python/sphinx )
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy3-${PV}-src
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h include/ || die
+ mv pypy/module/cpyext/include/numpy include/ || die
+
+ #use doc && emake -C pypy/doc/ html
+ #needed even without jit :( also needed in both compile and install phases
+ pax-mark m pypy-c
+
+ # ctypes config cache
+ # this one we need to do with python2 too...
+ "${PYTHON}" lib_pypy/ctypes_config_cache/rebuild.py \
+ || die "Failed to rebuild ctypes config cache"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ # Test runner requires Python 2 too. However, it spawns PyPy3
+ # internally so that we end up testing the correct interpreter.
+ "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy3"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy3/pypy-c /usr/bin/pypy3
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/{idlelib,tkinter} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ #use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy3 EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import _gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
new file mode 100644
index 000000000000..1543f052ee8b
--- /dev/null
+++ b/dev-python/pypy3/Manifest
@@ -0,0 +1 @@
+DIST pypy3-2.4.0-src.tar.bz2 14693194 SHA256 d9ba207d6eecf8a0dc4414e9f4e92db1abd143e8cc6ec4a6bdcac75b29f104f3 SHA512 7e2b0c21f1833b8cd61251c2d58c6a9f99207e5d582618f0036886ff28dcb313541dce1c36bd1b57b332a36a94b13e416bb7b67110be7c8ece8283749ba712be WHIRLPOOL bd02009c828b7b491b46b260d687d268561e5372766adccbcb58e87a3f1c545f293c54e5cdd6e6b7fb95feb678677137211ee890f106140ce1bc256f8563d2cd
diff --git a/dev-python/pypy3/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch b/dev-python/pypy3/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
new file mode 100644
index 000000000000..29d99dcfdb73
--- /dev/null
+++ b/dev-python/pypy3/files/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/3/distutils/unixccompiler.py
++++ b/lib-python/3/distutils/unixccompiler.py
+@@ -297,7 +297,7 @@
+ # this time, there's no way to determine this information from
+ # the configuration data stored in the Python installation, so
+ # we use this hack.
+- compiler = os.path.basename(sysconfig.get_config_var("CC"))
++ compiler = os.path.basename(self.compiler[0])
+ if sys.platform[:6] == "darwin":
+ # MacOSX's linker doesn't understand the -R flag at all
+ return "-L" + dir
diff --git a/dev-python/pypy3/files/1.9-scripts-location.patch b/dev-python/pypy3/files/1.9-scripts-location.patch
new file mode 100644
index 000000000000..6ed12856509e
--- /dev/null
+++ b/dev-python/pypy3/files/1.9-scripts-location.patch
@@ -0,0 +1,11 @@
+--- a/lib-python/3/distutils/command/install.py
++++ b/lib-python/3/distutils/command/install.py
+@@ -87,7 +87,7 @@
+ 'purelib': '$base/site-packages',
+ 'platlib': '$base/site-packages',
+ 'headers': '$base/include',
+- 'scripts': '$base/bin',
++ 'scripts': '/usr/bin',
+ 'data' : '$base',
+ },
+ }
diff --git a/dev-python/pypy3/files/2.3.1-shared-lib.patch b/dev-python/pypy3/files/2.3.1-shared-lib.patch
new file mode 100644
index 000000000000..ae1139f89867
--- /dev/null
+++ b/dev-python/pypy3/files/2.3.1-shared-lib.patch
@@ -0,0 +1,11 @@
+--- rpython/translator/platform/posix.py
++++ rpython/translator/platform/posix.py
+@@ -180,7 +180,7 @@
+ 'int main(int argc, char* argv[]) '
+ '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
+ m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
+- '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@')
++ '$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@')
+
+ return m
+
diff --git a/dev-python/pypy3/metadata.xml b/dev-python/pypy3/metadata.xml
new file mode 100644
index 000000000000..00d869b32b78
--- /dev/null
+++ b/dev-python/pypy3/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alicef@gentoo.org</email>
+ <name>Alice Ferrazzi</name>
+ </maintainer>
+ <use>
+ <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint. This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86, at the cost of lengthened build time. Please note that you will need an extra ~1G of extra RAM or swap since the translation memory (unused at the time) is not freed when the C compiler is spawned.</flag>
+ <flag name="sandbox">Enable sandboxing functionality</flag>
+ <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pypy3/pypy3-2.4.0.ebuild b/dev-python/pypy3/pypy3-2.4.0.ebuild
new file mode 100644
index 000000000000..20b01f34f5f5
--- /dev/null
+++ b/dev-python/pypy3/pypy3-2.4.0.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# pypy3 needs to be built using python 2
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs eutils multilib multiprocessing pax-utils \
+ python-any-r1 toolchain-funcs versionator
+
+DESCRIPTION="A fast, compliant alternative implementation of Python 3"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 gdbm +jit low-memory ncurses sandbox shadowstack sqlite cpu_flags_x86_sse2 tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ dev-libs/openssl:0=
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:5= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy3-bin:0"
+DEPEND="${RDEPEND}
+ low-memory? ( virtual/pypy:0 )
+ !low-memory? ( ${PYTHON_DEPS} )"
+# doc? ( dev-python/sphinx )
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+
+pkg_pretend() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ pkg_pretend
+
+ # unset to allow forcing pypy below :)
+ use low-memory && local EPYTHON=
+ if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
+ einfo "Using PyPy to perform the translation."
+ local EPYTHON=pypy
+ else
+ einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please install"
+ einfo "virtual/pypy and ensure that EPYTHON variable is unset."
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/1.9-scripts-location.patch" \
+ "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
+ "${FILESDIR}"/2.3.1-shared-lib.patch # 517002
+
+ epatch_user
+}
+
+src_compile() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex shadowstack --gcrootfinder=shadowstack '')
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+ --make-jobs=$(makeopts_jobs)
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "compile error"
+
+ # Exception occurred:
+ # File "/tmp/1/pypy3-2.4.0-src/pypy/config/makerestdoc.py", line 199, in config_role
+ # assert txt.check()
+ # AssertionError
+ #use doc && emake -C pypy/doc/ html
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ # Test runner requires Python 2 too. However, it spawns PyPy3
+ # internally so that we end up testing the correct interpreter.
+ "${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ insinto "/usr/$(get_libdir)/pypy3"
+ doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+ fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+ dosym ../$(get_libdir)/pypy3/pypy-c /usr/bin/pypy3
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/sqlite3 \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/{idlelib,tkinter} \
+ "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+ "${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ #use doc && dohtml -r pypy/doc/_build/html/
+
+ einfo "Generating caches and byte-compiling ..."
+
+ python_export pypy3 EPYTHON PYTHON PYTHON_SITEDIR
+ local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi cache
+ # Please keep in sync with pypy/tool/release/package.py!
+ "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+ "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+ if use gdbm; then
+ "${PYTHON}" -c "import _gdbm" || die "Failed to import gdbm (cffi)"
+ fi
+ if use sqlite; then
+ "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+ fi
+ if use tk; then
+ "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+ fi
+
+ # Cleanup temporary objects
+ find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${INSDESTTREE}"
+}
diff --git a/dev-python/pyqtgraph/Manifest b/dev-python/pyqtgraph/Manifest
new file mode 100644
index 000000000000..9f6dbadd1416
--- /dev/null
+++ b/dev-python/pyqtgraph/Manifest
@@ -0,0 +1,2 @@
+DIST pyqtgraph-0.9.10.tar.gz 1086558 SHA256 4c0589774e3c8b0c374931397cf6356b9cc99a790215d1917bb7f015c6f0729a SHA512 c947bf69116b8b0a61a1db6ec70d51741667387f98320ce581733a306bea704754b7bb0abf94d6f01ce74dfc218b3c573db017a5e189cde76d00f85bc6b23a3d WHIRLPOOL 45ce6873298b30f74b374d3e6d7a97b1602a723d6d08847f79560fb29e6d66b70e23705e07ec5481e427fde99f27d4b84da8565ea53d96a377f5727176d35c8f
+DIST pyqtgraph-0.9.9.tar.gz 1086535 SHA256 6f61a7415c9488b334f856f06bc436b61d3742b2257310fe4bc8a1b85f84590b SHA512 f1fdf6aa2d66f4fc222fbcf97709ef9d172a4f7611882f46e6f9738fed9485ada9d81dd4d078c51385743fa344e52c3c1e0477ae5b6fabd04718bba8622e6a3e WHIRLPOOL 4d68d476df65f71eb4d7ea88eb6004ffc09868de6dbcf5192da773af6069cd83f388e3945ced1977e2531c9249bc58cc950f8540aaf71696f55d973a005a0e33
diff --git a/dev-python/pyqtgraph/metadata.xml b/dev-python/pyqtgraph/metadata.xml
new file mode 100644
index 000000000000..8da1249232ec
--- /dev/null
+++ b/dev-python/pyqtgraph/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">pyqtgraph/pyqtgraph</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.9.10.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.9.10.ebuild
new file mode 100644
index 000000000000..98a4de25c2bd
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.9.10.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="a pure-python scientific graphics and GUI library built on PyQt4/PySide and numpy"
+HOMEPAGE="http://www.pyqtgraph.org/ https://github.com/pyqtgraph/pyqtgraph"
+SRC_URI="http://www.pyqtgraph.org/downloads/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples opengl"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ || (
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix distutils warning
+ sed -i 's/install_requires/requires/' setup.py || die
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.9.9.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.9.9.ebuild
new file mode 100644
index 000000000000..ac30be6cd9d1
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.9.9.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="a pure-python scientific graphics and GUI library built on PyQt4/PySide and numpy"
+HOMEPAGE="http://www.pyqtgraph.org/ https://github.com/pyqtgraph/pyqtgraph"
+SRC_URI="http://www.pyqtgraph.org/downloads/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc opengl"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ || (
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/pyside[${PYTHON_USEDEP}]
+ )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix distutils warning
+ sed -i 's/install_requires/requires/' setup.py || die
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyquery/Manifest b/dev-python/pyquery/Manifest
new file mode 100644
index 000000000000..739b3fdfae52
--- /dev/null
+++ b/dev-python/pyquery/Manifest
@@ -0,0 +1,3 @@
+DIST pyquery-1.2.4.tar.gz 23999 SHA256 1c39f786c42430279eadf787f1ef06873f15c9acba2698c23dfd925ac7b169d7 SHA512 77ec2efab157f693361e1dcbeabd7cac0709d3a8a25b6c47eb333be49c1485c7fa50b4fd9238bfff69657368130c2886cf6e0705415bdf1b48dc434365539c29 WHIRLPOOL 3fece4f710d69a0b57ab858f759196b269984a38af568003f7280215763c67b1e229feaf80f27b359a5da923248a11335026af4de85806ea6fc969c61c197685
+DIST pyquery-1.2.8.zip 42552 SHA256 59af39301bad397e085e5080987f94ef30672f1cf8e73d19d3307b3b63c3cb4b SHA512 9d344a5c4b0dd565e31c803ceecb217c71f9a70badbc65f9fcfb4a2cccb725a1bf938ed0b1697dcfdf0ec967321dccc1916a884ffdb0af9828a65005f63c47d7 WHIRLPOOL 5c98c3e7584d429a7c9bca564aac04e5dc6f579265aa9b8b768e167cdfcc57758b0d728b3102a56af75fa6ea838a6c1927e733a5171d3266574ba2b34ee85209
+DIST pyquery-1.2.9.zip 45289 SHA256 46c51eb878b787e814ee8f9737b0a62111034aeb4d1c06450ac5a8ea5a70e602 SHA512 f5152b471c896b39032add6a7f0e6ce63f426b4903bc7cf9eef12723c73453b40c310dd1497a7c4189fc6faaf804690fd91fb6d2f97fb6c4d6314682de4b8d05 WHIRLPOOL a57bb04402a3a8af98e7073d2b4e415a3e455bb67b4dc946831832f24339fe29fcd560123651abb3ae38c4ee9da3973638d27e064122702c0d1dd63d971fb67b
diff --git a/dev-python/pyquery/metadata.xml b/dev-python/pyquery/metadata.xml
new file mode 100644
index 000000000000..5609388fe1aa
--- /dev/null
+++ b/dev-python/pyquery/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyquery</remote-id>
+ <remote-id type="github">gawel/pyquery</remote-id>
+ </upstream>
+ <use>
+ <flag name="beautifulsoup3">Support BeautifulSoup 3</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pyquery/pyquery-1.2.4.ebuild b/dev-python/pyquery/pyquery-1.2.4.ebuild
new file mode 100644
index 000000000000..ea7818bfab9f
--- /dev/null
+++ b/dev-python/pyquery/pyquery-1.2.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A jQuery-like library for python"
+HOMEPAGE="http://pypi.python.org/pypi/pyquery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="beautifulsoup3 test"
+
+RDEPEND=">=dev-python/lxml-2.1[beautifulsoup3?,${PYTHON_USEDEP}]
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2_rc1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+REQUIRED_USE="test? ( beautifulsoup3 )"
+
+DOCS=( CHANGES.rst README.rst )
+
+python_prepare_all() {
+ # Disable tests that access the net
+ for file in docs/{ajax.txt,manipulating.txt,scrap.txt,tips.txt}
+ do
+ mv ${file} ${file/.txt/} || die
+ done
+ sed -e 's:>>> d = pq(url:>>> # d = pq(url:' -i README.rst || die
+ sed -e 's:class TestWebScrapping:class _TestWebScrapping:' -i ${PN}/test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyquery/pyquery-1.2.8.ebuild b/dev-python/pyquery/pyquery-1.2.8.ebuild
new file mode 100644
index 000000000000..fa371b17d203
--- /dev/null
+++ b/dev-python/pyquery/pyquery-1.2.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A jQuery-like library for python"
+HOMEPAGE="https://github.com/gawel/pyquery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="beautifulsoup3 test"
+
+RDEPEND=">=dev-python/lxml-2.1[beautifulsoup3?,${PYTHON_USEDEP}]
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+REQUIRED_USE="test? ( beautifulsoup3 )"
+
+python_prepare_all() {
+ # rm known failing tests and tests dependent on restkit
+ # https://github.com/gawel/pyquery/pull/63/files
+ sed -e "s/test_proxy/_&/" \
+ -e "s/test_replaceWith/_&/" \
+ -i tests/test_pyquery.py || die
+ rm docs/ajax.rst || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # The suite, it appears, requires this hard setting of PYTHONPATH!
+ PYTHONPATH=. nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyquery/pyquery-1.2.9-r1.ebuild b/dev-python/pyquery/pyquery-1.2.9-r1.ebuild
new file mode 100644
index 000000000000..1344a4c73808
--- /dev/null
+++ b/dev-python/pyquery/pyquery-1.2.9-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A jQuery-like library for python"
+HOMEPAGE="https://github.com/gawel/pyquery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="beautifulsoup3 test"
+
+RDEPEND=">=dev-python/lxml-2.1[beautifulsoup3?,${PYTHON_USEDEP}]
+ >dev-python/cssselect-0.7.9[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.1.9[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/restkit[${PYTHON_USEDEP}]' 'python2_7') )"
+
+REQUIRED_USE="test? ( beautifulsoup3 )"
+
+python_test() {
+ # The suite, it appears, requires this hard setting of PYTHONPATH!
+ PYTHONPATH=. nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyquery/pyquery-1.2.9.ebuild b/dev-python/pyquery/pyquery-1.2.9.ebuild
new file mode 100644
index 000000000000..c556f77aa4a5
--- /dev/null
+++ b/dev-python/pyquery/pyquery-1.2.9.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A jQuery-like library for python"
+HOMEPAGE="https://github.com/gawel/pyquery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ppc ppc64 sparc x86"
+IUSE="beautifulsoup3 test"
+
+RDEPEND=">=dev-python/lxml-2.1[beautifulsoup3?,${PYTHON_USEDEP}]
+ >dev-python/cssselect-0.7.9[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.1.9[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip
+ test? ( ${RDEPEND}
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}] )"
+
+REQUIRED_USE="test? ( beautifulsoup3 )"
+
+python_test() {
+ # The suite, it appears, requires this hard setting of PYTHONPATH!
+ PYTHONPATH=. nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyqwt/Manifest b/dev-python/pyqwt/Manifest
new file mode 100644
index 000000000000..ebf99224a9f2
--- /dev/null
+++ b/dev-python/pyqwt/Manifest
@@ -0,0 +1 @@
+DIST PyQwt-5.2.0.tar.gz 2670893 SHA256 98a8c7e0c76d07701c11dffb77793b05f071b664a8b520d6e97054a98179e70b SHA512 8c409ee228d91d625bf9bd8a5704c3d41f70613b420bc8f1527312dd1ebb686b8482bd68c4b3d1a72edd80673533a4f5a39378221967bea70f389c9dde14f265 WHIRLPOOL ab5e8d1b094552df592062ad41d786e58621465d318eaa2e199cdf45163e39be24f8c268aec33b428b4daa92c4c85342925df109792475507425f90c76e86c70
diff --git a/dev-python/pyqwt/metadata.xml b/dev-python/pyqwt/metadata.xml
new file mode 100644
index 000000000000..3911f0748f20
--- /dev/null
+++ b/dev-python/pyqwt/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ PyQwt is a set of Python bindings for the Qwt C++ class library which
+ extends the Qt framework with widgets for scientific and engineering
+ applications. It provides a widget to plot 2-dimensional data and
+ various widgets to display and control bounded or unbounded floating
+ point values.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pyqwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyqwt/pyqwt-5.2.0-r1.ebuild b/dev-python/pyqwt/pyqwt-5.2.0-r1.ebuild
new file mode 100644
index 000000000000..08afe31210c0
--- /dev/null
+++ b/dev-python/pyqwt/pyqwt-5.2.0-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit flag-o-matic python-r1
+
+MY_P="PyQwt-${PV}"
+DESCRIPTION="Python bindings for the Qwt library"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://pyqwt.sourceforge.net/"
+
+SLOT="5"
+LICENSE="GPL-2"
+KEYWORDS="amd64 arm ia64 x86"
+IUSE="debug doc examples svg"
+
+RDEPEND="
+ x11-libs/qwt:5[svg?]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+DEPEND="${DEPEND}
+ dev-python/sip[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}/configure"
+
+src_prepare() {
+ python_copy_sources
+ append-flags -fPIC
+}
+
+src_configure() {
+ configuration() {
+ local myonf=()
+ use debug && myconf+=( --debug )
+
+ cd "${BUILD_DIR}" || die
+ # '-j' option can be buggy.
+ "${PYTHON}" configure.py \
+ --extra-cflags="${CFLAGS}" \
+ --extra-cxxflags="${CXXFLAGS}" \
+ --extra-lflags="${LDFLAGS}" \
+ --disable-numarray \
+ --disable-numeric \
+ -I/usr/include/qwt5 \
+ -lqwt \
+ ${myconf[@]} \
+ || die "configure.py failed"
+
+ # Avoid stripping of the libraries.
+ sed -i -e "/strip/d" {iqt5qt4,qwt5qt4}/Makefile || die "sed failed"
+ }
+ python_foreach_impl configuration
+}
+
+src_compile() {
+ compilation() {
+ cd "${BUILD_DIR}" || die
+ default
+ }
+ python_foreach_impl compilation
+
+ if use doc; then
+ cd "${S}"/../sphinx || die
+ emake
+ fi
+}
+
+src_install() {
+ installation() {
+ cd "${BUILD_DIR}" || die
+ emake DESTDIR="${D}" install
+ }
+ python_foreach_impl installation
+
+ cd "${S}"/.. || die
+
+ dodoc ANNOUNCEMENT-${PV} README
+
+ use doc && dodoc -r sphinx/build/.
+ if use examples; then
+ docinto examples
+ dodoc -r qt4examples/.
+ fi
+}
diff --git a/dev-python/pyramid/Manifest b/dev-python/pyramid/Manifest
new file mode 100644
index 000000000000..112ec9f84eab
--- /dev/null
+++ b/dev-python/pyramid/Manifest
@@ -0,0 +1,4 @@
+DIST pyramid-1.5.1.tar.gz 2401767 SHA256 2fe0b4012f10444682acc0df3b9cb85c7cfff2508ba5cbe6db83f5f14b510d86 SHA512 70b04111020d0f02ef21c52c44d7b6a5e78d198daee0068921df048bcae8b07567aee05d57f1a9e7329ef418116a0f7682aee30c6f785a4d1ec847e2519e7cc5 WHIRLPOOL 16e17ccba24f6a76c4ef0f2e361580e832c6450f453f88229bf1204cd123719e08e8565bb46d8b0bef5b395af2dfa87cb7ac7a9dc0dc9a0cc2d019490716e151
+DIST pyramid-1.5.2.tar.gz 2422156 SHA256 12057e63c9c99f88bc71af12f00a5e2c934221122baf582c7365361cba45bdcc SHA512 531d68fb480cf1420e069025537968abebc17bed98bf25e9993b8c744a12c5031df4b9b09e6f775bb1176f305f2e2c8ddb176ff43d1b34a10f2181df74fac8b8 WHIRLPOOL 785706946338dee67c7472c8d0b97fea86b8695d2efe7da93c483acf6476e5501269732a24b1cec50e1b9bf723edab44e437785cfd833bd3263c0207bc4f3ad9
+DIST pyramid-1.5.4.tar.gz 2678373 SHA256 39c48570595cfdb38227552a9e2858e62cc45ced4db94cf9b136cd823acda19f SHA512 2c2f9f42c64a4c184bb743005f7ba2f7fce2409e35c7db3e683852f6c93e44dea26d082c88727a44bdde253e6648cfb95169f6f5615d2d17bccd4b4113e0361f WHIRLPOOL bebd849ce1a116f7b04d2b5f3fb71ab5fe964e50a16a576d91c5509f7dd3f5312b4d9d174d0369d2d7db2f2c363e8caa594bb23249f59b11bfd80eed9e2d6245
+DIST pyramid-1.5.7.tar.gz 2678474 SHA256 c1302d5ccb6833e8794ddb649aa9bb64d86c05adb127c93e329f8863907449b4 SHA512 32b0d4b85bf0f471b7c08ac7353f2859284ee7bb2451b68429074fb5f954e0e02d7bc4bdd86f843d6a5304b56a418e698d614806bbfd09dda9a608db88c25949 WHIRLPOOL 2c12aab5e91eede072f0b45b510699f048f9848753cf134e21dcb775b0f2fa96c815d1573cd11b67afa76f401bdab230b67fe1a24a8a861708309d8b26308619
diff --git a/dev-python/pyramid/metadata.xml b/dev-python/pyramid/metadata.xml
new file mode 100644
index 000000000000..98d5d9c09f4c
--- /dev/null
+++ b/dev-python/pyramid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyramid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyramid/pyramid-1.5.1.ebuild b/dev-python/pyramid/pyramid-1.5.1.ebuild
new file mode 100644
index 000000000000..0329247d1e49
--- /dev/null
+++ b/dev-python/pyramid/pyramid-1.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+RESTRICT="test" # Can't package dependencies
+
+DESCRIPTION="A small open source Python web framework"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+#IUSE="test"
+# tests would pull in dev-python/zope-deprecation with its deps - not a good idea
+
+RDEPEND="
+ dev-python/chameleon[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/repoze-lru[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ dev-python/translationstring[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/venusian[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+ #test? ( dev-python/webtest[${PYTHON_USEDEP}]
+ # dev-python/nose[${PYTHON_USEDEP}]
+ # dev-python/coverage[${PYTHON_USEDEP}]
+ # dev-python/virtualenv[${PYTHON_USEDEP}]
+ # )
+ #"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyramid/pyramid-1.5.2.ebuild b/dev-python/pyramid/pyramid-1.5.2.ebuild
new file mode 100644
index 000000000000..5c6c05219418
--- /dev/null
+++ b/dev-python/pyramid/pyramid-1.5.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+RESTRICT="test" # Can't package dependencies
+
+DESCRIPTION="A small open source Python web framework"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+#IUSE="test"
+# tests would pull in dev-python/zope-deprecation with its deps - not a good idea
+
+RDEPEND="
+ dev-python/chameleon[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/repoze-lru[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ dev-python/translationstring[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/venusian[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+ #test? ( dev-python/webtest[${PYTHON_USEDEP}]
+ # dev-python/nose[${PYTHON_USEDEP}]
+ # dev-python/coverage[${PYTHON_USEDEP}]
+ # dev-python/virtualenv[${PYTHON_USEDEP}]
+ # )
+ #"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyramid/pyramid-1.5.4.ebuild b/dev-python/pyramid/pyramid-1.5.4.ebuild
new file mode 100644
index 000000000000..5c6c05219418
--- /dev/null
+++ b/dev-python/pyramid/pyramid-1.5.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+RESTRICT="test" # Can't package dependencies
+
+DESCRIPTION="A small open source Python web framework"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+#IUSE="test"
+# tests would pull in dev-python/zope-deprecation with its deps - not a good idea
+
+RDEPEND="
+ dev-python/chameleon[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/repoze-lru[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ dev-python/translationstring[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/venusian[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+ #test? ( dev-python/webtest[${PYTHON_USEDEP}]
+ # dev-python/nose[${PYTHON_USEDEP}]
+ # dev-python/coverage[${PYTHON_USEDEP}]
+ # dev-python/virtualenv[${PYTHON_USEDEP}]
+ # )
+ #"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyramid/pyramid-1.5.7.ebuild b/dev-python/pyramid/pyramid-1.5.7.ebuild
new file mode 100644
index 000000000000..5c6c05219418
--- /dev/null
+++ b/dev-python/pyramid/pyramid-1.5.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+RESTRICT="test" # Can't package dependencies
+
+DESCRIPTION="A small open source Python web framework"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+#IUSE="test"
+# tests would pull in dev-python/zope-deprecation with its deps - not a good idea
+
+RDEPEND="
+ dev-python/chameleon[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/repoze-lru[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ dev-python/translationstring[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/venusian[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ "
+ #test? ( dev-python/webtest[${PYTHON_USEDEP}]
+ # dev-python/nose[${PYTHON_USEDEP}]
+ # dev-python/coverage[${PYTHON_USEDEP}]
+ # dev-python/virtualenv[${PYTHON_USEDEP}]
+ # )
+ #"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyrax/Manifest b/dev-python/pyrax/Manifest
new file mode 100644
index 000000000000..8d0abb6195ae
--- /dev/null
+++ b/dev-python/pyrax/Manifest
@@ -0,0 +1,3 @@
+DIST pyrax-1.9.2.tar.gz 311901 SHA256 1971dd941cc750815a0b51d3b0ed6a30cfa9f1dcc562bca808b0708b9ffed8ed SHA512 e095349c42709e5cc382f4d90de2711d6ac53b1d41dd34c3969ed4423f8c5534ff902d78cfae71f6cb7bb4200fd1ab66305ebf43ab03b0c928580b34c06bc1ef WHIRLPOOL eec8a1aa3f99f39f5a461e40e64b23854313ca4ae8a8ef76ab78e103ce4b62a07531f019246a459e65cf6b5a0f67d582f316af3f5ebbec9dbb307a2c589c5182
+DIST pyrax-1.9.3.tar.gz 307959 SHA256 0a3026c67df7bb84720cf562eef0fb15ad67dce79b6fc5e8da46621489be26bb SHA512 8ffb641e46d2f9cda079f619303f92c65fd41cf2ad773c5e8da981257fe9d4aac94e9bc08fab53e3b0a9b63a661381ff7805cbfd34ddef3275cba2d69858aa69 WHIRLPOOL 9060febb5b9d90cea5b248acf73af162df7b4badd66462916fd7e63f875edacde046c83fced1f5f03e500a1ca9d9f74fd746927d1c42942a561d002caa316d3d
+DIST pyrax-1.9.4.tar.gz 312608 SHA256 5cc27688cccd4137a4c53a69b6e0e877054a0bafec899f8170ccc0b58fbf95f3 SHA512 be84e558095a7f76998dd7909cfa5f1ef97a1d65a5a3fe168d70e3978a5974b4eb1592690aac7b0bd52b09faed79fca52006b17e5a22008850088a953d5bef72 WHIRLPOOL ae1c5ae01bbe704404e589a3a1bf1b12abc77817bbdf6e879301dd0716b1f84aa80903ec1d5b4035eacca81221680d8fd44cf0112081a5aff6f4abfbf5973b7d
diff --git a/dev-python/pyrax/metadata.xml b/dev-python/pyrax/metadata.xml
new file mode 100644
index 000000000000..6d382aad8e06
--- /dev/null
+++ b/dev-python/pyrax/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python SDK for OpenStack/Rackspace APIs
+ pyrax should work with most OpenStack-based cloud deployments,
+ though it specifically targets the Rackspace public cloud.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pyrax</remote-id>
+ <remote-id type="github">rackspace/pyrax</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyrax/pyrax-1.9.2.ebuild b/dev-python/pyrax/pyrax-1.9.2.ebuild
new file mode 100644
index 000000000000..898bc9d1ef35
--- /dev/null
+++ b/dev-python/pyrax/pyrax-1.9.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language bindings for OpenStack Clouds"
+HOMEPAGE="https://github.com/rackspace/pyrax"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+CDEPEND="
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.13.0[${PYTHON_USEDEP}]
+ dev-python/rackspace-novaclient[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/rax-scheduled-images-python-novaclient-ext[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_test() {
+ ebegin 'patching tests/unit/test_utils.py'
+ sed \
+ -e '92,100d' \
+ -i tests/unit/test_utils.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ nosetests tests/unit || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyrax/pyrax-1.9.3.ebuild b/dev-python/pyrax/pyrax-1.9.3.ebuild
new file mode 100644
index 000000000000..c3b6356a93d1
--- /dev/null
+++ b/dev-python/pyrax/pyrax-1.9.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language bindings for OpenStack Clouds"
+HOMEPAGE="https://github.com/rackspace/pyrax"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+CDEPEND="
+ dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.13.0[${PYTHON_USEDEP}]
+ dev-python/rackspace-novaclient[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/rax-scheduled-images-python-novaclient-ext[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_test() {
+ #ebegin 'patching tests/unit/test_utils.py'
+ #sed \
+ # -e '92,100d' \
+ # -i tests/unit/test_utils.py
+ #STATUS=$?
+ #eend ${STATUS}
+ #[[ ${STATUS} -gt 0 ]] && die
+
+ nosetests tests/unit || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyrax/pyrax-1.9.4.ebuild b/dev-python/pyrax/pyrax-1.9.4.ebuild
new file mode 100644
index 000000000000..4459ff37990b
--- /dev/null
+++ b/dev-python/pyrax/pyrax-1.9.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language bindings for OpenStack Clouds"
+HOMEPAGE="https://github.com/rackspace/pyrax"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+CDEPEND="
+ dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.13.0[${PYTHON_USEDEP}]
+ dev-python/rackspace-novaclient[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/rax-scheduled-images-python-novaclient-ext[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_test() {
+ nosetests tests/unit || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( samples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyregion/Manifest b/dev-python/pyregion/Manifest
new file mode 100644
index 000000000000..88ea05506c9f
--- /dev/null
+++ b/dev-python/pyregion/Manifest
@@ -0,0 +1,2 @@
+DIST pyregion-1.1.2.tar.gz 98664 SHA256 7a21f461ffd4f9f3eea1fe254b3176a99f32a54c83bc3053bdc80425d0368cda SHA512 fd8573744d884b6711ca0cb398fb9eaa4294ebbae3fccd70ec74fd2b41f8302c9c84ebbcf83b7cdd064192f36e3fe8fa3b03d8d329ecce89e62f0695b31cdce7 WHIRLPOOL 95f32b414f6485fbb5028dfc3307d801d6b5e970292225189710b1d95a1effc9f1537419487dffcb7b34adb537098a902fe735f69956dce112f15fcebc5123a4
+DIST pyregion-1.1.4.tar.gz 99454 SHA256 2d7d5ce46a3b4177978d4901c9c46ce402165113049006b923f5346b014973b9 SHA512 572a10593dc93f64ad6fd1d7a8f19582df04309b88a73fb41e3b4c71036d61c3857114cc01025e581ddd3a63af92fabb5375c1ee8fe487f83da2780569954236 WHIRLPOOL 54791087d514e9c4b0e850c77219ed4d453a2a86c148ce04f2dc8cbcdc9138e075860acc6c2812e9033cfe15cca2b093d792186a2b47f903c747d2486feab8bd
diff --git a/dev-python/pyregion/metadata.xml b/dev-python/pyregion/metadata.xml
new file mode 100644
index 000000000000..b515cba0ba5d
--- /dev/null
+++ b/dev-python/pyregion/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ pyregion is a python module to parse ds9 region files. It also
+ support ciao region files, and can draw regions using matplotlib.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">pyregion</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/pyregion/pyregion-1.1.2.ebuild b/dev-python/pyregion/pyregion-1.1.2.ebuild
new file mode 100644
index 000000000000..58ccdaabf307
--- /dev/null
+++ b/dev-python/pyregion/pyregion-1.1.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python module to parse ds9 region file"
+HOMEPAGE="http://leejjoon.github.com/pyregion/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="MIT"
+
+IUSE="examples"
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ || ( dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pyrex[${PYTHON_USEDEP}] )"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyregion/pyregion-1.1.4.ebuild b/dev-python/pyregion/pyregion-1.1.4.ebuild
new file mode 100644
index 000000000000..58ccdaabf307
--- /dev/null
+++ b/dev-python/pyregion/pyregion-1.1.4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python module to parse ds9 region file"
+HOMEPAGE="http://leejjoon.github.com/pyregion/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="MIT"
+
+IUSE="examples"
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ || ( dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pyrex[${PYTHON_USEDEP}] )"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyrex/Manifest b/dev-python/pyrex/Manifest
new file mode 100644
index 000000000000..fcfd47093dbc
--- /dev/null
+++ b/dev-python/pyrex/Manifest
@@ -0,0 +1 @@
+DIST Pyrex-0.9.9.tar.gz 255272 SHA256 5f87df06831d0b3412eb4bc9d3fc2ee7bfae1b913d7da8c23ab2bf5699fb6b50 SHA512 724b14278760fffb751bd9dc24e18dbe85732f069d186ee89bc9f28dd8f912d5f69492d28e705f55de2db56c343f10f21c6a1c39bda1d7c234d09a3d5e192f6b WHIRLPOOL e89ab2369d3f73d85c4219f6f652b4450b22d116b5325fd0a7b544946071cc8cd480ca3320343b99acdaa8c48c313ac96e43316efed29f3e698980d19c5e1479
diff --git a/dev-python/pyrex/metadata.xml b/dev-python/pyrex/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyrex/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyrex/pyrex-0.9.9-r1.ebuild b/dev-python/pyrex/pyrex-0.9.9-r1.ebuild
new file mode 100644
index 000000000000..7099c7e31afc
--- /dev/null
+++ b/dev-python/pyrex/pyrex-0.9.9-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="Pyrex-${PV}"
+
+DESCRIPTION="A language for writing Python extension modules"
+HOMEPAGE="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/"
+SRC_URI="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="examples"
+
+S="${WORKDIR}/${MY_P}"
+
+DEPEND=""
+RDEPEND=""
+DOCS=( CHANGES.txt README.txt ToDo.txt USAGE.txt )
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dohtml -A c -r Doc/.
+
+ if use examples; then
+ dodoc -r Demos
+ docompress -x /usr/share/doc/${PF}/Demos
+ fi
+}
diff --git a/dev-python/pyrfc3339/Manifest b/dev-python/pyrfc3339/Manifest
new file mode 100644
index 000000000000..a4eab11f920b
--- /dev/null
+++ b/dev-python/pyrfc3339/Manifest
@@ -0,0 +1 @@
+DIST pyRFC3339-0.2.tar.gz 5068 SHA256 a504ff6bcb363fa402d393f65fe5f542475e54fbfc55817b80892ba93b22e6de SHA512 54482528e429c0135823b333d18e6a9361ba99b18a62883e9b09f5533e75f08d12d9c1ee855296cecd98c11824f927984527bb0555a49e4284164b7fe4df8c4f WHIRLPOOL c84d3e1d38b2d57d6525f884a12e8e478aaf6e6e30a00b6267cc5043da9b3b58b1afd585d8350291e32e350df0431be96743b27d95769eecdbc738ded863e68e
diff --git a/dev-python/pyrfc3339/files/pyrfc3339-0.2-fixdoctests.patch b/dev-python/pyrfc3339/files/pyrfc3339-0.2-fixdoctests.patch
new file mode 100644
index 000000000000..1ce4cb02659a
--- /dev/null
+++ b/dev-python/pyrfc3339/files/pyrfc3339-0.2-fixdoctests.patch
@@ -0,0 +1,54 @@
+From 085006c9ffc00d3fba3b91eb33111c791a592715 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Manuel=20R=C3=BCger?= <mrueg@rueg.eu>
+Date: Mon, 13 Jul 2015 20:49:51 +0200
+Subject: [PATCH] Fix doctests for python3
+
+---
+ pyrfc3339/generator.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/pyrfc3339/generator.py b/pyrfc3339/generator.py
+index 020d47b..62f88e0 100644
+--- a/pyrfc3339/generator.py
++++ b/pyrfc3339/generator.py
+@@ -9,7 +9,7 @@ def generate(dt, utc=True, accept_naive=False, microseconds=False):
+ :class:`datetime.datetime`.
+
+ >>> from datetime import datetime
+- >>> generate(datetime(2009,01,01,12,59,59,0,pytz.utc))
++ >>> generate(datetime(2009,1,1,12,59,59,0,pytz.utc))
+ '2009-01-01T12:59:59Z'
+
+ The timestamp will use UTC unless `utc=False` is specified, in which case
+@@ -17,7 +17,7 @@ def generate(dt, utc=True, accept_naive=False, microseconds=False):
+ :attr:`tzinfo` parameter.
+
+ >>> eastern = pytz.timezone('US/Eastern')
+- >>> dt = eastern.localize(datetime(2009,01,01,12,59,59))
++ >>> dt = eastern.localize(datetime(2009,1,1,12,59,59))
+ >>> generate(dt)
+ '2009-01-01T17:59:59Z'
+ >>> generate(dt, utc=False)
+@@ -25,19 +25,19 @@ def generate(dt, utc=True, accept_naive=False, microseconds=False):
+
+ Unless `accept_naive=True` is specified, the `datetime` must not be naive.
+
+- >>> generate(datetime(2009,01,01,12,59,59,0))
++ >>> generate(datetime(2009,1,1,12,59,59,0))
+ Traceback (most recent call last):
+ ...
+ ValueError: naive datetime and accept_naive is False
+
+- >>> generate(datetime(2009,01,01,12,59,59,0), accept_naive=True)
++ >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True)
+ '2009-01-01T12:59:59Z'
+
+ If `accept_naive=True` is specified, the `datetime` is assumed to be UTC.
+ Attempting to generate a local timestamp from a naive datetime will result
+ in an error.
+
+- >>> generate(datetime(2009,01,01,12,59,59,0), accept_naive=True, utc=False)
++ >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True, utc=False)
+ Traceback (most recent call last):
+ ...
+ ValueError: cannot generate a local timestamp from a naive datetime
diff --git a/dev-python/pyrfc3339/metadata.xml b/dev-python/pyrfc3339/metadata.xml
new file mode 100644
index 000000000000..3be1e82eb364
--- /dev/null
+++ b/dev-python/pyrfc3339/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pyrfc3339/pyrfc3339-0.2.ebuild b/dev-python/pyrfc3339/pyrfc3339-0.2.ebuild
new file mode 100644
index 000000000000..275f20b65a29
--- /dev/null
+++ b/dev-python/pyrfc3339/pyrfc3339-0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+MY_PN=pyRFC3339
+
+MY_P=${MY_PN}-${PV}
+DESCRIPTION="Generates and parses RFC 3339 timestamps"
+HOMEPAGE="https://github.com/kurtraschke/pyRFC3339"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=("${FILESDIR}"/${P}-fixdoctests.patch)
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pyringe/Manifest b/dev-python/pyringe/Manifest
new file mode 100644
index 000000000000..06a9541419e6
--- /dev/null
+++ b/dev-python/pyringe/Manifest
@@ -0,0 +1 @@
+DIST pyringe-1.0.2.tar.gz 42804 SHA256 b93f5710c05c8022d04b0145b54825d8748469c04deb7bc6b12fa44174e39324 SHA512 8da1572fda50bd135dc5d49d41a2f5c9cf2f5a7af729aaa9c34cde892a76e5a1b0a6818a6ed67f0f757910eec77f9931daade627141dd9964e9545ccc75a6052 WHIRLPOOL 68b8ed5a93578ed3d688e1d7cbd5d780cdac911b46bc73ea98380dae905e48241d489388ed9caf11d898a5015b8bdf771ab4ef479d7b80013e4d6bec759f30e2
diff --git a/dev-python/pyringe/metadata.xml b/dev-python/pyringe/metadata.xml
new file mode 100644
index 000000000000..fac95e6fd863
--- /dev/null
+++ b/dev-python/pyringe/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dastergon@gentoo.org</email>
+ <name>Pavlos Ratis</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyringe</remote-id>
+ <remote-id type="github">google/pyringe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyringe/pyringe-1.0.2.ebuild b/dev-python/pyringe/pyringe-1.0.2.ebuild
new file mode 100644
index 000000000000..349e9f14b14a
--- /dev/null
+++ b/dev-python/pyringe/pyringe-1.0.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Debugger capable of attaching and injecting code"
+HOMEPAGE="https://github.com/google/pyringe https://pypi.python.org/pypi/pyringe/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+DOCS=( README.md )
diff --git a/dev-python/pyro/Manifest b/dev-python/pyro/Manifest
new file mode 100644
index 000000000000..4ce71be4c390
--- /dev/null
+++ b/dev-python/pyro/Manifest
@@ -0,0 +1,2 @@
+DIST Pyro-3.16.tar.gz 298769 SHA256 1bed508453ef7a7556b51424a58101af2349b662baab7e7331c5cb85dbe7e578 SHA512 d0e4ae93120a6566a2b06fa52b66e20daa972324a9d57d639ca68171e1e6e5c412250f7e6af3fc307631d2270be3731ea5898ad35819dc0369e6a2d8341d5965 WHIRLPOOL 0d7efcead6bc7a31a690c012a4213c835d43ca932e461ab25ddb2e12636970de2c3da6feb4915385bdadaf2261558d2041d5e6dad9899f11e450aa0a065460da
+DIST Pyro4-4.25.tar.gz 295993 SHA256 ac2b0123badcb76c63eb716fcd95e0ee4021d345b5db05fda19253c59e39b384 SHA512 9a112e679a304d250549701d9a1baef0df6d3ea6f1eec559e7c433eab7ab09155c9ae440817f844be073f69dc8bf93836d48930b1d91311eaf6ab7e91c0a4faf WHIRLPOOL aa767569948af1cf222b95fa114d4dee08b601296f8be1ed9bce86502f1c9eeedf05930215da192ab9d237d740283f88a5f7efe1f53291acd1b90b51099a1801
diff --git a/dev-python/pyro/files/4.20-0001-Use-unittest2-for-older-Python-version.patch b/dev-python/pyro/files/4.20-0001-Use-unittest2-for-older-Python-version.patch
new file mode 100644
index 000000000000..554ea01321a6
--- /dev/null
+++ b/dev-python/pyro/files/4.20-0001-Use-unittest2-for-older-Python-version.patch
@@ -0,0 +1,354 @@
+From d27de91579bd64397a9554b6c6a2257f098dbaad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Thu, 18 Jul 2013 20:19:03 +0200
+Subject: [PATCH] Use unittest2 for older Python versions.
+
+---
+ tests/PyroTests/test_core.py | 6 +++++-
+ tests/PyroTests/test_daemon.py | 7 ++++++-
+ tests/PyroTests/test_echoserver.py | 7 ++++++-
+ tests/PyroTests/test_flame.py | 7 ++++++-
+ tests/PyroTests/test_ironpython.py | 6 +++++-
+ tests/PyroTests/test_naming.py | 7 ++++++-
+ tests/PyroTests/test_naming2.py | 6 +++++-
+ tests/PyroTests/test_package.py | 7 ++++++-
+ tests/PyroTests/test_serialize.py | 6 +++++-
+ tests/PyroTests/test_server.py | 6 +++++-
+ tests/PyroTests/test_server_timeout.py | 7 ++++++-
+ tests/PyroTests/test_socket.py | 6 +++++-
+ tests/PyroTests/test_tpjobqueue.py | 7 ++++++-
+ tests/PyroTests/test_util.py | 7 +++++--
+ 14 files changed, 77 insertions(+), 15 deletions(-)
+
+diff --git a/tests/PyroTests/test_core.py b/tests/PyroTests/test_core.py
+index cbcbded..a0b801f 100644
+--- a/tests/PyroTests/test_core.py
++++ b/tests/PyroTests/test_core.py
+@@ -5,7 +5,6 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
+ import copy
+ import logging
+ import os, sys, time
+@@ -17,6 +16,11 @@ import Pyro4.constants
+ import Pyro4.futures
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ if sys.version_info>=(3,0):
+ import imp
+diff --git a/tests/PyroTests/test_daemon.py b/tests/PyroTests/test_daemon.py
+index cf7c06e..05472fd 100644
+--- a/tests/PyroTests/test_daemon.py
++++ b/tests/PyroTests/test_daemon.py
+@@ -5,14 +5,19 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
++import sys
+ import os, time, socket
+-import unittest
+ import Pyro4.core
+ import Pyro4.constants
+ import Pyro4.socketutil
+ from Pyro4.errors import DaemonError,PyroError
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class MyObj(object):
+ def __init__(self, arg):
+diff --git a/tests/PyroTests/test_echoserver.py b/tests/PyroTests/test_echoserver.py
+index abca795..5e58e24 100644
+--- a/tests/PyroTests/test_echoserver.py
++++ b/tests/PyroTests/test_echoserver.py
+@@ -4,13 +4,18 @@ Tests for the built-in test echo server.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
++import sys
+ import time
+ import Pyro4.test.echoserver as echoserver
+ import Pyro4
+ from threading import Thread,Event
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class EchoServerThread(Thread):
+ def __init__(self):
+diff --git a/tests/PyroTests/test_flame.py b/tests/PyroTests/test_flame.py
+index 2406bae..fdc611f 100644
+--- a/tests/PyroTests/test_flame.py
++++ b/tests/PyroTests/test_flame.py
+@@ -5,12 +5,17 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
+ import Pyro4.utils.flame
+ import Pyro4.utils.flameserver
+ import Pyro4.errors
++import sys
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class FlameDisabledTests(unittest.TestCase):
+ def testFlameDisabled(self):
+diff --git a/tests/PyroTests/test_ironpython.py b/tests/PyroTests/test_ironpython.py
+index 70dff4f..8343729 100644
+--- a/tests/PyroTests/test_ironpython.py
++++ b/tests/PyroTests/test_ironpython.py
+@@ -4,10 +4,14 @@ Tests for some Ironpython peculiarities.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
+ import sys
+ import pickle
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ if sys.platform=="cli":
+
+diff --git a/tests/PyroTests/test_naming.py b/tests/PyroTests/test_naming.py
+index d61fa99..fb5b580 100644
+--- a/tests/PyroTests/test_naming.py
++++ b/tests/PyroTests/test_naming.py
+@@ -5,7 +5,7 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
++import sys
+ import time
+ import Pyro4.core
+ import Pyro4.naming
+@@ -15,6 +15,11 @@ from Pyro4.errors import NamingError
+ from Pyro4 import threadutil
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class NSLoopThread(threadutil.Thread):
+ def __init__(self, nameserver):
+diff --git a/tests/PyroTests/test_naming2.py b/tests/PyroTests/test_naming2.py
+index afa0b22..ae398ac 100644
+--- a/tests/PyroTests/test_naming2.py
++++ b/tests/PyroTests/test_naming2.py
+@@ -5,7 +5,6 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
+ import sys, select, os
+ import Pyro4.core
+ import Pyro4.naming
+@@ -15,6 +14,11 @@ import Pyro4.socketutil
+ from Pyro4.errors import NamingError,PyroError
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class OfflineNameServerTests(unittest.TestCase):
+ def setUp(self):
+diff --git a/tests/PyroTests/test_package.py b/tests/PyroTests/test_package.py
+index 9ab3bba..052eebf 100644
+--- a/tests/PyroTests/test_package.py
++++ b/tests/PyroTests/test_package.py
+@@ -4,7 +4,6 @@ Tests for the package structure and import names.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
+ import Pyro4
+ import Pyro4.constants
+ import Pyro4.core
+@@ -14,7 +13,13 @@ import Pyro4.nsc
+ import Pyro4.socketutil
+ import Pyro4.threadutil
+ import Pyro4.util
++import sys
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class TestPackage(unittest.TestCase):
+ def testPyro4(self):
+diff --git a/tests/PyroTests/test_serialize.py b/tests/PyroTests/test_serialize.py
+index 4fea39c..f05c84a 100644
+--- a/tests/PyroTests/test_serialize.py
++++ b/tests/PyroTests/test_serialize.py
+@@ -5,7 +5,6 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
+ import sys
+ import pprint
+ import Pyro4.util
+@@ -13,6 +12,11 @@ import Pyro4.errors
+ import Pyro4.core
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class SerializeTests_pickle(unittest.TestCase):
+ SERIALIZER="pickle"
+diff --git a/tests/PyroTests/test_server.py b/tests/PyroTests/test_server.py
+index d1ebfcc..b2dd661 100644
+--- a/tests/PyroTests/test_server.py
++++ b/tests/PyroTests/test_server.py
+@@ -5,7 +5,6 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
+ import Pyro4.core
+ import Pyro4.errors
+ import Pyro4.util
+@@ -13,6 +12,11 @@ import time, os, sys, platform
+ from Pyro4 import threadutil
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class MyThing(object):
+ def __init__(self):
+diff --git a/tests/PyroTests/test_server_timeout.py b/tests/PyroTests/test_server_timeout.py
+index daa5a8d..dd5ee34 100644
+--- a/tests/PyroTests/test_server_timeout.py
++++ b/tests/PyroTests/test_server_timeout.py
+@@ -4,10 +4,15 @@ Tests for a running Pyro server, with timeouts.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
++import sys
+ import os
+ import test_server
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ class ServerTestsThreadTimeout(test_server.ServerTestsThreadNoTimeout):
+ SERVERTYPE="thread"
+diff --git a/tests/PyroTests/test_socket.py b/tests/PyroTests/test_socket.py
+index 4d44139..b487686 100644
+--- a/tests/PyroTests/test_socket.py
++++ b/tests/PyroTests/test_socket.py
+@@ -4,7 +4,6 @@ Tests for the low level socket functions.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
+ import socket, os, sys
+ import Pyro4.socketutil as SU
+ from Pyro4 import threadutil
+@@ -13,6 +12,11 @@ from Pyro4.socketserver.threadpoolserver import SocketServer_Threadpool
+ import Pyro4
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ # determine ipv6 capability
+ has_ipv6 = socket.has_ipv6
+diff --git a/tests/PyroTests/test_tpjobqueue.py b/tests/PyroTests/test_tpjobqueue.py
+index 8ab7f7b..7cdc3bb 100644
+--- a/tests/PyroTests/test_tpjobqueue.py
++++ b/tests/PyroTests/test_tpjobqueue.py
+@@ -5,12 +5,17 @@ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+ from __future__ import with_statement
+-import unittest
++import sys
+ import time
+ import random
+ from Pyro4.tpjobqueue import ThreadPooledJobQueue, JobQueueError
+ import Pyro4.threadutil
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ MIN_POOL_SIZE = 5
+ MAX_POOL_SIZE = 10
+diff --git a/tests/PyroTests/test_util.py b/tests/PyroTests/test_util.py
+index ac1e639..497ec4a 100644
+--- a/tests/PyroTests/test_util.py
++++ b/tests/PyroTests/test_util.py
+@@ -4,12 +4,15 @@ Tests for the utility functions.
+ Pyro - Python Remote Objects. Copyright by Irmen de Jong (irmen@razorvine.net).
+ """
+
+-import unittest
+-
+ import sys, imp, os, platform
+ import Pyro4.util
+ from testsupport import *
+
++if (sys.version_info >= (2, 7) and sys.version_info < (3, 0)) or \
++ (sys.version_info >= (3, 1)):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ if not hasattr(imp,"reload"):
+ imp.reload=reload # python 2.5 doesn't have imp.reload
+--
+1.8.2.1
+
diff --git a/dev-python/pyro/metadata.xml b/dev-python/pyro/metadata.xml
new file mode 100644
index 000000000000..5699b06419b1
--- /dev/null
+++ b/dev-python/pyro/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Pyro</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyro/pyro-3.16-r1.ebuild b/dev-python/pyro/pyro-3.16-r1.ebuild
new file mode 100644
index 000000000000..a9fe60240cb0
--- /dev/null
+++ b/dev-python/pyro/pyro-3.16-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="Pyro"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Advanced and powerful Distributed Object Technology system written entirely in Python"
+HOMEPAGE="http://www.xs4all.nl/~irmen/pyro3/ http://pypi.python.org/pypi/Pyro"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="3"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+DEPEND="!dev-python/pyro:0"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/${P}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/pyro/pyro-4.25.ebuild b/dev-python/pyro/pyro-4.25.ebuild
new file mode 100644
index 000000000000..c03b2afe2a7b
--- /dev/null
+++ b/dev-python/pyro/pyro-4.25.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Pyro4"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Advanced and powerful Distributed Object Technology system written entirely in Python"
+HOMEPAGE="http://www.xs4all.nl/~irmen/pyro/ http://pypi.python.org/pypi/Pyro4"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="4"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="!dev-python/pyro:0
+ >=dev-python/serpent-1.5[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed \
+ -e '/sys.path.insert/a sys.path.insert(1,"PyroTests")' \
+ -i tests/run_suite.py || die
+
+ # Disable tests requiring network connection.
+ sed \
+ -e "s/testBCstart/_&/" \
+ -e "s/testDaemonPyroObj/_&/" \
+ -e "s/testLookupAndRegister/_&/" \
+ -e "s/testMulti/_&/" \
+ -e "s/testRefuseDottedNames/_&/" \
+ -e "s/testResolve/_&/" \
+ -e "s/testBCLookup/_&/" \
+ -i tests/PyroTests/test_naming.py || die
+ sed \
+ -e "s/testOwnloopBasics/_&/" \
+ -e "s/testStartNSfunc/_&/" \
+ -i tests/PyroTests/test_naming2.py || die
+
+ sed \
+ -e "s/testServerConnections/_&/" \
+ -e "s/testServerParallelism/_&/" \
+ -i tests/PyroTests/test_server.py || die
+
+ sed \
+ -e "s/testBroadcast/_&/" \
+ -e "s/testGetIP/_&/" \
+ -e "s/testGetIpVersion[46]/_&/" \
+ -i tests/PyroTests/test_socket.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${S}"/tests || die
+ ${PYTHON} run_suite.py || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyroma/Manifest b/dev-python/pyroma/Manifest
new file mode 100644
index 000000000000..a2bae45da2fd
--- /dev/null
+++ b/dev-python/pyroma/Manifest
@@ -0,0 +1 @@
+DIST pyroma-1.7.zip 359654 SHA256 5498d46cb690404d70351aacaf04e61a709ca48c24c803ab5aac7fd7a1629518 SHA512 d7c95283273befbed6a747a1f3c0aa0af0db5c8d486128bcf5a3439dfe7204e1025afcf22cbdf5b96b6f4302b8d569c60c1eb9c646c035fd8a324e3d69f7195f WHIRLPOOL e5fc4a47c258db50ab2d5bb033e66cc6d589864c8d63bd448ddf491de849dbc87a1c93ccdde8729ff824e437dc8d2fefb05e536eb772507c0239c91983a22dc9
diff --git a/dev-python/pyroma/metadata.xml b/dev-python/pyroma/metadata.xml
new file mode 100644
index 000000000000..b919f51ed2d9
--- /dev/null
+++ b/dev-python/pyroma/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dastergon@gentoo.org</email>
+ <name>Pavlos Ratis</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyroma</remote-id>
+ <remote-id type="bitbucket">regebro/pyroma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyroma/pyroma-1.7.ebuild b/dev-python/pyroma/pyroma-1.7.ebuild
new file mode 100644
index 000000000000..7dd05388414a
--- /dev/null
+++ b/dev-python/pyroma/pyroma-1.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Test project's packaging friendliness"
+HOMEPAGE="https://bitbucket.org/regebro/pyroma https://pypi.python.org/pypi/pyroma"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+DOCS=( README.txt HISTORY.txt )
+
+python_test() {
+ "${PYTHON}" setup.py test || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/pyrtf/Manifest b/dev-python/pyrtf/Manifest
new file mode 100644
index 000000000000..e2a0cf42fccc
--- /dev/null
+++ b/dev-python/pyrtf/Manifest
@@ -0,0 +1 @@
+DIST PyRTF-0.45.tar.gz 32837 SHA256 7c0b7c35688041978786e959fd83dbdffee66ded9d40e1ad0441c460164a349e SHA512 d07478ba7db6d3ef3e6c1925a58fb50b18936fecc4562338dd5b05d23672a4509a719b657a5b9e60bab5351f2be77551354fc9b856d7a9d3d4539733b05ab360 WHIRLPOOL 625270c32f033e0ff03b4c0419097a7b61a97d3a869d7bdc1f41e8bbaff54565d26922e5d0b87495bef562387fd84056e997b934bbee1cef8b162775aee069cd
diff --git a/dev-python/pyrtf/metadata.xml b/dev-python/pyrtf/metadata.xml
new file mode 100644
index 000000000000..a7d5dbd587e0
--- /dev/null
+++ b/dev-python/pyrtf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pyrtf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyrtf/pyrtf-0.45-r1.ebuild b/dev-python/pyrtf/pyrtf-0.45-r1.ebuild
new file mode 100644
index 000000000000..f53e5ccbc1de
--- /dev/null
+++ b/dev-python/pyrtf/pyrtf-0.45-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+MY_PN="PyRTF"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A set of Python classes that make it possible to produce RTF documents from Python programs"
+HOMEPAGE="http://pyrtf.sourceforge.net http://pypi.python.org/pypi/PyRTF"
+SRC_URI="mirror://sourceforge/$PN/${MY_P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-python/pysaml2/Manifest b/dev-python/pysaml2/Manifest
new file mode 100644
index 000000000000..36740ed32334
--- /dev/null
+++ b/dev-python/pysaml2/Manifest
@@ -0,0 +1 @@
+DIST pysaml2-2.1.0.tar.gz 12697706 SHA256 0843cbe784fd3b8b798d8b476fe871d48f0f2aab2bd95036a6e50eda99860340 SHA512 ba2076bd81465f3bbaeac11e9a6908f1ab899aa301c909b6bc67a681e94a7260ab214bad949dc937b4673bbed2aa550bf196ee8b055939fce62c628056df18ac WHIRLPOOL beee7908e4bec5512c3a7c11fb94dfdbf2dfe284bffd86ec487100f81129928e1dc1512aed054939eedcb79205e32690b21f3fd50d768cef1ad4decfd00ba75b
diff --git a/dev-python/pysaml2/metadata.xml b/dev-python/pysaml2/metadata.xml
new file mode 100644
index 000000000000..7c2699cd6f44
--- /dev/null
+++ b/dev-python/pysaml2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python implementation of SAML Version 2 to be used in a WSGI environment
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pysaml2</remote-id>
+ <remote-id type="github">rohe/pysaml2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysaml2/pysaml2-2.1.0.ebuild b/dev-python/pysaml2/pysaml2-2.1.0.ebuild
new file mode 100644
index 000000000000..90982807ee9a
--- /dev/null
+++ b/dev-python/pysaml2/pysaml2-2.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of SAML Version 2 to be used in a WSGI environment"
+HOMEPAGE="https://github.com/rohe/pysaml2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ dev-python/repoze-who[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pyscard/Manifest b/dev-python/pyscard/Manifest
new file mode 100644
index 000000000000..df379bffb5f3
--- /dev/null
+++ b/dev-python/pyscard/Manifest
@@ -0,0 +1 @@
+DIST pyscard-1.6.16.tar.gz 366857 SHA256 d284dd2b0e4a951d8beabead34add0b5539034ba41e0fc40a1e5163103612fd9 SHA512 ef13aee126fc12aa50cc73f9672c2a7734870f31a18ee6fc1c6c5d86cf1f565a3cd8458f9fd253c1649e394570ad6cf59e35e39db2bf714214a0dadee1116321 WHIRLPOOL 79e7b14642e808b09a2864b8d7e8c2efc2334fb9ff91aa6db6dc0563d4edfdc2e5ec9c8e4b0723dde00f0f089455ceada225ed62f0d050aa60ab52141b1f1d77
diff --git a/dev-python/pyscard/metadata.xml b/dev-python/pyscard/metadata.xml
new file mode 100644
index 000000000000..26f852388375
--- /dev/null
+++ b/dev-python/pyscard/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pyscard</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyscard/pyscard-1.6.16.ebuild b/dev-python/pyscard/pyscard-1.6.16.ebuild
new file mode 100644
index 000000000000..56661345d8ed
--- /dev/null
+++ b/dev-python/pyscard/pyscard-1.6.16.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="pyscard is a python module adding smart cards support to python"
+HOMEPAGE="http://pyscard.sourceforge.net/ http://pypi.python.org/pypi/pyscard"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="sys-apps/pcsc-lite"
+DEPEND="${RDEPEND}
+ dev-lang/swig"
+
+DOCS=( README smartcard/ACKS smartcard/ChangeLog smartcard/TODO )
diff --git a/dev-python/pysctp/Manifest b/dev-python/pysctp/Manifest
new file mode 100644
index 000000000000..f5c15ec849d3
--- /dev/null
+++ b/dev-python/pysctp/Manifest
@@ -0,0 +1 @@
+DIST pysctp-0.6.tar.gz 29611 SHA256 4c2b8863a18695575460e432a7386b90be464a94585f2b7fe36ddbc3c3a380fc SHA512 621ddeecaec9eb0114783e2103405ae3eb0c8950a3c76fafe4505ad5311e2c004dd10219d90216fd5f5e79e033e490695e7428ee7c7a5fba26dea7d253e50215 WHIRLPOOL ecd42f69024832558630e36ba1a2788d10aafe9868610c8840d61bdcb5941fa544a6c8adf410672001dc1c6913e8524768abae33b87623acbd86de6d7671ebe1
diff --git a/dev-python/pysctp/metadata.xml b/dev-python/pysctp/metadata.xml
new file mode 100644
index 000000000000..d121b14c06ec
--- /dev/null
+++ b/dev-python/pysctp/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>zx2c4@gentoo.org</email>
+ <name>Jason A. Donenfeld</name>
+ </maintainer>
+ <maintainer>
+ <email>phil@p1sec.com</email>
+ <name>Philippe Langlois</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">philpraxis/pysctp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysctp/pysctp-0.6.ebuild b/dev-python/pysctp/pysctp-0.6.ebuild
new file mode 100644
index 000000000000..d64e66783947
--- /dev/null
+++ b/dev-python/pysctp/pysctp-0.6.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="PySCTP gives access to the SCTP transport protocol from Python"
+HOMEPAGE="https://github.com/philpraxis/pysctp"
+SRC_URI="https://github.com/philpraxis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="net-misc/lksctp-tools"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ distutils-r1_src_install
+ rm -v "${D}usr/_sctp.h"
+ dodoc test_local_cnx.py test_remote_cnx.py
+}
diff --git a/dev-python/pysendfile/Manifest b/dev-python/pysendfile/Manifest
new file mode 100644
index 000000000000..d44ede484798
--- /dev/null
+++ b/dev-python/pysendfile/Manifest
@@ -0,0 +1 @@
+DIST pysendfile-2.0.1.tar.gz 19315 SHA256 510a414b270986fba3c79cb76d90a4c910c701bfb43ff983a5d4e92846050e17 SHA512 d6ee08eb251fac30c90a9ee829fd992f3620697eef2893ced5a2c6273486c3c5fd35c70962585a8d747d578817391f91c929bfeeba8c4485d52a15748229ca9c WHIRLPOOL a1f9a54ff2f0111d3c62f3ec17490241270d711b8529b701d27b12f7aa607c13c86ae7e2910770b8626b86909c9943e3ab8395676c5c09eff52274165ab64641
diff --git a/dev-python/pysendfile/metadata.xml b/dev-python/pysendfile/metadata.xml
new file mode 100644
index 000000000000..6814dded9e08
--- /dev/null
+++ b/dev-python/pysendfile/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">pysendfile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysendfile/pysendfile-2.0.1.ebuild b/dev-python/pysendfile/pysendfile-2.0.1.ebuild
new file mode 100644
index 000000000000..de8692748d77
--- /dev/null
+++ b/dev-python/pysendfile/pysendfile-2.0.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A python interface to sendfile(2) system call"
+HOMEPAGE="http://code.google.com/p/pysendfile/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# Testsuite abandonned due to demanding starting a local web type server
diff --git a/dev-python/pyserial/Manifest b/dev-python/pyserial/Manifest
new file mode 100644
index 000000000000..15b3cbaefdf6
--- /dev/null
+++ b/dev-python/pyserial/Manifest
@@ -0,0 +1,2 @@
+DIST pyserial-2.6.tar.gz 116289 SHA256 049dbcda0cd475d3be903e721d60889ee2cc4ec3b62892a81ecef144196413ed SHA512 41682f8fafb6c5fa9642d3a0a3d6d0648101c38d157005f9c4e019e55d534953486072caf05647d8828b0e19c8259cc61cac856a570bf09904922ffd175fad2d WHIRLPOOL d632521d4687751f3056eda3ef254d603a7450d09457deed4d12136ee690d8af8d9aea1b8f8aebe9ec877a00bec5fa54933d2bff0cec281de0b676dde3d86e55
+DIST pyserial-2.7.tar.gz 122081 SHA256 3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477 SHA512 3fc8d9425a47ebcd37db1fcc58182854b48c9abd6642f35fba2d21458d864ae448105d704dc0d880832ba7516fa16f108f24363bd5fa9f083ea79a4ac614339b WHIRLPOOL ae6b4df86220617f7fbc1f1e4085a7e85dca645a6d84339163b40fc7a15f14b879ef7a729d3d23d0300f9ee04b21d6c24d13a791d520aef3f3ad141c6acd9b68
diff --git a/dev-python/pyserial/files/mapping.patch b/dev-python/pyserial/files/mapping.patch
new file mode 100644
index 000000000000..bd315d98f040
--- /dev/null
+++ b/dev-python/pyserial/files/mapping.patch
@@ -0,0 +1,13 @@
+diff -ur pyserial-2.7.orig/documentation/conf.py pyserial-2.7/documentation/conf.py
+--- documentation/conf.py 2013-10-18 00:29:53.000000000 +0800
++++ documentation/conf.py 2014-03-28 12:41:08.848807687 +0800
+@@ -192,9 +192,3 @@
+
+ # If false, no module index is generated.
+ #latex_use_modindex = True
+-
+-# for external links to standard library
+-intersphinx_mapping = {
+- #~ 'python': ('http://docs.python.org', None),
+- 'py': ('http://docs.python.org', None),
+- }
diff --git a/dev-python/pyserial/files/pyserial-2.5-python-3.patch b/dev-python/pyserial/files/pyserial-2.5-python-3.patch
new file mode 100644
index 000000000000..5ad5c6c80524
--- /dev/null
+++ b/dev-python/pyserial/files/pyserial-2.5-python-3.patch
@@ -0,0 +1,43 @@
+http://pyserial.svn.sourceforge.net/viewvc/pyserial?view=revision&revision=381
+
+--- setup.py
++++ setup.py
+@@ -1,7 +1,13 @@
+-# setup.py for pyserial
++# setup.py for pySerial
+ #
+-# windows installer:
+-# python setup.py bdist_wininst
++# Windows installer:
++# "python setup.py bdist_wininst"
++#
++# Direct install (all systems):
++# "python setup.py install"
++#
++# For Python 3.x use the corresponding Python executable,
++# e.g. "python3 setup.py ..."
+
+ import sys
+
+@@ -9,10 +15,12 @@
+
+ try:
+ from distutils.command.build_py import build_py_2to3 as build_py
++ from distutils.command.build_scripts import build_scripts_2to3 as build_scripts
+ except ImportError:
+ if sys.version_info >= (3, 0):
+ raise ImportError("build_py_2to3 not found in distutils - it is required for Python 3.x")
+ from distutils.command.build_py import build_py
++ from distutils.command.build_scripts import build_scripts
+ suffix = ""
+ else:
+ suffix = "-py3k"
+@@ -60,7 +68,7 @@
+ 'Topic :: Terminals :: Serial',
+ ],
+ platforms = 'any',
+- cmdclass = {'build_py': build_py},
++ cmdclass = {'build_py': build_py, 'build_scripts': build_scripts},
+
+ scripts = ['examples/miniterm.py'],
+ )
diff --git a/dev-python/pyserial/files/pyserial-2.6-list_ports.patch b/dev-python/pyserial/files/pyserial-2.6-list_ports.patch
new file mode 100644
index 000000000000..cd3b4ef8e322
--- /dev/null
+++ b/dev-python/pyserial/files/pyserial-2.6-list_ports.patch
@@ -0,0 +1,15 @@
+http://sourceforge.net/p/pyserial/patches/26/
+Index: trunk/pyserial/serial/tools/list_ports_posix.py
+===================================================================
+--- trunk/pyserial/serial/tools/list_ports_posix.py (revision 439)
++++ trunk/pyserial/serial/tools/list_ports_posix.py (working copy)
+@@ -64,7 +64,8 @@
+ )
+
+ def usb_lsusb_string(sysfs_path):
+- bus, dev = os.path.basename(os.path.realpath(sysfs_path)).split('-')
++ base = os.path.basename(os.path.realpath(sysfs_path))
++ bus, dev = base.split('-')
+ try:
+ desc = popen(['lsusb', '-v', '-s', '%s:%s' % (bus, dev)])
+ # descriptions from device
diff --git a/dev-python/pyserial/metadata.xml b/dev-python/pyserial/metadata.xml
new file mode 100644
index 000000000000..b52569ee11b8
--- /dev/null
+++ b/dev-python/pyserial/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyserial</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyserial/pyserial-2.6-r1.ebuild b/dev-python/pyserial/pyserial-2.6-r1.ebuild
new file mode 100644
index 000000000000..36fa39365426
--- /dev/null
+++ b/dev-python/pyserial/pyserial-2.6-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Serial Port Extension"
+HOMEPAGE="http://pyserial.sourceforge.net/ http://sourceforge.net/projects/pyserial/ http://pypi.python.org/pypi/pyserial"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+DOCS=( CHANGES.txt README.txt )
+PATCHES=( "${FILESDIR}"/${PN}-${PV}-list_ports.patch )
diff --git a/dev-python/pyserial/pyserial-2.7-r1.ebuild b/dev-python/pyserial/pyserial-2.7-r1.ebuild
new file mode 100644
index 000000000000..ae44b85b8ee0
--- /dev/null
+++ b/dev-python/pyserial/pyserial-2.7-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Serial Port Extension"
+HOMEPAGE="http://pyserial.sourceforge.net/ http://sourceforge.net/projects/pyserial/ http://pypi.python.org/pypi/pyserial"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc examples"
+
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND=""
+PATCHES=( "${FILESDIR}"/mapping.patch )
+DOCS=( CHANGES.txt README.txt )
+
+python_prepare_all() {
+ # Usual avoid d'loading un-needed objects.inv file
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyserial/pyserial-2.7.ebuild b/dev-python/pyserial/pyserial-2.7.ebuild
new file mode 100644
index 000000000000..fb49cf7bc823
--- /dev/null
+++ b/dev-python/pyserial/pyserial-2.7.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Serial Port Extension"
+HOMEPAGE="http://pyserial.sourceforge.net/ http://sourceforge.net/projects/pyserial/ http://pypi.python.org/pypi/pyserial"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS=( CHANGES.txt README.txt )
diff --git a/dev-python/pysfml/Manifest b/dev-python/pysfml/Manifest
new file mode 100644
index 000000000000..376926f79182
--- /dev/null
+++ b/dev-python/pysfml/Manifest
@@ -0,0 +1 @@
+DIST SFML-1.6-python-sdk.zip 170889 SHA256 1c6808bffb2e7346f6ca44e778245412427f21d59940dfd37088149e6557cd33 SHA512 e43aecd95cde10578ffc4f2eaf352efcc42983ff4edd7c30aebdb3c15c73cf5a261d61dda544a726fcfc7d6946d73d6b6de99896e4d9b3c3d8e8ff7166ee2a59 WHIRLPOOL feb2e80c274a2af3ec918326adbc20f0a1df926f2c6d471c3fa3c5f8182b83c3bbb4496d2b0585a656021e1210b6180f9720b4e03584a0f9ce35c4861c8de1a1
diff --git a/dev-python/pysfml/metadata.xml b/dev-python/pysfml/metadata.xml
new file mode 100644
index 000000000000..6a4b06827515
--- /dev/null
+++ b/dev-python/pysfml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">sfml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysfml/pysfml-1.6-r1.ebuild b/dev-python/pysfml/pysfml-1.6-r1.ebuild
new file mode 100644
index 000000000000..a0d2abe206f7
--- /dev/null
+++ b/dev-python/pysfml/pysfml-1.6-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for the Simple and Fast Multimedia Library (SFML)"
+HOMEPAGE="http://sfml.sourceforge.net/"
+SRC_URI="mirror://sourceforge/sfml/SFML-${PV}-python-sdk.zip"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="~media-libs/libsfml-${PV}"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/SFML-${PV}/python
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]] ; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml doc/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r samples/* || die "doins failed"
+ fi
+}
diff --git a/dev-python/pyshark/Manifest b/dev-python/pyshark/Manifest
new file mode 100644
index 000000000000..1475822a47bd
--- /dev/null
+++ b/dev-python/pyshark/Manifest
@@ -0,0 +1,3 @@
+DIST pyshark-0.3.4.zip 22495 SHA256 d9f9e4230c4dce9a3ae4fd133a6467c86816751de7b2c6859836eeb0bcd1c480 SHA512 9a9bc78422741ee1c483eb6ceb6717e660d80b0489286da497cd58f68328d6ea60acbb54fb8900f9f2dc1fa3fbfd8d663e7772b934eaf62fdd89b6115273421d WHIRLPOOL 5bece1406ef1978b14a47e2d40169dfa47ac5f929ad425da343077b1c000538507f5390331c2b9800d9ac997fbdce6863c6a61f0cc1e4b963412f3109020fe0a
+DIST pyshark-0.3.5.zip 23561 SHA256 6b6e3d9af2e40e97bedaae6c9cadecf3006be432923f25d25ba9705813ee5753 SHA512 0079e07a9a593de98b44564e860d79fd7b35c50f37ef3d616a56afec5273b864c22c8ed6126f3ad6c533cae90ea60e876b29ea9873656d3c7bfc13c2a2b47612 WHIRLPOOL b5d2a66382036f6f3a5ab4f7025fedc0ed7b1513792469d8e63d322a31ddec9527be3944d863dcdac4115b2e90bf1fa518d17bdbedf745f8b59cabfd98979f69
+DIST pyshark-0.3.6.tar.gz 15237 SHA256 51372c0a36446af45f0101d4fc97b336a096356c28da6626041889bf3b24c6f2 SHA512 e2250af229f072f32fa7900dbafbc29b5964134dd7849b53729afb220a5a20faa3b48515d1b83f0084a6f251187b00c192ce5b16e276faf784404bfe5b9c1fa5 WHIRLPOOL 0e77ac977818e61386ac47a64bb31da138c5a2736768a7806d638745c547bf58b777060cc1958af9af40a28ebf20e89f67b4cf292588ebd5b3aec5f30fe10e26
diff --git a/dev-python/pyshark/metadata.xml b/dev-python/pyshark/metadata.xml
new file mode 100644
index 000000000000..f9b3553b83b0
--- /dev/null
+++ b/dev-python/pyshark/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyshark</remote-id>
+ <remote-id type="github">KimiNewt/pyshark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyshark/pyshark-0.3.4.ebuild b/dev-python/pyshark/pyshark-0.3.4.ebuild
new file mode 100644
index 000000000000..91aa2b83c6e0
--- /dev/null
+++ b/dev-python/pyshark/pyshark-0.3.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A Python wrapper for tshark output parsing"
+HOMEPAGE="https://pypi.python.org/pypi/pyshark https://github.com/KimiNewt/pyshark"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/futures[${PYTHON_USEDEP}]
+ dev-python/logbook[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/trollius[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ net-analyzer/wireshark"
+
+DOCS=( README.txt )
diff --git a/dev-python/pyshark/pyshark-0.3.5.ebuild b/dev-python/pyshark/pyshark-0.3.5.ebuild
new file mode 100644
index 000000000000..75d56c41915e
--- /dev/null
+++ b/dev-python/pyshark/pyshark-0.3.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A Python wrapper for tshark output parsing"
+HOMEPAGE="https://pypi.python.org/pypi/pyshark https://github.com/KimiNewt/pyshark"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# See pyshark.egg-info/requires.txt
+RDEPEND="dev-python/py[${PYTHON_USEDEP}]
+ dev-python/logbook[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/trollius[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ net-analyzer/wireshark"
+# Tests exlcuded in MANIFEST.in
diff --git a/dev-python/pyshark/pyshark-0.3.6.ebuild b/dev-python/pyshark/pyshark-0.3.6.ebuild
new file mode 100644
index 000000000000..752b5295a71f
--- /dev/null
+++ b/dev-python/pyshark/pyshark-0.3.6.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A Python wrapper for tshark output parsing"
+HOMEPAGE="https://pypi.python.org/pypi/pyshark https://github.com/KimiNewt/pyshark"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# See pyshark.egg-info/requires.txt
+RDEPEND="dev-python/py[${PYTHON_USEDEP}]
+ dev-python/logbook[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/trollius[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ net-analyzer/wireshark"
+# Tests exlcuded in MANIFEST.in
diff --git a/dev-python/pyside-tools/Manifest b/dev-python/pyside-tools/Manifest
new file mode 100644
index 000000000000..e42c98efcf8b
--- /dev/null
+++ b/dev-python/pyside-tools/Manifest
@@ -0,0 +1 @@
+DIST pyside-tools-0.2.15.tar.gz 78989 SHA256 8a7fe786b19c5b2b4380aff0a9590b3129fad4a0f6f3df1f39593d79b01a9f74 SHA512 7cee288b733e5f83a01683d7fc8f1017c044e46dbb02489c5e763e37db4e24f319ffd593e001ee6ca5a21a34cf1a6009ab1d4c9e4102c60693992b6f2f7c8991 WHIRLPOOL 23d7a325f548cd1d95b91c40d5c2ccbdd70a25328948f93b5232bf8d1177674899bfdd51161873c34be5245d20c4d202a3eed29ce7fa10399cabad9e84b2e698
diff --git a/dev-python/pyside-tools/files/0.2.13-fix-pysideuic-test-and-install.patch b/dev-python/pyside-tools/files/0.2.13-fix-pysideuic-test-and-install.patch
new file mode 100644
index 000000000000..768ae22a8bc2
--- /dev/null
+++ b/dev-python/pyside-tools/files/0.2.13-fix-pysideuic-test-and-install.patch
@@ -0,0 +1,27 @@
+diff -Naur pyside-tools-0.2.13.orig/CMakeLists.txt pyside-tools-0.2.13/CMakeLists.txt
+--- pyside-tools-0.2.13.orig/CMakeLists.txt 2012-03-09 00:46:56.377462594 +0100
++++ pyside-tools-0.2.13/CMakeLists.txt 2012-03-09 00:48:08.888556082 +0100
+@@ -11,7 +11,7 @@
+ set(pyside_tools_MICRO_VERSION "13")
+ set(pyside_tools_VERSION "${pyside_tools_MAJOR_VERSION}.${pyside_tools_MINOR_VERSION}.${pyside_tools_MICRO_VERSION}")
+
+-configure_file("pysideuic/__init__.py.in" "__init__.py" @ONLY)
++configure_file("pysideuic/__init__.py.in" "pysideuic/__init__.py" @ONLY)
+
+ option(BUILD_TESTS "Build tests." TRUE)
+
+@@ -34,13 +34,10 @@
+ GROUP_EXECUTE GROUP_READ
+ WORLD_EXECUTE WORLD_READ)
+
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/__init__.py"
+- DESTINATION "${SITE_PACKAGE}/pysideuic")
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pysideuic
+ DESTINATION ${SITE_PACKAGE}
+ PATTERN "*.in" EXCLUDE
+- PATTERN "*pysideuic/__init__.py" EXCLUDE
+- PATTERN "*pysideuic\\__init__.py" EXCLUDE)
++ PATTERN "*/pysideuic/*.1" EXCLUDE)
+
+ # Man pages for pyside-uic
+ if (NOT win32)
diff --git a/dev-python/pyside-tools/metadata.xml b/dev-python/pyside-tools/metadata.xml
new file mode 100644
index 000000000000..c4e854451218
--- /dev/null
+++ b/dev-python/pyside-tools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <upstream>
+ <remote-id type="github">PySide/Tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyside-tools/pyside-tools-0.2.15-r1.ebuild b/dev-python/pyside-tools/pyside-tools-0.2.15-r1.ebuild
new file mode 100644
index 000000000000..64c5ceb94912
--- /dev/null
+++ b/dev-python/pyside-tools/pyside-tools-0.2.15-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+CMAKE_IN_SOURCE_BUILD="1"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+VIRTUALX_COMMAND="cmake-utils_src_test"
+
+inherit eutils cmake-utils python-r1 vcs-snapshot virtualx
+
+DESCRIPTION="PySide development tools (lupdate, rcc, uic)"
+HOMEPAGE="http://qt-project.org/wiki/PySide"
+SRC_URI="https://github.com/PySide/Tools/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pyside-1.2.0[X,${PYTHON_USEDEP}]
+ >=dev-python/shiboken-1.2.0[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-4.7.0:4
+ >=dev-qt/qtgui-4.7.0:4
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ test? ( virtual/pkgconfig )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/0.2.13-fix-pysideuic-test-and-install.patch
+
+ python_copy_sources
+
+ preparation() {
+ pushd "${BUILD_DIR}" >/dev/null || die
+ if python_is_python3; then
+ rm -fr pysideuic/port_v2
+ else
+ rm -fr pysideuic/port_v3
+ fi
+
+ sed -i -e "/pkg-config/ s:shiboken:&-${EPYTHON}:" \
+ tests/rcc/run_test.sh || die
+ popd >/dev/null || die
+ }
+ python_foreach_impl preparation
+}
+
+src_configure() {
+ configuration() {
+ local mycmakeargs=(
+ -DPYTHON_BASENAME="-${EPYTHON}"
+ -DPYTHON_SUFFIX="-${EPYTHON}"
+ $(cmake-utils_use_build test TESTS)
+ )
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake-utils_src_configure
+ }
+ python_foreach_impl configuration
+}
+
+src_compile() {
+ compilation() {
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake-utils_src_make
+ }
+ python_foreach_impl compilation
+}
+
+src_test() {
+ testing() {
+ CMAKE_USE_DIR="${BUILD_DIR}" virtualmake
+ }
+ python_foreach_impl testing
+}
+
+src_install() {
+ installation() {
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake-utils_src_install DESTDIR="${D}"
+ }
+ python_foreach_impl installation
+
+ dodoc AUTHORS
+}
diff --git a/dev-python/pyside/Manifest b/dev-python/pyside/Manifest
new file mode 100644
index 000000000000..f6874fbfc8f7
--- /dev/null
+++ b/dev-python/pyside/Manifest
@@ -0,0 +1 @@
+DIST pyside-qt4.8+1.2.2.tar.bz2 3765472 SHA256 a1a9df746378efe52211f1a229f77571d1306fb72830bbf73f0d512ed9856ae1 SHA512 3a1d46c48ac71c3b138e1dc398d1d2a87aff558eace275303e233f78d03e32c6d53cf390db5e7112f44da9b17aa88ed16a30f6f83b2073c1f494e61b962e4c46 WHIRLPOOL 5ac5eb5032fbc791e955eb0b2b0f1443e43867408a7b6c41854db1cab466714509c035e8271f5b0b3078309be001d5bcea498601b97f540e7775e87bdbc1c0c8
diff --git a/dev-python/pyside/files/qgtkstyle-1.2.2.patch b/dev-python/pyside/files/qgtkstyle-1.2.2.patch
new file mode 100644
index 000000000000..d782276aba68
--- /dev/null
+++ b/dev-python/pyside/files/qgtkstyle-1.2.2.patch
@@ -0,0 +1,33 @@
+diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt
+index 6e14706..bd60775 100644
+--- a/PySide/QtGui/CMakeLists.txt
++++ b/PySide/QtGui/CMakeLists.txt
+@@ -71,7 +71,6 @@ set(QtGui_OPTIONAL_SRC )
+ set(QtGui_DROPPED_ENTRIES )
+ check_qt_class(QtGui QAbstractPageSetupDialog QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+ check_qt_class(QtGui QAbstractPrintDialog QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+-check_qt_class(QtGui QGtkStyle QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+ check_qt_class(QtGui QPageSetupDialog QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+ check_qt_class(QtGui QPrintDialog QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+ check_qt_class(QtGui QPrintEngine QtGui_OPTIONAL_SRC QtGui_DROPPED_ENTRIES)
+diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
+index 711d7cc..954aa54 100644
+--- a/PySide/QtGui/typesystem_gui_common.xml
++++ b/PySide/QtGui/typesystem_gui_common.xml
+@@ -6996,16 +6996,6 @@
+ <modify-function signature="exec()" rename="exec_" allow-thread="yes" />
+ </object-type>
+
+- <object-type name="QGtkStyle">
+- <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const">
+- <modify-argument index="2">
+- <replace-default-expression with="0"/>
+- </modify-argument>
+- <modify-argument index="3">
+- <replace-default-expression with="0"/>
+- </modify-argument>
+- </modify-function>
+- </object-type>
+
+ <object-type name="QPageSetupDialog">
+ <enum-type name="PageSetupDialogOption" flags="PageSetupDialogOptions"/>
diff --git a/dev-python/pyside/files/rpath.cmake b/dev-python/pyside/files/rpath.cmake
new file mode 100644
index 000000000000..b896c8789185
--- /dev/null
+++ b/dev-python/pyside/files/rpath.cmake
@@ -0,0 +1,10 @@
+# use, i.e. don't skip the full RPATH for the build tree
+SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# add the automatically determined parts of the RPATH
+# which point to directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
diff --git a/dev-python/pyside/metadata.xml b/dev-python/pyside/metadata.xml
new file mode 100644
index 000000000000..186ae3f8e09d
--- /dev/null
+++ b/dev-python/pyside/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <use>
+ <flag name="X">Build QtGui and QtTest modules</flag>
+ <flag name="declarative">Build QtDeclarative module</flag>
+ <flag name="designer">Build QtDesigner and QtUiTools modules</flag>
+ <flag name="help">Build QtHelp module</flag>
+ <flag name="multimedia">Build QtMultimedia module</flag>
+ <flag name="opengl">Build QtOpenGL module</flag>
+ <flag name="phonon">Build phonon module</flag>
+ <flag name="script">Build QtScript module</flag>
+ <flag name="scripttools">Build QtScriptTools module</flag>
+ <flag name="sql">Build QtSql module</flag>
+ <flag name="svg">Build QtSvg module</flag>
+ <flag name="webkit">Build QtWebKit module</flag>
+ <flag name="xmlpatterns">Build QtXmlPatterns module</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pyside/pyside-1.2.2-r1.ebuild b/dev-python/pyside/pyside-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..b2f67938ea2c
--- /dev/null
+++ b/dev-python/pyside/pyside-1.2.2-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit cmake-utils multilib python-r1 virtualx
+
+MY_P="${PN}-qt4.8+${PV}"
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="http://qt-project.org/wiki/PySide"
+SRC_URI="http://download.qt-project.org/official_releases/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="X declarative designer help multimedia opengl phonon script scripttools sql svg test webkit xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ declarative? ( X )
+ designer? ( X )
+ help? ( X )
+ multimedia? ( X )
+ opengl? ( X )
+ phonon? ( X )
+ scripttools? ( X script )
+ sql? ( X )
+ svg? ( X )
+ test? ( X )
+ webkit? ( X )
+"
+
+# Minimal supported version of Qt.
+QT_PV="4.8.5:4"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/shiboken-${PV}[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ X? (
+ >=dev-qt/qtgui-${QT_PV}[accessibility]
+ >=dev-qt/qttest-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV} )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ phonon? ( || (
+ media-libs/phonon[qt4(+)]
+ >=dev-qt/qtphonon-${QT_PV}
+ ) )
+ script? ( >=dev-qt/qtscript-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV}[accessibility] )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ >=dev-qt/qtgui-${QT_PV}
+"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ # Fix generated pkgconfig file to require the shiboken
+ # library suffixed with the correct python version.
+ sed -i -e '/^Requires:/ s/shiboken$/&@SHIBOKEN_PYTHON_SUFFIX@/' \
+ libpyside/pyside.pc.in || die
+
+ if use prefix; then
+ cp "${FILESDIR}"/rpath.cmake . || die
+ sed -i -e '1iinclude(rpath.cmake)' CMakeLists.txt || die
+ fi
+
+ epatch "${FILESDIR}/qgtkstyle-${PV}.patch" # bug 530764
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_disable X QtGui)
+ $(cmake-utils_use_disable X QtTest)
+ $(cmake-utils_use_disable declarative QtDeclarative)
+ $(cmake-utils_use_disable designer QtDesigner)
+ $(cmake-utils_use_disable designer QtUiTools)
+ $(cmake-utils_use_disable help QtHelp)
+ $(cmake-utils_use_disable multimedia QtMultimedia)
+ $(cmake-utils_use_disable opengl QtOpenGL)
+ $(cmake-utils_use_disable phonon)
+ $(cmake-utils_use_disable script QtScript)
+ $(cmake-utils_use_disable scripttools QtScriptTools)
+ $(cmake-utils_use_disable sql QtSql)
+ $(cmake-utils_use_disable svg QtSvg)
+ $(cmake-utils_use_disable webkit QtWebKit)
+ $(cmake-utils_use_disable xmlpatterns QtXmlPatterns)
+ )
+
+ if use phonon && has_version "media-libs/phonon[qt4(+)]"; then
+ # bug 475786
+ mycmakeargs+=(
+ -DQT_PHONON_INCLUDE_DIR="${EPREFIX}/usr/include/phonon"
+ -DQT_PHONON_LIBRARY_RELEASE="${EPREFIX}/usr/$(get_libdir)/libphonon.so"
+ )
+ fi
+
+ configuration() {
+ local mycmakeargs=(
+ -DPYTHON_SUFFIX="-${EPYTHON}"
+ "${mycmakeargs[@]}"
+ )
+ cmake-utils_src_configure
+ }
+ python_foreach_impl configuration
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ local PYTHONDONTWRITEBYTECODE
+ export PYTHONDONTWRITEBYTECODE
+
+ VIRTUALX_COMMAND="cmake-utils_src_test" python_foreach_impl virtualmake
+}
+
+src_install() {
+ installation() {
+ cmake-utils_src_install
+ mv "${ED}"usr/$(get_libdir)/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl installation
+}
diff --git a/dev-python/pyside/pyside-1.2.2.ebuild b/dev-python/pyside/pyside-1.2.2.ebuild
new file mode 100644
index 000000000000..c2ff4b9e854c
--- /dev/null
+++ b/dev-python/pyside/pyside-1.2.2.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit cmake-utils multilib python-r1 virtualx
+
+MY_P="${PN}-qt4.8+${PV}"
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="http://qt-project.org/wiki/PySide"
+SRC_URI="http://download.qt-project.org/official_releases/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="X declarative designer help multimedia opengl phonon script scripttools sql svg test webkit xmlpatterns"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ declarative? ( X )
+ designer? ( X )
+ help? ( X )
+ multimedia? ( X )
+ opengl? ( X )
+ phonon? ( X )
+ scripttools? ( X script )
+ sql? ( X )
+ svg? ( X )
+ test? ( X )
+ webkit? ( X )
+"
+
+# Minimal supported version of Qt.
+QT_PV="4.8.5:4"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/shiboken-${PV}[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ X? (
+ >=dev-qt/qtgui-${QT_PV}[accessibility]
+ >=dev-qt/qttest-${QT_PV}
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV} )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ phonon? ( || (
+ media-libs/phonon[qt4(+)]
+ >=dev-qt/qtphonon-${QT_PV}
+ ) )
+ script? ( >=dev-qt/qtscript-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV}[accessibility] )
+ webkit? ( >=dev-qt/qtwebkit-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ >=dev-qt/qtgui-${QT_PV}
+"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ # Fix generated pkgconfig file to require the shiboken
+ # library suffixed with the correct python version.
+ sed -i -e '/^Requires:/ s/shiboken$/&@SHIBOKEN_PYTHON_SUFFIX@/' \
+ libpyside/pyside.pc.in || die
+
+ if use prefix; then
+ cp "${FILESDIR}"/rpath.cmake . || die
+ sed -i -e '1iinclude(rpath.cmake)' CMakeLists.txt || die
+ fi
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_disable X QtGui)
+ $(cmake-utils_use_disable X QtTest)
+ $(cmake-utils_use_disable declarative QtDeclarative)
+ $(cmake-utils_use_disable designer QtDesigner)
+ $(cmake-utils_use_disable designer QtUiTools)
+ $(cmake-utils_use_disable help QtHelp)
+ $(cmake-utils_use_disable multimedia QtMultimedia)
+ $(cmake-utils_use_disable opengl QtOpenGL)
+ $(cmake-utils_use_disable phonon)
+ $(cmake-utils_use_disable script QtScript)
+ $(cmake-utils_use_disable scripttools QtScriptTools)
+ $(cmake-utils_use_disable sql QtSql)
+ $(cmake-utils_use_disable svg QtSvg)
+ $(cmake-utils_use_disable webkit QtWebKit)
+ $(cmake-utils_use_disable xmlpatterns QtXmlPatterns)
+ )
+
+ if use phonon && has_version "media-libs/phonon[qt4(+)]"; then
+ # bug 475786
+ mycmakeargs+=(
+ -DQT_PHONON_INCLUDE_DIR="${EPREFIX}/usr/include/phonon"
+ -DQT_PHONON_LIBRARY_RELEASE="${EPREFIX}/usr/$(get_libdir)/libphonon.so"
+ )
+ fi
+
+ configuration() {
+ local mycmakeargs=(
+ -DPYTHON_SUFFIX="-${EPYTHON}"
+ "${mycmakeargs[@]}"
+ )
+ cmake-utils_src_configure
+ }
+ python_foreach_impl configuration
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ local PYTHONDONTWRITEBYTECODE
+ export PYTHONDONTWRITEBYTECODE
+
+ VIRTUALX_COMMAND="cmake-utils_src_test" python_foreach_impl virtualmake
+}
+
+src_install() {
+ installation() {
+ cmake-utils_src_install
+ mv "${ED}"usr/$(get_libdir)/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl installation
+}
diff --git a/dev-python/pysnmp-apps/Manifest b/dev-python/pysnmp-apps/Manifest
new file mode 100644
index 000000000000..2a983adeaea2
--- /dev/null
+++ b/dev-python/pysnmp-apps/Manifest
@@ -0,0 +1,2 @@
+DIST pysnmp-apps-0.3.2.tar.gz 23944 SHA256 d9908af7c7b7e286f0d457769fbfb071b6fdb2f46973f63de33de193046a6569 SHA512 142ea6b3467a8aa1ceb7f826b6629b1ef55285ee0144bf88f45fc3694a42b5ceadadebc27a73a19929d28fe9a69e4e84808b438c7861ba83f87a2a946a05dade WHIRLPOOL 4c867d977d027aeec55a26c0ee69b3df18ab650cdceeda15ed05d6c9295819883d472fffa6e50de8944a8a61afbf41d695b5630b411a9a3fc5a18c9cd3dbc281
+DIST pysnmp-apps-0.3.4.tar.gz 24617 SHA256 c96c32d543c8f3866ee551962f0e1a0a8440e965bbcd8c1ed67c9a56cd17d18c SHA512 d384b7b77c5e5b684c00e77d0fc03498722dd1b9d61e876592489527d51f14140e360dc1f60a5a62d91d2fefef9bdae9c34ce9a205b4537c2278ac9d82a2c8d9 WHIRLPOOL edca9af1f891b2549edd3ee05c1441ff98f25c0aed00019c328adce0bc02a8fd844bdeab0f557936a0d555528eb379cda2a9f5f6dd1ec46cee3847522687dbb8
diff --git a/dev-python/pysnmp-apps/metadata.xml b/dev-python/pysnmp-apps/metadata.xml
new file mode 100644
index 000000000000..c1fc8a2e198c
--- /dev/null
+++ b/dev-python/pysnmp-apps/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>netmon</herd>
+ <longdescription>
+This is a Python implementation of SNMP v.1/v.2c engine. Its general
+functionality is to assemble/disassemble SNMP messages from/into
+given SNMP Object IDs along with associated values. PySNMP also provides
+a few transport methods specific to TCP/IP networking.
+
+PySNMP is written entirely in Python and is self-sufficient in terms
+that it does not rely on any third party tool (it is not a wrapper!).
+</longdescription>
+ <longdescription lang="ja">
+ã“れ㯠SNMP v.1/v.2 エンジンã®Python言語ã§ã®実装ã§ã™。関連値ã«沿ã£ãŸSNMPオブジェ
+クトIDã‹ら/ã¸SNMPメッセージをアセンブル/ディスアセンブルã™るã®ãŒ一般的ãª機能ã§ã™
+。PySNMPã¯幾ã¤ã‹ã®TCP/IPãƒÂットワーキングを特定ã™るトランスãƒÂート・メソッドもæÂÂ供
+ã—ã¾ã™。
+
+PySNMPã¯全体をPython言語ã§記述ã•れã€Âã©ã®サードパーティ製ツールも信用ã—ãªã„立場ã§
+自給自足ã—ã¾ã™。(ã“れã¯ラッパー・ツールã§ã¯ã‚りã¾ã›ん。)
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pysnmp-apps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysnmp-apps/pysnmp-apps-0.3.2-r1.ebuild b/dev-python/pysnmp-apps/pysnmp-apps-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..8ff0e92bcf8d
--- /dev/null
+++ b/dev-python/pysnmp-apps/pysnmp-apps-0.3.2-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="PySNMP applications"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp-apps"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/pysnmp-4.2.2[${PYTHON_USEDEP}]
+ dev-python/pysnmp-mibs[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pysnmp-apps/pysnmp-apps-0.3.4.ebuild b/dev-python/pysnmp-apps/pysnmp-apps-0.3.4.ebuild
new file mode 100644
index 000000000000..fcc1f25e91e5
--- /dev/null
+++ b/dev-python/pysnmp-apps/pysnmp-apps-0.3.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="PySNMP applications"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp-apps"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/pysnmp-4.2.2[${PYTHON_USEDEP}]
+ dev-python/pysnmp-mibs[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pysnmp-mibs/Manifest b/dev-python/pysnmp-mibs/Manifest
new file mode 100644
index 000000000000..cda281830570
--- /dev/null
+++ b/dev-python/pysnmp-mibs/Manifest
@@ -0,0 +1,2 @@
+DIST pysnmp-mibs-0.1.3.tar.gz 1961708 SHA256 fa78171d63a91df29d18641516c02f5f9628fda35c2986a09a1a6fc9c9032753 SHA512 7879775f2b339f30db1bf0322c036deb7f97744630f6207efdafe6178d90e264cfa18398ed8628b07b53ed9d62ce8317a7ac8f109a4a57ee1a24d01ae32eaaf3 WHIRLPOOL a89b724d0fb36348616541f204a6a8b98207aab8c9ad557d6dff333002c39dbf369da996995f697f251d65428f10226551c4dcb5c2636cba55324b556f8c61b0
+DIST pysnmp-mibs-0.1.4.tar.gz 1982745 SHA256 a499ef45d942f42ab9e922c7da93efa084a7ec490ba6cad576b64a7d573ec043 SHA512 12e285d1adb3d2f6d1f300b3ad56a5f9dcb359b840e51c4599cb3ed406cd5b34b189ec6eba94fc72e57703a3c374995b60176940eba0478f6cc2f8eb96fffaca WHIRLPOOL 3d7079397aa1312abc30bc75aba9aab46d1286cd95dc7bf8d5c8470a8ea75857004ee597ceb33c0bac2e9fe21f61cdf65c3911491651ab9ec693a687907ca6a0
diff --git a/dev-python/pysnmp-mibs/metadata.xml b/dev-python/pysnmp-mibs/metadata.xml
new file mode 100644
index 000000000000..0ddc38fed961
--- /dev/null
+++ b/dev-python/pysnmp-mibs/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+This is a Python implementation of SNMP v.1/v.2c engine. Its general
+functionality is to assemble/disassemble SNMP messages from/into
+given SNMP Object IDs along with associated values. PySNMP also provides
+a few transport methods specific to TCP/IP networking.
+
+PySNMP is written entirely in Python and is self-sufficient in terms
+that it does not rely on any third party tool (it is not a wrapper!).
+</longdescription>
+ <longdescription lang="ja">
+ã“れ㯠SNMP v.1/v.2 エンジンã®Python言語ã§ã®å®Ÿè£…ã§ã™ã€‚関連値ã«æ²¿ã£ãŸSNMPオブジェ
+クトIDã‹ã‚‰/ã¸SNMPメッセージをアセンブル/ディスアセンブルã™ã‚‹ã®ãŒä¸€èˆ¬çš„ãªæ©Ÿèƒ½ã§ã™
+。PySNMPã¯å¹¾ã¤ã‹ã®TCP/IPãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚­ãƒ³ã‚°ã‚’特定ã™ã‚‹ãƒˆãƒ©ãƒ³ã‚¹ãƒãƒ¼ãƒˆãƒ»ãƒ¡ã‚½ãƒƒãƒ‰ã‚‚æä¾›
+ã—ã¾ã™ã€‚
+
+PySNMPã¯å…¨ä½“ã‚’Python言語ã§è¨˜è¿°ã•ã‚Œã€ã©ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティ製ツールも信用ã—ãªã„ç«‹å ´ã§
+自給自足ã—ã¾ã™ã€‚(ã“ã‚Œã¯ãƒ©ãƒƒãƒ‘ー・ツールã§ã¯ã‚ã‚Šã¾ã›ã‚“。)
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pysnmp-mibs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.3-r1.ebuild b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..d910ff9f6633
--- /dev/null
+++ b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.3-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="SNMP framework in Python - MIBs"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp-mibs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/pysnmp-4.2.2[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.4.ebuild b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.4.ebuild
new file mode 100644
index 000000000000..9e1c36d9c2ee
--- /dev/null
+++ b/dev-python/pysnmp-mibs/pysnmp-mibs-0.1.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="SNMP framework in Python - MIBs"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp-mibs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/pysnmp-4.2.3[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pysnmp/Manifest b/dev-python/pysnmp/Manifest
new file mode 100644
index 000000000000..3c8395648dda
--- /dev/null
+++ b/dev-python/pysnmp/Manifest
@@ -0,0 +1,3 @@
+DIST pysnmp-3.4.4.tar.gz 91693 SHA256 e290758c17251435b5b8982cf96d3216da8f9f0ffd28beff1a5fd96efaa26bdf SHA512 7293722f11c44c4aebf25ca66be010150880b321ff1085a377f3233081a356084631b03a5c814b67feab48763622608837e9802b0256423b3bab3c8397427bb3 WHIRLPOOL 9db142ed1fd57144f5e4b20a8b3aace5a55b4f0cfef961d1b203e6f770fce8897c9458e26a22327e8a1bf5db8ca666b987feae8d1496077ebf86869de7ac4821
+DIST pysnmp-4.2.2.tar.gz 183998 SHA256 9402238abbaa24187544595d9ca37971b1e1ae0212d6307c60396290d32d6637 SHA512 6660212fdd92f0359ef8e45c71f4b6ee923a150e3dd051e1260386b9a9c11f000f489e0932b6919e21d85a280fbaa75125a418e126182c95c574539a44eb0d9b WHIRLPOOL 748a91b0251aa765576aa870a49e8c0e38729e00528a1e1a2fdc1d4baac2308b7fb42a0fbb05a8da993a64f29d49b0be0eb36fc91f79f7d3d9ab4911d0bc9318
+DIST pysnmp-4.2.5.tar.gz 225014 SHA256 c46e65d99a604f690b3d5800e2f6e26e1ed9a3c7f7e17e7b4b4d897150f7077f SHA512 bf93d7dd7ca95ff8b272c90d0c7d4e528075c83d8d6d630ab50e392227188bd0abdd05ad98521d9c4c0a1891a0b448fb9e4411f8a1d6bc7a9c2f7bb132c0dca0 WHIRLPOOL 74724ca754a7f51d41d231e7c04a7dc027d167a293b2daf5e67b5a735ff92e0a57a44abee3355980e2d3b181aa31e8d10a205a151e44282878a1a3a4b31ac4d3
diff --git a/dev-python/pysnmp/metadata.xml b/dev-python/pysnmp/metadata.xml
new file mode 100644
index 000000000000..b43eff4a7df9
--- /dev/null
+++ b/dev-python/pysnmp/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>netmon</herd>
+ <longdescription>
+This is a Python implementation of SNMP v.1/v.2c engine. Its general
+functionality is to assemble/disassemble SNMP messages from/into
+given SNMP Object IDs along with associated values. PySNMP also provides
+a few transport methods specific to TCP/IP networking.
+
+PySNMP is written entirely in Python and is self-sufficient in terms
+that it does not rely on any third party tool (it is not a wrapper!).
+</longdescription>
+ <longdescription lang="ja">
+ã“れ㯠SNMP v.1/v.2 エンジンã®Python言語ã§ã®実装ã§ã™。関連値ã«沿ã£ãŸSNMPオブジェ
+クトIDã‹ら/ã¸SNMPメッセージをアセンブル/ディスアセンブルã™るã®ãŒ一般的ãª機能ã§ã™
+。PySNMPã¯幾ã¤ã‹ã®TCP/IPãƒÂットワーキングを特定ã™るトランスãƒÂート・メソッドもæÂÂ供
+ã—ã¾ã™。
+
+PySNMPã¯全体をPython言語ã§記述ã•れã€Âã©ã®サードパーティ製ツールも信用ã—ãªã„立場ã§
+自給自足ã—ã¾ã™。(ã“れã¯ラッパー・ツールã§ã¯ã‚りã¾ã›ん。)
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pysnmp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysnmp/pysnmp-3.4.4-r1.ebuild b/dev-python/pysnmp/pysnmp-3.4.4-r1.ebuild
new file mode 100644
index 000000000000..95dcf2d72bb2
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-3.4.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="SNMP framework in Python. Not a wrapper"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp"
+SRC_URI="mirror://sourceforge/pysnmp/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS="CHANGES COMPATIBILITY README"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_install(){
+ distutils-r1_src_install
+
+ dohtml -r docs/
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+}
diff --git a/dev-python/pysnmp/pysnmp-4.2.2-r1.ebuild b/dev-python/pysnmp/pysnmp-4.2.2-r1.ebuild
new file mode 100644
index 000000000000..f6f950a9b751
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-4.2.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python SNMP library"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pyasn1-0.1.2[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+"
+
+python_install_all() {
+ local HTML_DOCS=( docs/*.{html,gif} )
+ use examples && local EXAMPLES=( examples/. docs/mibs )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "You may also be interested in the following packages: "
+ elog "dev-python/pysnmp-apps - example programs using pysnmp"
+ elog "dev-python/pysnmp-mibs - IETF and other mibs"
+ elog "net-libs/libsmi - to dump MIBs in python format"
+}
diff --git a/dev-python/pysnmp/pysnmp-4.2.5.ebuild b/dev-python/pysnmp/pysnmp-4.2.5.ebuild
new file mode 100644
index 000000000000..d188f3de2efe
--- /dev/null
+++ b/dev-python/pysnmp/pysnmp-4.2.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python SNMP library"
+HOMEPAGE="http://pysnmp.sf.net/ http://pypi.python.org/pypi/pysnmp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/pyasn1-0.1.2[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ local HTML_DOCS=( docs/*.{html,gif} )
+ use examples && local EXAMPLES=( examples/. docs/mibs )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "You may also be interested in the following packages: "
+ elog "dev-python/pysnmp-apps - example programs using pysnmp"
+ elog "dev-python/pysnmp-mibs - IETF and other mibs"
+ elog "net-libs/libsmi - to dump MIBs in python format"
+}
diff --git a/dev-python/pysolr/Manifest b/dev-python/pysolr/Manifest
new file mode 100644
index 000000000000..53cf4f3e703b
--- /dev/null
+++ b/dev-python/pysolr/Manifest
@@ -0,0 +1,2 @@
+DIST pysolr-3.3.0.tar.gz 14075 SHA256 4e1dd1461285d11f01bcd35286f46ccdf214a05e99a89c2d849b99b08a6a7fc1 SHA512 dab07ff62f30ad15e928366bd34b14ad0fd453a7d183d2b6a72b1c66b85bcdfac2ebf12dfdb78ce45dfb63c8440c5987c8118edd02ceb2c3e0829ab18171d389 WHIRLPOOL d0f533bf135c5f26de28ac46956e325b08d627aca35db4f17ba7192e09b925aa8110791c4291713898f51c967ae3ac247bdc2ff2e2374c0a45a8bed6d94a6876
+DIST pysolr-3.3.2.tar.gz 14193 SHA256 eea7b2705b4a24ea658136c55ae5c8c30bb661075600fc64d22e57e73951aa96 SHA512 7252efc42987bdf999d122404e63e6410d2efe7b1a49d378c8ad16c9171d8f26cd5ecd891a8a9daa205333b914ec4f95af105fe1bee25312aa05bb884811aebb WHIRLPOOL b4de2ea699f3acffe84cc6e46a979f01f0a5cf7c8731bad941f6f7f76e8ff41d03d436af7829a07ba05ebee850e5d202f6efd0e195f9e639196289da5d267227
diff --git a/dev-python/pysolr/metadata.xml b/dev-python/pysolr/metadata.xml
new file mode 100644
index 000000000000..394229488bbf
--- /dev/null
+++ b/dev-python/pysolr/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pysolr</remote-id>
+ <remote-id type="github">toastdriven/pysolr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysolr/pysolr-3.3.0.ebuild b/dev-python/pysolr/pysolr-3.3.0.ebuild
new file mode 100644
index 000000000000..c380cd7b1aeb
--- /dev/null
+++ b/dev-python/pysolr/pysolr-3.3.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight python wrapper for Apache Solr"
+HOMEPAGE="https://pypi.python.org/pypi/pysolr/ http://github.com/toastdriven/pysolr/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pysolr/pysolr-3.3.2.ebuild b/dev-python/pysolr/pysolr-3.3.2.ebuild
new file mode 100644
index 000000000000..89518dda9e4a
--- /dev/null
+++ b/dev-python/pysolr/pysolr-3.3.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight python wrapper for Apache Solr"
+HOMEPAGE="https://pypi.python.org/pypi/pysolr/ http://github.com/toastdriven/pysolr/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/pyspf/Manifest b/dev-python/pyspf/Manifest
new file mode 100644
index 000000000000..cb15e9a9b28e
--- /dev/null
+++ b/dev-python/pyspf/Manifest
@@ -0,0 +1,2 @@
+DIST pyspf-2.0.10.tar.gz 62890 SHA256 0a3be1cc1915649ed8960a1b8add4110379c3c348e98e642a53f69d028709de8 SHA512 8a10a82fe5226ffee6376ea19f1fe075bb8676cd7eeadbfec1de95326fb8e6f08ad466e84129c016b62452f26f0552f1a463fc6a53d992c67ae1d8b1a18b3a46 WHIRLPOOL 5cceeda27c6a84f827c1505f7808e371f5eecc95737a98cd77d0b06dcccd58fe0d0971b9ecfadc7c23c69ee921eefe56cbb98974c47ea3b57d1b0bcfae5e050f
+DIST pyspf-2.0.11.tar.gz 63594 SHA256 693e80df3d61d69daaa2590e0f2bc8167d5fa36ce373d43987984cb00ae23928 SHA512 cababa82d1b6c206033a6583a67502d982a2c34baec0ccc08513a2bc9beb4cfc84dd5d615ac852fd25885c4abd43d9e8704f517c70fadb4a600d3b8a6254d755 WHIRLPOOL f1f97b8d0c6207a01d5d48aa3f63948749d3ceca590c146ec846638e263ba8155616e9d34af0bdfde3c1438869a3727a98154c054e0e33632c8cccd23d3f2e3d
diff --git a/dev-python/pyspf/metadata.xml b/dev-python/pyspf/metadata.xml
new file mode 100644
index 000000000000..1c6beeda5d8d
--- /dev/null
+++ b/dev-python/pyspf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pyspf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyspf/pyspf-2.0.10.ebuild b/dev-python/pyspf/pyspf-2.0.10.ebuild
new file mode 100644
index 000000000000..f001157965dc
--- /dev/null
+++ b/dev-python/pyspf/pyspf-2.0.10.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="ipv6?"
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Sender Policy Framework (SPF) protocol"
+HOMEPAGE="http://pypi.python.org/pypi/pyspf"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ipv6 test"
+
+# >=python-3.3 comes with the built-in ipaddress module
+RDEPEND="dev-python/authres[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/ipaddr-2.1.10[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/pydns:2[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/pydns:3[${PYTHON_USEDEP}]' 'python3*')"
+
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+
+REQUIRED_USE="test? ( ipv6 )"
+
+python_test() {
+ pushd test &> /dev/null
+ "${PYTHON}" testspf.py || die
+ popd &> /dev/null
+}
diff --git a/dev-python/pyspf/pyspf-2.0.11.ebuild b/dev-python/pyspf/pyspf-2.0.11.ebuild
new file mode 100644
index 000000000000..b0a67f4fc847
--- /dev/null
+++ b/dev-python/pyspf/pyspf-2.0.11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="ipv6?"
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Sender Policy Framework (SPF) protocol"
+HOMEPAGE="http://pypi.python.org/pypi/pyspf"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ipv6 test"
+
+# >=python-3.3 comes with the built-in ipaddress module
+RDEPEND="dev-python/authres[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '>=dev-python/ipaddr-2.1.10[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/pydns:2[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/pydns:3[${PYTHON_USEDEP}]' 'python3*')"
+
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+
+REQUIRED_USE="test? ( ipv6 )"
+
+python_test() {
+ pushd test &> /dev/null
+ "${PYTHON}" testspf.py || die
+ popd &> /dev/null
+}
diff --git a/dev-python/pysrt/Manifest b/dev-python/pysrt/Manifest
new file mode 100644
index 000000000000..8b36024dad5c
--- /dev/null
+++ b/dev-python/pysrt/Manifest
@@ -0,0 +1,3 @@
+DIST pysrt-0.5.1.tar.gz 95486 SHA256 6de1d10c37f40272657eeb59b0911e27111a98957807ce7becef0e82cb738d53 SHA512 87544a1802c86543bad946d298e32b9e1474a0c6330686c3cea1b7c1b5dc948c4a0c15cd96fd65b8bf8a5d53993f5c416c4bb96a0c7c218b80abb47872e85486 WHIRLPOOL 166161d449729a351354a3ac80758bc0c0eea4d91431d95534dd7a41e36b3c2287555cee7b4e1c435122258da15588ee93ba920f4f9b8cc518e36d8f205009ff
+DIST pysrt-1.0.0.tar.gz 11966 SHA256 88b4f93223c84aa86741387dcf5bcec86acf961eb66383c4ba86b1ffbb826a64 SHA512 92aff2d30c0ff900f7fd4599bdcb666cf212d54a61ebf0b6d4c95699c15d0259cadf216a851ec9daad102bd70b097c878b05a259dcf89cb81d8f1f79631363ad WHIRLPOOL 1c4bd8df2b7f53289aa0b1684b7abc8a440ed3a2ada9e1473064ad288f3eb9b9b7b0cd359574cb2371299c964351c2c0696d2a4666c0522c799926d509cfb812
+DIST pysrt-1.0.1.tar.gz 11741 SHA256 5300a1584c8d15a1c49ef8880fa1ef7a4274ce3f24dde83ad581d12d875f6784 SHA512 cd03d40ebef953d7ea67073a114f10a87eb142670ece727d09a31b498835d8485ac0c125f4281b6ababdd6f0757f9549ce38cb05eda79b23ff17950ab891d0eb WHIRLPOOL f7629430ac7ee9b2a69d5618346e2f97f01a68683e8b9ef8c13519a87a7043852c142ba050b338ddccc992c4ada01bbae41b9d2bab2696cdb0fdc50761d7dd81
diff --git a/dev-python/pysrt/metadata.xml b/dev-python/pysrt/metadata.xml
new file mode 100644
index 000000000000..d6dd2b40ebbc
--- /dev/null
+++ b/dev-python/pysrt/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>nikoli@gmx.us</email>
+ </maintainer>
+ <herd>proxy-maintainers</herd>
+ <upstream>
+ <remote-id type="pypi">pysrt</remote-id>
+ <remote-id type="github">byroot/pysrt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysrt/pysrt-0.5.1.ebuild b/dev-python/pysrt/pysrt-0.5.1.ebuild
new file mode 100644
index 000000000000..ae787dcd08d5
--- /dev/null
+++ b/dev-python/pysrt/pysrt-0.5.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library used to edit or create SubRip files"
+HOMEPAGE="https://github.com/byroot/pysrt https://pypi.python.org/pypi/pysrt"
+# does not have tests/static/ # SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/byroot/pysrt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/charade[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[coverage(+),${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ nosetests --with-coverage --cover-package=pysrt \
+ || die "Tests failed under ${EPYTHON}"
+}
+
+src_install() {
+ rm -rf "${S}/tests" || die
+
+ distutils-r1_src_install
+}
+
+python_install() {
+ rm -rf "${BUILD_DIR}/lib/tests" || die
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/pysrt/pysrt-1.0.0.ebuild b/dev-python/pysrt/pysrt-1.0.0.ebuild
new file mode 100644
index 000000000000..aa5f07d4d3af
--- /dev/null
+++ b/dev-python/pysrt/pysrt-1.0.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library used to edit or create SubRip files"
+HOMEPAGE="https://github.com/byroot/pysrt https://pypi.python.org/pypi/pysrt"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/charade[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[coverage(+),${PYTHON_USEDEP}] )
+"
+
+# https://github.com/byroot/pysrt/issues/42
+RESTRICT="test"
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ nosetests --with-coverage --cover-package=pysrt \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pysrt/pysrt-1.0.1.ebuild b/dev-python/pysrt/pysrt-1.0.1.ebuild
new file mode 100644
index 000000000000..2c3b4884d4d8
--- /dev/null
+++ b/dev-python/pysrt/pysrt-1.0.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library used to edit or create SubRip files"
+HOMEPAGE="https://github.com/byroot/pysrt https://pypi.python.org/pypi/pysrt"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[coverage(+),${PYTHON_USEDEP}] )
+"
+
+# https://github.com/byroot/pysrt/issues/42
+RESTRICT="test"
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ nosetests --with-coverage --cover-package=pysrt \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pysrt/pysrt-9999.ebuild b/dev-python/pysrt/pysrt-9999.ebuild
new file mode 100644
index 000000000000..9c1a0c109f07
--- /dev/null
+++ b/dev-python/pysrt/pysrt-9999.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Python library used to edit or create SubRip files"
+HOMEPAGE="https://github.com/byroot/pysrt https://pypi.python.org/pypi/pysrt"
+EGIT_REPO_URI="https://github.com/byroot/pysrt.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[coverage(+),${PYTHON_USEDEP}] )
+"
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ nosetests --with-coverage --cover-package=pysrt \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pystache/Manifest b/dev-python/pystache/Manifest
new file mode 100644
index 000000000000..b481d0b27caa
--- /dev/null
+++ b/dev-python/pystache/Manifest
@@ -0,0 +1,2 @@
+DIST pystache-0.5.3.tar.gz 74827 SHA256 445c8663291abf11305693ecac7b9f3ff976555f5506ccc05a0353260a5a16dc SHA512 2b77f3e26cf37e663b7414e5ca95667f8332bb1005ae835775543c0d2c282f0c7bd8ded3f1e06da930247e39e5d206fb3f90d80e7c556b98cd69d4be74836843 WHIRLPOOL ae6ff420d95c36e61c7e95f12dcfb0ef18c7fc9f114b250a9cecda86fafa0acd66d959fbfe47802d0558fcce929c5be89f5d0c5f76a8bac08e26078a60766ef7
+DIST pystache-0.5.4.tar.gz 75131 SHA256 f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a SHA512 4ac325e1431f58f740218c9ec309821db82d89989ef4ca7fc3536dea0ef1c90e8e85ebaa7df27f33129ca02252b84bcbd7429a1ed999b496f62f174dd66502cb WHIRLPOOL ced73b06095323eb56f215aa68517ea32b8b4ba51b34ab71c861d09bdebbae91e6b05ed162a75592e40f5d18691a5df16e3dd1678789c4e6c4ccee2789201cbd
diff --git a/dev-python/pystache/metadata.xml b/dev-python/pystache/metadata.xml
new file mode 100644
index 000000000000..c03b50fc09d3
--- /dev/null
+++ b/dev-python/pystache/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Pystache is a Python implementation of Mustache.
+ Mustache is a framework-agnostic, logic-free
+ templating system for Ruby, inspired by ctemplate and etc.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pystache</remote-id>
+ <remote-id type="github">defunkt/pystache</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pystache/pystache-0.5.3.ebuild b/dev-python/pystache/pystache-0.5.3.ebuild
new file mode 100644
index 000000000000..c27a4e96dd53
--- /dev/null
+++ b/dev-python/pystache/pystache-0.5.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+inherit distutils-r1
+
+DESCRIPTION="Mustache for Python"
+HOMEPAGE="http://github.com/defunkt/pystache"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}"/lib
+ nosetests || die
+}
diff --git a/dev-python/pystache/pystache-0.5.4.ebuild b/dev-python/pystache/pystache-0.5.4.ebuild
new file mode 100644
index 000000000000..909ec70a2433
--- /dev/null
+++ b/dev-python/pystache/pystache-0.5.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Mustache for Python"
+HOMEPAGE="http://github.com/defunkt/pystache"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib > /dev/null
+ nosetests || die
+ popd > /dev/null
+}
diff --git a/dev-python/pystatgrab/Manifest b/dev-python/pystatgrab/Manifest
new file mode 100644
index 000000000000..3e8881985f5d
--- /dev/null
+++ b/dev-python/pystatgrab/Manifest
@@ -0,0 +1 @@
+DIST pystatgrab-0.6.tar.gz 78763 SHA256 eee0a65e1084628008222223bafdbb3ce66dffd4aa03febb9e918e61ef0d08fe SHA512 a902ca5340c2e36209297426ae071e37c07f6700c2850cdb6ff7dfd5c93174fdc9e5e4415bfcc2b9c8a78226abda8b12875bd172acbd6568aad248c666e206a4 WHIRLPOOL 6bfb12ff84d80c9beef3d3437f8d6da4bc3ca9bf84caab16d0e6febcdee2080a6e899e0449f2d26d4462ceaf5d655a6ddd9668d62c19c4c01d67557b5f6e6977
diff --git a/dev-python/pystatgrab/metadata.xml b/dev-python/pystatgrab/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pystatgrab/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pystatgrab/pystatgrab-0.6.ebuild b/dev-python/pystatgrab/pystatgrab-0.6.ebuild
new file mode 100644
index 000000000000..2a1f2b9e53f3
--- /dev/null
+++ b/dev-python/pystatgrab/pystatgrab-0.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION=" pystatgrab is a set of Python bindings for the libstatgrab library"
+HOMEPAGE="http://www.i-scream.org/pystatgrab/"
+SRC_URI="http://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/pystatgrab/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=sys-libs/libstatgrab-0.91"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+python_prepare_all() {
+ append-flags -fno-strict-aliasing
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test.py || die
+}
diff --git a/dev-python/pystdf/Manifest b/dev-python/pystdf/Manifest
new file mode 100644
index 000000000000..97ac257eb274
--- /dev/null
+++ b/dev-python/pystdf/Manifest
@@ -0,0 +1 @@
+DIST pystdf-1.3.1.tar.gz 19974 SHA256 f736601a280affe2570f0c162f0c8d9d63a8833f9f094a38f22f5a6681a53051 SHA512 134265a728f3fafab5a536d12bc53c017ec265bbf83b8980fb1a87d59a29c3e872b24d9121a3bb52f5feddacca8d01bcee070f9ac6fd366029129a327847515a WHIRLPOOL 93082640344b36ba5253ec1928c7a0e778723ec9f1140a519fd99bd2224cc75a75cfd35ca4e93d297453cf356a29e30b85f321667dd0c6af7e523f79d4bafb3b
diff --git a/dev-python/pystdf/metadata.xml b/dev-python/pystdf/metadata.xml
new file mode 100644
index 000000000000..ff8ea3bb9d22
--- /dev/null
+++ b/dev-python/pystdf/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">pystdf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pystdf/pystdf-1.3.1-r1.ebuild b/dev-python/pystdf/pystdf-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..1e5bebdd92a3
--- /dev/null
+++ b/dev-python/pystdf/pystdf-1.3.1-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module that makes it easy to work with STDF"
+HOMEPAGE="http://code.google.com/p/pystdf/"
+SRC_URI="http://pystdf.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/pysvg/Manifest b/dev-python/pysvg/Manifest
new file mode 100644
index 000000000000..84f63b5ff6ee
--- /dev/null
+++ b/dev-python/pysvg/Manifest
@@ -0,0 +1 @@
+DIST pysvg-0.2.1.zip 24216 SHA256 f447d39d47674176d277a21616597812c662d62834e136360e86d3f914270f36 SHA512 f8334d466ac130842c6fd8beecb4da7a5207fd50ed996a4b0d06d3b5e2f2324e9e87c35df7fd9a4d776e810b35532d4ef37d7075b512b7f2f2f2ea4e1b0db2df WHIRLPOOL 8116add689eb39865c43bc07e772382fe4f96b513ffa8cd6bcaab76c199371f467e3e6ba0935095857d685093b6be0e881ec6daade9e0dba0d033c120c3244a8
diff --git a/dev-python/pysvg/metadata.xml b/dev-python/pysvg/metadata.xml
new file mode 100644
index 000000000000..f1cda9f0b9eb
--- /dev/null
+++ b/dev-python/pysvg/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">pysvg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysvg/pysvg-0.2.1-r1.ebuild b/dev-python/pysvg/pysvg-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..7d9398c1e507
--- /dev/null
+++ b/dev-python/pysvg/pysvg-0.2.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python SVG document creation library"
+HOMEPAGE="http://codeboje.de/pysvg/
+ http://code.google.com/p/pysvg/"
+SRC_URI="http://pysvg.googlecode.com/files/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
diff --git a/dev-python/pysvn/Manifest b/dev-python/pysvn/Manifest
new file mode 100644
index 000000000000..7af541054db7
--- /dev/null
+++ b/dev-python/pysvn/Manifest
@@ -0,0 +1,2 @@
+DIST pysvn-1.7.10.tar.gz 352631 SHA256 cb8a7eca9fd5d077f4b086c79cc1115a2f38a37979eee836ff258b4da0aee517 SHA512 3404ce53f974ff91a7eecea29176f6b71f1dbb37a716880dfd3d2961d4c6e0c81f87aa46308994d4f7ed6a6cbca7f7451753e1de43ce95fef4443fc5f70ff3aa WHIRLPOOL 99ac425ad2e19355521c73947cf33b2c5bff0023af686d699fdfcd7abc8c5f965974c9762b0dbd3ae3cddfc833e35ac549af1de54ca2472d1354a8fa126e8c36
+DIST pysvn-1.7.9.tar.gz 352320 SHA256 8a58ea6405e5f5ffd0850fc5ed6bc29a93b3573da099293f49ef3241e5be1692 SHA512 966f9b57f63abc68d82a0f0f0d710d3109c2bd515eb0b0dacdca140b0db32154c802d27b4f79062da19f0d18ff6332b729c6f9c06e0a74742161a00b74bef7aa WHIRLPOOL 53f27a30ce97b723fe0d1a8540221e25e593fc00789eab7b6e2814f3ffe3ff8f485523ad7fe3bff7c1b5d101fb87d694a1c18111d2523895835ea72ea1ee6aab
diff --git a/dev-python/pysvn/files/pysvn-1.7.10-respect_flags.patch b/dev-python/pysvn/files/pysvn-1.7.10-respect_flags.patch
new file mode 100644
index 000000000000..18c7ea630dcf
--- /dev/null
+++ b/dev-python/pysvn/files/pysvn-1.7.10-respect_flags.patch
@@ -0,0 +1,95 @@
+diff -ur pysvn-1.7.9.orig/Source/setup_configure.py pysvn-1.7.9/Source/setup_configure.py
+--- Source/setup_configure.py 2014-02-02 22:19:59.000000000 +0800
++++ Source/setup_configure.py 2014-08-15 08:15:44.676746371 +0800
+@@ -848,8 +848,8 @@
+ def __init__( self, setup ):
+ Compiler.__init__( self, setup )
+
+- self._addVar( 'CCC', 'g++' )
+- self._addVar( 'CC', 'gcc' )
++ self._addVar( 'CCC', '$(CXX)' )
++ self._addVar( 'CC', '$(CC)' )
+
+ def getPythonExtensionFileExt( self ):
+ return '.so'
+@@ -975,8 +975,8 @@
+ else:
+ arch_options = ''
+
+- self._addVar( 'CCC', 'g++ %s' % (arch_options,) )
+- self._addVar( 'CC', 'gcc %s' % (arch_options,) )
++ self._addVar( 'CCC', '$(CXX) %s' % (arch_options,) )
++ self._addVar( 'CC', '$(CC) %s' % (arch_options,) )
+
+ self._find_paths_pycxx_dir = [
+ '../Import/pycxx-%d.%d.%d' % pycxx_version,
+@@ -1031,11 +1031,11 @@
+
+ def setupUtilities( self ):
+ self._addVar( 'CCCFLAGS',
+- '-g '
++ '$(CXXFLAGS) '
+ '-Wall -fPIC -fexceptions -frtti '
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+ '-D%(DEBUG)s' )
+- self._addVar( 'LDEXE', '%(CCC)s -g' )
++ self._addVar( 'LDEXE', '$(CXX) $(LDFLAGS)' )
+
+ def setupPySvn( self ):
+ self._pysvnModuleSetup()
+@@ -1047,7 +1047,7 @@
+ self._addVar( 'PYTHON_INC', distutils.sysconfig.get_python_inc() )
+
+ py_cflags_list = [
+- '-g',
++ '$(CXXFLAGS) ',
+ '-Wall -fPIC -fexceptions -frtti',
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s',
+ '-DPYCXX_PYTHON_2TO3 -I%(PYCXX)s -I%(PYCXX_SRC)s -I%(PYTHON_INC)s',
+@@ -1073,13 +1073,12 @@
+
+ self._addVar( 'CCCFLAGS', ' '.join( py_cflags_list ) )
+ self._addVar( 'LDLIBS', ' '.join( py_ld_libs ) )
+- self._addVar( 'LDSHARED', '%(CCC)s -bundle -g '
++ self._addVar( 'LDSHARED', '$(CXX) $(LDFLAGS) -bundle '
+ '-framework System '
+ '%(PYTHON_FRAMEWORK)s '
+ '-framework CoreFoundation '
+ '-framework Kerberos '
+- '-framework Security '
+- '%(LDLIBS)s' )
++ '-framework Security' )
+
+ class UnixCompilerGCC(CompilerGCC):
+ def __init__( self, setup ):
+@@ -1139,11 +1138,11 @@
+
+ def setupUtilities( self ):
+ self._addVar( 'CCCFLAGS',
+- '-g '
++ '$(CXXFLAGS) '
+ '-Wall -fPIC -fexceptions -frtti '
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+ '-D%(DEBUG)s' )
+- self._addVar( 'LDEXE', '%(CCC)s -g' )
++ self._addVar( 'LDEXE', '$(CXX) $(LDFLAGS)' )
+
+ def setupPySvn( self ):
+ self._pysvnModuleSetup()
+@@ -1154,6 +1153,7 @@
+ self._addVar( 'PYTHON_ARCH_SPECIFIC_INC', distutils.sysconfig.get_python_inc( True ) )
+
+ py_cflags_list = [
++ '$(CXXFLAGS)',
+ '-Wall -fPIC -fexceptions -frtti',
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s',
+ '-DPYCXX_PYTHON_2TO3 -I%(PYCXX)s -I%(PYCXX_SRC)s -I%(PYTHON_INC)s',
+@@ -1171,7 +1171,7 @@
+
+ self._addVar( 'CCCFLAGS', ' '.join( py_cflags_list ) )
+ self._addVar( 'LDLIBS', ' '.join( self._getLdLibs() ) )
+- self._addVar( 'LDSHARED', '%(CCC)s -shared -g' )
++ self._addVar( 'LDSHARED', '$(CXX) $(LDFLAGS) -shared' )
+
+ #--------------------------------------------------------------------------------
+ class LinuxCompilerGCC(UnixCompilerGCC):
diff --git a/dev-python/pysvn/files/pysvn-1.7.9-respect_flags.patch b/dev-python/pysvn/files/pysvn-1.7.9-respect_flags.patch
new file mode 100644
index 000000000000..7f1c35e59cb3
--- /dev/null
+++ b/dev-python/pysvn/files/pysvn-1.7.9-respect_flags.patch
@@ -0,0 +1,96 @@
+diff -ur pysvn-1.7.9.orig/Source/setup_configure.py pysvn-1.7.9/Source/setup_configure.py
+--- Source/setup_configure.py 2014-02-02 22:19:59.000000000 +0800
++++ Source/setup_configure.py 2014-08-15 08:15:44.676746371 +0800
+@@ -848,8 +848,8 @@
+ def __init__( self, setup ):
+ Compiler.__init__( self, setup )
+
+- self._addVar( 'CCC', 'g++' )
+- self._addVar( 'CC', 'gcc' )
++ self._addVar( 'CCC', '$(CXX)' )
++ self._addVar( 'CC', '$(CC)' )
+
+ def getPythonExtensionFileExt( self ):
+ return '.so'
+@@ -975,8 +975,8 @@
+ else:
+ arch_options = ''
+
+- self._addVar( 'CCC', 'g++ %s' % (arch_options,) )
+- self._addVar( 'CC', 'gcc %s' % (arch_options,) )
++ self._addVar( 'CCC', '$(CXX) %s' % (arch_options,) )
++ self._addVar( 'CC', '$(CC) %s' % (arch_options,) )
+
+ self._find_paths_pycxx_dir = [
+ '../Import/pycxx-%d.%d.%d' % pycxx_version,
+@@ -1031,12 +1031,12 @@
+
+ def setupUtilities( self ):
+ self._addVar( 'CCCFLAGS',
+- '-g '
++ '$(CXXFLAGS) '
+ '-no-long-double '
+ '-Wall -fPIC -fexceptions -frtti '
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+ '-D%(DEBUG)s' )
+- self._addVar( 'LDEXE', '%(CCC)s -g' )
++ self._addVar( 'LDEXE', '$(CXX) $(LDFLAGS)' )
+
+ def setupPySvn( self ):
+ self._pysvnModuleSetup()
+@@ -1048,7 +1048,7 @@
+ self._addVar( 'PYTHON_INC', distutils.sysconfig.get_python_inc() )
+
+ py_cflags_list = [
+- '-g',
++ '$(CXXFLAGS) ',
+ '-no-long-double',
+ '-Wall -fPIC -fexceptions -frtti',
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s',
+@@ -1075,13 +1075,12 @@
+
+ self._addVar( 'CCCFLAGS', ' '.join( py_cflags_list ) )
+ self._addVar( 'LDLIBS', ' '.join( py_ld_libs ) )
+- self._addVar( 'LDSHARED', '%(CCC)s -bundle -g '
++ self._addVar( 'LDSHARED', '$(CXX) $(LDFLAGS) -bundle '
+ '-framework System '
+ '%(PYTHON_FRAMEWORK)s '
+ '-framework CoreFoundation '
+ '-framework Kerberos '
+- '-framework Security '
+- '%(LDLIBS)s' )
++ '-framework Security' )
+
+ class UnixCompilerGCC(CompilerGCC):
+ def __init__( self, setup ):
+@@ -1141,11 +1140,11 @@
+
+ def setupUtilities( self ):
+ self._addVar( 'CCCFLAGS',
+- '-g '
++ '$(CXXFLAGS) '
+ '-Wall -fPIC -fexceptions -frtti '
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+ '-D%(DEBUG)s' )
+- self._addVar( 'LDEXE', '%(CCC)s -g' )
++ self._addVar( 'LDEXE', '$(CXX) $(LDFLAGS)' )
+
+ def setupPySvn( self ):
+ self._pysvnModuleSetup()
+@@ -1156,6 +1155,7 @@
+ self._addVar( 'PYTHON_ARCH_SPECIFIC_INC', distutils.sysconfig.get_python_inc( True ) )
+
+ py_cflags_list = [
++ '$(CXXFLAGS)',
+ '-Wall -fPIC -fexceptions -frtti',
+ '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s',
+ '-DPYCXX_PYTHON_2TO3 -I%(PYCXX)s -I%(PYCXX_SRC)s -I%(PYTHON_INC)s',
+@@ -1173,7 +1173,7 @@
+
+ self._addVar( 'CCCFLAGS', ' '.join( py_cflags_list ) )
+ self._addVar( 'LDLIBS', ' '.join( self._getLdLibs() ) )
+- self._addVar( 'LDSHARED', '%(CCC)s -shared -g' )
++ self._addVar( 'LDSHARED', '$(CXX) $(LDFLAGS) -shared' )
+
+ #--------------------------------------------------------------------------------
+ class LinuxCompilerGCC(UnixCompilerGCC):
diff --git a/dev-python/pysvn/metadata.xml b/dev-python/pysvn/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/pysvn/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pysvn/pysvn-1.7.10.ebuild b/dev-python/pysvn/pysvn-1.7.10.ebuild
new file mode 100644
index 000000000000..1470a49a5b9f
--- /dev/null
+++ b/dev-python/pysvn/pysvn-1.7.10.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="http://pysvn.tigris.org/"
+SRC_URI="http://pysvn.barrys-emacs.org/source_kits/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND="
+ >=dev-python/pycxx-6.2.0[${PYTHON_USEDEP}]
+ <dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-respect_flags.patch )
+
+python_prepare() {
+ # Don't use internal copy of dev-python/pycxx.
+ rm -r Import || die
+
+ # http://pysvn.tigris.org/source/browse/pysvn?view=rev&revision=1469
+ sed -e "s/PYSVN_HAS_SVN_CLIENT_CTX_T__CONFLICT_FUNC_16/PYSVN_HAS_SVN_CLIENT_CTX_T__CONFLICT_FUNC_1_6/" -i Source/pysvn_svnenv.hpp
+}
+
+python_configure() {
+ cd Source || die
+ # all config options from 1.7.6 are all already set
+ esetup.py configure
+}
+
+python_compile() {
+ cd Source || die
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+}
+
+python_test() {
+ cd Tests || die
+ emake
+}
+
+python_install() {
+ cd Source || die
+ python_domodule pysvn
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/ )
+ use examples && local EXAMPLES=( Examples/Client/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pysvn/pysvn-1.7.9.ebuild b/dev-python/pysvn/pysvn-1.7.9.ebuild
new file mode 100644
index 000000000000..6cc28691f2d7
--- /dev/null
+++ b/dev-python/pysvn/pysvn-1.7.9.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils distutils-r1 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="http://pysvn.tigris.org/"
+SRC_URI="http://pysvn.barrys-emacs.org/source_kits/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND="
+ >=dev-python/pycxx-6.2.0[${PYTHON_USEDEP}]
+ <dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-respect_flags.patch )
+
+python_prepare() {
+ # Don't use internal copy of dev-python/pycxx.
+ rm -r Import || die
+
+ # http://pysvn.tigris.org/source/browse/pysvn?view=rev&revision=1469
+ sed -e "s/PYSVN_HAS_SVN_CLIENT_CTX_T__CONFLICT_FUNC_16/PYSVN_HAS_SVN_CLIENT_CTX_T__CONFLICT_FUNC_1_6/" -i Source/pysvn_svnenv.hpp
+}
+
+python_configure() {
+ cd Source || die
+ # all config options from 1.7.6 are all already set
+ esetup.py configure
+}
+
+python_compile() {
+ cd Source || die
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+}
+
+python_test() {
+ cd Tests || die
+ emake
+}
+
+python_install() {
+ cd Source || die
+ python_domodule pysvn
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/ )
+ use examples && local EXAMPLES=( Examples/Client/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pysyck/Manifest b/dev-python/pysyck/Manifest
new file mode 100644
index 000000000000..4ba52ae1977e
--- /dev/null
+++ b/dev-python/pysyck/Manifest
@@ -0,0 +1 @@
+DIST PySyck-0.61.2.tar.gz 44949 SHA256 cc4ce350411c39d11a4654d8e97f5f92644c3dd9a1e2e2d862f3de47190ed473 SHA512 3ccb304b7a8efbf57209079b92fb34f0122cb1da93ee51fb45bdd5e8728dec383e0e0e9f329f1704ef5deeb6cdb93a5dc9cad69c877a886e9d0c3058ec1aa812 WHIRLPOOL d98d43ead9a6b196f567f78b8b0ccce8d5ac1df222531e478c8645a58dfeadfe5bef9c4b89660fe1a72802899dc14361ca6c04f6beeab747f4d838852eb74cb1
diff --git a/dev-python/pysyck/metadata.xml b/dev-python/pysyck/metadata.xml
new file mode 100644
index 000000000000..a55e575513b5
--- /dev/null
+++ b/dev-python/pysyck/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ PySyck is aimed to update the current Python bindings for Syck. The new
+ bindings provide a wrapper for the Syck emitter and give access to YAML
+ representation graphs. PySyck may be used for various tasks, in
+ particular, as a replacement of the module pickle.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/pysyck/pysyck-0.61.2-r1.ebuild b/dev-python/pysyck/pysyck-0.61.2-r1.ebuild
new file mode 100644
index 000000000000..9cad1c0be052
--- /dev/null
+++ b/dev-python/pysyck/pysyck-0.61.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PySyck-${PV}"
+
+DESCRIPTION="Python bindings for the Syck YAML parser and emitter"
+HOMEPAGE="http://pyyaml.org/wiki/PySyck"
+SRC_URI="http://pyyaml.org/download/pysyck/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-libs/syck-0.55"
+RDEPEND="${DEPEND}"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ "${PYTHON}" tests/test_syck.py
+ einfo "Some tests may have failed due to pending bugs in dev-libs/syck"
+}
diff --git a/dev-python/pytables/Manifest b/dev-python/pytables/Manifest
new file mode 100644
index 000000000000..418fb38acd5d
--- /dev/null
+++ b/dev-python/pytables/Manifest
@@ -0,0 +1,2 @@
+DIST tables-3.1.1.tar.gz 6715786 SHA256 39b9036376f1185599771c19276f13b5b9119d98f9108f58595745ded3fe2da3 SHA512 b5b2052dd81c4748c5e26c1f61f9f92891f48335b0a553f7602ab11c9029dd673d27b91e24cac0da21a81df0c26dbcd9a438214fa58af1ae831c5f04dfa212a6 WHIRLPOOL 86fd6dc9e12503fdbd23013b75f33a41eadbbac0e6dd5ac9a91476d073195077fc6b3d5ad24b1dd4b4c18ae7ed8abc8ea1708262e52240f4c2c3b1153f8c9e91
+DIST tables-3.2.0.tar.gz 7039718 SHA256 60980e44676bfe463cdd2582ecdacc0b0763b259477015e866f8af72b4cdba44 SHA512 6ef7925bafbec04a3f581d13e9cc266b9b68b11dce27cf28c501dbbc538d74ddcfa15cbe97fa69fb793911cc6dbf3112f503b29c6e4e3e7631a6761cc1303253 WHIRLPOOL 412ada055b81fd7409b67288bc2bcf9ed527c9c42dbdd75c52ce7287f53ed12322b8b4423c9fab0aba98e0f12a8764a45316104567c193b469a84fdda3cbfc30
diff --git a/dev-python/pytables/files/pytables-3.1.1-blosc.patch b/dev-python/pytables/files/pytables-3.1.1-blosc.patch
new file mode 100644
index 000000000000..3a4ba18e5e73
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.1.1-blosc.patch
@@ -0,0 +1,16 @@
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 2c0c126..1448eb1 100755
+--- a/setup.py
++++ b/setup.py
+@@ -768,7 +768,7 @@ if 'BLOSC' not in optional_libs:
+ print("Setting compiler flag '-msse2'")
+ CFLAGS.append("-msse2")
+ else:
+- ADDLIBS += ['blosc']
++ ADDLIBS += ['blosc', 'blosc_filter']
+
+
+ utilsExtension_libs = LIBS + ADDLIBS
diff --git a/dev-python/pytables/files/pytables-3.1.1-cython-backport.patch b/dev-python/pytables/files/pytables-3.1.1-cython-backport.patch
new file mode 100644
index 000000000000..7db41d2e1a62
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.1.1-cython-backport.patch
@@ -0,0 +1,65 @@
+ setup.py | 13 +++++++------
+ tables/req_versions.py | 2 +-
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 0f2f3f7..52cda49 100755
+--- a/setup.py
++++ b/setup.py
+@@ -25,6 +25,7 @@ from distutils.core import Extension
+ from distutils.dep_util import newer
+ from distutils.util import convert_path
+ from distutils.ccompiler import new_compiler
++from distutils.version import LooseVersion
+
+ cmdclass = {}
+ setuptools_kwargs = {}
+@@ -106,7 +107,7 @@ def check_import(pkgname, pkgver):
+ "You need %(pkgname)s %(pkgver)s or greater to run PyTables!"
+ % {'pkgname': pkgname, 'pkgver': pkgver})
+ else:
+- if mod.__version__ < pkgver:
++ if mod.__version__ < LooseVersion(pkgver):
+ exit_with_error(
+ "You need %(pkgname)s %(pkgver)s or greater to run PyTables!"
+ % {'pkgname': pkgname, 'pkgver': pkgver})
+@@ -122,21 +123,21 @@ if not has_setuptools:
+
+ # Check if Cython is installed or not (requisite)
+ try:
++ from Cython import __version__ as cython_version
+ from Cython.Distutils import build_ext
+- from Cython.Compiler.Main import Version
+ cmdclass['build_ext'] = build_ext
+ except ImportError:
+ exit_with_error(
+ "You need %(pkgname)s %(pkgver)s or greater to compile PyTables!"
+ % {'pkgname': 'Cython', 'pkgver': min_cython_version})
+
+-if Version.version < min_cython_version:
++if LooseVersion(cython_version) < min_cython_version:
+ exit_with_error(
+- "At least Cython %s is needed so as to generate extensions!"
+- % (min_cython_version))
++ "You need %(pkgname)s %(pkgver)s or greater to run PyTables!"
++ % {'pkgname': 'Cython', 'pkgver': min_cython_version})
+ else:
+ print("* Found %(pkgname)s %(pkgver)s package installed."
+- % {'pkgname': 'Cython', 'pkgver': Version.version})
++ % {'pkgname': 'Cython', 'pkgver': cython_version})
+
+ VERSION = open('VERSION').read().strip()
+
+diff --git a/tables/req_versions.py b/tables/req_versions.py
+index 2c9ca01..bd498c3 100644
+--- a/tables/req_versions.py
++++ b/tables/req_versions.py
+@@ -17,7 +17,7 @@
+ # Minimum recommended versions for mandatory packages
+ min_numpy_version = '1.4.1'
+ min_numexpr_version = '2.0.0'
+-min_cython_version = '0.13'
++min_cython_version = '0.14'
+
+ # The THG team has decided to fix an API inconsistency in the definition
+ # of the H5Z_class_t structure in version 1.8.3
diff --git a/dev-python/pytables/files/pytables-3.1.1-numpy19-backport.patch b/dev-python/pytables/files/pytables-3.1.1-numpy19-backport.patch
new file mode 100644
index 000000000000..c2f0c2280f01
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.1.1-numpy19-backport.patch
@@ -0,0 +1,51 @@
+From 854d5798ca9fd78c00e18710de2e93202f675f3e Mon Sep 17 00:00:00 2001
+From: Antonio Valentino <antonio.valentino@tiscali.it>
+Date: Sun, 6 Jul 2014 21:21:39 +0200
+Subject: [PATCH] Fix a compatibility problem with numpy 1.9 (close: #362)
+
+---
+ RELEASE_NOTES.txt | 6 ++++++
+ tables/table.py | 6 +++++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
+index f219eb3..1da20e2 100644
+--- a/RELEASE_NOTES.txt
++++ b/RELEASE_NOTES.txt
+@@ -19,6 +19,12 @@ Improvements
+ requiring strict access alignment.
+
+
++Bugs fixed
++----------
++
++- Fixed compatibitily problems with numpy 1.9 (closes :issue:`362`)
++
++
+ Changes from 3.1.0 to 3.1.1
+ ===========================
+
+diff --git a/tables/table.py b/tables/table.py
+index 235f599..ffe8fd6 100644
+--- a/tables/table.py
++++ b/tables/table.py
+@@ -3406,6 +3406,10 @@ def _getindex(self):
+ associated with this column (None if the column is not
+ indexed).""")
+
++ @lazyattr
++ def _itemtype(self):
++ return self.descr._v_dtypes[self.name]
++
+ def _getshape(self):
+ return (self.table.nrows,) + self.descr._v_dtypes[self.name].shape
+
+@@ -3529,7 +3533,7 @@ def __iter__(self):
+ table = self.table
+ itemsize = self.dtype.itemsize
+ nrowsinbuf = table._v_file.params['IO_BUFFER_SIZE'] // itemsize
+- buf = numpy.empty((nrowsinbuf, ), self.dtype)
++ buf = numpy.empty((nrowsinbuf, ), self._itemtype)
+ max_row = len(self)
+ for start_row in xrange(0, len(self), nrowsinbuf):
+ end_row = min(start_row + nrowsinbuf, max_row)
diff --git a/dev-python/pytables/files/pytables-3.2.0-blosc.patch b/dev-python/pytables/files/pytables-3.2.0-blosc.patch
new file mode 100644
index 000000000000..24c58c1a921c
--- /dev/null
+++ b/dev-python/pytables/files/pytables-3.2.0-blosc.patch
@@ -0,0 +1,16 @@
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 2c0c126..1448eb1 100755
+--- a/setup.py
++++ b/setup.py
+@@ -768,7 +768,7 @@ if 'BLOSC' not in optional_libs:
+ CFLAGS.append(ff)
+ break
+ else:
+- ADDLIBS += ['blosc']
++ ADDLIBS += ['blosc', 'blosc_filter']
+
+
+ utilsExtension_libs = LIBS + ADDLIBS
diff --git a/dev-python/pytables/metadata.xml b/dev-python/pytables/metadata.xml
new file mode 100644
index 000000000000..9a0c6541eff2
--- /dev/null
+++ b/dev-python/pytables/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ PyTables is a hierarchical database package designed to efficently
+ manage very large amounts of data. PyTables is built on top of the
+ HDF5 library and the NumPy package. It features an object-oriented
+ interface that, combined with natural naming and C-code generated
+ from Pyrex sources, makes it a fast, yet extremely easy to use tool
+ for interactively save and retrieve large amounts of data.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">tables</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytables/pytables-3.1.1-r2.ebuild b/dev-python/pytables/pytables-3.1.1-r2.ebuild
new file mode 100644
index 000000000000..e8fb46b57ea5
--- /dev/null
+++ b/dev-python/pytables/pytables-3.1.1-r2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+MY_PN=tables
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Hierarchical datasets for Python"
+HOMEPAGE="http://www.pytables.org/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+IUSE="doc examples"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/c-blosc:0=[hdf5]
+ dev-libs/lzo:2=
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ sci-libs/hdf5:0="
+DEPEND="${RDEPEND}
+ >=dev-python/cython-0.14[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( ANNOUNCE.txt RELEASE_NOTES.txt THANKS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cython-backport.patch
+ "${FILESDIR}"/${P}-numpy19-backport.patch
+ "${FILESDIR}"/${P}-blosc.patch
+ )
+
+python_prepare_all() {
+ export HDF5_DIR="${EPREFIX}"/usr
+ sed \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ -e 's:"c-blosc/hdf5/blosc_filter.c"::g' \
+ -i setup.py || die
+ rm -r c-blosc/{blosc,hdf5,internal-complibs} || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${EPYTHON} tables/tests/test_all.py || die
+}
+
+python_install_all() {
+ if use doc; then
+ HTML_DOCS=( doc/html/. )
+ DOCS+=( doc/scripts )
+ fi
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ doins -r contrib
+ fi
+}
diff --git a/dev-python/pytables/pytables-3.2.0.ebuild b/dev-python/pytables/pytables-3.2.0.ebuild
new file mode 100644
index 000000000000..e1a0c772f5af
--- /dev/null
+++ b/dev-python/pytables/pytables-3.2.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+MY_PN=tables
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Hierarchical datasets for Python"
+HOMEPAGE="http://www.pytables.org/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+IUSE="doc examples"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/c-blosc:0=[hdf5]
+ dev-libs/lzo:2=
+ >=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.4[${PYTHON_USEDEP}]
+ >=sci-libs/hdf5-1.8.4:0="
+DEPEND="${RDEPEND}
+ >=dev-python/cython-0.14[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( ANNOUNCE.txt RELEASE_NOTES.txt THANKS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-blosc.patch
+ )
+
+python_prepare_all() {
+ export HDF5_DIR="${EPREFIX}"/usr
+ sed \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ -e 's:"c-blosc/hdf5/blosc_filter.c"::g' \
+ -i setup.py || die
+ rm -r c-blosc/{blosc,hdf5,internal-complibs} || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib* || die
+ ${EPYTHON} tables/tests/test_all.py || die
+}
+
+python_install_all() {
+ if use doc; then
+ HTML_DOCS=( doc/html/. )
+ DOCS+=( doc/scripts )
+ fi
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ doins -r contrib
+ fi
+}
diff --git a/dev-python/pyte/Manifest b/dev-python/pyte/Manifest
new file mode 100644
index 000000000000..f30b34e3f33e
--- /dev/null
+++ b/dev-python/pyte/Manifest
@@ -0,0 +1 @@
+DIST pyte-0.4.9.tar.gz 43730 SHA256 3b1d3b9df29e24f6ae3e9c277d830a01bbb610bf88e6bb4c8255a25c00472ba3 SHA512 551f464282db7bd4eadf53358619651a6bac59868939f30ee3f33255a275ec321d773c075e786f28861824ed005282ec7aac11a63ced173fe8a1aacbfa9e2e0c WHIRLPOOL 20eac26136cdc906d40ea0b409be99959443fd2b24143a29223f78f42986f52f4e4b99c0817a22ed0edcf2b59e1d5961fac0cf4cc32d1430f71f64b532b9e951
diff --git a/dev-python/pyte/metadata.xml b/dev-python/pyte/metadata.xml
new file mode 100644
index 000000000000..f5e5688341d1
--- /dev/null
+++ b/dev-python/pyte/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyte</remote-id>
+ <remote-id type="github">selectel/pyte</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyte/pyte-0.4.9.ebuild b/dev-python/pyte/pyte-0.4.9.ebuild
new file mode 100644
index 000000000000..d4b48d4f7c30
--- /dev/null
+++ b/dev-python/pyte/pyte-0.4.9.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple VTXXX-compatible terminal emulator"
+HOMEPAGE="https://pypi.python.org/pypi/pyte/ https://github.com/selectel/pyte"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/pytest-capturelog/Manifest b/dev-python/pytest-capturelog/Manifest
new file mode 100644
index 000000000000..335fffce1420
--- /dev/null
+++ b/dev-python/pytest-capturelog/Manifest
@@ -0,0 +1 @@
+DIST pytest-capturelog-0.7.tar.gz 4293 SHA256 b6e8d5189b39462109c2188e6b512d6cc7e66d62bb5be65389ed50e96d22000d SHA512 82567697be2c277f49633cee5c83733b3383b89e987729dc977f4ef3dd08a5ef55d507f5380ac08def7791157208459ee08d686cf532280c665e659938f03c22 WHIRLPOOL 3b292ac5197c13b72019e4051226a7417434fdba6854883273d13f6750e9420987f0af80ec8035d88b318290a190d397c3c7bc892b4930641977bad7ddbcc420
diff --git a/dev-python/pytest-capturelog/metadata.xml b/dev-python/pytest-capturelog/metadata.xml
new file mode 100644
index 000000000000..89404ef92835
--- /dev/null
+++ b/dev-python/pytest-capturelog/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pytest-capturelog</remote-id>
+ <remote-id type="bitbucket">memedough/pytest-capturelog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-capturelog/pytest-capturelog-0.7.ebuild b/dev-python/pytest-capturelog/pytest-capturelog-0.7.ebuild
new file mode 100644
index 000000000000..ad13583fa9c7
--- /dev/null
+++ b/dev-python/pytest-capturelog/pytest-capturelog-0.7.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="py.test plugin to capture log messages"
+HOMEPAGE="http://bitbucket.org/memedough/pytest-capturelog/overview"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-python/py[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-cov/Manifest b/dev-python/pytest-cov/Manifest
new file mode 100644
index 000000000000..ef90131da9c0
--- /dev/null
+++ b/dev-python/pytest-cov/Manifest
@@ -0,0 +1,2 @@
+DIST pytest-cov-1.6.tar.gz 8257 SHA256 2e803c89f11e0344111670349f6ef401f831e85cbd287b0c5d61917da5aac454 SHA512 36c18e8e731613f2412e8e377f1911704d4af23a82fe66b822547850c3343204f682d3464c97f2cb4360f5090e7a58e5ac9679e83ae90adc0ccdb5b0e467430f WHIRLPOOL 41543b2e7f61d61d754bfef4c307fc135ab0d69b10d9e057f64bd3f4cacbc6e47316e478dbd797dd7aea0a8360bad5cc183214c742c749991fd5fe73b96503f2
+DIST pytest-cov-1.8.1.tar.gz 8649 SHA256 31e5198c06f290e1e813d30ddd063a0401d9e3a698129ca44267781673a71285 SHA512 dff6c6345bdc2d219800782d7acb3d301c8d67314f0f4af983daa0942a8c97768a2ce6c64f11529a3d8d876c218c62dbf08b7a63cc7345072e70bbc85ad4d112 WHIRLPOOL 90f024e0388323a5d1bd8ffd439c3c6cfb242ac2f539d391f4139a6ab2e251c6ff01831e9a261506d2c1552f1beeacc99db43d3b98a3663828083fec1ae722f8
diff --git a/dev-python/pytest-cov/metadata.xml b/dev-python/pytest-cov/metadata.xml
new file mode 100644
index 000000000000..6f652477d098
--- /dev/null
+++ b/dev-python/pytest-cov/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pytest-cov</remote-id>
+ <remote-id type="bitbucket">memedough/pytest-cov</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-cov/pytest-cov-1.6.ebuild b/dev-python/pytest-cov/pytest-cov-1.6.ebuild
new file mode 100644
index 000000000000..0417419756c4
--- /dev/null
+++ b/dev-python/pytest-cov/pytest-cov-1.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="py.test plugin for coverage reporting"
+HOMEPAGE="http://bitbucket.org/memedough/pytest-cov/overview"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha ~amd64 arm hppa ~ppc ~ppc64 sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/cov-core[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-cov/pytest-cov-1.8.1.ebuild b/dev-python/pytest-cov/pytest-cov-1.8.1.ebuild
new file mode 100644
index 000000000000..1026f4aa3aa0
--- /dev/null
+++ b/dev-python/pytest-cov/pytest-cov-1.8.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="py.test plugin for coverage reporting"
+HOMEPAGE="http://bitbucket.org/memedough/pytest-cov/overview"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ia64 m68k ppc ppc64 s390 sh x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/py-1.4.22[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/cov-core-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.7.1[${PYTHON_USEDEP}]
+ <dev-python/coverage-4[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/virtualenv[${PYTHON_USEDEP}] )"
+
+python_test() {
+ # test_ file produces no output; For FI
+ "${PYTHON}" test_pytest_cov.py || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/pytest-localserver/Manifest b/dev-python/pytest-localserver/Manifest
new file mode 100644
index 000000000000..503a71aa3246
--- /dev/null
+++ b/dev-python/pytest-localserver/Manifest
@@ -0,0 +1 @@
+DIST pytest-localserver-0.3.4.zip 28988 SHA256 9d2dc10aa2ba7e799f22e3fc133f7562c9be5be180b788f7f9dabea30a281814 SHA512 476c15d7020773b8d6a0c13ac1beea2274fc022a7089ea384f6721906f7a8339b7410ad7a5dd6817a2d6ce5dc92d3023632dff5191059bef327dbebd77a9bea7 WHIRLPOOL 158f15597057c226107430dfd6c53338086725b9642fa87cbb07bbe103d4fbd70ca9f82f4fcebd1a2d9371725f772cc3e5eead233976be2408ed7fde36c898d8
diff --git a/dev-python/pytest-localserver/metadata.xml b/dev-python/pytest-localserver/metadata.xml
new file mode 100644
index 000000000000..f431e796434f
--- /dev/null
+++ b/dev-python/pytest-localserver/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pytest-localserver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.3.4.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.3.4.ebuild
new file mode 100644
index 000000000000..439dc65a32cc
--- /dev/null
+++ b/dev-python/pytest-localserver/pytest-localserver-0.3.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Py.test plugin to test server connections locally"
+HOMEPAGE="https://pypi.python.org/pypi/pytest-localserver"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND=">=dev-python/werkzeug-0.10[${PYTHON_USEDEP}]"
+DEPEND="app-arch/unzip
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/pytest-runner/Manifest b/dev-python/pytest-runner/Manifest
new file mode 100644
index 000000000000..0f833b623912
--- /dev/null
+++ b/dev-python/pytest-runner/Manifest
@@ -0,0 +1,2 @@
+DIST pytest-runner-2.1.2.zip 5413 SHA256 544b53ade15931ad9bc74fecd897c49b2f3a9a1affc94bcbd88508548f6abbfc SHA512 ac82dfbe102fb4079c061f5700e5100713b51e3d71cb736c7956d1f5404e3ad5a44bf72b5164fde961e189819ef532a60623068e6f05b42a73bd700d056a55b8 WHIRLPOOL f0d9f5b0bc5f3e3fa9556a2b6d5b5b3297f146f14668fc35aead8b69e7bf848487bbb74035e247e52dfa4f22139566e9203e4ef8e678b8ba4e3897a36a43ff0c
+DIST pytest-runner-2.5.1.zip 11419 SHA256 9c2d1d1ab4595d5cd5eef6950e3e11ca8f1719c7504d16a111ae1f5757660a7f SHA512 daf9054b3e83cbf8b8e551208804384b689af873eadd12dc5e1e52d70511b947c6c114a5dfe53e135e0428cea993d2930430f1e71b0a6effc08f9e40ff3a48e6 WHIRLPOOL 3cfd55be0da567b00f0347e40fc81f1243dbc4c837a49fa00dbb53f3c814121f0613fae5b6096d67c68c9f2ec3d5ab1d1f0a7a703dac63d9fe1a09b4d44e7f19
diff --git a/dev-python/pytest-runner/files/pytest-runner-2.1.2-hgtools.patch b/dev-python/pytest-runner/files/pytest-runner-2.1.2-hgtools.patch
new file mode 100644
index 000000000000..1d379e18f600
--- /dev/null
+++ b/dev-python/pytest-runner/files/pytest-runner-2.1.2-hgtools.patch
@@ -0,0 +1,17 @@
+ setup.py | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 2679782..271b3cf 100644
+--- a/setup.py
++++ b/setup.py
+@@ -26,9 +26,6 @@ setup_params = dict(
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ ],
+- setup_requires=[
+- 'hgtools',
+- ],
+ )
+ if __name__ == '__main__':
+ setuptools.setup(**setup_params)
diff --git a/dev-python/pytest-runner/files/pytest-runner.patch b/dev-python/pytest-runner/files/pytest-runner.patch
new file mode 100644
index 000000000000..9d932671b799
--- /dev/null
+++ b/dev-python/pytest-runner/files/pytest-runner.patch
@@ -0,0 +1,12 @@
+--- setup.py.orig 2012-12-28 01:01:07.865345417 -0500
++++ setup.py 2012-12-28 01:01:17.003360680 -0500
+@@ -14,9 +14,6 @@
+ 'distutils.commands':
+ ['ptr = ptr:PyTest'],
+ },
+- setup_requires=[
+- 'hgtools',
+- ],
+ )
+ if __name__ == '__main__':
+ setuptools.setup(**setup_params)
diff --git a/dev-python/pytest-runner/metadata.xml b/dev-python/pytest-runner/metadata.xml
new file mode 100644
index 000000000000..1126db891681
--- /dev/null
+++ b/dev-python/pytest-runner/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds support for tests during installation of setup.py files.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pytest-runner</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-runner/pytest-runner-2.1.2.ebuild b/dev-python/pytest-runner/pytest-runner-2.1.2.ebuild
new file mode 100644
index 000000000000..0aea7f6f7936
--- /dev/null
+++ b/dev-python/pytest-runner/pytest-runner-2.1.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds support for tests durring installation of setup.py files"
+HOMEPAGE="http://pypi.python.org/pypi/pytest-runner"
+SRC_URI="mirror://pypi/p/${PN}/${P}.zip"
+
+LICENSE="MIT"
+KEYWORDS="amd64 ~arm x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-hgtools.patch
+)
diff --git a/dev-python/pytest-runner/pytest-runner-2.5.1.ebuild b/dev-python/pytest-runner/pytest-runner-2.5.1.ebuild
new file mode 100644
index 000000000000..8aabe06920ad
--- /dev/null
+++ b/dev-python/pytest-runner/pytest-runner-2.5.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds support for tests durring installation of setup.py files"
+HOMEPAGE="http://pypi.python.org/pypi/pytest-runner"
+SRC_URI="mirror://pypi/p/${PN}/${P}.zip"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest
new file mode 100644
index 000000000000..7717c07d851c
--- /dev/null
+++ b/dev-python/pytest-timeout/Manifest
@@ -0,0 +1 @@
+DIST pytest-timeout-0.4.tar.gz 10204 SHA256 d5900aaa94af5cb2d06ed806b1e636255e65a8a26eccecccd2b9a9d6123d50d5 SHA512 07031d64012e683064cd0bf2cef1d7209f02085e07dd8c7dfc704270d1e6ecf9679c639d529586c7d52d9425244a05ac362a7cd0092ca1f162a54539f58286e4 WHIRLPOOL b4befc271e378246d3e9fdd23a931fa400a981f79e90b0d44bbd533bea2be976fb4fcf73f6aa552d129e6945d82880bdf7bbf08c653c787913a8b782be54ab51
diff --git a/dev-python/pytest-timeout/metadata.xml b/dev-python/pytest-timeout/metadata.xml
new file mode 100644
index 000000000000..dc17bfcfbb97
--- /dev/null
+++ b/dev-python/pytest-timeout/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pytest-timeout</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-timeout/pytest-timeout-0.4.ebuild b/dev-python/pytest-timeout/pytest-timeout-0.4.ebuild
new file mode 100644
index 000000000000..0db83fe67a36
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-0.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="py.test plugin to abort hanging tests"
+HOMEPAGE="https://pypi.python.org/pypi/pytest-timeout"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/pytest"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ ${EPYTHON} test_pytest_timeout.py || die
+}
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
new file mode 100644
index 000000000000..7348a291faf5
--- /dev/null
+++ b/dev-python/pytest/Manifest
@@ -0,0 +1,2 @@
+DIST pytest-2.7.1.tar.gz 531671 SHA256 530f23c79e1b13850e93f3a59720f1eca75bad01307dc4fd694a6a19619fb9cb SHA512 1bc23bf67a7400b48b718ef3a03591a3b2047d58b633c6eb16ca4732a9198b3fbbce5a2bfc93097322988b65498ee1a7278d7e035e10d91e6b58d1d3b2a61eba WHIRLPOOL d8eb985d967d8e4b48cab2df58b1e7415bb961087e9a53f4336dc830291b0aa5d4679a49429d6cd67510ec19470a397e07a7c505fd5555ee509c1ff508847b9c
+DIST pytest-2.7.2.tar.gz 532836 SHA256 b30457f735420d0000d10a44bbd478cf03f8bf20e25bd77248f9bab40f4fd6a4 SHA512 5474a4fe58437a4971fb21b1b37dad3c08e18e5d154931ff23e597f881100a3515bf0cf71d06b143465594ad2a91a96f84f4836d84c39691143c8d88ca7a4360 WHIRLPOOL 6ab7371f952109ac476774222883e1381fe5ee6a54d967f2d90765f6c59c90634a16c42e8e2e1661169db6a9cb1327242ff2281cf1caeabd86a4dacd24f4bb06
diff --git a/dev-python/pytest/metadata.xml b/dev-python/pytest/metadata.xml
new file mode 100644
index 000000000000..def7a965651c
--- /dev/null
+++ b/dev-python/pytest/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">pytest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest/pytest-2.7.1.ebuild b/dev-python/pytest/pytest-2.7.1.ebuild
new file mode 100644
index 000000000000..58c48ec00f14
--- /dev/null
+++ b/dev-python/pytest/pytest-2.7.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="py.test: simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/ http://pypi.python.org/pypi/pytest"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.4.25"
+RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
+
+#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pexpect[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Disable versioning of py.test script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
+ grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir doc/en/.build || die
+ emake -C doc/en html
+ fi
+}
+
+python_test() {
+ # test_nose.py not written to suit py3.2 in pypy3
+ if [[ "${EPYTHON}" == pypy3 ]]; then
+ "${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
+ --ignore=testing/test_nose.py \
+ || die "tests failed with ${EPYTHON}"
+ else
+ "${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
+ || die "tests failed with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && dohtml -r doc/en/_build/html/
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pytest/pytest-2.7.2.ebuild b/dev-python/pytest/pytest-2.7.2.ebuild
new file mode 100644
index 000000000000..df049d6152ad
--- /dev/null
+++ b/dev-python/pytest/pytest-2.7.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="py.test: simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/ http://pypi.python.org/pypi/pytest"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.4.29"
+RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
+
+#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pexpect[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Disable versioning of py.test script to avoid collision with
+ # versioning performed by the eclass.
+ sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
+ grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+ # Prevent un-needed d'loading
+ sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ mkdir doc/en/.build || die
+ emake -C doc/en html
+ fi
+}
+
+python_test() {
+ # test_nose.py not written to suit py3.2 in pypy3
+ if [[ "${EPYTHON}" == pypy3 ]]; then
+ "${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
+ --ignore=testing/test_nose.py \
+ || die "tests failed with ${EPYTHON}"
+ else
+ "${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
+ || die "tests failed with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && dohtml -r doc/en/_build/html/
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-augeas/Manifest b/dev-python/python-augeas/Manifest
new file mode 100644
index 000000000000..47d3353da96e
--- /dev/null
+++ b/dev-python/python-augeas/Manifest
@@ -0,0 +1,3 @@
+DIST python-augeas-0.4.1.tar.gz 89652 SHA256 2d9e618fad03f68033b5ac94d0d57136df9ed75bf21c6e7877d3107866af89bf SHA512 ccd6ea10f927f06eba74dd48c21c7ca9a99c2910741ef925f078c09cd8a3421e63de3b74df2903a2cfd17f3defaa8df4624c9743d20e13bb5bfeacd7d50c5938 WHIRLPOOL bdb389691d85b259f0dba50205f99efa48ccec1676b48b2df2a7180079d1b3a91bd59f1020adbfe0088e7a5912fad6a0313d8c65cfb785fcbea87914d2676aec
+DIST python-augeas-0.4.2_pre131218.tar.xz 77636 SHA256 1ef4547c48e8ea155a1fd9908fc6b8e4d9bdfd9d51aa79488352de4ef3d40f50 SHA512 3677dfa4d7b6bbb22009ebee4ed4b46e50f7e5712354f5061476d5d21c86b956c4408f5ca005b674ad0e14e26c970830572aa077af6bb594dbff116991676e86 WHIRLPOOL 8bd303ce00811a2c686ccb840cb445eaa35e47888f5a53599e49d848020201adfe0a17b37137817d1cafd05d61b0783e6a65bb989bfb7195ec59d6c7eb438046
+DIST python-augeas-0.5.0.tar.gz 90667 SHA256 67d59d66cdba8d624e0389b87b2a83a176f21f16a87553b50f5703b23f29bac2 SHA512 d93d9e21c720084ee3c1841a2172dd1a4cfb41e668de0f557bd214efd65e685a1e5fc713a7d34e0fed727fe908bb1e8a09a1c10587bc27f3708cbcdee575cc51 WHIRLPOOL 155417cb5c03f581101b525d1b5e89ed9f28e9e145fa548061d36a9fe23791cb38422219695d2bd177aaa78989dfb363fd2023a2ec857456e18639bfdf93ee34
diff --git a/dev-python/python-augeas/metadata.xml b/dev-python/python-augeas/metadata.xml
new file mode 100644
index 000000000000..4c1aa3df62dd
--- /dev/null
+++ b/dev-python/python-augeas/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+python-augeas is a set of Python bindings around augeas.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/python-augeas/python-augeas-0.4.1.ebuild b/dev-python/python-augeas/python-augeas-0.4.1.ebuild
new file mode 100644
index 000000000000..574bf2ff4ba3
--- /dev/null
+++ b/dev-python/python-augeas/python-augeas-0.4.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for Augeas"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-admin/augeas"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS README.txt PKG-INFO"
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test_augeas.py || die
+}
diff --git a/dev-python/python-augeas/python-augeas-0.4.2_pre131218.ebuild b/dev-python/python-augeas/python-augeas-0.4.2_pre131218.ebuild
new file mode 100644
index 000000000000..60cb00cd6856
--- /dev/null
+++ b/dev-python/python-augeas/python-augeas-0.4.2_pre131218.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for Augeas"
+HOMEPAGE="http://augeas.net/"
+#SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.gz"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-admin/augeas"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS README.txt"
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test_augeas.py || die
+}
diff --git a/dev-python/python-augeas/python-augeas-0.5.0.ebuild b/dev-python/python-augeas/python-augeas-0.5.0.ebuild
new file mode 100644
index 000000000000..a51b44d0d3d2
--- /dev/null
+++ b/dev-python/python-augeas/python-augeas-0.5.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for Augeas"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-admin/augeas"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS README.txt"
+
+python_test() {
+ cd test || die
+ "${PYTHON}" test_augeas.py || die
+}
diff --git a/dev-python/python-barbicanclient/Manifest b/dev-python/python-barbicanclient/Manifest
new file mode 100644
index 000000000000..1ec8795456fc
--- /dev/null
+++ b/dev-python/python-barbicanclient/Manifest
@@ -0,0 +1,2 @@
+DIST python-barbicanclient-3.0.1.tar.gz 38349 SHA256 d298ee0fc9e785d44148d4590ac0d9eef05d560e379e98f75a7cb35ed6bfc7c8 SHA512 354d46e85d15af1b91ed4ded55918329d843b7b9d8374bb82a9fde771ca5e71336ecd2bcde65217338f85ffcf8910abb686e0e8853cb8bd0e0022c5298f8392a WHIRLPOOL b68f792f89df005bd1c14cebb44d6b4ba4aa3d391d66daf9714c74bbadd103f40785e8c9ebb8585a64608b3ff7e47ed102284efeffb1f30d49c2a6d5c9886446
+DIST python-barbicanclient-3.0.3.tar.gz 62286 SHA256 959aca2ce3af2eed0f57e2fa9f0f9a484e40adc6b371e2c0fcc588aae9ca2b18 SHA512 0974af19781029b75e9432005fd1a50a3026531927f3718bf42b999e20877cc126a0bdd37c2de311978c132a0bfa7dbe186eb4f2cc022b8aaf2b7dc3e5c9c794 WHIRLPOOL 36635ebb89a22c898a70ce77f3dee4a88fa6969e432a63b3d554ae5d0d53cf7d5cbc29d6e63300a7acc543a9cfb0428c1ecd71c1c13994138b5c3d490f5a1d9f
diff --git a/dev-python/python-barbicanclient/metadata.xml b/dev-python/python-barbicanclient/metadata.xml
new file mode 100644
index 000000000000..fc78ab66d3e3
--- /dev/null
+++ b/dev-python/python-barbicanclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Client library for Barbican API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-barbicanclient</remote-id>
+ <remote-id type="github">openstack/barbican</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-barbicanclient/python-barbicanclient-3.0.1.ebuild b/dev-python/python-barbicanclient/python-barbicanclient-3.0.1.ebuild
new file mode 100644
index 000000000000..cdda7da27b5e
--- /dev/null
+++ b/dev-python/python-barbicanclient/python-barbicanclient-3.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client library for Barbican API."
+HOMEPAGE="https://github.com/openstack/barbican"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.11.2[${PYTHON_USEDEP}]
+ >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-barbicanclient/python-barbicanclient-3.0.3.ebuild b/dev-python/python-barbicanclient/python-barbicanclient-3.0.3.ebuild
new file mode 100644
index 000000000000..063d5be387be
--- /dev/null
+++ b/dev-python/python-barbicanclient/python-barbicanclient-3.0.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client library for Barbican API."
+HOMEPAGE="https://github.com/openstack/barbican"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+ <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-bibtex/Manifest b/dev-python/python-bibtex/Manifest
new file mode 100644
index 000000000000..66f08d15fb53
--- /dev/null
+++ b/dev-python/python-bibtex/Manifest
@@ -0,0 +1 @@
+DIST python-bibtex-1.2.7.tar.gz 60894 SHA256 37709a19b94858def4ede028e670b14153f98c62c6adc926af8102a3279eeaf0 SHA512 6739824fcdad91e2abb333d9e17a31bd222e6100630b8e4f65a9e718d36eb451600fdc7380cb63b89c4a33a7554b79dd1c52448d19c3359f21deee2134242e6b WHIRLPOOL 9c067e05473da5ec7ac5b6a0e5e5dc1363326aeff38946bef33858df8cc324079bf82bed59c5a7642310b749fcd9a8b62f341256373fcefe6919d54dae1fd034
diff --git a/dev-python/python-bibtex/files/python-bibtex-1.2.4-fix_tests.patch b/dev-python/python-bibtex/files/python-bibtex-1.2.4-fix_tests.patch
new file mode 100644
index 000000000000..f9816817b777
--- /dev/null
+++ b/dev-python/python-bibtex/files/python-bibtex-1.2.4-fix_tests.patch
@@ -0,0 +1,28 @@
+--- testsuite.py
++++ testsuite.py
+@@ -4,6 +4,7 @@
+
+ import sys, os
+
++ParserError = "ParserError"
+
+ def check_recode ():
+ try:
+@@ -65,7 +66,7 @@
+
+ valid = result.readline ().strip ()
+
+- if obtained != valid:
++ if eval(obtained) != eval(valid):
+ sys.stderr.write ('error: %s: line %d: unexpected result:\n' % (
+ filename, line))
+ sys.stderr.write ('error: %s: line %d: obtained %s\n' % (
+@@ -117,7 +118,7 @@
+
+ valid = result.readline ().strip ()
+
+- if obtained != valid:
++ if eval(obtained) != eval(valid):
+ sys.stderr.write ('error: %s: line %d: unexpected result:\n' % (
+ filename, line))
+ sys.stderr.write ('error: %s: line %d: obtained %s\n' % (
diff --git a/dev-python/python-bibtex/metadata.xml b/dev-python/python-bibtex/metadata.xml
new file mode 100644
index 000000000000..98ccc2e27a99
--- /dev/null
+++ b/dev-python/python-bibtex/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tex</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pybliographer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-bibtex/python-bibtex-1.2.7-r1.ebuild b/dev-python/python-bibtex/python-bibtex-1.2.7-r1.ebuild
new file mode 100644
index 000000000000..a0d367fc8202
--- /dev/null
+++ b/dev-python/python-bibtex/python-bibtex-1.2.7-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A Python extension to parse BibTeX files"
+HOMEPAGE="http://pybliographer.org/"
+SRC_URI="mirror://sourceforge/pybliographer/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ >=app-text/recode-3.6-r1"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+python_prepare_all() {
+ # Disable tests during installation.
+ sed -e "/self.run_command ('check')/d" -i setup.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py check
+}
diff --git a/dev-python/python-biggles/Manifest b/dev-python/python-biggles/Manifest
new file mode 100644
index 000000000000..efe5ca10e20c
--- /dev/null
+++ b/dev-python/python-biggles/Manifest
@@ -0,0 +1 @@
+DIST python2-biggles-1.6.6.tar.gz 104256 SHA256 afed6f8d80c7e348391e2ff6d277d234d74af084fa6c14926fefad0785132ce3 SHA512 cb2f3d2bebc30b04423b8e56dab9edf1db7bae7901791365f21d9aac1b1adf767baea0f550f4791d3c9fa48b39d02471447b5821437dfaaae2b82575e8e29597 WHIRLPOOL c5ddf734b01b16d46b4cea79bc2aa500007482bfc2cd324aa289dff74a93598b3f688e507d991a6495f38fdd9d7a7d374279e863d4e128d8a0fb3123f1cb484d
diff --git a/dev-python/python-biggles/metadata.xml b/dev-python/python-biggles/metadata.xml
new file mode 100644
index 000000000000..d971d394cc76
--- /dev/null
+++ b/dev-python/python-biggles/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">biggles</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-biggles/python-biggles-1.6.6-r1.ebuild b/dev-python/python-biggles/python-biggles-1.6.6-r1.ebuild
new file mode 100644
index 000000000000..79e5fe4de4d1
--- /dev/null
+++ b/dev-python/python-biggles/python-biggles-1.6.6-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="python2-biggles"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python module for creating publication-quality 2D scientific plots"
+HOMEPAGE="http://biggles.sourceforge.net/"
+SRC_URI="mirror://sourceforge/biggles/${MY_P}.tar.gz"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ media-libs/plotutils[X]
+ x11-libs/libSM
+ x11-libs/libXext"
+RDEPEND="${DEPEND}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr/share/${PN}/
+ doins -r examples
+}
diff --git a/dev-python/python-bugzilla/Manifest b/dev-python/python-bugzilla/Manifest
new file mode 100644
index 000000000000..8a57ce408e23
--- /dev/null
+++ b/dev-python/python-bugzilla/Manifest
@@ -0,0 +1 @@
+DIST python-bugzilla-1.1.0.tar.gz 70841 SHA256 7e24b50269a994b77463575a75dd5c91a892ebc669289171bef4e0193f3d9549 SHA512 30192d6c1e76f3a79b5059916ad773704e6ce503d5d44fbc9e5d7b4ac18b062108d336d8d2e0d26e4cd21ba421fc607e4b3ca2bd5a1e362561708c05b8322d88 WHIRLPOOL 1a2209b89125807cfd6db9258c2a2ee87641921316d8f2dd9123c28f90ca78f52241e1ead9fda392cc026421fd84244418791150cdca6cf07d9f86a4a34b134e
diff --git a/dev-python/python-bugzilla/metadata.xml b/dev-python/python-bugzilla/metadata.xml
new file mode 100644
index 000000000000..84b639aeb862
--- /dev/null
+++ b/dev-python/python-bugzilla/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dilfridge@gentoo.org</email>
+ <name>Andreas K. Huettel</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-bugzilla/python-bugzilla-1.1.0.ebuild b/dev-python/python-bugzilla/python-bugzilla-1.1.0.ebuild
new file mode 100644
index 000000000000..e6de1476ddfc
--- /dev/null
+++ b/dev-python/python-bugzilla/python-bugzilla-1.1.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python module for interacting with Bugzilla over XMLRPC"
+HOMEPAGE="https://fedorahosted.org/python-bugzilla/"
+SRC_URI="https://fedorahosted.org/releases/p/y/${PN}/${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ || ( dev-python/python-magic[${PYTHON_USEDEP}] sys-apps/file[python,${PYTHON_USEDEP}] )
+ dev-python/requests[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-caja/Manifest b/dev-python/python-caja/Manifest
new file mode 100644
index 000000000000..1a86ac59fdc4
--- /dev/null
+++ b/dev-python/python-caja/Manifest
@@ -0,0 +1 @@
+DIST python-caja-1.8.0.tar.xz 250752 SHA256 bb872b99a4722af048990ffcd631e466dac808043bc02f7385e20845cf8b6d50 SHA512 571ee1016fb6d1d9a1e6f72da9b6959bad2734c24f5b2b2ab6af477eeb7c931c36758b09f8a0dea536f6d8ec5366747855d58764f36f2e6778c4a30b4fdebcd4 WHIRLPOOL 621a964a892d749d3619fea85f4f91ec7de2dc00ecc46b28202035b4f948133a669d4e10163a0c2fb0f35ea6261a6834ef3f7c0a9f3f6db9d3e2592a92a9906e
diff --git a/dev-python/python-caja/metadata.xml b/dev-python/python-caja/metadata.xml
new file mode 100644
index 000000000000..3845a45f0fab
--- /dev/null
+++ b/dev-python/python-caja/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mate</herd>
+ <upstream>
+ <remote-id type="github">mate-desktop/python-caja</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-caja/python-caja-1.8.0.ebuild b/dev-python/python-caja/python-caja-1.8.0.ebuild
new file mode 100644
index 000000000000..113c6520bc3f
--- /dev/null
+++ b/dev-python/python-caja/python-caja-1.8.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2 python-single-r1 versionator
+
+MATE_BRANCH="$(get_version_component_range 1-2)"
+
+SRC_URI="http://pub.mate-desktop.org/releases/${MATE_BRANCH}/${P}.tar.xz"
+DESCRIPTION="Python bindings for the Caja file manager"
+HOMEPAGE="http://www.mate-desktop.org"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="doc"
+
+RDEPEND="dev-libs/glib:2
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ >=mate-base/caja-1.8:0[introspection]
+ x11-libs/gtk+:2
+ ${PYTHON_DEPS}"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig:*
+ doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_install() {
+ gnome2_src_install
+
+ # Keep the directory for systemwide extensions.
+ keepdir /usr/share/python-caja/extensions/
+
+ # The HTML documentation generation is broken and commented out by upstream.
+ #
+ #if use doc ; then
+ # insinto /usr/share/gtk-doc/html/nautilus-python # for dev-util/devhelp
+ # doins -r docs/html/*
+ #fi
+}
diff --git a/dev-python/python-catcher/Manifest b/dev-python/python-catcher/Manifest
new file mode 100644
index 000000000000..398f639cdf67
--- /dev/null
+++ b/dev-python/python-catcher/Manifest
@@ -0,0 +1 @@
+DIST python-catcher-0.1.7.tar.gz 3699 SHA256 9f229680d9a456fd5ae6acf218c34055029b1a72c9b44f90f34711be1b245f78 SHA512 118bc19a7c7072cbf95d25810f95753aa894619c5a92b32f56e02a752e48c1b6ccbedab7d538184ec6dc30061826a7924fb0a4644e5afa26dedff9b9cd710353 WHIRLPOOL cf955b8361104986cd46a9fda89e2907ab909e560339a55383185dad331e7c0d1fc247d505564672f04edcb69e45553b54a7e90c8e6847fa7793e85bdc2fc22e
diff --git a/dev-python/python-catcher/metadata.xml b/dev-python/python-catcher/metadata.xml
new file mode 100644
index 000000000000..1f6ea1567991
--- /dev/null
+++ b/dev-python/python-catcher/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-catcher</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-catcher/python-catcher-0.1.7.ebuild b/dev-python/python-catcher/python-catcher-0.1.7.ebuild
new file mode 100644
index 000000000000..9c94609dd530
--- /dev/null
+++ b/dev-python/python-catcher/python-catcher-0.1.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Beautiful stack traces for Python"
+HOMEPAGE="https://pypi.python.org/pypi/python-catcher/ http://ajenti.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+python_test() {
+ cd catcher || die
+ "${PYTHON}" -m unittest || die
+}
diff --git a/dev-python/python-cdb/Manifest b/dev-python/python-cdb/Manifest
new file mode 100644
index 000000000000..140fe6d52d38
--- /dev/null
+++ b/dev-python/python-cdb/Manifest
@@ -0,0 +1 @@
+DIST python-cdb-0.34.tar.gz 18865 SHA256 31c4c272d02c8f9ca66394c36be677fd9ea1813782cac73efacc5add2cbd677c SHA512 712e4c91d6285b8ce3436fb4c18f8cd0db76aad12eda96e860a1f0b72ecd480181e33315595dab4a2242149372166b0ca8a6c367ea808e394af4bd9f15d6733a WHIRLPOOL b4ee8802fb14abb27d78bbab0f28791c1960b65456c1d6ce317976ec322daab4ee85c09b3a50247ae2c9b9d413cf937f533d13a0542797c5eb05bbeee2dd7002
diff --git a/dev-python/python-cdb/metadata.xml b/dev-python/python-cdb/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/python-cdb/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-cdb/python-cdb-0.34-r1.ebuild b/dev-python/python-cdb/python-cdb-0.34-r1.ebuild
new file mode 100644
index 000000000000..d823701a2f4c
--- /dev/null
+++ b/dev-python/python-cdb/python-cdb-0.34-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python extension module for cdb"
+SRC_URI="http://pilcrow.madison.wi.us/python-cdb/${P}.tar.gz"
+HOMEPAGE="http://pilcrow.madison.wi.us/#pycdb"
+
+SLOT="0"
+IUSE=""
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+DEPEND="|| ( dev-db/cdb dev-db/tinycdb )"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ "${PYTHON}" setup.py build -b "build-${PYTHON_ABI}" install --home "${T}/test-${PYTHON_ABI}" || return 1
+ # This is not really intended as test but it is better than nothing.
+ "${PYTHON}" < Example
+}
diff --git a/dev-python/python-cdb/python-cdb-0.34.ebuild b/dev-python/python-cdb/python-cdb-0.34.ebuild
new file mode 100644
index 000000000000..72a65d4d1d4e
--- /dev/null
+++ b/dev-python/python-cdb/python-cdb-0.34.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="A Python extension module for cdb"
+SRC_URI="http://pilcrow.madison.wi.us/python-cdb/${P}.tar.gz"
+HOMEPAGE="http://pilcrow.madison.wi.us/#pycdb"
+
+SLOT="0"
+IUSE=""
+LICENSE="GPL-2"
+KEYWORDS="amd64 arm ia64 ppc sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+
+DEPEND="|| ( dev-db/cdb dev-db/tinycdb )"
+RDEPEND="${DEPEND}"
+
+DOCS="Example"
+
+src_test() {
+ testing() {
+ "$(PYTHON)" setup.py build -b "build-${PYTHON_ABI}" install --home "${T}/test-${PYTHON_ABI}" || return 1
+ # This is not really intended as test but it is better than nothing.
+ PYTHONPATH="${T}/test-${PYTHON_ABI}/lib/python" "$(PYTHON)" < Example
+ }
+ python_execute_function testing
+}
diff --git a/dev-python/python-ceilometerclient/Manifest b/dev-python/python-ceilometerclient/Manifest
new file mode 100644
index 000000000000..289eda672ce8
--- /dev/null
+++ b/dev-python/python-ceilometerclient/Manifest
@@ -0,0 +1 @@
+DIST python-ceilometerclient-1.0.10.tar.gz 77469 SHA256 bbe29a6c85af3ec0bcbb7df1863bb3c3c620fa0423c67f25bd089e0ab7b33059 SHA512 23c9419ffb7610965fb0950e2c60d3f78724b23116a457c36b822c986988aee48c2b3d967f179b68769288f425c0a2ca17c25e90a41bdd487122f03ca42962dd WHIRLPOOL 798e0a0d516bf08f8be904fdba462dc2825de728a7bcca1a5e7056b035ddb992751cd9652968c5ec43dd0938b18cbbf387507b45c5f6b5c54181977609c8c54a
diff --git a/dev-python/python-ceilometerclient/metadata.xml b/dev-python/python-ceilometerclient/metadata.xml
new file mode 100644
index 000000000000..ca9fbcc0735a
--- /dev/null
+++ b/dev-python/python-ceilometerclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client library for Ceilometer built on the Ceilometer API. It
+ provides a Python API (the ceilometerclient module) and a command-line tool (ceilometer).
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-ceilometerclient</remote-id>
+ <remote-id type="github">openstack/python-ceilometerclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-ceilometerclient/python-ceilometerclient-1.0.10.ebuild b/dev-python/python-ceilometerclient/python-ceilometerclient-1.0.10.ebuild
new file mode 100644
index 000000000000..cbb994b2d5c8
--- /dev/null
+++ b/dev-python/python-ceilometerclient/python-ceilometerclient-1.0.10.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client library for Ceilometer built on the Ceilometer API"
+HOMEPAGE="https://github.com/openstack/python-ceilometerclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2.7"
+ flake8 ceilometerclient/tests/ || die "run over tests folder by flake8 yielded error"
+}
diff --git a/dev-python/python-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
new file mode 100644
index 000000000000..5e50b3d3c2bb
--- /dev/null
+++ b/dev-python/python-cinderclient/Manifest
@@ -0,0 +1,4 @@
+DIST python-cinderclient-1.0.9.tar.gz 136309 SHA256 e146e370c9a6e4aa44e8f0662fd33aec532f3965bae9fd564360c279bee03f97 SHA512 102e0ffec8aab143349f51e29b1265ea564b4cb8eeb9a546e353d6a9ee1ce08f8c258776ea96975be1d55f53ebaaa1b0fc01d7b7a12cde7baf5df8142368ed43 WHIRLPOOL 2360f4efcee62286cc1e45ca28013ded25b473d9a13e6e19ac53d811c2285e0031732077fae60d83b59a6abbe637406bd5a539348168f1884739381379b44bdf
+DIST python-cinderclient-1.1.1.tar.gz 156853 SHA256 107ff53c9bb9403c4e751b9a949cb84eff483d3378007415066d0c7727a6e37e SHA512 e437aa7759b9ed046aa35ad64f568b6070cd641b438e294c8cdb1fffba92296bc58e07825c5c02ef3a2933ac95fbd0717c42f246deca3ab6ce2620c4e2c44c1d WHIRLPOOL 90d4ab0d0a28f0b2456f9a703f93874870a944d696886eafd458f2d8fe8abd46475e425aa2d4f70f221f71d72e8e79757adc65da66254cf8457f3df50af48a9d
+DIST python-cinderclient-1.1.2.tar.gz 153104 SHA256 d364b627fbcbd049b2cedf125fb6aa06e2ca6213208f92b7ea393a7e1d7ecbe2 SHA512 84dc5bc89c547b05b9f305f6779ea2a47f2f964f985580d1555d0183da89c7e617433bacb11f2af23a1791a549de045e55d021bdb65f06def01062349a8cbc7e WHIRLPOOL 12082f19db2a583f9576396f20bf81f44b9769e9e9dd8e07ba54fb3cfce70a061f2e657949cf082abfd2a7f091387463e4e29065b9457d02051f27eb20cb173b
+DIST python-cinderclient-1.2.1.tar.gz 176466 SHA256 c9ccb89960b936ee261a9d6aac3895fde9b5c68e8c8e87d66ad3298a13bfd460 SHA512 ad27a7e32fc9da3c38abd5ca9f72f771229b00ab8a9f9f52c4001997afec194bda5270307ed2506747070f07e804952fef374fdb14ac75b646fb3dc6548aaea7 WHIRLPOOL afc4e2a6f5fa2917be408752f56215e5ee1c47dc6a952d5f6d294505a3c0843254136e5afd5370b9554bf6dfb97a47855e7b42122bdef0528d80a08f2feca6f6
diff --git a/dev-python/python-cinderclient/metadata.xml b/dev-python/python-cinderclient/metadata.xml
new file mode 100644
index 000000000000..ca4f314125d7
--- /dev/null
+++ b/dev-python/python-cinderclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack Cinder API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-cinderclient</remote-id>
+ <remote-id type="launchpad">python-cinderclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-cinderclient/python-cinderclient-1.0.9.ebuild b/dev-python/python-cinderclient/python-cinderclient-1.0.9.ebuild
new file mode 100644
index 000000000000..6afee41c7dce
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-1.0.9.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "tests failed under python2.7"
+ flake8 cinderclient/tests || die "run by flake8 over tests folder yielded error"
+}
diff --git a/dev-python/python-cinderclient/python-cinderclient-1.1.1.ebuild b/dev-python/python-cinderclient/python-cinderclient-1.1.1.ebuild
new file mode 100644
index 000000000000..21b22ecd4f3a
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-1.1.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "tests failed under python2.7"
+ flake8 cinderclient/tests || die "run by flake8 over tests folder yielded error"
+}
diff --git a/dev-python/python-cinderclient/python-cinderclient-1.1.2.ebuild b/dev-python/python-cinderclient/python-cinderclient-1.1.2.ebuild
new file mode 100644
index 000000000000..fa0e674a917d
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-1.1.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# waiting on hacking 0.8 to have py34
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ <dev-python/mock-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_prepare() {
+ sed -i '/^argparse/d' requirements.txt || die
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "tests failed under python2.7"
+ flake8 cinderclient/tests || die "run by flake8 over tests folder yielded error"
+}
diff --git a/dev-python/python-cinderclient/python-cinderclient-1.2.1-r1.ebuild b/dev-python/python-cinderclient/python-cinderclient-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..b906e7fafdce
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-1.2.1-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+src_prepare() {
+ sed -i '/^argparse/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "tests failed under python2.7"
+ flake8 cinderclient/tests || die "run by flake8 over tests folder yielded error"
+}
diff --git a/dev-python/python-cinderclient/python-cinderclient-1.2.1.ebuild b/dev-python/python-cinderclient/python-cinderclient-1.2.1.ebuild
new file mode 100644
index 000000000000..5f29420ee3ff
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-1.2.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="https://launchpad.net/python-cinderclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "tests failed under python2.7"
+ flake8 cinderclient/tests || die "run by flake8 over tests folder yielded error"
+}
diff --git a/dev-python/python-cluster/Manifest b/dev-python/python-cluster/Manifest
new file mode 100644
index 000000000000..85498a6d8488
--- /dev/null
+++ b/dev-python/python-cluster/Manifest
@@ -0,0 +1 @@
+DIST cluster-1.2.2.tar.gz 44074 SHA256 7d62faf24fa08ef13f71013e9f624c528b12f0d1e6ab58c4bd26b5874d3163d8 SHA512 02600fa1fccdb07251bea83ab81908c22968fcfd4d6ccf382a75ab43117ee8ecc4385f7666f272d1e6cfc0634f7e15778635b50fde572773e564604c981e75cf WHIRLPOOL c5ee445f0b51b5af4e927049ef8cdd5decac3cef73f23d909b4b38b9b896100fffb531af7bf4ac059aae19ca07583d1b60e0e79cb874b718033474bd148d9731
diff --git a/dev-python/python-cluster/files/python-cluster-python3.patch b/dev-python/python-cluster/files/python-cluster-python3.patch
new file mode 100644
index 000000000000..3294d70aa71f
--- /dev/null
+++ b/dev-python/python-cluster/files/python-cluster-python3.patch
@@ -0,0 +1,37 @@
+--- cluster.py.old 2010-10-01 14:41:55.000000000 +0200
++++ cluster.py 2010-10-01 14:42:32.000000000 +0200
+@@ -130,7 +130,7 @@
+ format = " %%%is |" % maxlen
+ format = "|" + format*colcount
+ for row in list:
+- print format % tuple(row)
++ print (format % tuple(row))
+
+ def magnitude(a):
+ "calculates the magnitude of a vecor"
+@@ -239,12 +239,12 @@
+ """
+ Pretty-prints this cluster. Useful for debuging
+ """
+- print depth*" " + "[level %s]" % self.__level
++ print (depth*" " + "[level %s]" % self.__level)
+ for item in self.__items:
+ if isinstance(item, Cluster):
+ item.display(depth+1)
+ else:
+- print depth*" "+"%s" % item
++ print (depth*" "+"%s" % item)
+
+ def topology(self):
+ """
+--- cluster.py.old 2010-10-01 14:48:54.000000000 +0200
++++ cluster.py 2010-10-01 14:49:21.000000000 +0200
+@@ -429,7 +429,7 @@
+ elif method == 'uclus':
+ self.linkage = self.uclusDistance
+ else:
+- raise ValueError, 'distance method must be one of single, complete, average of uclus'
++ raise ValueError('distance method must be one of single, complete, average of uclus')
+
+ def uclusDistance(self, x, y):
+ """
diff --git a/dev-python/python-cluster/metadata.xml b/dev-python/python-cluster/metadata.xml
new file mode 100644
index 000000000000..ae07547fa10b
--- /dev/null
+++ b/dev-python/python-cluster/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">cluster</remote-id>
+ <remote-id type="github">exhuma/python-cluster</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-cluster/python-cluster-1.2.2.ebuild b/dev-python/python-cluster/python-cluster-1.2.2.ebuild
new file mode 100644
index 000000000000..92f38fc5faa9
--- /dev/null
+++ b/dev-python/python-cluster/python-cluster-1.2.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Allows grouping a list of arbitrary objects into related groups (clusters)"
+HOMEPAGE="https://github.com/exhuma/python-cluster"
+SRC_URI="mirror://pypi/c/cluster/cluster-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+S="${WORKDIR}/cluster-${PV}"
+
+python_test() {
+ "${PYTHON}" test.py || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-daap/Manifest b/dev-python/python-daap/Manifest
new file mode 100644
index 000000000000..daae0524a53d
--- /dev/null
+++ b/dev-python/python-daap/Manifest
@@ -0,0 +1 @@
+DIST PythonDaap-0.7.1.tar.gz 25944 SHA256 ea1d3a8141654781a0df31e6607c4722436fa33eb2e9934492770b3b61be8122 SHA512 9ed6f1964fa0b357ee2d1e81dbdf79303f12feb1e753e6e8c987f28212a2eb3041fe1f443a4e5e43c196808192f116d045b0ea6d42dc76020ff4f252d423eca8 WHIRLPOOL 1099606784e69534d9ab115d6a561ebc6f9bff940c17d3cb1bf907c8484cc74f52f2a9c8aafd06e92cdc742bdf04e0172ca5f18d275666d3ba808ba5e0dfe3f8
diff --git a/dev-python/python-daap/metadata.xml b/dev-python/python-daap/metadata.xml
new file mode 100644
index 000000000000..414a5eeccf59
--- /dev/null
+++ b/dev-python/python-daap/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-daap/python-daap-0.7.1-r1.ebuild b/dev-python/python-daap/python-daap-0.7.1-r1.ebuild
new file mode 100644
index 000000000000..3fc3cbb84be2
--- /dev/null
+++ b/dev-python/python-daap/python-daap-0.7.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="PythonDaap-${PV}"
+
+DESCRIPTION="PyDaap is a DAAP client implemented in Python, based on PyTunes"
+HOMEPAGE="http://jerakeen.org/code/pythondaap"
+SRC_URI="http://jerakeen.org/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-daemon/Manifest b/dev-python/python-daemon/Manifest
new file mode 100644
index 000000000000..eea04a5f2922
--- /dev/null
+++ b/dev-python/python-daemon/Manifest
@@ -0,0 +1,3 @@
+DIST python-daemon-1.6.tar.gz 41564 SHA256 1665fb16bfeae72f16aa2de40bc75661458bd42731a7d463a911a8d5eaf96c0b SHA512 ff9480844d8f57a09f27067aaa78669c167f66b2cc05f9b3baa660bc0aa21228d4894eeaeb3440611c1e0f0d5633b1c60eac60893da4a86d1db4b94d99961299 WHIRLPOOL 35ec95c43b7822fa9abca9bb21442fe2b9f83b7171d8e8a87cc12a7e07a2653fbd5b4aea7adbba799c76d8b4cf3c844b665ae3b90d5b77afe4b33c88dce85ba4
+DIST python-daemon-2.0.4.tar.gz 71162 SHA256 07ca8c037d85bd365ef42ad7786d9d5866e636ede8e21da695a9ab4dc8c4dc19 SHA512 923680198616ffd17bc86f92c6639afe97a13d9a8d6658fb09011ddc57dabd0bcc4009abdd0be837ab092153f22ce535796705091d0785ce6845bf1919a419b3 WHIRLPOOL 2bdf2eeef58288f7df7f96fdb667b69d8b55f702bce376acc9a260a0e07f7541970834e9db3eb5effc9d37cb3df99a05979b4ac22bfb9ff72efa869fabfeb69e
+DIST python-daemon-2.0.5.tar.gz 71298 SHA256 afde4fa433d94d007206ee31a0941d55b5eb232a5422b670aad628547b46bf68 SHA512 6bac000e304e0828dd54cfa3c7972c07dedb07684f98e5f7e05815df2cf2f25c43ddf4f121e8d282519bdfcca0990fab585f18e43b2578123bc7fbe5f5f8b73e WHIRLPOOL db39b107f7c96cf5fd1c62262ed33bb6e53e8f79836be6d12dabd6b05ec59457df4fea70cd7fa2c38548fc0b60b22d01a62895251b6f26bfa0d9fe5577cdf55f
diff --git a/dev-python/python-daemon/metadata.xml b/dev-python/python-daemon/metadata.xml
new file mode 100644
index 000000000000..836e1cdf2ccc
--- /dev/null
+++ b/dev-python/python-daemon/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-daemon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-daemon/python-daemon-1.6-r1.ebuild b/dev-python/python-daemon/python-daemon-1.6-r1.ebuild
new file mode 100644
index 000000000000..3da32bc357c4
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-1.6-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to implement a well-behaved Unix daemon process"
+HOMEPAGE="http://pypi.python.org/pypi/python-daemon"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/lockfile-0.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/minimock[${PYTHON_USEDEP}] )"
+
+DOCS=( ChangeLog )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-daemon/python-daemon-2.0.4.ebuild b/dev-python/python-daemon/python-daemon-2.0.4.ebuild
new file mode 100644
index 000000000000..edb1f2bda2da
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-2.0.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to implement a well-behaved Unix daemon process"
+HOMEPAGE="http://pypi.python.org/pypi/python-daemon"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/lockfile-0.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/unittest2-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( ChangeLog )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-daemon/python-daemon-2.0.5.ebuild b/dev-python/python-daemon/python-daemon-2.0.5.ebuild
new file mode 100644
index 000000000000..0efe356fc90a
--- /dev/null
+++ b/dev-python/python-daemon/python-daemon-2.0.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library to implement a well-behaved Unix daemon process"
+HOMEPAGE="http://pypi.python.org/pypi/python-daemon"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/lockfile-0.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/unittest2-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( ChangeLog )
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-dateutil/Manifest b/dev-python/python-dateutil/Manifest
new file mode 100644
index 000000000000..9f22b0036643
--- /dev/null
+++ b/dev-python/python-dateutil/Manifest
@@ -0,0 +1,5 @@
+DIST python-dateutil-2.1.tar.gz 152334 SHA256 4c44ec3f9ff057b8c7b4c78beca5fdd8710600ea9a1df42f31bfcbae2f059dee SHA512 017e054f22886814763f6ab0c5c3ee411ce3d59a0d07e26fdf9afdab2500d689aa67a6c4c617b8960755272cb800ff449caedcb180c3a58631ac3cec3ffb89cc WHIRLPOOL f77bb35f5d8706e0909e5e522380f77a8f2bea1f183bdbd8bd41250fc3414730d327ccbab728bf67b5f80e34e672b8d9b346595d1b6c5694bff24a64b43a7454
+DIST python-dateutil-2.2.tar.gz 259085 SHA256 eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468 SHA512 cb278b8e18da3b991c6415ff59e9f3aa87cfb2e52048b3f74a9e3d183e0cc5bf71595123c644d0aea75084e653a885cbfa70c8ddd8b6a888bb13183624fcb46b WHIRLPOOL 545495d466cbea8f750b7e997699e2466131ce780ed73e18a880934a5255f759cee470b6f85a16a44f62bacaad14490e72a212c4cf6e53f0fe69b87492f9d055
+DIST python-dateutil-2.4.0.tar.gz 195214 SHA256 439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417 SHA512 2e62e6fe430838bbb86e94dd3b224e5a0676f06a1c0fecf11ae6954f98916b4b91555bdeabfb6c458516fcee2462a731ebcb8c551fd7ceb808f9f55d5bdb7408 WHIRLPOOL ca717566d50b32e7a346569a391f8d47c86a5c5c833d8083c7fb26e5eaeb45c590e563b9cf8dd2b2d8ff5210b0b8c08d7bc58d87aac3ffb333546622db66c76f
+DIST python-dateutil-2.4.1.post1.tar.gz 207628 SHA256 aa9bdbd60c395db90204609f1fb5aeb3797870f65c09f04f243476d22f8f4615 SHA512 abd2b00f93cb4a4513da52c2f4c9ee632f1db1de583179b6e20a948463cf830ac339b7be6f7b6c5f9a823d0da955a48aee16c8d769eaaf33421090a5fbd199ce WHIRLPOOL 8c86898994dd65ee06034de47b47937203db66f9e8ae64c72c220464e9e590aa0e9e6a1e94b76fa9ed2571b11e5beb6f7d637937cc05f6c262e18c7130cf4a9b
+DIST python-dateutil-2.4.2.tar.gz 209120 SHA256 3e95445c1db500a344079a47b171c45ef18f57d188dffdb0e4165c71bea8eb3d SHA512 8e38721e6d132850f85e7808d2731285d2c12eae2a3e0cbebe05265d0837ad22d4d94b611e146028ea3d23a3e2611b281dd6224081a69dfe4b58cf3b378d7f0d WHIRLPOOL 88ddb75f52a95a6b7197b41364b80968bf2c21a3bda9c7b992726ef35ca934a66a5d8ccd773d7647f985541d87c66fa94af13600b0165707af9b73d1bff8887e
diff --git a/dev-python/python-dateutil/files/python-dateutil-1.4.1-locale.patch b/dev-python/python-dateutil/files/python-dateutil-1.4.1-locale.patch
new file mode 100644
index 000000000000..53d4bb868302
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-1.4.1-locale.patch
@@ -0,0 +1,13 @@
+Index: python-dateutil/example.py
+===================================================================
+--- python-dateutil.orig/example.py 2006-09-06 13:21:44.000000000 +0200
++++ python-dateutil/example.py 2006-09-06 13:21:56.000000000 +0200
+@@ -5,7 +5,7 @@
+ from datetime import *
+ import commands
+ import os
+-now = parse(commands.getoutput("date"))
++now = parse(commands.getoutput("LC_ALL=C date"))
+ today = now.date()
+ year = rrule(YEARLY,bymonth=8,bymonthday=13,byweekday=FR)[0].year
+ rdelta = relativedelta(easter(year), today)
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.1-open-utf-8.patch b/dev-python/python-dateutil/files/python-dateutil-2.1-open-utf-8.patch
new file mode 100644
index 000000000000..f27285428784
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.1-open-utf-8.patch
@@ -0,0 +1,21 @@
+Fix UnicodeDecodeError in setup.py.
+
+https://bugs.gentoo.org/show_bug.cgi?id=410725
+--- setup.py
++++ setup.py
+@@ -1,5 +1,6 @@
+ #!/usr/bin/python
+ from os.path import isfile, join
++import codecs
+ import glob
+ import os
+ import re
+@@ -13,7 +14,7 @@
+
+ TOPDIR = os.path.dirname(__file__) or "."
+ VERSION = re.search('__version__ = "([^"]+)"',
+- open(TOPDIR + "/dateutil/__init__.py").read()).group(1)
++ codecs.open(TOPDIR + "/dateutil/__init__.py", encoding='utf-8').read()).group(1)
+
+
+ setup(name="python-dateutil",
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.4.2-timelex.patch b/dev-python/python-dateutil/files/python-dateutil-2.4.2-timelex.patch
new file mode 100644
index 000000000000..bccec4a56ddc
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.4.2-timelex.patch
@@ -0,0 +1,13 @@
+diff --git dateutil/parser.py~ dateutil/parser.py
+index 8b6c2d28b8..75453ef49e 100644
+--- dateutil/parser.py~
++++ dateutil/parser.py
+@@ -32,7 +32,7 @@ __all__ = ["parse", "parserinfo"]
+ class _timelex(object):
+
+ def __init__(self, instream):
+- if isinstance(instream, text_type):
++ if not hasattr(instream, 'read'):
+ instream = StringIO(instream)
+ self.instream = instream
+ self.wordchars = ('abcdfeghijklmnopqrstuvwxyz'
diff --git a/dev-python/python-dateutil/metadata.xml b/dev-python/python-dateutil/metadata.xml
new file mode 100644
index 000000000000..092f97aed119
--- /dev/null
+++ b/dev-python/python-dateutil/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The dateutil module provides powerful extensions to the standard
+ datetime module, available in Python 2.3+.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">python-dateutil</remote-id>
+ <remote-id type="github">dateutil/dateutil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-dateutil/python-dateutil-2.1-r1.ebuild b/dev-python/python-dateutil/python-dateutil-2.1-r1.ebuild
new file mode 100644
index 000000000000..593430b85103
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.1-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="https://launchpad.net/dateutil http://pypi.python.org/pypi/python-dateutil"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="examples"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ !<dev-python/python-dateutil-2.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ # Bug 410725.
+ "${FILESDIR}/${P}-open-utf-8.patch"
+)
+
+python_prepare_all() {
+ # Use zoneinfo in /usr/share/zoneinfo.
+ sed -i -e "s/zoneinfo.gettz/gettz/g" test.py || die
+
+ # Fix parsing of date in non-English locales.
+ sed -e 's/subprocess.getoutput("date")/subprocess.getoutput("LC_ALL=C date")/' \
+ -i example.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ rm -f "${D}$(python_get_sitedir)/dateutil/zoneinfo"/*.tar.*
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc example.py sandbox/*.py
+ fi
+}
diff --git a/dev-python/python-dateutil/python-dateutil-2.2.ebuild b/dev-python/python-dateutil/python-dateutil-2.2.ebuild
new file mode 100644
index 000000000000..8ff29eeee1bc
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="http://labix.org/python-dateutil https://pypi.python.org/pypi/python-dateutil"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="examples"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ !<dev-python/python-dateutil-2.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Use zoneinfo in /usr/share/zoneinfo.
+ sed -i -e "s/zoneinfo.gettz/gettz/g" test.py || die
+
+ # Fix parsing of date in non-English locales.
+ sed -e 's/subprocess.getoutput("date")/subprocess.getoutput("LC_ALL=C date")/' \
+ -i example.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ rm -f "${D}$(python_get_sitedir)/dateutil/zoneinfo"/*.tar.*
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc example.py sandbox/*.py
+ fi
+}
diff --git a/dev-python/python-dateutil/python-dateutil-2.4.0.ebuild b/dev-python/python-dateutil/python-dateutil-2.4.0.ebuild
new file mode 100644
index 000000000000..052efba97f6b
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.4.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="https://dateutil.readthedocs.org/ https://pypi.python.org/pypi/python-dateutil https://github.com/dateutil/dateutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-dateutil/python-dateutil-2.4.1-r1.ebuild b/dev-python/python-dateutil/python-dateutil-2.4.1-r1.ebuild
new file mode 100644
index 000000000000..87d2bc3d057b
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.4.1-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="https://dateutil.readthedocs.org/ https://pypi.python.org/pypi/python-dateutil https://github.com/dateutil/dateutil/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.post1.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-dateutil/python-dateutil-2.4.2-r1.ebuild b/dev-python/python-dateutil/python-dateutil-2.4.2-r1.ebuild
new file mode 100644
index 000000000000..8612e82ca9b0
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.4.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="
+ https://dateutil.readthedocs.org/
+ https://pypi.python.org/pypi/python-dateutil
+ https://github.com/dateutil/dateutil/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-timelex.patch
+)
+
+_python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-dateutil/python-dateutil-2.4.2.ebuild b/dev-python/python-dateutil/python-dateutil-2.4.2.ebuild
new file mode 100644
index 000000000000..6843393c7db8
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.4.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="
+ https://dateutil.readthedocs.org/
+ https://pypi.python.org/pypi/python-dateutil
+ https://github.com/dateutil/dateutil/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest
new file mode 100644
index 000000000000..5f894bddda9b
--- /dev/null
+++ b/dev-python/python-debian/Manifest
@@ -0,0 +1,2 @@
+DIST python-debian_0.1.26.tar.xz 289496 SHA256 601e2a096c1490669f35080544875857bdc54b5f43bf1a37f88fccbf3740b4f8 SHA512 c857bdeaf651626c1b9d1f0f114bae961d073771f0a38caaa06785323bd586cf15fd2bf662a7bdc3af148f387756260b9d81378fdd5044bfabf7388de79c4d5a WHIRLPOOL 1dcf9a855e75ed483551edffba72265878208f3e55adf9e206bb79ac8462c1186251231f97368b1673ff73a3c38f6c5cf37195480fe010b2b7199e829317a4d3
+DIST python-debian_0.1.27.tar.xz 289692 SHA256 3a21d07553d46c0cf7961b13483e62005d8793a3780e79d1191b357f50174eab SHA512 101f49ce2337266856f6cf8f6d33c42d9fa2a281194a7d6fb2328d6e5f46574a7b742b04c4250e2384c197c6e6886c0e9f7b504e8c2230afaa00777e1a0057ab WHIRLPOOL f8b867fbbd236d685acbdf880bf636efb59f033788365aeea52e898217735bd0117526c2f67cfe9205d3f31b5d8da68eb5e6e6ec1ad2920a2ed0d4d54616c38f
diff --git a/dev-python/python-debian/files/python-debian-0.1.26-CVE-2015-0840.patch b/dev-python/python-debian/files/python-debian-0.1.26-CVE-2015-0840.patch
new file mode 100644
index 000000000000..d4cde15e6d2c
--- /dev/null
+++ b/dev-python/python-debian/files/python-debian-0.1.26-CVE-2015-0840.patch
@@ -0,0 +1,29 @@
+From 94a5864b6666ca5c2d0760702f386047189a248e Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@debian.org>
+Date: Thu, 9 Apr 2015 23:16:48 +0200
+Subject: [PATCH] deb822: Fix OpenPGP Armor Header Line parsing
+
+We should only accept [\r\t ] as trailing whitespace, although RFC4880
+does not clarify what whitespace really maps to, we should really match
+the GnuPG implementation anyway, as that is what we use to verify the
+signatures.
+---
+ lib/debian/deb822.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/debian/deb822.py b/lib/debian/deb822.py
+index 0c0748e..c1dcb17 100644
+--- a/lib/debian/deb822.py
++++ b/lib/debian/deb822.py
+@@ -638,7 +638,7 @@ class Deb822(Deb822Dict):
+ lines = []
+ gpg_post_lines = []
+ state = b'SAFE'
+- gpgre = re.compile(br'^-----(?P<action>BEGIN|END) PGP (?P<what>[^-]+)-----\s*$')
++ gpgre = re.compile(br'^-----(?P<action>BEGIN|END) PGP (?P<what>[^-]+)-----[\r\t ]*$')
+ # Include whitespace-only lines in blank lines to split paragraphs.
+ # (see #715558)
+ blank_line = re.compile(b'^\s*$')
+--
+2.2.1.209.g41e5f3a
+
diff --git a/dev-python/python-debian/files/python-debian-0.1.26-fix-tests.patch b/dev-python/python-debian/files/python-debian-0.1.26-fix-tests.patch
new file mode 100644
index 000000000000..189f83ac28e5
--- /dev/null
+++ b/dev-python/python-debian/files/python-debian-0.1.26-fix-tests.patch
@@ -0,0 +1,24 @@
+ tests/test_deb822.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_deb822.py b/tests/test_deb822.py
+index 698366b..c989d3f 100755
+--- a/tests/test_deb822.py
++++ b/tests/test_deb822.py
+@@ -468,6 +468,7 @@ class TestDeb822(unittest.TestCase):
+ for d in deb822.Deb822.iter_paragraphs(text)])
+ self.assertEqual(2, count)
+
++ @unittest.skip("Seems to be broken")
+ def test_iter_paragraphs_with_extra_whitespace(self):
+ """ Paragraphs not elided when stray whitespace is between
+
+@@ -920,7 +921,7 @@ Description: python modules to work with Debian-related data formats
+ with open_utf8(filename) as fh:
+ paragraphs = list(deb822.Deb822.iter_paragraphs(
+ fh, use_apt_pkg=True))
+- self.assertEqual(paragraphs[0]['Build-Depends'], 'debhelper,')
++ self.assertEqual(paragraphs[0]['Build-Depends'], 'debhelper,\n python')
+ finally:
+ os.remove(filename)
+
diff --git a/dev-python/python-debian/metadata.xml b/dev-python/python-debian/metadata.xml
new file mode 100644
index 000000000000..bdd3b1dee57e
--- /dev/null
+++ b/dev-python/python-debian/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-debian/python-debian-0.1.26.ebuild b/dev-python/python-debian/python-debian-0.1.26.ebuild
new file mode 100644
index 000000000000..31dd887e149c
--- /dev/null
+++ b/dev-python/python-debian/python-debian-0.1.26.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="http://packages.debian.org/sid/python-debian"
+SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( app-arch/dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-CVE-2015-0840.patch
+ "${FILESDIR}"/${P}-fix-tests.patch
+ )
+
+python_compile_all() {
+ "${PYTHON}" lib/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ pushd tests > /dev/null || die
+ "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-debian/python-debian-0.1.27.ebuild b/dev-python/python-debian/python-debian-0.1.27.ebuild
new file mode 100644
index 000000000000..b841b0aba42d
--- /dev/null
+++ b/dev-python/python-debian/python-debian-0.1.27.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to work with Debian-related data formats"
+HOMEPAGE="http://packages.debian.org/sid/python-debian"
+SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( app-arch/dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.1.26-fix-tests.patch
+ )
+
+python_compile_all() {
+ "${PYTHON}" lib/debian/doc-debtags > README.debtags || die
+}
+
+python_test() {
+ # Tests currently fail with >=app-crypt/gnupg-2.1
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782904
+ pushd tests > /dev/null || die
+ "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-digest/Manifest b/dev-python/python-digest/Manifest
new file mode 100644
index 000000000000..835c783335a0
--- /dev/null
+++ b/dev-python/python-digest/Manifest
@@ -0,0 +1 @@
+DIST python-digest-1.7.tar.gz 10073 SHA256 cda2673e208e95c222b26b8b7717a356d2688e57391c7bd5a77154015e83be45 SHA512 15bfdb8e42275bc8f7fbc10f6f8bcd109852c57b77e98c8c2251784278fb135db494b0224341d34626ad49ea4db2a8803b2eb89d70d88b704819f4e6ca10f7e1 WHIRLPOOL 9b6002b2df7529db3f186a4c81803f8bacd8d14bb8a84b88ece71e36f21e38bd7af3c1394ac427ccd790bd68478c1acecc72b956d7993857eb604356c2b57f0c
diff --git a/dev-python/python-digest/files/python-digest-1.7-unittest.patch b/dev-python/python-digest/files/python-digest-1.7-unittest.patch
new file mode 100644
index 000000000000..e3abe0b77c8f
--- /dev/null
+++ b/dev-python/python-digest/files/python-digest-1.7-unittest.patch
@@ -0,0 +1,9 @@
+--- python_digest/tests.py.orig 2012-04-25 11:48:30.212254059 +0200
++++ python_digest/tests.py 2012-04-25 11:48:58.371585156 +0200
+@@ -486,3 +486,6 @@
+ for c in s:
+ self.assertFalse(fs.character(c))
+ self.assertRaises(ValueError, fs.close)
++
++if __name__ == "__main__":
++ unittest.main()
diff --git a/dev-python/python-digest/metadata.xml b/dev-python/python-digest/metadata.xml
new file mode 100644
index 000000000000..e30ccd6a26bb
--- /dev/null
+++ b/dev-python/python-digest/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-digest</remote-id>
+ <remote-id type="bitbucket">akoha/python-digest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-digest/python-digest-1.7-r1.ebuild b/dev-python/python-digest/python-digest-1.7-r1.ebuild
new file mode 100644
index 000000000000..73528d95a5ff
--- /dev/null
+++ b/dev-python/python-digest/python-digest-1.7-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python library to aid in implementing HTTP Digest Authentication"
+HOMEPAGE="http://pypi.python.org/pypi/python-digest/ https://bitbucket.org/akoha/python-digest/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE="test"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+LICENSE="BSD"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
+
+PATCHES=( "${FILESDIR}"/${P}-unittest.patch )
+
+python_test() {
+ "${PYTHON}" ${PN/-/_}/tests.py || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/python-discid/Manifest b/dev-python/python-discid/Manifest
new file mode 100644
index 000000000000..1154ea7eafb6
--- /dev/null
+++ b/dev-python/python-discid/Manifest
@@ -0,0 +1 @@
+DIST python-discid-1.1.0.tar.gz 30656 SHA256 823fbf06f1f08f4e3738c5a68349075a8a3b219c6009fe2af55a0277b9122031 SHA512 dd4a0a406d3f1b1d635bfb12c52689b72296f6965dd5d23c540d137ac60841bc39722e710db459281511df992e4db6614472cc741084bebe2ecf6b0b4dc5ab36 WHIRLPOOL 6c0ef1cdd3c4747defc6e717a09dffe79f231fb8b5fff40b1a5b2e4bcf53532e551bc07eaec96f2b075162a6f6c449a55e3efa9875b9e403937e0033d6da0349
diff --git a/dev-python/python-discid/metadata.xml b/dev-python/python-discid/metadata.xml
new file mode 100644
index 000000000000..0e71cb26d534
--- /dev/null
+++ b/dev-python/python-discid/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ <name>Ben de Groot</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">JonnyJD/python-discid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-discid/python-discid-1.1.0.ebuild b/dev-python/python-discid/python-discid-1.1.0.ebuild
new file mode 100644
index 000000000000..a40387ed9830
--- /dev/null
+++ b/dev-python/python-discid/python-discid-1.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for libdiscid"
+HOMEPAGE="https://github.com/JonnyJD/python-discid"
+SRC_URI="https://github.com/JonnyJD/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=media-libs/libdiscid-0.2.2
+ ${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/python-distutils-extra/Manifest b/dev-python/python-distutils-extra/Manifest
new file mode 100644
index 000000000000..d1087b9deb7f
--- /dev/null
+++ b/dev-python/python-distutils-extra/Manifest
@@ -0,0 +1,3 @@
+DIST python-distutils-extra-2.33.tar.gz 27053 SHA256 9ae0afefc19c7788a96869816ad9d39bbb187b2c61fae663d30ef2d4bbd51bd6 SHA512 aa1fac86482ee5bcb06591d334504dafb70a9f1b65076591e853cb7ef6854b913f7ae1415fbd6021df4cc9f9f232d1e114316e58db059334698af00b2da827a3 WHIRLPOOL ecc1b44479f359f5d30c3f66d3928268cc67e3ccf9877006db297abff739a830b79ee9b987a4393628e17925db7894b38ce63982827b1082ae0811cbf0f7c5f3
+DIST python-distutils-extra-2.37.tar.gz 27518 SHA256 5c9539badfdc7e0ebb463ee66b9c09d48a08ca121c84ec7316b1fbb799a72878 SHA512 757ef3f3b3c5baa4598ac2e76fc7257fa1d3f3153b842a6a55707150414199b699f460f3b0797674d6ba23824032362a470f500d2b90d9c95a0aae1a71a2d472 WHIRLPOOL f3eb3c3a9462fdf920e52dcbabe21ae8de7e60ad6b0377c5415c34e8ce91c7e3c1cfb80d75776049de081f2fb9a5d88e30161affd2cffa9cf0ef8aaa0602e48e
+DIST python-distutils-extra-2.38.tar.gz 27748 SHA256 3d100d5d3492f40b3e7a6a4500f71290bfa91e2c50dc31ba8e3ff9b5d82ca153 SHA512 bbaea59a8f251f354e6cf3799b67c12225095cc869c7c4e299e719ad7bcfd1292cff99f95ab25f04fb9c3e2432da5ea614ee76154781388c47960fdf2c90a3d7 WHIRLPOOL 10ca7754985aa634aaef7f7fc80777ca4a2b79ecc11e80c48bb2e6c1765cc9f38fbf9696957f974533f50f06db3d1bdb6527f1ed6dbe05619f3d0a17184b885d
diff --git a/dev-python/python-distutils-extra/metadata.xml b/dev-python/python-distutils-extra/metadata.xml
new file mode 100644
index 000000000000..baa3463d92c0
--- /dev/null
+++ b/dev-python/python-distutils-extra/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="launchpad">python-distutils-extra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.33-r1.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.33-r1.ebuild
new file mode 100644
index 000000000000..750d4e2d4b79
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.33-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Gettext support, themed icons and scrollkeeper-based documentation in distutils"
+HOMEPAGE="https://launchpad.net/python-distutils-extra"
+SRC_URI="http://launchpad.net/python-distutils-extra/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( doc/{FAQ,README,setup.cfg.example,setup.py.example} )
+
+python_prepare_all() {
+ # Disable broken tests.
+ sed \
+ -e "s/test_desktop/_&/" \
+ -e "s/test_po(/_&/" \
+ -e "s/test_policykit/_&/" \
+ -e "s/test_requires_provides/_&/" \
+ -i test/auto.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # 5 tests fail with disabled byte-compilation (they rely on exact
+ # output from python).
+ local -x PYTHONDONTWRITEBYTECODE
+
+ cp -R -l test "${BUILD_DIR}"/ || die
+
+ cd "${BUILD_DIR}" || die
+ "${PYTHON}" test/auto.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.33.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.33.ebuild
new file mode 100644
index 000000000000..e85d8ed4cf00
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.33.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils
+
+DESCRIPTION="You can integrate gettext support, themed icons and scrollkeeper based documentation in distutils"
+HOMEPAGE="https://launchpad.net/python-distutils-extra"
+SRC_URI="http://launchpad.net/python-distutils-extra/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND="${DEPEND}"
+
+DOCS="doc/FAQ doc/README doc/setup.cfg.example doc/setup.py.example"
+PYTHON_MODNAME="DistUtilsExtra"
+
+src_prepare() {
+ distutils_src_prepare
+
+ # Disable broken tests.
+ sed \
+ -e "s/test_desktop/_&/" \
+ -e "s/test_po(/_&/" \
+ -e "s/test_policykit/_&/" \
+ -e "s/test_requires_provides/_&/" \
+ -i test/auto.py
+}
+
+src_test() {
+ # 5 tests fail with disabled byte-compilation.
+ python_enable_pyc
+
+ testing() {
+ PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" test/auto.py
+ }
+ python_execute_function testing
+
+ python_disable_pyc
+}
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.37-r1.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.37-r1.ebuild
new file mode 100644
index 000000000000..1a2b178d60c0
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.37-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Gettext support, themed icons and scrollkeeper-based documentation in distutils"
+HOMEPAGE="https://launchpad.net/python-distutils-extra"
+SRC_URI="http://launchpad.net/python-distutils-extra/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( doc/{FAQ,README,setup.cfg.example,setup.py.example} )
+
+python_prepare_all() {
+ # Disable broken tests.
+ sed \
+ -e "s/test_desktop/_&/" \
+ -e "s/test_po(/_&/" \
+ -e "s/test_policykit/_&/" \
+ -e "s/test_requires_provides/_&/" \
+ -i test/auto.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # 5 tests fail with disabled byte-compilation (they rely on exact
+ # output from python).
+ local -x PYTHONDONTWRITEBYTECODE
+
+ cp -R -l test "${BUILD_DIR}"/ || die
+
+ cd "${BUILD_DIR}" || die
+ "${PYTHON}" test/auto.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.38.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.38.ebuild
new file mode 100644
index 000000000000..92df6af4de12
--- /dev/null
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.38.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Gettext support, themed icons and scrollkeeper-based documentation in distutils"
+HOMEPAGE="https://launchpad.net/python-distutils-extra"
+SRC_URI="http://launchpad.net/python-distutils-extra/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( doc/{FAQ,README,setup.cfg.example,setup.py.example} )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Disable broken tests.
+ sed \
+ -e "s/test_desktop/_&/" -e "s/test_po(/_&/" \
+ -e "s/test_policykit/_&/" -e "s/test_requires_provides/_&/" \
+ -i test/auto.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # 5 tests fail with disabled byte-compilation (they rely on exact
+ # output from python).
+ local -x PYTHONDONTWRITEBYTECODE
+ "${PYTHON}" test/auto.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-djvulibre/Manifest b/dev-python/python-djvulibre/Manifest
new file mode 100644
index 000000000000..6ad85fb91c3f
--- /dev/null
+++ b/dev-python/python-djvulibre/Manifest
@@ -0,0 +1 @@
+DIST python-djvulibre-0.3.9.tar.gz 120663 SHA256 ca11e57ae14161788ba8ee48063136f3fa12aad887035a36c3b2bfb8346c1a44 SHA512 30c3ce2dc09d3e2d1d1c3608a76a4b4ea61d05dbc69a41476cfc3b0e99d68626b4dfbbad0acfdb074fe6ee6c36ad4a4e382a545d3dafc2f12d149fa96e034595 WHIRLPOOL ca675f63bd5455e40e2cac820dcb172043a0dc317830cb8264a4d4ebb6d2f8afa1309e7ab37197d4f9067c8335c3e41e14bed10f33fb11c54cbb0ad0d8a94c03
diff --git a/dev-python/python-djvulibre/metadata.xml b/dev-python/python-djvulibre/metadata.xml
new file mode 100644
index 000000000000..57ee6ea686e3
--- /dev/null
+++ b/dev-python/python-djvulibre/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-djvulibre</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-djvulibre/python-djvulibre-0.3.9.ebuild b/dev-python/python-djvulibre/python-djvulibre-0.3.9.ebuild
new file mode 100644
index 000000000000..1f9c9486b31f
--- /dev/null
+++ b/dev-python/python-djvulibre/python-djvulibre-0.3.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Set of Python bindings for the DjVuLibre library"
+HOMEPAGE="http://jwilk.net/software/python-djvulibre"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-text/djvu"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-docs/Manifest b/dev-python/python-docs/Manifest
new file mode 100644
index 000000000000..1dc7abeb8156
--- /dev/null
+++ b/dev-python/python-docs/Manifest
@@ -0,0 +1,12 @@
+DIST python-2.7.3-docs-html.tar.bz2 4368711 SHA256 b294008007956d600ec78335d7afedda19bf855b008a3586343cd15f8115e9c1 SHA512 d27d48543347761a01ddac5bc63fb509f220913b0a55604a6bc1ff72db2d2bcf6f6470cd7c8de56b66a4c19139356b41a7e622c9b39af99ff1e7ded5b3622ffe WHIRLPOOL 14e4181f682842a6bc9d86101daf9c46b0d4a1a74c87ee21d24d0529d8d14e4f717dfa725df27dbeecc503eec410849ed3e9bc299e1ef8710bede5e041925a56
+DIST python-2.7.6-docs-html.tar.bz2 4490031 SHA256 73c21e3c5f3167467b40641ec9b9909ce1bba752b095899767d0332c241bb6e5 SHA512 78280f3c14dcdb9ab3ec78aa0c7220d6cd32c1728e13b3fe6f3252ef357be42ef4830278ed98fef63b81154b9548cb601eeb8eaef86804116482360a08f6dcd0 WHIRLPOOL cd345e470c435e4cf2df15433efc34349096b168430776a387710a7ddfdfa82a68ad8d798990eadcaf04ba33aae43e739ea338c3453918fee9af55d81e2d8347
+DIST python-2.7.7-docs-html.tar.bz2 4503045 SHA256 43b4f89df4e67f04100eec344c7b1475b34c2783a3cd22ac98d99a39ad6bca0d SHA512 de9859ff53a03133d7435becb6b19f814ebb3aff1b9c7a05777b9c3fed0fce792cf285c320753da9bb28b95db3615470b8829c47c54659c174fb4daa97af33ab WHIRLPOOL da15358eed5a8837c8bd46b0267adc519a651378940a7d7de33ceed0d22354fea760d9afdbf66c4c2fe87ebd24781ffade663af9a05caff8dca02dc18913ea98
+DIST python-2.7.8-docs-html.tar.bz2 4511331 SHA256 e0aa9b08bf2cad4d7769e86fc7d0b05f5d0af0609c757a5c633841c5a703c73f SHA512 97f37704e832268d6b5d13ac7a9839405fba0dae59e59e8fef35085e658f9bdb731f024509387f1d4ab07c1457695ab74c180c146d3e76a5f074f7bb265d8c4d WHIRLPOOL e561ea060bd1cf4c13bf6b819d038d9667eb49376cfb1c913c9253ac71ccbdfe82ff172bb73970c00b3116ae9a10ec17a711f8d9ff7ffa01a80f228bea67f9e1
+DIST python-3.2.5-docs-html.tar.bz2 4435429 SHA256 5a7f7f79d58cf87511aae66784ae71e3e108ca8185bd40706c4bb43e5e0348bc SHA512 020da66dd701716da5b1038fb4502f2a5978987f7dfc6832ad3aa778427b68747dfcf232e1af8a35f2cffb20ce30a4888fee54aa8fc16981d874006e477fc01e WHIRLPOOL 85c419700a2e0b860c3a682c2c9f3da60a319bd6346eb35d40ccb4ab31737bb5154e584b7c562acc2a60b466099a6d493334362afeedcf4192f8ef15a4be2994
+DIST python-3.3.2-docs-html.tar.bz2 4907895 SHA256 7434bbb654c45ccc29825f15df2137944c53c5b737a94eadbcbb006dd2848cd4 SHA512 56e44e826257e7939da21a2051ad3e742fc44a7d7cf3ab24f1f4d0709b73ad9d5d642f6c78b7bfd8ff70ef9e4b621dff5760b75ec6db6a69cf3052ab63b1d214 WHIRLPOOL cff83134aaf7ef3778bed8b3a7ab6bd9873ab24bffc250b30e12fda1b448acc8b7515990efeec1a6a789fbba96067b665aab858224e0343b6f38c520382b5584
+DIST python-3.3.3-docs-html.tar.bz2 4944388 SHA256 414dca9cac934c06c6d21ad0068ebbf907a08f8a58b40b1ffb920426840b618c SHA512 61522f3468cc7bd3c07995f9b1f9cc4112c756a2e296f198ef42e8da72244b45d4cc56d5569ed53d05c63d86ec0afd6b6d10f7162dec17eb80900e0162bf6cc8 WHIRLPOOL 3d40a41afc81ae4359cf8fdf514ec0423a10c524a2084948610d1b1fa222112c43efdb4cc660613da8355fb2996dc2225d19d2cb273235b16ed97e6d8508e801
+DIST python-3.3.4-docs-html.tar.bz2 4951380 SHA256 43ab01c98d5bacb301519a99ed25192cebe0b69ac4a85b95302958b225868efc SHA512 c5eec99d94335f89c769f6386830ed951080609407cff4bc2600d6b294be396b97d24c20fd8e15dc6616fb06170445372d2c1bf9a8f2138e0e5ecb5a8a3094ee WHIRLPOOL 60a981284cdccada0db0b4768e8d1b36adb2aa05349bb414c980b5da6a5bb260e79cb1787dd2b33d3a88ccd061cb218628b8137595bc8785ece94649dcf7535c
+DIST python-3.3.5-docs-html.tar.bz2 4955315 SHA256 471067c514a33b4ae4fc35ba600130572840326252a565e39157feb2911ef733 SHA512 6cf6d02bf980609561ec829407e0a4d541ddf949db0b6d3156f9fa90ed7c87f9ef16128e9c8226887568489826efcdde5ea38af246ec235a077227d73736ea71 WHIRLPOOL 78a6babcc5c7df64deb324368f32ae5cc5fed6fba9ff7392b7589f81187b893d9c977fa9a25168d60336b46f9237bf09ba5e6fbef888ee3489de57afd09e9067
+DIST python-3.4.0-docs-html.tar.bz2 5355183 SHA256 445037818f15c4b622212db9e8182e322eb16de3959718dbd339229ed39044fc SHA512 7d359ab5ad429e8f1d4a51ec05cddf2b6ce87fdb0226ece5336b538b2bfbeed10728e178860ccf29ebf8f135aadb731ca24d0ef4dca29e0f83b097d7e940ad3d WHIRLPOOL 8df8db23fb21c549fd43bb6974cf89be71339141a08bdda5c8fcaac6263f6e4ed7febbfda93e8f1101eee80e6fadffcfe9b2b9a7905b36425865d6c5cf5a730d
+DIST python-3.4.1-docs-html.tar.bz2 5381756 SHA256 c55ce2f1e1b0a1916de7376906c0538ca46a297e669aa7b24f954b9a0cbce257 SHA512 be53266b9fffef988c30d386d1d6cab4aaf16577e825615edd66b5c07404ae126f312bec30ad3f7a4d4b6f5c7d1c9179394e2ffddd1fd6f37182846a9be2cac0 WHIRLPOOL a8e8a6855fdb43a518b7d6bc599be66d36796cc7ed7710705b6460c906faa01f5a1d776dfff1a2eb44478b72bac2d890638ff5344a4cf2953b282977fd963bee
+DIST python-3.4.2-docs-html.tar.bz2 5406764 SHA256 fafee4eb5cf284e447106746b40672d7c15a9e4f33d0e83b534d01dc1b5d60fa SHA512 856a28bc4384e74d1d5bbbb5d31c814580c99a49bd359ca18cd88c10b585537bd89bf4fcb2c5e714bc31c3be33ddc6273ae5931c5093d8901ee699532c042162 WHIRLPOOL 06d931226c0b1e89fc2b21136bce953dd28fb5c123dd220dc2b3b6447c872d24001989580fda15f8645607bd34db3782eba832ebd5ff2809f340ffb7a2202529
diff --git a/dev-python/python-docs/metadata.xml b/dev-python/python-docs/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/python-docs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-docs/python-docs-2.7.3.ebuild b/dev-python/python-docs/python-docs-2.7.3.ebuild
new file mode 100644
index 000000000000..00350803111f
--- /dev/null
+++ b/dev-python/python-docs/python-docs-2.7.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="2.7"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-2.7.6-r1.ebuild b/dev-python/python-docs/python-docs-2.7.6-r1.ebuild
new file mode 100644
index 000000000000..760e6d65e473
--- /dev/null
+++ b/dev-python/python-docs/python-docs-2.7.6-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="2.7"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-2.7.7.ebuild b/dev-python/python-docs/python-docs-2.7.7.ebuild
new file mode 100644
index 000000000000..760e6d65e473
--- /dev/null
+++ b/dev-python/python-docs/python-docs-2.7.7.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="2.7"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-2.7.8.ebuild b/dev-python/python-docs/python-docs-2.7.8.ebuild
new file mode 100644
index 000000000000..418bb9c2bf7f
--- /dev/null
+++ b/dev-python/python-docs/python-docs-2.7.8.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="2.7"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.2.5.ebuild b/dev-python/python-docs/python-docs-3.2.5.ebuild
new file mode 100644
index 000000000000..de6833f84f93
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.2.5.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.2"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.3.2.ebuild b/dev-python/python-docs/python-docs-3.3.2.ebuild
new file mode 100644
index 000000000000..e6d6b6479db1
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.3.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.3.3.ebuild b/dev-python/python-docs/python-docs-3.3.3.ebuild
new file mode 100644
index 000000000000..6df9018dc8b4
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.3.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.3.4.ebuild b/dev-python/python-docs/python-docs-3.3.4.ebuild
new file mode 100644
index 000000000000..1b9a7a6ce520
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.3.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.3.5-r1.ebuild b/dev-python/python-docs/python-docs-3.3.5-r1.ebuild
new file mode 100644
index 000000000000..d3b8c8f47b33
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.3.5-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.4.0-r1.ebuild b/dev-python/python-docs/python-docs-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..9e9ed0935841
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.4.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+pkg_setup() {
+ # Compatibility with Arfrever's pre-release ebuilds.
+ # Remove this in python-docs-3.4.1.
+ if has_version "=dev-lang/python-3.4_pre*[doc]"; then
+ rm -f "${EROOT}etc/env.d/60python-docs-3.4"
+ fi
+}
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.4.1.ebuild b/dev-python/python-docs/python-docs-3.4.1.ebuild
new file mode 100644
index 000000000000..9e9ed0935841
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.4.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+pkg_setup() {
+ # Compatibility with Arfrever's pre-release ebuilds.
+ # Remove this in python-docs-3.4.1.
+ if has_version "=dev-lang/python-3.4_pre*[doc]"; then
+ rm -f "${EROOT}etc/env.d/60python-docs-3.4"
+ fi
+}
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-docs/python-docs-3.4.2.ebuild b/dev-python/python-docs/python-docs-3.4.2.ebuild
new file mode 100644
index 000000000000..9e9ed0935841
--- /dev/null
+++ b/dev-python/python-docs/python-docs-3.4.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+DESCRIPTION="HTML documentation for Python"
+HOMEPAGE="http://www.python.org/doc/"
+SRC_URI="http://www.python.org/ftp/python/doc/${PV}/python-${PV}-docs-html.tar.bz2"
+
+LICENSE="PSF-2"
+SLOT="3.4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/python-${PV}-docs-html"
+
+pkg_setup() {
+ # Compatibility with Arfrever's pre-release ebuilds.
+ # Remove this in python-docs-3.4.1.
+ if has_version "=dev-lang/python-3.4_pre*[doc]"; then
+ rm -f "${EROOT}etc/env.d/60python-docs-3.4"
+ fi
+}
+
+src_install() {
+ dohtml -A xml -A inv -r ./
+ echo "PYTHONDOCS_${SLOT//./_}=\"${EPREFIX}/usr/share/doc/${PF}/html/library\"" > "60python-docs-${SLOT}"
+ doenvd "60python-docs-${SLOT}"
+}
+
+pkg_postrm() {
+ if ! has_version "<dev-python/python-docs-${SLOT}_alpha" && ! has_version ">=dev-python/python-docs-${SLOT%.*}.$((${SLOT#*.}+1))_alpha"; then
+ rm -f "${EROOT}etc/env.d/65python-docs"
+ fi
+}
diff --git a/dev-python/python-dsv/Manifest b/dev-python/python-dsv/Manifest
new file mode 100644
index 000000000000..d0a3141e6845
--- /dev/null
+++ b/dev-python/python-dsv/Manifest
@@ -0,0 +1 @@
+DIST DSV-1.4.1.tar.gz 14682 SHA256 5d0ec99c45f8ea91ea920dcd2cdf2cdc9e721985551ea80718519ce70dc98f15 SHA512 c26df1efabff9e70b6dfd17f6ff928f022ad19cfa39af431ef7ac663687e8d80406b0ad471376e238eeb6fcbab31aa2a84eaeae2949173e22316eb92e51f7ada WHIRLPOOL 565ef07a5c87cc4090b8b75df0fb992561865563ac3a0a8adaac2d1bc893e664d0db4d66836d9f682b2e69f62b2fc1fb1c3cdb649d973672b87a731887ded97d
diff --git a/dev-python/python-dsv/files/python-dsv-1.4.1-wxversion.patch b/dev-python/python-dsv/files/python-dsv-1.4.1-wxversion.patch
new file mode 100644
index 000000000000..e72dd78ab28b
--- /dev/null
+++ b/dev-python/python-dsv/files/python-dsv-1.4.1-wxversion.patch
@@ -0,0 +1,16 @@
+--- DSV/DSV.py
++++ DSV/DSV.py
+@@ -134,6 +134,13 @@
+ os.putenv('LANG', 'C')
+
+ try:
++ import wxversion
++ wxversion.select("2.8")
++except Exception, e:
++ print >> sys.stderr, "%s: wxPython 2.8 not installed." %e
++ sys.exit(1)
++
++try:
+ from wxPython import wx, grid
+ except ImportError:
+ wx = None
diff --git a/dev-python/python-dsv/metadata.xml b/dev-python/python-dsv/metadata.xml
new file mode 100644
index 000000000000..43dfa177f5f6
--- /dev/null
+++ b/dev-python/python-dsv/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription>Python module for importing and exporting DSV (delimiter separated values) files.
+DSV is a generalization of CSV (comma separated values) and it is a common file
+format used by many programs to import and export data.</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">python-dsv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-dsv/python-dsv-1.4.1-r1.ebuild b/dev-python/python-dsv/python-dsv-1.4.1-r1.ebuild
new file mode 100644
index 000000000000..4501ca755f0a
--- /dev/null
+++ b/dev-python/python-dsv/python-dsv-1.4.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python module for importing and exporting DSV files"
+HOMEPAGE="http://python-dsv.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/DSV-${PV}.tar.gz"
+
+LICENSE="CNRI"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/wxpython:2.8[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/DSV-${PV}
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/${P}-wxversion.patch
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-etcd/Manifest b/dev-python/python-etcd/Manifest
new file mode 100644
index 000000000000..6e68e6b7d1d9
--- /dev/null
+++ b/dev-python/python-etcd/Manifest
@@ -0,0 +1,2 @@
+DIST python-etcd-0.3.2.zip 35994 SHA256 e86c560303bbc7058c64b47e57393ebcfe5213756236c1344c9c97a6029737bb SHA512 0a110e33cccc555a52ec9a5c8ff1c1702bcebbba80f8b948fd72e78baa5fb00e1bb96be08f3839d07230ea905518ec4247a94d7def39f979fe83e01c52da609b WHIRLPOOL 3c70734d23086d2cad0d570d6361ab73f650994c1f30af31a3e1fda22b046f4d72193aa0ef479650788727079593beb261557daa2e0054e0f6381f945cf0052a
+DIST python-etcd-0.3.3.tar.gz 26529 SHA256 d261d6f3a9c11bc20e9541bf444ca7c21348dbf6133ebc6bb981abaea8164dba SHA512 ab7eac02083ee23cadbb5c70ca24001eaa2bc14f9413984ccf3cea2ee91ad660c8dbe2158f7fb238e142585b8f79313f548517ae622236772d5e5f356556ab0a WHIRLPOOL 0a2e09adf6a8c5a628bc5013cd446c111aef14529729090b116ce38fcf4d010a6416e3d92a23fd9f2c82a12811f7bfa572f29134643e3303bcba8e3011c6b593
diff --git a/dev-python/python-etcd/metadata.xml b/dev-python/python-etcd/metadata.xml
new file mode 100644
index 000000000000..ac246f80799c
--- /dev/null
+++ b/dev-python/python-etcd/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <bugs-to>https://github.com/jplana/python-etcd/issues</bugs-to>
+ <changelog>https://raw.githubusercontent.com/jplana/python-etcd/master/NEWS.txt</changelog>
+ <doc>http://python-etcd.readthedocs.org/</doc>
+ <remote-id type="github">jplana/python-etcd</remote-id>
+ </upstream>
+ <maintainer>
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-etcd/python-etcd-0.3.2.ebuild b/dev-python/python-etcd/python-etcd-0.3.2.ebuild
new file mode 100644
index 000000000000..f55779b0265f
--- /dev/null
+++ b/dev-python/python-etcd/python-etcd-0.3.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python client for etcd"
+HOMEPAGE="https://github.com/jplana/python-etcd"
+SRC_URI="https://github.com/jplana/python-etcd/archive/${PV}.zip -> ${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/urllib3-1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/python-etcd/python-etcd-0.3.3.ebuild b/dev-python/python-etcd/python-etcd-0.3.3.ebuild
new file mode 100644
index 000000000000..fe2a7a1647e9
--- /dev/null
+++ b/dev-python/python-etcd/python-etcd-0.3.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A python client for etcd"
+HOMEPAGE="https://github.com/jplana/python-etcd"
+SRC_URI="https://github.com/jplana/python-etcd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/urllib3-1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/python-evdev/Manifest b/dev-python/python-evdev/Manifest
new file mode 100644
index 000000000000..b5c73cea008f
--- /dev/null
+++ b/dev-python/python-evdev/Manifest
@@ -0,0 +1,2 @@
+DIST python-evdev-0.4.3.tar.gz 27658 SHA256 011db63c94e668997ce0609e4a3cb04b92aca21304657151e6567e938de5efc6 SHA512 7bbc4339bde599f38423f88b3e5a4a4408b9214c9b622915b6f31dad50e08879d914fc83e8d95f66c158d5dd2d29e72907c4e3b0a97a3dbdfb7bde9013e161ec WHIRLPOOL 120aea7069cbe86463975103b87e7eca529df34ce14f69fe2378802f867b434a89aadfcdcab1c991ed25114bfe574452e12b33adbacadd1655e2013dc20f4dcb
+DIST python-evdev-0.4.5.tar.gz 30415 SHA256 70852905a4d0ad541ee0b8c58c566160df5bd08c69c778cbb9ebacfc50a6be61 SHA512 9d2c09c6dddd96bf6c5c639babe8a2c7dc81023de46ffcfe8e4d76126072fb380d3e726a3db1ae8025d4c816218f981ff23df86e20e0dc90c4ee4ca97ac57db5 WHIRLPOOL b548ad9cee8277bf192c30332ca0b0eeee98f90fe77db86ecdf0106948e5c2aba86ae9c950611357c3e41b9ec9e16a96525546d762c4ecf1d05f660d7107eb57
diff --git a/dev-python/python-evdev/metadata.xml b/dev-python/python-evdev/metadata.xml
new file mode 100644
index 000000000000..fd2e57a093f3
--- /dev/null
+++ b/dev-python/python-evdev/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gvalkov/python-evdev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-evdev/python-evdev-0.4.3.ebuild b/dev-python/python-evdev/python-evdev-0.4.3.ebuild
new file mode 100644
index 000000000000..8219a89a9fda
--- /dev/null
+++ b/dev-python/python-evdev/python-evdev-0.4.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for evdev bindings"
+HOMEPAGE="http://python-evdev.readthedocs.org/"
+SRC_URI="https://github.com/gvalkov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/python-evdev/python-evdev-0.4.5.ebuild b/dev-python/python-evdev/python-evdev-0.4.5.ebuild
new file mode 100644
index 000000000000..d3895d99c58a
--- /dev/null
+++ b/dev-python/python-evdev/python-evdev-0.4.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for evdev bindings"
+HOMEPAGE="http://python-evdev.readthedocs.org/"
+SRC_URI="https://github.com/gvalkov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/python-exconsole/Manifest b/dev-python/python-exconsole/Manifest
new file mode 100644
index 000000000000..76faa27eacd7
--- /dev/null
+++ b/dev-python/python-exconsole/Manifest
@@ -0,0 +1 @@
+DIST python-exconsole-0.1.5.tar.gz 2322 SHA256 252e100dc2f7cff853501edf5580542bd509f8069a54599999b3df10db3a7f7e SHA512 f60dd78050515701c66196e7b62653ee7221b0b9bbe390e0f7b08e14ba781afb8f0c49fe769e702ec6d4854c4a48f6ab033c9066a5e5e604d6258ee393fe1070 WHIRLPOOL ed9d96e3fc75751ab301e3d9cccc16694ee538b87c48c83ede7aede405d9a746cbc7f33df8851fd4fbc72b5abb200ae754951257400719c034871110207a33dd
diff --git a/dev-python/python-exconsole/metadata.xml b/dev-python/python-exconsole/metadata.xml
new file mode 100644
index 000000000000..26c6c13e7b50
--- /dev/null
+++ b/dev-python/python-exconsole/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-exconsole</remote-id>
+ <remote-id type="github">Eugeny/exconsole</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-exconsole/python-exconsole-0.1.5.ebuild b/dev-python/python-exconsole/python-exconsole-0.1.5.ebuild
new file mode 100644
index 000000000000..065878771871
--- /dev/null
+++ b/dev-python/python-exconsole/python-exconsole-0.1.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Emergency/postmortem Python console"
+HOMEPAGE="https://github.com/Eugeny/exconsole https://pypi.python.org/pypi/python-exconsole"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/python-fastcgi/Manifest b/dev-python/python-fastcgi/Manifest
new file mode 100644
index 000000000000..e271b0ab42fb
--- /dev/null
+++ b/dev-python/python-fastcgi/Manifest
@@ -0,0 +1 @@
+DIST python-fastcgi-1.1.tar.gz 11180 SHA256 3dff515aecbda371fe5bcb4e449109ce72120ce7bb1edd0e7c2138e75528fd12 SHA512 316c5b07342d27bbad90704909d7a010997801527a9069d23e39975bd3a0e82ab7407bb5e5aa9bdf240039d4c2fec37887540c569d496ca3a328f3323390da89 WHIRLPOOL 9a31809c5ca331b45fa2ab3f2819de4ca0a92fe00c08bfaad6abee8551ccfac56a108dc3b353aed889c85a8563f9a0238da45a6042731522618bfe1cd0583aeb
diff --git a/dev-python/python-fastcgi/files/python-fastcgi-1.1-setup.patch b/dev-python/python-fastcgi/files/python-fastcgi-1.1-setup.patch
new file mode 100644
index 000000000000..6ce721a5e004
--- /dev/null
+++ b/dev-python/python-fastcgi/files/python-fastcgi-1.1-setup.patch
@@ -0,0 +1,15 @@
+--- setup.py
++++ setup.py
+@@ -4,11 +4,7 @@
+ from setuptools import setup, Extension
+
+
+-c_ext = Extension("fcgi", ["fastcgi/pyfcgi.c"], libraries=["fcgi"],
+- include_dirs=["/usr/local/include"],
+- library_dirs=["/usr/local/lib"],
+- #extra_link_args=["-s"],
+- )
++c_ext = Extension("fcgi", ["fastcgi/pyfcgi.c"], libraries=["fcgi"])
+
+ setup(name="python-fastcgi",
+ version="1.1",
diff --git a/dev-python/python-fastcgi/metadata.xml b/dev-python/python-fastcgi/metadata.xml
new file mode 100644
index 000000000000..6a01fd7dc0a1
--- /dev/null
+++ b/dev-python/python-fastcgi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-fastcgi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-fastcgi/python-fastcgi-1.1-r1.ebuild b/dev-python/python-fastcgi/python-fastcgi-1.1-r1.ebuild
new file mode 100644
index 000000000000..51caeb946400
--- /dev/null
+++ b/dev-python/python-fastcgi/python-fastcgi-1.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Interface to OpenMarket's FastCGI C Library/SDK"
+HOMEPAGE="http://pypi.python.org/pypi/python-fastcgi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+RDEPEND=">=dev-libs/fcgi-2.4.0-r2"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+PATCHES=( "${FILESDIR}/${P}-setup.patch" )
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-fastimport/Manifest b/dev-python/python-fastimport/Manifest
new file mode 100644
index 000000000000..4798dc338fb7
--- /dev/null
+++ b/dev-python/python-fastimport/Manifest
@@ -0,0 +1 @@
+DIST python-fastimport-0.9.2.tar.gz 30762 SHA256 fd60f1173e64a5da7c5d783f17402f795721b7548ea3a75e29c39d89a60f261e SHA512 8fd9f89267ca88edff94cea7537740431d02680a1eebd085ee376954b47bf5222e7575750895d0d2da246694cdac7a5afe50d857b87c0f36e04eb3511bcbe472 WHIRLPOOL f1d26b8de2180d55f11df3eb937ae3a524b5f55295d264f23a1edd582152cb6ecbc52cba4164e85f5be943c132cb48db0fa3a704eeda5b1c12896233f18d3c76
diff --git a/dev-python/python-fastimport/metadata.xml b/dev-python/python-fastimport/metadata.xml
new file mode 100644
index 000000000000..04f469d57e27
--- /dev/null
+++ b/dev-python/python-fastimport/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tetromino@gentoo.org</email>
+ <name>Alexandre Rostovtsev</name>
+ </maintainer>
+ <herd>bazaar</herd>
+ <upstream>
+ <remote-id type="launchpad">python-fastimport</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-fastimport/python-fastimport-0.9.2-r1.ebuild b/dev-python/python-fastimport/python-fastimport-0.9.2-r1.ebuild
new file mode 100644
index 000000000000..0b0fb09e45c9
--- /dev/null
+++ b/dev-python/python-fastimport/python-fastimport-0.9.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for parsing the fastimport VCS serialization format"
+HOMEPAGE="https://launchpad.net/python-fastimport"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ local test_runner=( "${PYTHON}" -m unittest )
+
+ if [[ ${EPYTHON} == python2.6 ]]; then
+ test_runner=( unit2 )
+ fi
+
+ "${test_runner[@]}" fastimport.tests.test_suite \
+ || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-fchksum/Manifest b/dev-python/python-fchksum/Manifest
new file mode 100644
index 000000000000..69e302b439aa
--- /dev/null
+++ b/dev-python/python-fchksum/Manifest
@@ -0,0 +1 @@
+DIST python-fchksum-1.7.1.tar.gz 26724 SHA256 407625d2bf38be6fcbe8b01007d1803b5c5bd97249114c076edef4fd061405a7 SHA512 59b561e2938c41bcda2b98eb3fa0670be3fd85f8cb67368132ce239cac21760a5e9a5a05be2429992fa480ccd2e2aa457df7b4a07e709acbe42be9b1559f3060 WHIRLPOOL 474c2045dbe776b162be5388eedaadea8f26f5f9620ffb4c8eb86bbdcb8a124137522f9b20f11596cf828cc965afcfde492802484dae484852ac27ed147d176a
diff --git a/dev-python/python-fchksum/files/python-fchksum-1.7.1-md5-align.patch b/dev-python/python-fchksum/files/python-fchksum-1.7.1-md5-align.patch
new file mode 100644
index 000000000000..1adfa627fdd8
--- /dev/null
+++ b/dev-python/python-fchksum/files/python-fchksum-1.7.1-md5-align.patch
@@ -0,0 +1,26 @@
+the alignment of resbuf is not guaranteed, so use memcpy to move
+the bytes in/out. on arches which can do unaligned accesses, this
+will generate the same code.
+
+patch by Mike Frysinger
+
+--- a/md5.c
++++ b/md5.c
+@@ -74,10 +74,13 @@ md5_read_ctx (ctx, resbuf)
+ const struct md5_ctx *ctx;
+ void *resbuf;
+ {
+- ((md5_uint32 *) resbuf)[0] = SWAP (ctx->A);
+- ((md5_uint32 *) resbuf)[1] = SWAP (ctx->B);
+- ((md5_uint32 *) resbuf)[2] = SWAP (ctx->C);
+- ((md5_uint32 *) resbuf)[3] = SWAP (ctx->D);
++ md5_uint32 swap;
++#define set(i, c) { swap = SWAP (ctx->c); memcpy (resbuf + (i * 4), &swap, 4); }
++ set (0, A);
++ set (1, B);
++ set (2, C);
++ set (3, D);
++#undef set
+
+ return resbuf;
+ }
diff --git a/dev-python/python-fchksum/metadata.xml b/dev-python/python-fchksum/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/python-fchksum/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-fchksum/python-fchksum-1.7.1-r1.ebuild b/dev-python/python-fchksum/python-fchksum-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..7c1e358e70bc
--- /dev/null
+++ b/dev-python/python-fchksum/python-fchksum-1.7.1-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to find the checksum of files"
+HOMEPAGE="http://code.fluffytapeworm.com/projects"
+SRC_URI="http://code.fluffytapeworm.com/projects/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-md5-align.patch )
diff --git a/dev-python/python-geoclue/Manifest b/dev-python/python-geoclue/Manifest
new file mode 100644
index 000000000000..bad62811eb71
--- /dev/null
+++ b/dev-python/python-geoclue/Manifest
@@ -0,0 +1 @@
+DIST python-geoclue-0.1.0.tar.gz 61062 SHA256 51748c22244f974854eacbf518a11a72cdf76045b7ab9cae44b7a592dfa4e259 SHA512 844c877038f9b8db096a33605be16f8aaea8e66fa84e3a42927f103afa9c8ab565b28cc69b9d02d30bfd02a20e6e20e7fdf28a7d06900db9d288775bb153c533 WHIRLPOOL b59fc942e9686e55f8a6d2aab2a335f51b0f8de4a13bd6d9f3945cabd5133fffd125b7373f3dc9c9b7941d66ef27e41aa832cf3e2f1ca332dfd6376b5dedaa08
diff --git a/dev-python/python-geoclue/metadata.xml b/dev-python/python-geoclue/metadata.xml
new file mode 100644
index 000000000000..6c90e346eb69
--- /dev/null
+++ b/dev-python/python-geoclue/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-geoclue/python-geoclue-0.1.0-r1.ebuild b/dev-python/python-geoclue/python-geoclue-0.1.0-r1.ebuild
new file mode 100644
index 000000000000..894304dbfc7d
--- /dev/null
+++ b/dev-python/python-geoclue/python-geoclue-0.1.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Geoclue python module"
+HOMEPAGE="http://live.gnome.org/gtg/soc/python_geoclue/"
+SRC_URI="http://www.paulocabido.com/soc/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-3"
+IUSE="test"
+
+RDEPEND="
+ app-misc/geoclue:0
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:2[${PYTHON_USEDEP}]"
+DEPEND="test? ( app-misc/geoclue:0 )"
+
+S="${WORKDIR}"/${PN}
+
+python_prepare_all() {
+ use test && DISTUTILS_NO_PARALLEL_BUILD=true
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ VIRTUALX_COMMAND="${PYTHON}"
+ cd "${BUILD_DIR}" || die
+ virtualmake "${S}"/tests/test.py
+}
diff --git a/dev-python/python-gflags/Manifest b/dev-python/python-gflags/Manifest
new file mode 100644
index 000000000000..436669399ed4
--- /dev/null
+++ b/dev-python/python-gflags/Manifest
@@ -0,0 +1 @@
+DIST python-gflags-2.0.tar.gz 64929 SHA256 311066217acb8cd8519a4c872cb3fe64f02bcf105802bb761ab0de55c2386cd6 SHA512 28566acffd092f09105f3b9ad3be4ada11f024f940914e6efb103907f3779283c63bdfe13edad83aa470c5e887b49ad8b05031fc1895f3bad9b5d9c368bbfe18 WHIRLPOOL 61054cce9033ef26ee6d6296fc761c840f394de07f068a899b52a5d4212de4e4601f9a203fd8033db576e79369e4d53a0bb04bfca0e50cf828ff94105a2b453a
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch b/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch
new file mode 100644
index 000000000000..e29ef951da57
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch
@@ -0,0 +1,29 @@
+The scripts are installed as 'data' rather than scripts.
+http://code.google.com/p/python-gflags/issues/detail?id=12
+
+From d544cdad63faa5a53ba524e39f091f4a18e1eeb8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 16 Dec 2012 16:27:13 +0100
+Subject: [PATCH] Install Python scripts using 'scripts' key.
+
+This is necessary to ensure that the shebangs are properly replaced when
+installing for multiple Python implementations.
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 573db2d..ddad318 100755
+--- a/setup.py
++++ b/setup.py
+@@ -39,6 +39,6 @@ setup(name='python-gflags',
+ author_email='google-gflags@googlegroups.com',
+ url='http://code.google.com/p/python-gflags',
+ py_modules=["gflags", "gflags_validators"],
+- data_files=[("bin", ["gflags2man.py"])],
++ scripts=["gflags2man.py"],
+ include_package_data=True,
+ )
+--
+1.8.0.2
+
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-skip-test-as-root.patch b/dev-python/python-gflags/files/python-gflags-2.0-skip-test-as-root.patch
new file mode 100644
index 000000000000..5eb2aa35b267
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-skip-test-as-root.patch
@@ -0,0 +1,28 @@
+http://bugs.gentoo.org/475134
+
+From 6e93aa28e1e116619a82e1b78ffbc15ce1133d51 Mon Sep 17 00:00:00 2001
+From: Michael Marineau <mike@marineau.org>
+Date: Thu, 27 Jun 2013 19:26:23 -0400
+Subject: [PATCH 3/3] Skip a permissions check when running as root.
+
+---
+ tests/gflags_unittest.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/gflags_unittest.py b/tests/gflags_unittest.py
+index 091ebd9..ddd3b5c 100755
+--- a/tests/gflags_unittest.py
++++ b/tests/gflags_unittest.py
+@@ -1111,6 +1111,9 @@ class LoadFromFlagFileTest(googletest.TestCase):
+
+ def testMethod_flagfiles_NoPermissions(self):
+ """Test that --flagfile raises except on file that is unreadable."""
++ # This test doesn't work as root
++ if os.getuid() == 0:
++ return
+ tmp_files = self._SetupTestFiles()
+ # specify our temp file on the fake cmd line
+ fake_cmd_line = ('fooScript --SomeFlag some_arg --flagfile=%s'
+--
+1.8.1.5
+
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-tests-python-2.7.patch b/dev-python/python-gflags/files/python-gflags-2.0-tests-python-2.7.patch
new file mode 100644
index 000000000000..2210b2b6eddd
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-tests-python-2.7.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/447482
+
+------------------------------------------------------------------------
+r41 | jwilliams@endpoint.com | 2012-02-21 17:17:32 -0500 (Tue, 21 Feb 2012) | 5 lines
+
+Unit test updates for Python 2.7 compatibility
+
+* Add "msg" parameter to our versions of the test functions
+* Change regex to match the updated 2.7 float() ValueError response
+
+
+Index: tests/gflags_googletest.py
+===================================================================
+--- tests/gflags_googletest.py (revision 40)
++++ tests/gflags_googletest.py (revision 41)
+@@ -88,22 +88,22 @@ def MultiLineEqual(expected, actual):
+
+
+ class TestCase(unittest.TestCase):
+- def assertListEqual(self, list1, list2):
++ def assertListEqual(self, list1, list2, msg=None):
+ """Asserts that, when sorted, list1 and list2 are identical."""
+ # This exists in python 2.7, but not previous versions. Use the
+ # built-in version if possible.
+ if hasattr(unittest.TestCase, "assertListEqual"):
+- unittest.TestCase.assertListEqual(self, Sorted(list1), Sorted(list2))
++ unittest.TestCase.assertListEqual(self, Sorted(list1), Sorted(list2), msg)
+ else:
+- self.assertEqual(Sorted(list1), Sorted(list2))
++ self.assertEqual(Sorted(list1), Sorted(list2), msg)
+
+- def assertMultiLineEqual(self, expected, actual):
++ def assertMultiLineEqual(self, expected, actual, msg=None):
+ # This exists in python 2.7, but not previous versions. Use the
+ # built-in version if possible.
+ if hasattr(unittest.TestCase, "assertMultiLineEqual"):
+- unittest.TestCase.assertMultiLineEqual(self, expected, actual)
++ unittest.TestCase.assertMultiLineEqual(self, expected, actual, msg)
+ else:
+- self.assertTrue(MultiLineEqual(expected, actual))
++ self.assertTrue(MultiLineEqual(expected, actual), msg)
+
+ def assertRaisesWithRegexpMatch(self, exception, regexp, fn, *args, **kwargs):
+ try:
+Index: tests/gflags_unittest.py
+===================================================================
+--- tests/gflags_unittest.py (revision 40)
++++ tests/gflags_unittest.py (revision 41)
+@@ -814,7 +814,7 @@ class MultiNumericalFlagsTest(googletest
+
+ self.assertRaisesWithRegexpMatch(
+ gflags.IllegalFlagValue,
+- 'flag --m_float2=abc: invalid literal for float\(\): abc',
++ 'flag --m_float2=abc: (invalid literal for float\(\)||could not convert string to float): abc',
+ gflags.DEFINE_multi_float, 'm_float2', ['abc'], 'desc')
+
+ # Test non-parseable command line values.
+@@ -831,7 +831,7 @@ class MultiNumericalFlagsTest(googletest
+ argv = ('./program', '--m_float2=def')
+ self.assertRaisesWithRegexpMatch(
+ gflags.IllegalFlagValue,
+- 'flag --m_float2=def: invalid literal for float\(\): def',
++ 'flag --m_float2=def: (invalid literal for float\(\)||could not convert string to float): def',
+ FLAGS, argv)
+
+
+
+------------------------------------------------------------------------
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch b/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch
new file mode 100644
index 000000000000..b3ae14e6dd67
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch
@@ -0,0 +1,58 @@
+Tests try to write to /tmp (sandbox).
+http://code.google.com/p/python-gflags/issues/detail?id=13
+
+From 4a430830e75bfe2228e9d953b12f74a20ec2cb8f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 16 Dec 2012 16:53:24 +0100
+Subject: [PATCH] Use tempfile.mkdtemp() to create temporary directory.
+
+This creates an unique directory, and respects TMPDIR.
+---
+ tests/gflags_unittest.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/tests/gflags_unittest.py b/tests/gflags_unittest.py
+index 8e948bf..fcddb7b 100755
+--- a/tests/gflags_unittest.py
++++ b/tests/gflags_unittest.py
+@@ -38,6 +38,7 @@ import cStringIO
+ import sys
+ import os
+ import shutil
++import tempfile
+
+ import gflags
+ from flags_modules_for_testing import module_foo
+@@ -907,17 +908,16 @@ class LoadFromFlagFileTest(googletest.TestCase):
+ flag_values=self.flag_values)
+ self.files_to_delete = []
+
++ # Figure out where to create temporary files
++ self.tmp_path = tempfile.mkdtemp(prefix='gflags_unittest')
++
+ def tearDown(self):
+ self._RemoveTestFiles()
+
+ def _SetupTestFiles(self):
+ """ Creates and sets up some dummy flagfile files with bogus flags"""
+
+- # Figure out where to create temporary files
+- tmp_path = '/tmp/flags_unittest'
+- if os.path.exists(tmp_path):
+- shutil.rmtree(tmp_path)
+- os.makedirs(tmp_path)
++ tmp_path = self.tmp_path
+
+ try:
+ tmp_flag_file_1 = open(tmp_path + '/UnitTestFile1.tst', 'w')
+@@ -973,6 +973,7 @@ class LoadFromFlagFileTest(googletest.TestCase):
+ os.remove(file_name)
+ except OSError, e_msg:
+ print '%s\n, Problem deleting test file' % e_msg
++ shutil.rmtree(self.tmp_path)
+ #end RemoveTestFiles def
+
+ def _ReadFlagsFromFiles(self, argv, force_gnu):
+--
+1.8.0.2
+
diff --git a/dev-python/python-gflags/metadata.xml b/dev-python/python-gflags/metadata.xml
new file mode 100644
index 000000000000..acab986467bf
--- /dev/null
+++ b/dev-python/python-gflags/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">python-gflags</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-gflags/python-gflags-2.0.ebuild b/dev-python/python-gflags/python-gflags-2.0.ebuild
new file mode 100644
index 000000000000..dcf52bfecbe5
--- /dev/null
+++ b/dev-python/python-gflags/python-gflags-2.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Google's Python argument parsing library"
+HOMEPAGE="http://code.google.com/p/python-gflags/"
+SRC_URI="http://python-gflags.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc64 ~s390 ~sh x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-scripts-install.patch
+ "${FILESDIR}"/${P}-tests-respect-tmpdir.patch
+ "${FILESDIR}"/${P}-skip-test-as-root.patch #475134
+ "${FILESDIR}"/${P}-tests-python-2.7.patch #447482
+)
+
+python_test() {
+ # http://code.google.com/p/python-gflags/issues/detail?id=15&thanks=15&ts=1372948007
+ local t
+ cd tests || die
+ for t in *.py; do
+ # (it's ok to run the gflags_googletest.py too)
+ "${PYTHON}" "${t}" || die "Tests fail with ${EPYTHON}"
+ done
+}
diff --git a/dev-python/python-glanceclient/Manifest b/dev-python/python-glanceclient/Manifest
new file mode 100644
index 000000000000..6e9c660bf39e
--- /dev/null
+++ b/dev-python/python-glanceclient/Manifest
@@ -0,0 +1,7 @@
+DIST python-glanceclient-0.13.1.tar.gz 109193 SHA256 46524a25d94fc518676c56320a40c362e32c75c8af13fa2bf9ff348e3aa25205 SHA512 e0c1cc15d7ed9218a076f9140ee75aad76d8d2d01e39f1b66dc1006f155742135231d636a93aa66a7b4ba4c75fa9c7cb0a5227c461615560a209001f22ea2830 WHIRLPOOL b77350d5fcce5cedfae405af7bdf562962bbb55b3fe7aee0370c73d29697033244bd7a145e1332137732ab60befa53f007936ba8596bfbd04b3566633b223a26
+DIST python-glanceclient-0.14.2.tar.gz 121369 SHA256 12f3554077be22d0bdbb6195a8142840f9985ffc0b83affb4ad96f1445a7e784 SHA512 bd07498a65718cc7d0b77b48b8266e81f92c7aec6c678915088e2631c69a93c53887fac423cc591462a6adc9d1a8dca16646e50bb33647a640107a6facc5d87f WHIRLPOOL b16f7c85b419c25181090ee2e4944c5247f448f2836960d044d079e879c108c5d039ac141c3a5efd2072e289bb81c8fc6aee14cca8aa4338d3d22932f66f8528
+DIST python-glanceclient-0.17.0.tar.gz 130715 SHA256 2e83b9100ad56beee9cbe343ee0a5233ac23ab015538feaa3e89400fa2d7fc81 SHA512 c4837985228fde78e051638ea89fc79fad1a054b7db3f669c3c3cd4f4c4e84c89e867758a71739069b347bb9670626b3c81a789670e28ded9ac26e28b7a933d7 WHIRLPOOL 75e1b289fdd38fa1aeb01c58174801ae544e153206a37cf8032030e1a9eeaada52acf4b3ae71094702e26b5b083cc39ffd91658b47df14b9044289f1aa118c7d
+DIST python-glanceclient-0.17.1.tar.gz 131534 SHA256 79e3426aa76d712a9fde4d4dcef4532d9099f8e4bdd2ef9802b428d0d99ffe7e SHA512 a54fcc990fe734c83573ee9cb44bff171440b4cf5a6ce7a9c6aa3fcde12b05037ba2a4bcad1df7b93d05e0774dd3581bab65b8342875b8834e1d0b7794f5d38d WHIRLPOOL f7da0e934f4b45b3e2b560387665ed743f8116f7ad06e3feb65d83427bc447825c5f989de8c3020de5597adcfe5d76a6a31e3af6ac6d09dd73c2dd737cfdd0ac
+DIST python-glanceclient-0.17.2.tar.gz 134726 SHA256 56ca8fe2c4f33d9dd9b045073bdd0dba09b1f6ef7af978175966d262678ecd0e SHA512 d66cb2391c6feeeb279a1591bae04405bf78eeb95b6f8bb78a401b28246d6de341cf02c621553e97dce3ddc43dcf8c6bfb5360ff7d6ac54501565fcbe1bac957 WHIRLPOOL cbff98a55f3fcd30335bdb504e61682b04e8f84de5359dc671f834e8a98f441355d89f2a0123e31dc71f0fdf4b522341e54212fb2dd5bb8965a613f4084a62d1
+DIST python-glanceclient-0.18.0.tar.gz 132194 SHA256 9784de057ffb8fadd98563452a9f30bfdca6d4531ce166ac2d101cd968a6194a SHA512 091f4a954e58abef40520ecb137fb47e02bd299e9903a83dc9eb26e428e4e0a0f58949e2eead5afaa271ef71e2827f319e72074bf93313ccd506f3374e95367d WHIRLPOOL edfe214cd791baed39f05617b2fa35b3eeae66754b57e9e553f019b3937fe04046bf73c9fa1c811f429a22622777b2507221b712e0b040efb7f8d0e2cb986b71
+DIST python-glanceclient-0.19.0.tar.gz 138756 SHA256 45115023cadfdbc24a10b10ca5d003f8f04fd5642b7c8fb565efa566bac4bf51 SHA512 50591b535bb27eaeaeed02f04bd164d4449df1e2b66a6c8abd4fad327e2293b6c9a1e4226ce3f9180d22a33ed2212bd735ad2d91374121e0d062c590a4cc64c5 WHIRLPOOL 9abb606573211c39becef134803e036f7f6b11591ae95d486749e8a62f2a22490c833750ef5234c2502f7aa0cb24dcf62b326249703fbae0dceb3173b7286bf2
diff --git a/dev-python/python-glanceclient/metadata.xml b/dev-python/python-glanceclient/metadata.xml
new file mode 100644
index 000000000000..1efbdddc6fa6
--- /dev/null
+++ b/dev-python/python-glanceclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack Glance API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-glanceclient</remote-id>
+ <remote-id type="github">openstack/python-glanceclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.13.1.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.13.1.ebuild
new file mode 100644
index 000000000000..81bab6aae544
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.13.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND=">=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.14.2.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.14.2.ebuild
new file mode 100644
index 000000000000..7bf2e65d22db
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.14.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND=">=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.17.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.17.0.ebuild
new file mode 100644
index 000000000000..89016f86fc6c
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.17.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.17.1.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.17.1.ebuild
new file mode 100644
index 000000000000..d0f0e87cda79
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.17.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.0.0[${PYTHON_USEDEP}]
+ <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.17.2.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.17.2.ebuild
new file mode 100644
index 000000000000..0842f5358d19
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.17.2.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ <=dev-python/mock-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ sed -i -e '/^argparse/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.18.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.18.0.ebuild
new file mode 100644
index 000000000000..9778609b443c
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.18.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.19.0-r1.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.19.0-r1.ebuild
new file mode 100644
index 000000000000..623e7b63e4a2
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.19.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ sed -i '/^argparse/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-glanceclient/python-glanceclient-0.19.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-0.19.0.ebuild
new file mode 100644
index 000000000000..d73d1c4ea0bf
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-0.19.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="https://github.com/openstack/python-glanceclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.0.1[${PYTHON_USEDEP}]
+ <dev-python/warlock-2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_mapping:_&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+ flake8 tests && einfo "run flake8 over tests folder passed" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-gnupg/Manifest b/dev-python/python-gnupg/Manifest
new file mode 100644
index 000000000000..4d6eeaf2d440
--- /dev/null
+++ b/dev-python/python-gnupg/Manifest
@@ -0,0 +1 @@
+DIST python-gnupg-0.3.7.tar.gz 48728 SHA256 2bf59ff55c036e49d5da12d370447679f14d242567df4c2c0fc61b4601ca0d59 SHA512 6166cef11307dd4782000ab7263778436998a816a45e4471fcbe244b123703bf9ded5bc6ef5cd47ed0c561ef42660980576edf57c62029bb0326642b7c538dd3 WHIRLPOOL 93770439486689dfcaf296d158c3978a71c72d32ba9f0e5b4ec4c97dfda16177ee5e06f0b616112cdfb9cd96c3a93700a0d4302116401c6146f3cd7437b7e29b
diff --git a/dev-python/python-gnupg/files/python-gnupg-0.3.6-skip-search-keys-tests.patch b/dev-python/python-gnupg/files/python-gnupg-0.3.6-skip-search-keys-tests.patch
new file mode 100644
index 000000000000..66512ab08169
--- /dev/null
+++ b/dev-python/python-gnupg/files/python-gnupg-0.3.6-skip-search-keys-tests.patch
@@ -0,0 +1,20 @@
+--- python-gnupg-0.3.6/gnupg.py
++++ python-gnupg-0.3.6/gnupg.py
+@@ -1078,6 +1078,7 @@
+ def search_keys(self, query, keyserver='pgp.mit.edu'):
+ """ search keyserver by query (using --search-keys option)
+
++ # doctest: +SKIP
+ >>> import shutil
+ >>> shutil.rmtree('keys')
+ >>> gpg = GPG(gnupghome='keys')
+--- python-gnupg-0.3.6/test_gnupg.py
++++ python-gnupg-0.3.6/test_gnupg.py
+@@ -493,6 +493,7 @@
+ os.remove(fn)
+ logger.debug("test_file_encryption_and_decryption ends")
+
++ @unittest.skip("requires network access")
+ def test_search_keys(self):
+ "Test that searching for keys works"
+ r = self.gpg.search_keys('<vinay_sajip@hotmail.com>')
diff --git a/dev-python/python-gnupg/files/python-gnupg-0.3.7-msg-handle.patch b/dev-python/python-gnupg/files/python-gnupg-0.3.7-msg-handle.patch
new file mode 100644
index 000000000000..9f4b6f562ce7
--- /dev/null
+++ b/dev-python/python-gnupg/files/python-gnupg-0.3.7-msg-handle.patch
@@ -0,0 +1,31 @@
+https://bitbucket.org/vinay.sajip/python-gnupg/commits/79c73a9ce6e33555246f9dae2ef4be9964e2704b
+# HG changeset patch
+# User Vinay Sajip <vinay_sajip@yahoo.co.uk>
+# Date 1419023737 0
+# Node ID 79c73a9ce6e33555246f9dae2ef4be9964e2704b
+# Parent 767aa49b175738b6d0404a2fb2fca3e3c081e0a8
+Closes #22: handled PROGRESS messages during verification and signing.
+
+diff --git a/gnupg.py b/gnupg.py
+--- a/gnupg.py
++++ b/gnupg.py
+@@ -221,7 +221,8 @@
+ "PLAINTEXT_LENGTH", "POLICY_URL", "DECRYPTION_INFO",
+ "DECRYPTION_OKAY", "INV_SGNR", "FILE_START", "FILE_ERROR",
+ "FILE_DONE", "PKA_TRUST_GOOD", "PKA_TRUST_BAD", "BADMDC",
+- "GOODMDC", "NO_SGNR", "NOTATION_NAME", "NOTATION_DATA"):
++ "GOODMDC", "NO_SGNR", "NOTATION_NAME", "NOTATION_DATA",
++ "PROGRESS"):
+ pass
+ elif key == "BADSIG":
+ self.valid = False
+@@ -601,7 +602,7 @@
+ if key in ("USERID_HINT", "NEED_PASSPHRASE", "BAD_PASSPHRASE",
+ "GOOD_PASSPHRASE", "BEGIN_SIGNING", "CARDCTRL", "INV_SGNR",
+ "NO_SGNR", "MISSING_PASSPHRASE", "NEED_PASSPHRASE_PIN",
+- "SC_OP_FAILURE", "SC_OP_SUCCESS"):
++ "SC_OP_FAILURE", "SC_OP_SUCCESS", "PROGRESS"):
+ pass
+ elif key in ("KEYEXPIRED", "SIGEXPIRED"):
+ self.status = 'key expired'
+
diff --git a/dev-python/python-gnupg/metadata.xml b/dev-python/python-gnupg/metadata.xml
new file mode 100644
index 000000000000..0b22cf585fa7
--- /dev/null
+++ b/dev-python/python-gnupg/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">python-gnupg</remote-id>
+ <remote-id type="github">vsajip/python-gnupg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-gnupg/python-gnupg-0.3.7.ebuild b/dev-python/python-gnupg/python-gnupg-0.3.7.ebuild
new file mode 100644
index 000000000000..ef3b341feee4
--- /dev/null
+++ b/dev-python/python-gnupg/python-gnupg-0.3.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for GNU Privacy Guard"
+HOMEPAGE="http://pythonhosted.org/python-gnupg/ https://github.com/vsajip/python-gnupg/"
+SRC_URI="https://github.com/vsajip/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-crypt/gnupg"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.3.6-skip-search-keys-tests.patch
+ "${FILESDIR}"/${P}-msg-handle.patch )
+
+python_test() {
+ # Note; 1 test fails under pypy only
+ "${PYTHON}" test_gnupg.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-gtkmvc/Manifest b/dev-python/python-gtkmvc/Manifest
new file mode 100644
index 000000000000..fb43ad21145c
--- /dev/null
+++ b/dev-python/python-gtkmvc/Manifest
@@ -0,0 +1 @@
+DIST python-gtkmvc-1.99.1.tar.gz 1426052 SHA256 a8a74fb0a21d9e229950927a906f5f83ee19e459547138b360a6c60418667ab7 SHA512 f82bbe0f769a57120d3858f77a6531778f4ffbf16191a2f8b3f0cd7da047f756db560e2896504530a92d142c27d61cd010c0ceada059e5dce9428b58950490a0 WHIRLPOOL ded448a1e9ddf4380ea0b0b00fea1f79550a27dc91f05bbf978e00477a7045313507e4baa3c920b24df0c0519fd716bdf8e3c30acd1a16ad7b6db6c377a3ec28
diff --git a/dev-python/python-gtkmvc/metadata.xml b/dev-python/python-gtkmvc/metadata.xml
new file mode 100644
index 000000000000..fad314aca6b6
--- /dev/null
+++ b/dev-python/python-gtkmvc/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <!-- <herd>gnome</herd> -->
+ <upstream>
+ <remote-id type="sourceforge">pygtkmvc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-gtkmvc/python-gtkmvc-1.99.1.ebuild b/dev-python/python-gtkmvc/python-gtkmvc-1.99.1.ebuild
new file mode 100644
index 000000000000..0f4080f779a9
--- /dev/null
+++ b/dev-python/python-gtkmvc/python-gtkmvc-1.99.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="model-view-controller (MVC) implementation for pygtk"
+HOMEPAGE="http://pygtkmvc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pygtkmvc/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=">=dev-python/pygtk-2.24.0"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ dodoc README
+ use doc && dohtml -r docs/_build/html/
+
+ if use examples; then
+ docompress -x usr/share/doc/${P}/examples/
+ insinto usr/share/doc/${P}/
+ doins -r examples/
+ fi
+}
diff --git a/dev-python/python-gudev/Manifest b/dev-python/python-gudev/Manifest
new file mode 100644
index 000000000000..c71115dc307d
--- /dev/null
+++ b/dev-python/python-gudev/Manifest
@@ -0,0 +1 @@
+DIST python-gudev-147.2.tar.gz 10111 SHA256 09a79c4b8dcf18b55725ac258108551456da111cd9329afd9a23e0da02abe30b SHA512 a022df2989154ac5f358df7ff33d6f976cae4d005756c3b73937e0668751b923a29c3e1f813e89a7297653df7744f10207c2bb33d2a6816470ea2ca10975493f WHIRLPOOL 437fe241650eb9962ed77e1f36e436c491c4e3212aeecb0620d7e535c322379d2e13040db795943295951ccfb04ae56261392b848e350d872c967a5481bdfb8f
diff --git a/dev-python/python-gudev/files/automake.patch b/dev-python/python-gudev/files/automake.patch
new file mode 100644
index 000000000000..a25c9e4fd31a
--- /dev/null
+++ b/dev-python/python-gudev/files/automake.patch
@@ -0,0 +1,10 @@
+--- configure.org.ac 2013-05-02 00:22:58.181214757 +0200
++++ configure.ac 2013-05-02 00:25:00.463686016 +0200
+@@ -8,7 +8,6 @@
+ AC_PROG_MAKE_SET
+
+ AC_PROG_CC
+-AM_PROG_CC_STDC
+ AC_HEADER_STDC
+
+ AM_PROG_LIBTOOL
diff --git a/dev-python/python-gudev/metadata.xml b/dev-python/python-gudev/metadata.xml
new file mode 100644
index 000000000000..cd9811889bab
--- /dev/null
+++ b/dev-python/python-gudev/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>laurento.frittella@gmail.com</email>
+ <description>Proxy Maintainer (please CC on bugs)</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">nzjrs/python-gudev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-gudev/python-gudev-147.2-r1.ebuild b/dev-python/python-gudev/python-gudev-147.2-r1.ebuild
new file mode 100644
index 000000000000..dee6d5b53b58
--- /dev/null
+++ b/dev-python/python-gudev/python-gudev-147.2-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=modules
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils python-r1 vcs-snapshot eutils
+
+DESCRIPTION="Python binding to the GUDev udev helper library"
+HOMEPAGE="http://github.com/nzjrs/python-gudev"
+SRC_URI="https://github.com/nzjrs/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ virtual/libgudev:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/automake.patch
+ python_foreach_impl autotools-utils_src_prepare
+}
+
+src_configure() {
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_test() {
+ python_foreach_impl autotools-utils_src_test
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/python-heatclient/Manifest b/dev-python/python-heatclient/Manifest
new file mode 100644
index 000000000000..46f3413d967a
--- /dev/null
+++ b/dev-python/python-heatclient/Manifest
@@ -0,0 +1,6 @@
+DIST python-heatclient-0.2.12.tar.gz 99919 SHA256 e9d5b74206b322ce30184a1b132a78b8be1806be85c77361fb72a966c4c48afe SHA512 49d28e63bf9e7c227443cf58c6870900f2fb23d6f4e0457b97cfdf615af01b95c046759c4d763e8c9ab702f5a85fe79925aa19d905bbb2c4e94eea48e4ca066e WHIRLPOOL 712aacc7dae4114cd61e02ab22ff50a61b85ddde35cfcfa26fbe02c46ae63808e0c95a13beb5cec9724e3b0fd3b68970123dc679d6cfb765aa0ec57d5d430c82
+DIST python-heatclient-0.2.9.tar.gz 81470 SHA256 8cc6d99f86529633b8b5d99417358fd7c023223572f190ae3e1da09ff435420f SHA512 05fc3a5ff8e738fdc3ac2c5d8221c9be932467aa9109e1138c4a96053f7e68d8ba77b13f50968f05a37e94b60bd5ff2e798faf0c5b145ae80c2a0a6f7f68313a WHIRLPOOL 1c77ac1329c6f5dc1c207670d5864ea44046d6a0686b12c373ad2a26560999fc0bdc011b8efaf431f9c6f5379d19eb9bb65b68fb08a7297f12ec6e0313ce1846
+DIST python-heatclient-0.3.0.tar.gz 95621 SHA256 c3fe26b69610dcd1540f5ab2c8ae59183c3df09d9ede52a5bb704977345f29ad SHA512 f550e785ce21e1a1ad8dedfb1fc94bdaf4e0d9b5902c05a704b73c72e3e49ac6e35f79acbbc8ac511bca329d5032f796447899dfa737da0f7b8b376e5983153a WHIRLPOOL 9a02d508401600a659f552d2c7b46d7a4c94500514ff3763bd47ecfefa2fcc89cf49b20bbfbdb859a04fe4c719bcbdceb29d15cc793f631c89192a03642a2b3f
+DIST python-heatclient-0.4.0.tar.gz 104613 SHA256 1b71e2bb5c380ac6b2e1f07b48b7b3e82e7364cc43255ed696c795ab5f8d5a1d SHA512 f1235e40d6407fc05f53dfa1592d4f1fa72c10c6aa17fcbb78a7a8bf999cf803f4a42f9f7672f403d336006bdb72f3960d849474c398e592085f1d637a28faed WHIRLPOOL 680af36f92f9674667cf1ad97167248e3b30b4fc828065bd9f2dd7ecef4fd7dcd03729c5d257d8f31ce42184764bcea1d4c4aaee37d53ac63e1e44183c694f84
+DIST python-heatclient-0.5.0.tar.gz 104320 SHA256 b64eadecea1ecab5b69c1f51ddd157d53d218dea1360c201843f28a052cb3dbf SHA512 97ac1bb3ef1ca82730650e42dffa5dec2f1f37fac63c38a8c2de87b2ccf772b905749f4e9211831ec92871ebaee57a5094a4a1005e7391823a6dee27b0592dd8 WHIRLPOOL fc90b7a21d70c9044cdb39d626584192dcc347f531f0dc83b5b349d8731b7e3e0278586f5dcec32d9be10d02a6a6cb53175c6088fc43857b9b874a979da77de2
+DIST python-heatclient-0.6.0.tar.gz 109553 SHA256 fe293e11d145d86b92649063eb50d1f599dab88a327707d76a72b12022b77bbb SHA512 04b8836c212a8825b6ffb839715df881189a08e3c587762a661744bdd730d6aaf99c9e3497642011b0696692c856e12131bc8d1ff6a69cb88ae5b48aa3872b39 WHIRLPOOL 683497a0363ce636499af5866838242ef1fc2769c54d5ddf32e8dcfd5d0d2f3b648d46c0bb59c14bf1043875bf65ec99b090add1a289c9c95d383ce5ba918e3f
diff --git a/dev-python/python-heatclient/metadata.xml b/dev-python/python-heatclient/metadata.xml
new file mode 100644
index 000000000000..e202b403f741
--- /dev/null
+++ b/dev-python/python-heatclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client library for Heat built on the Heat orchestration API
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-heatclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-heatclient/python-heatclient-0.2.12.ebuild b/dev-python/python-heatclient/python-heatclient-0.2.12.ebuild
new file mode 100644
index 000000000000..92123614f5e3
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.2.12.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+DISTUTILS_IN_SOURCE_BUILD=TRUE # Needed due to versioned test patches
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# NOTE: doc is broken due to pbr requiring a git checkout
+
+# NOTE: dev-python/discover is not used in tests
+# dev-python/discover[${PYTHON_USEDEP}]
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+CRDEPEND="
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ ${CRDEPEND}
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-0.8.0[${PYTHON_USEDEP}]
+ !~dev-python/httpretty-0.8.1[${PYTHON_USEDEP}]
+ !~dev-python/httpretty-0.8.2[${PYTHON_USEDEP}]
+ !~dev-python/httpretty-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ ${CRDEPEND}
+"
+
+python_test() {
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1313257
+ ebegin 'patching heatclient/tests/test_common_http.py'
+ sed \
+ -e '651,/def/ d' \
+ -i heatclient/tests/test_common_http.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375035
+ ebegin 'patching heatclient/tests/test_shell.py'
+ sed \
+ -e '1953,/def|@/ d' \
+ -i heatclient/tests/test_shell.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ if [[ "${EPYTHON}" = "python3.3" ]]; then
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375047
+ ebegin 'patching heatclient/tests/test_events.py'
+ sed \
+ -e '68,/def/ d' \
+ -i heatclient/tests/test_events.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375049
+ ebegin 'patching heatclient/tests/test_events.py'
+ sed \
+ -e '111,/def/ d' \
+ -e '53,/def/ d' \
+ -i heatclient/tests/test_events.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ ebegin 'patching heatclient/tests/test_resources.py'
+ sed \
+ -e '69,/def/ d' \
+ -i heatclient/tests/test_resources.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375051
+ ebegin 'patching heatclient/tests/test_template_utils.py'
+ sed \
+ -e '231,/def/ d' \
+ -i heatclient/tests/test_template_utils.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+ fi
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/python-heatclient/python-heatclient-0.2.9.ebuild b/dev-python/python-heatclient/python-heatclient-0.2.9.ebuild
new file mode 100644
index 000000000000..d50d83f4cd12
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.2.9.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+RESTRICT="test"
+
+DESCRIPTION="This is a client library for Heat built on the Heat orchestration
+API."
+HOMEPAGE="https://github.com/openstack/python-heatclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && sphinx-build -b html -c doc/source/ doc/source/ doc/source/html
+}
+
+python_test() {
+ "${PYTHON}" setup.py testr --coverage
+ "${PYTHON}" setup.py testr --slowest
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-heatclient/python-heatclient-0.3.0.ebuild b/dev-python/python-heatclient/python-heatclient-0.3.0.ebuild
new file mode 100644
index 000000000000..62982fb639b9
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.3.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1313257
+ ebegin 'patching heatclient/tests/test_common_http.py'
+ sed \
+ -e '645,/def/ d' \
+ -i heatclient/tests/test_common_http.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375035
+ ebegin 'patching heatclient/tests/test_shell.py'
+ sed \
+ -e '2116,/def|@/ d' \
+ -i heatclient/tests/test_shell.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init
+ testr run || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-heatclient/python-heatclient-0.4.0.ebuild b/dev-python/python-heatclient/python-heatclient-0.4.0.ebuild
new file mode 100644
index 000000000000..34ca3d3e6d5b
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.4.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1313257
+ ebegin 'patching heatclient/tests/test_common_http.py'
+ sed \
+ -e '645,/def/ d' \
+ -i heatclient/tests/test_common_http.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375035
+ ebegin 'patching heatclient/tests/test_shell.py'
+ sed \
+ -e '2116,/def|@/ d' \
+ -i heatclient/tests/test_shell.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init
+ testr run || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-heatclient/python-heatclient-0.5.0.ebuild b/dev-python/python-heatclient/python-heatclient-0.5.0.ebuild
new file mode 100644
index 000000000000..128799857845
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.5.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1313257
+ ebegin 'patching heatclient/tests/test_common_http.py'
+ sed \
+ -e '645,/def/ d' \
+ -i heatclient/tests/test_common_http.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375035
+ ebegin 'patching heatclient/tests/test_shell.py'
+ sed \
+ -e '2116,/def|@/ d' \
+ -i heatclient/tests/test_shell.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init
+ testr run || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-heatclient/python-heatclient-0.6.0.ebuild b/dev-python/python-heatclient/python-heatclient-0.6.0.ebuild
new file mode 100644
index 000000000000..04018403e4d9
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-0.6.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1313257
+ ebegin 'patching heatclient/tests/test_common_http.py'
+ sed \
+ -e '645,/def/ d' \
+ -i heatclient/tests/test_common_http.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ # BUG: https://bugs.launchpad.net/python-heatclient/+bug/1375035
+ ebegin 'patching heatclient/tests/test_shell.py'
+ sed \
+ -e '2116,/def|@/ d' \
+ -i heatclient/tests/test_shell.py
+ STATUS=${?}
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init
+ testr run || die "testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-iptables/Manifest b/dev-python/python-iptables/Manifest
new file mode 100644
index 000000000000..b1bf9aa6356c
--- /dev/null
+++ b/dev-python/python-iptables/Manifest
@@ -0,0 +1,2 @@
+DIST python-iptables-0.8.0.tar.gz 38815 SHA256 7a80507fafdfe0448f604678e127b7dc6236dc7fe61771b3b56fd8199464ac46 SHA512 8cc3a88f1f101614597ad6e7712dd229e08b9d5fb1fc0383142746faad7f9e265ccdb6d036948bbdbf39c9021250ab98e7de36c7dc78e231f581d783431f5510 WHIRLPOOL 36ab036e4a30be4006c00bc605855c29382545ab19098af49abeb2eca0f91de5cd5608596e4d89b6efd013df58b740d886e2e362e6d0cc4aa7905afe7a7d0e50
+DIST python-iptables-0.9.0.tar.gz 72999 SHA256 80eee356beb3cfbe378a214719c5756bb665f9edfa04cd75e3a32e6e18a1f484 SHA512 5cffc83f496876346faa5b33a45be565fab2da41d25f9793db0788a80cb6835b33f474008febee8002d7af6fb052262881326adf6d69592aa96d750b2f921bd4 WHIRLPOOL 18872e6b7a3016cb2449bb1195fce874dee1d62df2aaa2bbea605f3055bf18e6c298d1dd14da9b1cb34196477470be1cdf60255df5521b734b052a3a88247ea0
diff --git a/dev-python/python-iptables/files/python-iptables-0.2.0-tests.patch b/dev-python/python-iptables/files/python-iptables-0.2.0-tests.patch
new file mode 100644
index 000000000000..fb9d601ceaa8
--- /dev/null
+++ b/dev-python/python-iptables/files/python-iptables-0.2.0-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/test.py b/test.py
+index f426612..f598585 100755
+--- a/test.py
++++ b/test.py
+@@ -3,16 +3,6 @@
+
+ import sys
+
+-print "WARNING: this test will manipulate iptables rules."
+-print "Don't do this on a production machine."
+-while True:
+- print "Would you like to continue? y/n",
+- answer = raw_input()
+- if answer in "yYnN" and len(answer) == 1:
+- break
+-if answer in "nN":
+- sys.exit(0)
+-
+ from iptc.test import test_iptc, test_matches, test_targets
+
+ results = [rv for rv in [test_iptc.run_tests(), test_matches.run_tests(),
diff --git a/dev-python/python-iptables/files/python-iptables-0.3.0-conntrack-fixes.patch b/dev-python/python-iptables/files/python-iptables-0.3.0-conntrack-fixes.patch
new file mode 100644
index 000000000000..469fe5d97a69
--- /dev/null
+++ b/dev-python/python-iptables/files/python-iptables-0.3.0-conntrack-fixes.patch
@@ -0,0 +1,182 @@
+diff --git a/iptc/ip4tc.py b/iptc/ip4tc.py
+index 1efeabe..a953f41 100644
+--- a/iptc/ip4tc.py
++++ b/iptc/ip4tc.py
+@@ -460,8 +460,6 @@ class Match(IPTCModule):
+ if self._module.next is not None:
+ self._store_buffer(module)
+
+- self._check_alias(module[0], match)
+-
+ self._match_buf = (ct.c_ubyte * self.size)()
+ if match:
+ ct.memmove(ct.byref(self._match_buf), ct.byref(match), self.size)
+@@ -503,7 +501,11 @@ class Match(IPTCModule):
+ self._buffer.buffer = ct.cast(module, ct.POINTER(ct.c_ubyte))
+
+ def _final_check(self):
+- self._xt.final_check_match(self._module)
++ if self._alias is not None:
++ module = self._alias
++ else:
++ module = self._module
++ self._xt.final_check_match(module)
+
+ def _parse(self, argv, inv, entry):
+ if self._alias is not None:
+@@ -530,6 +532,7 @@ class Match(IPTCModule):
+ self._ptrptr = ct.cast(ct.pointer(self._ptr),
+ ct.POINTER(ct.POINTER(xt_entry_match)))
+ self._module.m = self._ptr
++ self._check_alias(self._module, self._module.m)
+ if self._alias is not None:
+ self._alias.m = self._ptr
+ self._update_name()
+@@ -613,8 +616,6 @@ class Target(IPTCModule):
+ else:
+ self._revision = self._module.revision
+
+- self._check_alias(module[0], target)
+-
+ self._create_buffer(target)
+
+ if self._is_standard_target():
+@@ -673,7 +674,11 @@ class Target(IPTCModule):
+ return False
+
+ def _final_check(self):
+- self._xt.final_check_target(self._module)
++ if self._alias is not None:
++ module = self._alias
++ else:
++ module = self._module
++ self._xt.final_check_target(module)
+
+ def _parse(self, argv, inv, entry):
+ if self._alias is not None:
+@@ -715,6 +720,7 @@ class Target(IPTCModule):
+ self._ptrptr = ct.cast(ct.pointer(self._ptr),
+ ct.POINTER(ct.POINTER(xt_entry_target)))
+ self._module.t = self._ptr
++ self._check_alias(self._module, self._module.t)
+ if self._alias is not None:
+ self._alias.t = self._ptr
+ self._update_name()
+diff --git a/iptc/test/test_matches.py b/iptc/test/test_matches.py
+index 69b0b01..67c37ff 100755
+--- a/iptc/test/test_matches.py
++++ b/iptc/test/test_matches.py
+@@ -298,6 +298,40 @@ class TestXTStateMatch(unittest.TestCase):
+ self.assertEquals(m.state, "RELATED,ESTABLISHED")
+
+
++class TestXTConntrackMatch(unittest.TestCase):
++ def setUp(self):
++ self.rule = iptc.Rule()
++ self.rule.src = "127.0.0.1"
++ self.rule.protocol = "tcp"
++ self.rule.target = iptc.Target(self.rule, "ACCEPT")
++
++ self.match = iptc.Match(self.rule, "conntrack")
++
++ self.chain = iptc.Chain(iptc.Table(iptc.Table.FILTER),
++ "iptc_test_conntrack")
++ self.table = iptc.Table(iptc.Table.FILTER)
++ try:
++ self.chain.flush()
++ self.chain.delete()
++ except:
++ pass
++ self.table.create_chain(self.chain)
++
++ def tearDown(self):
++ self.chain.flush()
++ self.chain.delete()
++ pass
++
++ def test_state(self):
++ self.match.ctstate = "NEW,RELATED"
++ self.rule.add_match(self.match)
++ self.chain.insert_rule(self.rule)
++ rule = self.chain.rules[0]
++ m = rule.matches[0]
++ self.assertTrue(m.name, ["conntrack"])
++ self.assertEquals(m.ctstate, "NEW,RELATED")
++
++
+ def suite():
+ suite_match = unittest.TestLoader().loadTestsFromTestCase(TestMatch)
+ suite_udp = unittest.TestLoader().loadTestsFromTestCase(TestXTUdpMatch)
+@@ -308,9 +342,11 @@ def suite():
+ suite_iprange = unittest.TestLoader().loadTestsFromTestCase(
+ TestIprangeMatch)
+ suite_state = unittest.TestLoader().loadTestsFromTestCase(TestXTStateMatch)
++ suite_conntrack = unittest.TestLoader().loadTestsFromTestCase(
++ TestXTConntrackMatch)
+ return unittest.TestSuite([suite_match, suite_udp, suite_mark,
+ suite_limit, suite_comment, suite_iprange,
+- suite_state])
++ suite_state, suite_conntrack])
+
+
+ def run_tests():
+diff --git a/iptc/test/test_targets.py b/iptc/test/test_targets.py
+index 6d83f5f..32516bd 100755
+--- a/iptc/test/test_targets.py
++++ b/iptc/test/test_targets.py
+@@ -371,6 +371,37 @@ class TestXTNotrackTarget(unittest.TestCase):
+ self.assertTrue(t.name in ["NOTRACK", "CT"])
+
+
++class TestXTCtTarget(unittest.TestCase):
++ def setUp(self):
++ self.rule = iptc.Rule()
++ self.rule.dst = "127.0.0.2"
++ self.rule.protocol = "tcp"
++ self.rule.out_interface = "eth0"
++
++ self.target = iptc.Target(self.rule, "CT")
++ self.target.notrack = "true"
++ self.rule.target = self.target
++
++ self.chain = iptc.Chain(iptc.Table(iptc.Table.RAW),
++ "iptc_test_ct")
++ try:
++ self.chain.flush()
++ self.chain.delete()
++ except:
++ pass
++ iptc.Table(iptc.Table.RAW).create_chain(self.chain)
++
++ def tearDown(self):
++ self.chain.flush()
++ self.chain.delete()
++
++ def test_ct(self):
++ self.chain.insert_rule(self.rule)
++ t = self.chain.rules[0].target
++ self.assertEquals(t.name, "CT")
++ self.assertTrue(t.notrack is not None)
++
++
+ def suite():
+ suites = []
+ suite_target = unittest.TestLoader().loadTestsFromTestCase(TestTarget)
+@@ -383,14 +414,15 @@ def suite():
+ TestIPTMasqueradeTarget)
+ suite_dnat = unittest.TestLoader().loadTestsFromTestCase(
+ TestDnatTarget)
+- suite_conntrack = unittest.TestLoader().loadTestsFromTestCase(
++ suite_notrack = unittest.TestLoader().loadTestsFromTestCase(
+ TestXTNotrackTarget)
++ suite_ct = unittest.TestLoader().loadTestsFromTestCase(TestXTCtTarget)
+ suites.extend([suite_target, suite_cluster, suite_tos])
+ if is_table_available(iptc.Table.NAT):
+ suites.extend([suite_target, suite_cluster, suite_redir, suite_tos,
+ suite_masq, suite_dnat])
+ if is_table_available(iptc.Table.RAW):
+- suites.extend([suite_conntrack])
++ suites.extend([suite_notrack, suite_ct])
+ return unittest.TestSuite(suites)
+
+
diff --git a/dev-python/python-iptables/files/python-iptables-fix-ctypes.patch b/dev-python/python-iptables/files/python-iptables-fix-ctypes.patch
new file mode 100644
index 000000000000..8359bf5b4c03
--- /dev/null
+++ b/dev-python/python-iptables/files/python-iptables-fix-ctypes.patch
@@ -0,0 +1,70 @@
+https://github.com/ldx/python-iptables/pull/59
+
+From 6c30ca04656062bf95a1039d6e4bc7440150b9bc Mon Sep 17 00:00:00 2001
+From: Tim Harder <radhermit@gmail.com>
+Date: Sat, 22 Feb 2014 01:11:40 -0800
+Subject: [PATCH 2/2] Fix return and argument types for various libiptc API
+ calls.
+
+---
+ iptc/ip4tc.py | 6 +++---
+ iptc/ip6tc.py | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/iptc/ip4tc.py b/iptc/ip4tc.py
+index a953f41..fd3fc78 100644
+--- a/iptc/ip4tc.py
++++ b/iptc/ip4tc.py
+@@ -103,7 +103,7 @@ _libiptc, _ = find_library("ip4tc", "iptc") # old iptables versions use iptc
+ class iptc(object):
+ """This class contains all libiptc API calls."""
+ iptc_init = _libiptc.iptc_init
+- iptc_init.restype = ct.c_void_p
++ iptc_init.restype = ct.POINTER(ct.c_int)
+ iptc_init.argstype = [ct.c_char_p]
+
+ iptc_free = _libiptc.iptc_free
+@@ -120,11 +120,11 @@ class iptc(object):
+
+ iptc_first_chain = _libiptc.iptc_first_chain
+ iptc_first_chain.restype = ct.c_char_p
+- iptc_first_chain.argstype = [ct.c_char_p, ct.c_void_p]
++ iptc_first_chain.argstype = [ct.c_void_p]
+
+ iptc_next_chain = _libiptc.iptc_next_chain
+ iptc_next_chain.restype = ct.c_char_p
+- iptc_next_chain.argstype = [ct.c_char_p, ct.c_void_p]
++ iptc_next_chain.argstype = [ct.c_void_p]
+
+ iptc_is_chain = _libiptc.iptc_is_chain
+ iptc_is_chain.restype = ct.c_int
+diff --git a/iptc/ip6tc.py b/iptc/ip6tc.py
+index dbf034d..10422d8 100644
+--- a/iptc/ip6tc.py
++++ b/iptc/ip6tc.py
+@@ -82,7 +82,7 @@ _libiptc, _ = find_library("ip6tc", "iptc") # old iptables versions use iptc
+ class ip6tc(object):
+ """This class contains all libip6tc API calls."""
+ iptc_init = _libiptc.ip6tc_init
+- iptc_init.restype = ct.c_void_p
++ iptc_init.restype = ct.POINTER(ct.c_int)
+ iptc_init.argstype = [ct.c_char_p]
+
+ iptc_free = _libiptc.ip6tc_free
+@@ -99,11 +99,11 @@ class ip6tc(object):
+
+ iptc_first_chain = _libiptc.ip6tc_first_chain
+ iptc_first_chain.restype = ct.c_char_p
+- iptc_first_chain.argstype = [ct.c_char_p, ct.c_void_p]
++ iptc_first_chain.argstype = [ct.c_void_p]
+
+ iptc_next_chain = _libiptc.ip6tc_next_chain
+ iptc_next_chain.restype = ct.c_char_p
+- iptc_next_chain.argstype = [ct.c_char_p, ct.c_void_p]
++ iptc_next_chain.argstype = [ct.c_void_p]
+
+ iptc_is_chain = _libiptc.ip6tc_is_chain
+ iptc_is_chain.restype = ct.c_int
+--
+1.9.0
+
diff --git a/dev-python/python-iptables/metadata.xml b/dev-python/python-iptables/metadata.xml
new file mode 100644
index 000000000000..a46ccb914a05
--- /dev/null
+++ b/dev-python/python-iptables/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Python Bindings for IPtables: Iptables is the tool that is used to manage netfilter,
+ the standard packet filtering and manipulation framework under Linux. As the iptables
+ manpage puts it: Iptables is used to set up, maintain, and inspect the tables of IPv4
+ packet filter rules in the Linux kernel. Several different tables may be defined.
+ Each table contains a number of built-in chains and may also contain user-defined
+ chains. Each chain is a list of rules which can match a set of packets. Each rule
+ specifies what to do with a packet that matches. This is called a target, which may be
+ a jump to a user-defined chain in the same table. Python-iptables provides python
+ bindings to iptables under Linux. Interoperability with iptables is achieved via
+ using the iptables C libraries (libiptc, libxtables, and the iptables extensions), not
+ calling the iptables binary and parsing its output.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-iptables</remote-id>
+ <remote-id type="github">ldx/python-iptables</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-iptables/python-iptables-0.8.0.ebuild b/dev-python/python-iptables/python-iptables-0.8.0.ebuild
new file mode 100644
index 000000000000..b2929e7c7fe5
--- /dev/null
+++ b/dev-python/python-iptables/python-iptables-0.8.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for iptables"
+HOMEPAGE="https://github.com/ldx/python-iptables"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="net-firewall/iptables
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+# tests manipulate live iptables rules, so disable them by default
+RESTRICT=test
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ ${PYTHON} test.py || die "tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-iptables/python-iptables-0.9.0.ebuild b/dev-python/python-iptables/python-iptables-0.9.0.ebuild
new file mode 100644
index 000000000000..3c30722be9aa
--- /dev/null
+++ b/dev-python/python-iptables/python-iptables-0.9.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for iptables"
+HOMEPAGE="https://github.com/ldx/python-iptables"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="net-firewall/iptables
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+# tests manipulate live iptables rules, so disable them by default
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -e "s/, 'sphinx.ext.intersphinx'//" -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
new file mode 100644
index 000000000000..cb47a128d413
--- /dev/null
+++ b/dev-python/python-ironicclient/Manifest
@@ -0,0 +1 @@
+DIST python-ironicclient-0.5.1.tar.gz 85524 SHA256 91dca5039ca06d6dcd74a132a261db1d85ebf6dcdfb9d7cee4efff657f6729d6 SHA512 787052c79341f44df1520c1f94a59574cb2a6dd5ecbcd23c5ced6dcec75decb310f082fdc5dc6d0ac7c86a8007fcd72ebeb0c25ca940e4e4a4eb635b661c10b8 WHIRLPOOL 4e00b4733814ce415a5dbe551f48e0367f5fd18733c3ecb171b06321c4145330949df2627b51797a2c4f8eaf094379d58e7c329bd322925c752a46394e89cc2f
diff --git a/dev-python/python-ironicclient/metadata.xml b/dev-python/python-ironicclient/metadata.xml
new file mode 100644
index 000000000000..c3b4ea85ba5a
--- /dev/null
+++ b/dev-python/python-ironicclient/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ API bindings and client for the OpenStack bare metal provisioning service.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-ironicclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-ironicclient/python-ironicclient-0.5.1.ebuild b/dev-python/python-ironicclient/python-ironicclient-0.5.1.ebuild
new file mode 100644
index 000000000000..6594a1282810
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-0.5.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+CDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+CRDEPEND="
+ >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ ${CRDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-0.8.4[${PYTHON_USEDEP}]
+ !~dev-python/httpretty-0.8.7[${PYTHON_USEDEP}]
+ !~dev-python/httpretty-0.8.8[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ ${CRDEPEND}
+"
+
+python_test() {
+ #rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/python-iwscan/Manifest b/dev-python/python-iwscan/Manifest
new file mode 100644
index 000000000000..6bc6263a7125
--- /dev/null
+++ b/dev-python/python-iwscan/Manifest
@@ -0,0 +1 @@
+DIST python-iwscan-20080402.tar.bz2 16891 SHA256 1e534508597bd86cfab3f3d7b5e1f6d924812f374e3e26c1546c4ecbb07f8b8c SHA512 9e9d5e1b2cc491879a4f8a216044f46253820c6c8f30904a1867f758f6d158a9270c9c70a91f22a80f15fbe0446d786869104c5dc5d6bfcab470a79478f533d2 WHIRLPOOL de4a05b688e160ef721de71304a44731e5d28e803c27619d40a5c467674dcc2c5413c80ed5b97e1a739f6e3a41ec69b26ae3b2d71f17b3d5d088906d1481077d
diff --git a/dev-python/python-iwscan/files/python-iwscan-20080402-wireless-tools-30.patch b/dev-python/python-iwscan/files/python-iwscan-20080402-wireless-tools-30.patch
new file mode 100644
index 000000000000..16a9dce1858f
--- /dev/null
+++ b/dev-python/python-iwscan/files/python-iwscan-20080402-wireless-tools-30.patch
@@ -0,0 +1,14 @@
+--- pyiwscan.c
++++ pyiwscan.c
+@@ -13,6 +13,11 @@
+ #include <structmember.h>
+ #include <iwlib.h>
+
++/* PROC_NET_WIRELESS is defined in iwlib-private.h since wireless-tools-30_pre9 */
++#ifndef PROC_NET_WIRELESS
++#define PROC_NET_WIRELESS "/proc/net/wireless"
++#endif
++
+ #define IWSCAN_VERSION_MAJOR 0
+ #define IWSCAN_VERSION_MINOR 7
+ #define IWSCAN_VERSION_MICRO 0
diff --git a/dev-python/python-iwscan/metadata.xml b/dev-python/python-iwscan/metadata.xml
new file mode 100644
index 000000000000..b193248853bc
--- /dev/null
+++ b/dev-python/python-iwscan/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-iwscan/python-iwscan-20080402-r1.ebuild b/dev-python/python-iwscan/python-iwscan-20080402-r1.ebuild
new file mode 100644
index 000000000000..c111ce46fdcd
--- /dev/null
+++ b/dev-python/python-iwscan/python-iwscan-20080402-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="A Python extension for iwscan access"
+HOMEPAGE="http://projects.otaku42.de/browser/python-iwscan"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+DEPEND="net-wireless/wireless-tools"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-wireless-tools-30.patch"
+)
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
diff --git a/dev-python/python-keystoneclient/Manifest b/dev-python/python-keystoneclient/Manifest
new file mode 100644
index 000000000000..bfc53e15ed18
--- /dev/null
+++ b/dev-python/python-keystoneclient/Manifest
@@ -0,0 +1,7 @@
+DIST python-keystoneclient-1.0.0.tar.gz 314308 SHA256 6d960d2196efc7a181519a77f757a27ceeeac71f41f624318ae7f1088d2e6db4 SHA512 331d1f634c06f142628c6c641e49a75ca721eb6a37e11827b12db293eeef3e39e9565b38db27d9e39464ef80f5a6d1da2b4e0365dc2eba2b22f63abe0b2992fc WHIRLPOOL abd1173e4caf31ffdef01e7a5f13869dcea4d8c053805ec995b675a46350f2c2a8d5c6d692127a048690b018c3785dc005d6c752df86277dc04873a4daa19525
+DIST python-keystoneclient-1.1.1.tar.gz 324552 SHA256 60fe8347f2a30a2e22f7a8cba9aed5c6f4a2ee78955d0a1cfdcd529a12ff9a05 SHA512 0dd4f346b2a9a434213f7d0cf971b2d156b25b66c8fa1b5213861158cc928c30f9328753f4ea63ee2f46a331db7281bbc98d0cc6d06fdb0204e5e2bb0a9d384d WHIRLPOOL 2a778d5debfd59bac5e0a0992473dac695765b8aec6d687087cc173b43a691a60424a8a054a2e9ca292898ac40dc9a1c55bfd15b76043e98762e4aa07e46c338
+DIST python-keystoneclient-1.3.1.tar.gz 338187 SHA256 8a421dbdf01251119164bf6baa0ef78b261e5dd4d3508748e47b77d7652e7e92 SHA512 d11825b717d0aeec67d4dfb0382173ee834fe3dea2097b8ff9505b86bb08a5579d6fe87509d65022d4436a3a1b4d20f2a877ece3160b53979999495b77df0f08 WHIRLPOOL 9aa0af722f56eb4d98d7efb8a35b1db95207970fba0b32496a9ae4593a16471f976efe1e9bb3690106ec0f5a76b5a744e9177cc7c03d9ffe9ed54111e3bb138c
+DIST python-keystoneclient-1.3.2.tar.gz 342434 SHA256 1b2fd5ceeefd8d75ee749acd2c3dd8805c833c89828075b814392069cd5ae1eb SHA512 4cd986c42256fbc366b81c07ab637fe81358dde530a8e9a5b3f59f4deef5d56fb1799fc82d35a3f04d3e3b810c94bfc21235e93a77c925d235322aeaa20e420c WHIRLPOOL 65b776c928126f92108c1585658a10b89e6563ff8e71f8f249fdb86e11b29811de12b17ddddb39845d66ff9533ae44d93148bd811d1e31577092c3b598348c03
+DIST python-keystoneclient-1.4.0.tar.gz 347743 SHA256 f525fc2431dc3eb863490d4d026d4dfb24e3b5a57496557cb6b5e7ebe9a7f9b0 SHA512 0a044235b5c9da2c9854e5e612ce1ae1c859119f661c226d8da53879b52d3e484d481a57e5daa6b1cf3e4f65ac1d47a4c24d720fe450b791f5752a44906d53d5 WHIRLPOOL bdc7c07fbc625c15baf12278d00c75ee40b3d240e62833d818fa9085a960d75d62a681b5e8965d5c968b0d1ed4bb21eddb29c141cf7100f2af86cae9d2e9834e
+DIST python-keystoneclient-1.5.0.tar.gz 344611 SHA256 7e2da00b5f65b60a84b5891b8070a5e3ff12f76da8e6be23cc4d97287325cff7 SHA512 26bdda147549b3ca9c46aff20451c5b9ad7eea6b39eea8f5cf4b682c2f62eebfba64cfa82569993979299c7af20e0fa9652db5fbd51969dc97fe744cb1d0452d WHIRLPOOL 2fa31b1c05cb7c9dfa01302878edb470c36ebd6c65cd6bc9deeb8f87228e8125c1fa3a395df22d68d51fb411ca37deb5b35dac1df4b828ba867d3c52c53e45a2
+DIST python-keystoneclient-1.6.0.tar.gz 346719 SHA256 45ac3b13b8b63ab62cb3fbfcaf46a2241d8053dfe17961db911c45c1f23d06ff SHA512 72447f53afb1b32285077865511cc5a5fa472d27d04b88570eee5cae9a8ed689e7ebe65ab5576ce170b89bb3be3cf9cfa4e8cc79d5337659f93479a37ec09659 WHIRLPOOL 8dff45331be9267f2a1935008c5b2d5391ff2698060619ab0b1dc3036d21d8dae1cf226b750e83314512e0626d569149d85dea68781c7a9e39663f1bd7b34e18
diff --git a/dev-python/python-keystoneclient/files/keystoneclient-1.0.0-cve-2015-1852.patch b/dev-python/python-keystoneclient/files/keystoneclient-1.0.0-cve-2015-1852.patch
new file mode 100644
index 000000000000..4b278dfec033
--- /dev/null
+++ b/dev-python/python-keystoneclient/files/keystoneclient-1.0.0-cve-2015-1852.patch
@@ -0,0 +1,63 @@
+diff --git a/keystoneclient/middleware/s3_token.py b/keystoneclient/middleware/s3_token.py
+index b27b9ce..4ced7a7 100644
+--- a/keystoneclient/middleware/s3_token.py
++++ b/keystoneclient/middleware/s3_token.py
+@@ -34,6 +34,7 @@ This WSGI component:
+ import logging
+
+ from oslo.serialization import jsonutils
++from oslo_utils import strutils
+ import requests
+ import six
+ from six.moves import urllib
+@@ -116,7 +117,7 @@ class S3Token(object):
+ self.request_uri = '%s://%s:%s' % (auth_protocol, auth_host, auth_port)
+
+ # SSL
+- insecure = conf.get('insecure', False)
++ insecure = strutils.bool_from_string(conf.get('insecure', False))
+ cert_file = conf.get('certfile')
+ key_file = conf.get('keyfile')
+
+diff --git a/keystoneclient/tests/test_s3_token_middleware.py b/keystoneclient/tests/test_s3_token_middleware.py
+index ab77b79..91c3e81 100644
+--- a/keystoneclient/tests/test_s3_token_middleware.py
++++ b/keystoneclient/tests/test_s3_token_middleware.py
+@@ -124,7 +124,7 @@ class S3TokenMiddlewareTestGood(S3TokenMiddlewareTestBase):
+ @mock.patch.object(requests, 'post')
+ def test_insecure(self, MOCK_REQUEST):
+ self.middleware = (
+- s3_token.filter_factory({'insecure': True})(FakeApp()))
++ s3_token.filter_factory({'insecure': 'True'})(FakeApp()))
+
+ text_return_value = jsonutils.dumps(GOOD_RESPONSE)
+ if six.PY3:
+@@ -142,6 +142,28 @@ class S3TokenMiddlewareTestGood(S3TokenMiddlewareTestBase):
+ mock_args, mock_kwargs = MOCK_REQUEST.call_args
+ self.assertIs(mock_kwargs['verify'], False)
+
++ def test_insecure_option(self):
++ # insecure is passed as a string.
++
++ # Some non-secure values.
++ true_values = ['true', 'True', '1', 'yes']
++ for val in true_values:
++ config = {'insecure': val, 'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertIs(False, middleware.verify)
++
++ # Some "secure" values, including unexpected value.
++ false_values = ['false', 'False', '0', 'no', 'someweirdvalue']
++ for val in false_values:
++ config = {'insecure': val, 'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertEqual('false_ind', middleware.verify)
++
++ # Default is secure.
++ config = {'certfile': 'false_ind'}
++ middleware = s3_token.filter_factory(config)(FakeApp())
++ self.assertIs('false_ind', middleware.verify)
++
+
+ class S3TokenMiddlewareTestBad(S3TokenMiddlewareTestBase):
+ def setUp(self):
diff --git a/dev-python/python-keystoneclient/metadata.xml b/dev-python/python-keystoneclient/metadata.xml
new file mode 100644
index 000000000000..861406253ce0
--- /dev/null
+++ b/dev-python/python-keystoneclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A client for the OpenStack Keystone API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-keystoneclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.0.0-r1.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..9ee41aa90547
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.0.0-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="https://github.com/openstack/python-keystoneclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ ${TCDEPEND}
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+"${FILESDIR}/keystoneclient-1.0.0-cve-2015-1852.patch"
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.1.1.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.1.1.ebuild
new file mode 100644
index 000000000000..8fb59066b3da
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.1.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="https://github.com/openstack/python-keystoneclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+CDEPEND="
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+"
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ test? (
+ ${TCDEPEND}
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+"${FILESDIR}/keystoneclient-1.0.0-cve-2015-1852.patch"
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.3.1.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.3.1.ebuild
new file mode 100644
index 000000000000..f18e2c985ded
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.3.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.3.2.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.3.2.ebuild
new file mode 100644
index 000000000000..acb6632369f9
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.3.2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+ <dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.4.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.4.0.ebuild
new file mode 100644
index 000000000000..a7880a6c27c0
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.4.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.5.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.5.0.ebuild
new file mode 100644
index 000000000000..48c3e9d286c1
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.5.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.6.0-r1.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..1fba411a3327
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.6.0-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ sed -i '/^argparse/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-1.6.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-1.6.0.ebuild
new file mode 100644
index 000000000000..48c3e9d286c1
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-1.6.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="http://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86 ~x86-linux"
+IUSE="doc examples test"
+
+# Note: blacklist version not in portage:
+#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
+
+TCDEPEND="
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ ${TCDEPEND}
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ ${TCDEPEND}
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+"
+PATCHES=(
+)
+
+python_prepare_all() {
+ use doc && esetup.py build_sphinx
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
new file mode 100644
index 000000000000..7c6f3bf95f78
--- /dev/null
+++ b/dev-python/python-ldap/Manifest
@@ -0,0 +1,3 @@
+DIST python-ldap-2.4.15.tar.gz 111597 SHA256 30bcac33ded943557fbafb1b6d9c345deab34d89d63dbcee9e6b59207db11670 SHA512 2e2d5ecc4f96a63465dbc0da3b8a524729cf199f95eb559beeea5466da4fa9667f61aff7e482f73d6581d24477cb4780fccd599619fbb92b2810bdc81f2de310 WHIRLPOOL c3c3135a2b073cc74d2692df0b9d0baaf8353ce253619747fb0626fa34b3f6df8dde184894856b934b63666c413aed81e80f3321893539d1825660a1f75b1be6
+DIST python-ldap-2.4.19.tar.gz 138503 SHA256 02fddb3accbfb54e40ff47a59457e422b253f9fb6cd64bb3851b349295fab048 SHA512 bfa8b87449f03d70d78bf890d1190ef5a153e1b84db97ca4b40465bfba9faedace2a69f4ae1279ef6323c01255f52993cf0e4374bc32d9660a5286dfc7c17b85 WHIRLPOOL 708c6744b41fc4c9dc4473a9ab088016aa722f5b196c080973fedbb07a08dd57f859ddb5d193665349f44d2d08ff9e2f797cfa6af23e34624f1d0a9e21d62d4d
+DIST python-ldap-2.4.20.tar.gz 142355 SHA256 4b8891539a3171d993cf7896b632ff088a4c707ae85ac3c77db1454f7949f3e2 SHA512 d8afe217c18d49b70089bc47bac7c48f57774b78b1dd44ae3a60e669a3df59058d8579b9de64a2349af612db8e3c1ea5bfa5a47148c651cbfa4038dbc58b9ff2 WHIRLPOOL 562993e84f5c41b3aefd808a047d6cf8ea6c4284171f7f0d858d3a7417a67e31b06f283ed557fbad3fde25a4a9d2c049cbce52c0759b94850ea19848e4192f64
diff --git a/dev-python/python-ldap/metadata.xml b/dev-python/python-ldap/metadata.xml
new file mode 100644
index 000000000000..c60eaa2fade6
--- /dev/null
+++ b/dev-python/python-ldap/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ <description>Upstream of the python3 port</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-ldap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-ldap/python-ldap-2.4.15.ebuild b/dev-python/python-ldap/python-ldap-2.4.15.ebuild
new file mode 100644
index 000000000000..c6069dd03975
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-2.4.15.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# setup.py is written only for py2, which suits pypy
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 multilib
+
+DESCRIPTION="Various LDAP-related Python modules"
+HOMEPAGE="http://www.python-ldap.org http://pypi.python.org/pypi/python-ldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-solaris"
+# doc flag dropped due to absence of the docs
+IUSE="examples sasl ssl"
+
+# If you need support for openldap-2.3.x, please use python-ldap-2.3.9.
+# python team: Please do not remove python-ldap-2.3.9 from the tree.
+# OpenSSL is an optional runtime dep.
+RDEPEND=">net-nds/openldap-2.4.11
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed -e "s:^library_dirs =.*:library_dirs = /usr/$(get_libdir) /usr/$(get_libdir)/sasl2:" \
+ -e "s:^include_dirs =.*:include_dirs = ${EPREFIX}/usr/include ${EPREFIX}/usr/include/sasl:" \
+ -i setup.cfg || die "error fixing setup.cfg"
+
+ local mylibs="ldap"
+ if use sasl; then
+ use ssl && mylibs="ldap_r"
+ mylibs="${mylibs} sasl2"
+ else
+ sed -e 's/HAVE_SASL//g' -i setup.cfg || die
+ fi
+ use ssl && mylibs="${mylibs} ssl crypto"
+ use elibc_glibc && mylibs="${mylibs} resolv"
+
+ sed -e "s:^libs = .*:libs = lber ${mylibs}:" \
+ -i setup.cfg || die "error setting up libs in setup.cfg"
+
+ # set test expected to fail to expectedFailure
+ sed -e "s:^ def test_bad_urls: @unittest.expectedFailure\n def test_bad_urls:" \
+ -i Tests/t_ldapurl.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # XXX: the tests supposedly can start local slapd
+ # but it requires some manual config, it seems.
+
+ "${PYTHON}" Tests/t_ldapurl.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( Demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-ldap/python-ldap-2.4.19.ebuild b/dev-python/python-ldap/python-ldap-2.4.19.ebuild
new file mode 100644
index 000000000000..cd7f3949668a
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-2.4.19.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# setup.py is written only for py2, which suits pypy
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 multilib
+
+DESCRIPTION="Various LDAP-related Python modules"
+HOMEPAGE="http://www.python-ldap.org http://pypi.python.org/pypi/python-ldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~hppa ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~x86-solaris"
+IUSE="doc examples sasl ssl"
+
+# If you need support for openldap-2.3.x, please use python-ldap-2.3.9.
+# python team: Please do not remove python-ldap-2.3.9 from the tree.
+# OpenSSL is an optional runtime dep.
+# setup.py incorrectly sets setuptools and misses pyasn1 and pyasn1-modules in install_requires
+RDEPEND=">net-nds/openldap-2.4.11
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "s:^library_dirs =.*:library_dirs = /usr/$(get_libdir) /usr/$(get_libdir)/sasl2:" \
+ -e "s:^include_dirs =.*:include_dirs = ${EPREFIX}/usr/include ${EPREFIX}/usr/include/sasl:" \
+ -i setup.cfg || die "error fixing setup.cfg"
+
+ local mylibs="ldap"
+ if use sasl; then
+ use ssl && mylibs="ldap_r"
+ mylibs="${mylibs} sasl2"
+ else
+ sed -e 's/HAVE_SASL//g' -i setup.cfg || die
+ fi
+ use ssl && mylibs="${mylibs} ssl crypto"
+ use elibc_glibc && mylibs="${mylibs} resolv"
+
+ sed -e "s:^libs = .*:libs = lber ${mylibs}:" \
+ -i setup.cfg || die "error setting up libs in setup.cfg"
+
+ # set test expected to fail to expectedFailure
+ sed -e "s:^ def test_bad_urls: @unittest.expectedFailure\n def test_bad_urls:" \
+ -i Tests/t_ldapurl.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C Doc html
+}
+
+python_test() {
+ # XXX: the tests supposedly can start local slapd
+ # but it requires some manual config, it seems.
+
+ "${PYTHON}" Tests/t_ldapurl.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( Demo/. )
+ use doc && local HTML_DOCS=( Doc/.build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-ldap/python-ldap-2.4.20.ebuild b/dev-python/python-ldap/python-ldap-2.4.20.ebuild
new file mode 100644
index 000000000000..3ad2d9e764d6
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-2.4.20.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# setup.py is written only for py2, which suits pypy
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 multilib
+
+DESCRIPTION="Various LDAP-related Python modules"
+HOMEPAGE="http://www.python-ldap.org http://pypi.python.org/pypi/python-ldap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-solaris"
+IUSE="doc examples sasl ssl"
+
+# If you need support for openldap-2.3.x, please use python-ldap-2.3.9.
+# python team: Please do not remove python-ldap-2.3.9 from the tree.
+# OpenSSL is an optional runtime dep.
+# setup.py sets setuptools and misses pyasn1 and pyasn1-modules in install_requires
+RDEPEND=">net-nds/openldap-2.4.11
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "s:^library_dirs =.*:library_dirs = /usr/$(get_libdir) /usr/$(get_libdir)/sasl2:" \
+ -e "s:^include_dirs =.*:include_dirs = ${EPREFIX}/usr/include ${EPREFIX}/usr/include/sasl:" \
+ -i setup.cfg || die "error fixing setup.cfg"
+
+ local mylibs="ldap"
+ if use sasl; then
+ use ssl && mylibs="ldap_r"
+ mylibs="${mylibs} sasl2"
+ else
+ sed -e 's/HAVE_SASL//g' -i setup.cfg || die
+ fi
+ use ssl && mylibs="${mylibs} ssl crypto"
+ use elibc_glibc && mylibs="${mylibs} resolv"
+
+ sed -e "s:^libs = .*:libs = lber ${mylibs}:" \
+ -i setup.cfg || die "error setting up libs in setup.cfg"
+
+ # set test expected to fail to expectedFailure
+ sed -e "s:^ def test_bad_urls: @unittest.expectedFailure\n def test_bad_urls:" \
+ -i Tests/t_ldapurl.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C Doc html
+}
+
+python_test() {
+ # XXX: the tests supposedly can start local slapd
+ # but it requires some manual config, it seems.
+
+ "${PYTHON}" Tests/t_ldapurl.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( Demo/. )
+ use doc && local HTML_DOCS=( Doc/.build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-ldap/python-ldap-9999.ebuild b/dev-python/python-ldap/python-ldap-9999.ebuild
new file mode 100644
index 000000000000..7711f124ad65
--- /dev/null
+++ b/dev-python/python-ldap/python-ldap-9999.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# pypy: bug #458558 (wrong linker options due to not respecting CC)
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+inherit distutils-r1 git-2 multilib
+
+DESCRIPTION="Various LDAP-related Python modules"
+HOMEPAGE="http://www.python-ldap.org http://pypi.python.org/pypi/python-ldap"
+EGIT_REPO_URI="https://github.com/xmw/python-ldap.git"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc examples sasl ssl"
+
+# If you need support for openldap-2.3.x, please use python-ldap-2.3.9.
+# python team: Please do not remove python-ldap-2.3.9 from the tree.
+RDEPEND=">=net-nds/openldap-2.4
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sasl? ( >=dev-libs/cyrus-sasl-2.1 )"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "s:^library_dirs =.*:library_dirs = /usr/$(get_libdir) /usr/$(get_libdir)/sasl2:" \
+ -e "s:^include_dirs =.*:include_dirs = ${EPREFIX}/usr/include ${EPREFIX}/usr/include/sasl:" \
+ -i setup.cfg || die "error fixing setup.cfg"
+
+ local mylibs="ldap"
+ if use sasl; then
+ use ssl && mylibs="ldap_r"
+ mylibs="${mylibs} sasl2"
+ else
+ sed -e 's/HAVE_SASL//g' -i setup.cfg || die
+ fi
+ use ssl && mylibs="${mylibs} ssl crypto"
+ use elibc_glibc && mylibs="${mylibs} resolv"
+
+ sed -e "s:^libs = .*:libs = lber ${mylibs}:" \
+ -i setup.cfg || die "error setting up libs in setup.cfg"
+
+ # set test expected to fail to expectedFailure
+ sed -e "s:^ def test_bad_urls: @unittest.expectedFailure\n def test_bad_urls:" \
+ -i Tests/t_ldapurl.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C Doc html
+}
+
+python_test() {
+ # XXX: the tests supposedly can start local slapd
+ # but it requires some manual config, it seems.
+
+ "${PYTHON}" Tests/t_ldapurl.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( Demo/. )
+ use doc && local HTML_DOCS=( Doc/.build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-levenshtein/Manifest b/dev-python/python-levenshtein/Manifest
new file mode 100644
index 000000000000..ef907fee60d3
--- /dev/null
+++ b/dev-python/python-levenshtein/Manifest
@@ -0,0 +1,4 @@
+DIST python-Levenshtein-0.10.2.tar.gz 45023 SHA256 49a3b3c3210157e2070eb46c0713e64f409efc8c9a7520632ddf16f8a9508bed SHA512 a5ad8e0f58f899152166683d4d38fa2df68150743631db282eeb1cfd29d8e3d0ddf83a4543d4322d1f29ff485ebc9d2605d1f25b5adfbad4c62be746812ff65d WHIRLPOOL 420e47c3d5da3ee833423668e6883e005659b16ec433143064498a5e2f85f0cc398a7e6654c5e6857810ff690836a72ed0c1f040d3dc485ab58f8570d91fb22a
+DIST python-Levenshtein-0.11.1.tar.gz 35270 SHA256 7c194ae48457951b42e66188d9315ac28ed43d68ecc995fd82c1975ed1fbdd0e SHA512 335f29253ec7bba8d54881dfe093ac194626cdaad0cc6ed08327917d6187cdfe1fbb3d003744f991587f8dc800aa1d361e3aa0b276b31ecfe7a43d83ea0d660b WHIRLPOOL 34053f03dc123bb60a5a936b56d19cf8238c9c6f443e6643525ea467bd7e9a9bbffbc597481f1426a614077938f98718c0e1e6138f968dced49cc865bc214d7d
+DIST python-Levenshtein-0.11.2.tar.gz 45458 SHA256 c1311c71beb5b6eecea4bba200a626331ef67110357448be47ba1bfe3c4aa305 SHA512 67d701e841c9a846948a1f2c70ea06c6473e3ae1437f73df2a2747d576024889a12e00c4a61e95b6c14826554b1ebaf65375cf5be4f26df3b208568403192bf3 WHIRLPOOL 5acbb305efeebd56ce79256efdef870f5ef92832e0b7f6b5b4d7d569c1e51821def06ac0a9ddfa165211b129f109e1089a3982b004a7a1982c93e5ca09aa2c89
+DIST python-Levenshtein-0.12.0.tar.gz 48617 SHA256 033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1 SHA512 95df064490970618b003bccbef9071b1a2a3ee4645ac8e851f4205bd4e8123d21ee0ee733adfeec79085faa01ba39902e2a4a26bfb21b70678377579157df4a5 WHIRLPOOL e1e0b50efcbe82d8043e352d0e0f4275bdcad27342f699f8ad4516d5591647af8ea2b9c27395c7a982a77a0c9593ad12cb1bf8a68996c943877752bf681b41e1
diff --git a/dev-python/python-levenshtein/files/genextdoc.py b/dev-python/python-levenshtein/files/genextdoc.py
new file mode 100644
index 000000000000..8692297236d8
--- /dev/null
+++ b/dev-python/python-levenshtein/files/genextdoc.py
@@ -0,0 +1,214 @@
+#!/usr/bin/python
+# Simple Python extension module doc generator.
+# @(#) $Id$
+# Written by Yeti <yeti@physics.muni.cz>
+# This program is in the public domain.
+import re, sys, types, inspect
+from cgi import escape as q
+
+args = sys.argv
+args.pop(0)
+if not args: sys.exit(0)
+
+selfcontained = False
+if args[0].startswith('-') and 'selfcontained'.startswith(args[0].strip('-')):
+ selfcontained = True
+ args.pop(0)
+if not args: sys.exit(0)
+modname = args.pop(0)
+plain_docs = args
+
+html_head = """\
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head><title>%s %s</title></head>
+<body>
+"""
+
+html_foot = """\
+</body>
+</html>
+"""
+
+def split_para(doc):
+ p = []
+ for x in doc.split('\n\n'):
+ x = x.strip()
+ if x.find('\n>>>') > -1:
+ h, t = x.split('\n>>>', 1)
+ p.append(h)
+ p.append('>>>' + t)
+ else:
+ p.append(x)
+ return p
+
+def get_doc(members):
+ try: doc = members['__doc__']
+ except KeyError: pass
+ if doc: return doc
+ try: doc = 'Python module %s' % members['__name__']
+ except KeyError: pass
+ if doc: return doc
+ else: return 'A Python module'
+
+def format_synopsis(synopsis, link=False, classname=None):
+ lst = synopsis.split('\n')
+ for i, s in zip(range(len(lst)), lst):
+ m = re.match(r'(?P<func>\w+)(?P<args>.*)', s)
+ args = re.sub(r'([a-zA-Z]\w+)', r'<var>\1</var>', m.group('args'))
+ func = m.group('func')
+ if link:
+ if classname:
+ func = '<a href="#%s-%s">%s</a>' % (classname, func, func)
+ else:
+ func = '<a href="#%s">%s</a>' % (func, func)
+ lst[i] = func + args
+ return '<br/>\n'.join(lst)
+
+def format_para(p):
+ if not p: return ''
+ doc = ''
+ if p.startswith('>>>'): doc += '<pre>\n%s\n</pre>\n' % q(p)
+ else:
+ if not re.search('^- ', p, re.M): doc += '<p>%s</p>\n' % q(p)
+ else:
+ p = re.split('(?m)^- ', p)
+ if p[0]: doc += '<p>%s</p>\n' % q(p[0].strip())
+ del p[0]
+ doc += ('<ul>%s</ul>\n'
+ % '\n'.join(['<li>%s</li>' % q(p.strip()) for p in p]))
+ return doc
+
+def preprocess_routine(name, doc):
+ parts = split_para(doc)
+ if parts: summary = parts.pop(0)
+ else: summary = 'FIXME'
+ if parts and re.match(r'\w+\(.*\)', parts[0]): synopsis = parts.pop(0)
+ else: synopsis = name + '()'
+ return {'synopsis': synopsis, 'summary': summary, 'details': parts}
+
+def analyse(obj):
+ members = obj.__dict__
+ if inspect.isclass(obj):
+ main_doc = preprocess_routine(obj.__name__, get_doc(members))
+ bases = [x.__name__ for x in obj.__bases__]
+ else:
+ main_doc = split_para(get_doc(members))
+ bases = []
+ routines = {}
+ classes = {}
+ data = {}
+ for name, m in members.items():
+ if name.startswith('__'): continue
+ try:
+ mro = list(inspect.getmro(m))
+ if mro[0] != m: continue
+ except AttributeError: pass
+ if inspect.isroutine(m):
+ try: doc = m.__doc__
+ except KeyError: pass
+ if not doc: doc = 'FIXME'
+ routines[name] = preprocess_routine(name, doc)
+ continue
+ if inspect.isclass(m):
+ classes[name] = analyse(m)
+ continue
+ t = type(m)
+ if t == types.IntType or t == types.StringType:
+ data[name] = repr(m)
+ else:
+ data[name] = m.__doc__
+ return {'name': obj.__name__, 'doc': main_doc, 'routines': routines,
+ 'classes': classes, 'data': data, 'bases': bases}
+
+def format(tree, level, prefix=''):
+ name = tree['name']
+ if prefix: fullname = '%s-%s' % (prefix, name)
+ else: fullname = name
+ ##### Main doc
+ doc = []
+ if level > 1:
+ doc = ['<h%d id="%s">' % (level, fullname)]
+ try: doc.append(format_synopsis(tree['doc']['synopsis']))
+ except TypeError:
+ doc.append(name)
+ doc.append('</h%d>\n' % level)
+ if tree.has_key('bases'):
+ doc.append('<p>Bases: %s.</p>\n' % ', '.join(tree['bases']))
+ try: lst = [tree['doc']['summary']] + tree['doc']['details']
+ except TypeError: lst = tree['doc']
+ for p in lst: doc.append(format_para(p))
+ ##### Table of contents
+ routines = tree['routines'].keys()
+ classes = tree['classes'].keys()
+ data = tree['data'].keys()
+ if routines:
+ routines.sort()
+ if level == 1: doc.append('<p><b>Functions:</b></p>\n')
+ else: doc.append('<p><b>Methods:</b></p>\n')
+ doc.append('<ul class="ltoc">\n')
+ for r in routines:
+ synopsis = tree['routines'][r]['synopsis']
+ doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True,
+ fullname))
+ doc.append('</ul>\n')
+ if classes:
+ classes.sort()
+ doc.append('<p><b>Classes:</b></p>\n')
+ doc.append('<ul class="ltoc">\n')
+ for r in classes:
+ synopsis = tree['classes'][r]['doc']['synopsis']
+ doc.append('<li>%s</li>\n' % format_synopsis(synopsis, True,
+ fullname))
+ doc.append('</ul>\n')
+ if data:
+ data.sort()
+ doc.append('<p><b>Data:</b></p>\n')
+ doc.append('<ul class="ltoc">\n')
+ for r in data:
+ doc.append('<li>%s = %s</li>\n' % (r, q(tree['data'][r])))
+ doc.append('</ul>\n')
+ ##### Functions
+ if routines:
+ if level == 1: doc.append('<hr/>\n')
+ doc.append('<dl>\n')
+ for r in routines:
+ doc.append('<dt id="%s-%s">' % (fullname, r))
+ rt = tree['routines'][r]
+ doc.append('%s</dt>\n<dd>' % format_synopsis(rt['synopsis']))
+ for p in [rt['summary']] + rt['details']:
+ doc.append(format_para(p))
+ doc.append('</dd>\n')
+ doc.append('</dl>\n')
+ ##### Classes
+ if classes:
+ for r in classes:
+ doc.append('<hr/>\n')
+ doc.append(format(tree['classes'][r], level+1, fullname))
+ return ''.join(doc)
+
+exec 'import %s as __test__' % modname
+doctree = analyse(__test__)
+document = format(doctree, 1)
+print modname + '.html'
+fh = file(modname + '.html', 'w')
+if selfcontained: fh.write(html_head % (modname, 'module API'))
+fh.write(document)
+if selfcontained: fh.write(html_foot)
+fh.close()
+for f in plain_docs:
+ try: fh = file(f, 'r')
+ except: continue
+ document = fh.read()
+ fh.close()
+ print f + '.xhtml'
+ fh = file(f + '.xhtml', 'w')
+ if selfcontained: fh.write(html_head % (modname, f))
+ fh.write('<h1>%s %s</h1>\n\n' % (modname, f))
+ fh.write('<pre class="main">\n')
+ fh.write(document)
+ fh.write('</pre>\n')
+ if selfcontained: fh.write(html_foot)
+ fh.close()
diff --git a/dev-python/python-levenshtein/metadata.xml b/dev-python/python-levenshtein/metadata.xml
new file mode 100644
index 000000000000..97b5719f4a5d
--- /dev/null
+++ b/dev-python/python-levenshtein/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-Levenshtein</remote-id>
+ <remote-id type="github">miohtama/python-Levenshtein</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.10.2-r1.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.10.2-r1.ebuild
new file mode 100644
index 000000000000..d1b2584fa924
--- /dev/null
+++ b/dev-python/python-levenshtein/python-levenshtein-0.10.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="python-Levenshtein"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Functions for fast computation of Levenshtein (edit) distance, and edit operations"
+HOMEPAGE="http://github.com/miohtama/python-Levenshtein/tree/
+ http://pypi.python.org/pypi/python-Levenshtein/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ "${PYTHON}" "${FILESDIR}/genextdoc.py" Levenshtein || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Levenshtein.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.11.1.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.11.1.ebuild
new file mode 100644
index 000000000000..104ad8ce7574
--- /dev/null
+++ b/dev-python/python-levenshtein/python-levenshtein-0.11.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="python-Levenshtein"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Functions for fast computation of Levenshtein (edit) distance, and edit operations"
+HOMEPAGE="http://github.com/miohtama/python-Levenshtein/tree/
+ http://pypi.python.org/pypi/python-Levenshtein/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ "${PYTHON}" "${FILESDIR}/genextdoc.py" Levenshtein || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Levenshtein.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.11.2.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.11.2.ebuild
new file mode 100644
index 000000000000..c4588f37322d
--- /dev/null
+++ b/dev-python/python-levenshtein/python-levenshtein-0.11.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="python-Levenshtein"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Functions for fast computation of Levenshtein (edit) distance, and edit operations"
+HOMEPAGE="http://github.com/miohtama/python-Levenshtein/tree/
+ http://pypi.python.org/pypi/python-Levenshtein/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ # Cannot assume user has a system py2 or pypy
+ if python_is_python3; then
+ die "The build of Levenshtein.html is not supported by python3"
+ else
+ einfo "Generation of documentation"
+ "${PYTHON}" "${FILESDIR}/genextdoc.py" Levenshtein || die "Generation of documentation failed"
+ fi
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Levenshtein.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-levenshtein/python-levenshtein-0.12.0.ebuild b/dev-python/python-levenshtein/python-levenshtein-0.12.0.ebuild
new file mode 100644
index 000000000000..d44c2a691195
--- /dev/null
+++ b/dev-python/python-levenshtein/python-levenshtein-0.12.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="python-Levenshtein"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Functions for fast computation of Levenshtein (edit) distance, and edit operations"
+HOMEPAGE="http://github.com/miohtama/python-Levenshtein/tree/
+ http://pypi.python.org/pypi/python-Levenshtein/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ # Cannot assume user has a system py2 or pypy
+ if python_is_python3; then
+ die "The build of Levenshtein.html is not supported by python3"
+ else
+ einfo "Generation of documentation"
+ "${PYTHON}" "${FILESDIR}/genextdoc.py" Levenshtein || die "Generation of documentation failed"
+ fi
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Levenshtein.html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-linux-procfs/Manifest b/dev-python/python-linux-procfs/Manifest
new file mode 100644
index 000000000000..e63c8dc7d3c0
--- /dev/null
+++ b/dev-python/python-linux-procfs/Manifest
@@ -0,0 +1 @@
+DIST python-linux-procfs-0.4.6.tar.xz 52640 SHA256 4ff41302b213ba271ee2e367cb2eed4ac258f7fb3aec3e23de6d6c24fb68e5f2 SHA512 81dc936c76c2b3272dde85148bfa929e13531c43f7aa61da3def7546fd8c2a257b130f8ae100f1d53936d3dfaebb1ef5b52c022d146f3ed7ef00359a24d05b89 WHIRLPOOL 5d1e32fcc6002b3482ab1ed5a0d40be1a2fb73df4c405a6fe0ae0210e4f8d66897f749a48fca7674a596b6ff8ffe454fb9852ae87d4b7d9d04f0e0943ea20679
diff --git a/dev-python/python-linux-procfs/metadata.xml b/dev-python/python-linux-procfs/metadata.xml
new file mode 100644
index 000000000000..5b80fb94c393
--- /dev/null
+++ b/dev-python/python-linux-procfs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-linux-procfs/python-linux-procfs-0.4.6.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-0.4.6.ebuild
new file mode 100644
index 000000000000..89daa4db3378
--- /dev/null
+++ b/dev-python/python-linux-procfs/python-linux-procfs-0.4.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python classes to extract information from the Linux kernel /proc files"
+HOMEPAGE="https://www.kernel.org/pub/scm/libs/python/python-linux-procfs/
+ https://kernel.googlesource.com/pub/scm/libs/python/python-linux-procfs/python-linux-procfs/"
+SRC_URI="mirror://gentoo/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-python/python-linux-procfs/python-linux-procfs-9999.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-9999.ebuild
new file mode 100644
index 000000000000..4544dbdd95b0
--- /dev/null
+++ b/dev-python/python-linux-procfs/python-linux-procfs-9999.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-2
+
+DESCRIPTION="Python classes to extract information from the Linux kernel /proc files"
+HOMEPAGE="https://www.kernel.org/pub/scm/libs/python/python-linux-procfs/
+ https://kernel.googlesource.com/pub/scm/libs/python/python-linux-procfs/python-linux-procfs/"
+EGIT_REPO_URI="https://www.kernel.org/pub/scm/libs/python/${PN}/${PN}.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
diff --git a/dev-python/python-lzo/Manifest b/dev-python/python-lzo/Manifest
new file mode 100644
index 000000000000..374b3613155f
--- /dev/null
+++ b/dev-python/python-lzo/Manifest
@@ -0,0 +1 @@
+DIST python-lzo-1.08.tar.gz 13046 SHA256 2865afe7b995844bf80af94441d1ccf908b0e3aba3eacf5ba602f23e748476c4 SHA512 94b33e3b0e62b9c8a97147507f4516706d25d62c63ea938f0748e520a3e27760f0e3be142cb3e68aea132ae06759c91b3a4dac8e5010cdfab633e6c8d5904d8c WHIRLPOOL 84bcf130df8341ff145d895bc814b58ec2183c15ffedbc345aa6eb89931f22a9c78899c50b7a054beef9d7ca0b0c4be4e5e407a0ee794ee1830e2c6c9e796a31
diff --git a/dev-python/python-lzo/files/lzo2compat.patch b/dev-python/python-lzo/files/lzo2compat.patch
new file mode 100644
index 000000000000..6ce728753df6
--- /dev/null
+++ b/dev-python/python-lzo/files/lzo2compat.patch
@@ -0,0 +1,13 @@
+--- setup.py
++++ setup.py
+@@ -24,8 +24,8 @@
+ include_dirs.append(os.path.join(CURL_DIR, "include"))
+ extra_objects.append(os.path.join(CURL_DIR, "lzo.lib"))
+ else:
+- libraries = ["lzo"]
+- ##include_dirs.append("/usr/local/include")
++ libraries = ["lzo2"]
++ include_dirs.append("/usr/include/lzo")
+ ##library_dirs.append("/usr/local/lib")
+ ##runtime_library_dirs.append("/usr/local/lib")
+
diff --git a/dev-python/python-lzo/metadata.xml b/dev-python/python-lzo/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/python-lzo/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-lzo/python-lzo-1.08-r1.ebuild b/dev-python/python-lzo/python-lzo-1.08-r1.ebuild
new file mode 100644
index 000000000000..01540f45a666
--- /dev/null
+++ b/dev-python/python-lzo/python-lzo-1.08-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to lzo"
+HOMEPAGE="http://www.oberhumer.com/opensource/lzo/"
+SRC_URI="http://www.oberhumer.com/opensource/lzo/download/LZO-v1/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/lzo:2"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/lzo2compat.patch" )
+
+python_test() {
+ "${PYTHON}" tests/test.py || die "tests failed"
+}
diff --git a/dev-python/python-magic/Manifest b/dev-python/python-magic/Manifest
new file mode 100644
index 000000000000..09d275ea6a1a
--- /dev/null
+++ b/dev-python/python-magic/Manifest
@@ -0,0 +1 @@
+DIST python-magic-0.4.6.tar.gz 3462 SHA256 903d3d3c676e2b1244892954e2bbbe27871a633385a9bfe81f1a81a7032df2fe SHA512 66c3a7a3120ea360422fe422c373a403a21be674f8df213a80ce83b02051cc1f0d0a2aaa7b4d512194e6914d801062036bdfa5155ead350dde154725808944f6 WHIRLPOOL 03fdb881140bdc4cb985fe5854245f067fdfcfa8bf0c8e7d7984ac0708d4978298b69ccb54401038c3c14049ba2e9293db66c48bf025607e139bcf194406fbbe
diff --git a/dev-python/python-magic/metadata.xml b/dev-python/python-magic/metadata.xml
new file mode 100644
index 000000000000..104978c61558
--- /dev/null
+++ b/dev-python/python-magic/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>thev00d00@gentoo.org</email>
+ <name>Ian Whyman</name>
+ </maintainer>
+ <longdescription>Python interface to the libmagic file type identification library.</longdescription>
+ <upstream>
+ <remote-id type="pypi">python-magic</remote-id>
+ <remote-id type="github">ahupp/python-magic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-magic/python-magic-0.4.6-r1.ebuild b/dev-python/python-magic/python-magic-0.4.6-r1.ebuild
new file mode 100644
index 000000000000..a7a9aeedc0da
--- /dev/null
+++ b/dev-python/python-magic/python-magic-0.4.6-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Access the libmagic file type identification library"
+HOMEPAGE="https://github.com/ahupp/python-magic"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ia64 ~x86"
+IUSE=""
+
+DEPEND="sys-apps/file[-python]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/python-memcached/Manifest b/dev-python/python-memcached/Manifest
new file mode 100644
index 000000000000..47088feccb5d
--- /dev/null
+++ b/dev-python/python-memcached/Manifest
@@ -0,0 +1,2 @@
+DIST python-memcached-1.53.tar.gz 35025 SHA256 af04ea031b271a54f085166773e028fe053fc1d9a58cd8b3c3a57945990bfb48 SHA512 33ffd2778025a8e15beddf1660c4b5c9f1ba144adab5c36fd679e15508015c00e3e1185b5cc179cfcfc556b7c3ab44ed9914089e5ce9db66a04d0a658dd38bb3 WHIRLPOOL 81b80a05010eec576ce8eb00ac4c799213bfc82af4dd3d3da138d02337d28dcb5fbefcbdf11e8d9344b307ba8b1ab2a770b8130fce2f732e484f283e2fe85aae
+DIST python-memcached-1.54.tar.gz 36662 SHA256 df21d1431424c512901ecc3cd244039833aebc4bc7d345af403d4abdace20081 SHA512 e66684fba5ac638efef971df14f4049f1aeae1a84a9c530f26560c1150d7b136746daa164754a0e451ee1caf0b24fd856083aa23f42be1bd4e90a6943d9e45ad WHIRLPOOL a2d1c60fba41002c03718a75659ff1c3944e32b3c900643af2ed227e6280af2635f068f27923ed1722ae1407cd3a1e9696e6c628e4898aaf73451105846c31cb
diff --git a/dev-python/python-memcached/metadata.xml b/dev-python/python-memcached/metadata.xml
new file mode 100644
index 000000000000..9e907d287ba4
--- /dev/null
+++ b/dev-python/python-memcached/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+<email>robbat2@gentoo.org</email>
+<name>Robin H. Johnson</name>
+</maintainer>
+<longdescription lang="en">
+This is a Python based API (implemented in 100% python) for communicating with
+the memcached distributed memory object cache daemon.
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/python-memcached/python-memcached-1.53-r1.ebuild b/dev-python/python-memcached/python-memcached-1.53-r1.ebuild
new file mode 100644
index 000000000000..e5ed00caf6c7
--- /dev/null
+++ b/dev-python/python-memcached/python-memcached-1.53-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python memcached client"
+HOMEPAGE="http://www.tummy.com/Community/software/python-memcached/ http://pypi.python.org/pypi/python-memcached"
+SRC_URI="ftp://ftp.tummy.com/pub/python-memcached/old-releases/${P}.tar.gz"
+
+LICENSE="OSL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( net-misc/memcached )"
+RDEPEND=""
+
+# Tests try to connect to memcached via TCP/IP. Please do not re-enable
+# until you get them all to pass properly while using the UNIX socket
+# only and not even trying to connect to memcached over TCP/IP.
+RESTRICT=test
+
+python_test() {
+ # Note: partial. Needs fixing. Stuff like that.
+
+ cd "${TMPDIR}" || die
+
+ local memcached_opts=( -d -P memcached.pid -s memcached.socket )
+ [[ ${EUID} == 0 ]] && memcached_opts+=( -u portage )
+
+ memcached "${memached_opts[@]}" || die
+
+ "${PYTHON}" memcache.py --do-unix || die "Tests fail with ${EPYTHON}"
+
+ kill "$(<memcached.pid)" || die
+ rm memcached.pid || die
+}
diff --git a/dev-python/python-memcached/python-memcached-1.54.ebuild b/dev-python/python-memcached/python-memcached-1.54.ebuild
new file mode 100644
index 000000000000..1551a6424bf7
--- /dev/null
+++ b/dev-python/python-memcached/python-memcached-1.54.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python memcached client"
+HOMEPAGE="http://www.tummy.com/Community/software/python-memcached/ http://pypi.python.org/pypi/python-memcached"
+SRC_URI="ftp://ftp.tummy.com/pub/python-memcached/old-releases/${P}.tar.gz"
+
+LICENSE="OSL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( net-misc/memcached )"
+RDEPEND=""
+
+# Tests try to connect to memcached via TCP/IP. Please do not re-enable
+# until you get them all to pass properly while using the UNIX socket
+# only and not even trying to connect to memcached over TCP/IP.
+RESTRICT=test
+
+python_test() {
+ # Note: partial. Needs fixing. Stuff like that.
+
+ cd "${TMPDIR}" || die
+
+ local memcached_opts=( -d -P memcached.pid -s memcached.socket )
+ [[ ${EUID} == 0 ]] && memcached_opts+=( -u portage )
+
+ memcached "${memached_opts[@]}" || die
+
+ "${PYTHON}" memcache.py --do-unix || die "Tests fail with ${EPYTHON}"
+
+ kill "$(<memcached.pid)" || die
+ rm memcached.pid || die
+}
diff --git a/dev-python/python-mhash/Manifest b/dev-python/python-mhash/Manifest
new file mode 100644
index 000000000000..c0840ef82cf7
--- /dev/null
+++ b/dev-python/python-mhash/Manifest
@@ -0,0 +1 @@
+DIST python-mhash-1.4.tar.gz 17309 SHA256 c61973d91e0ca4cc092ae277346cab8b68279b9aa2fa0d49628daf1c7521e7a8 SHA512 bbb81b35cb19d2dc051c4912e75e679dddeeae39c781240bd3506f58cd5627f56e25cfeaffd2a84db231d0043ee31bedcb833e5245222a80774c51f25908d07a WHIRLPOOL 746b77b0d1ea898f3908ad49fb5701740a2761646faff0ab6c2fcf67164ca6270f1f6a0d6b42354666e2bf7cd90d9ccdfe95bc63f5497a8e86c3848551b62805
diff --git a/dev-python/python-mhash/metadata.xml b/dev-python/python-mhash/metadata.xml
new file mode 100644
index 000000000000..fd0052effa62
--- /dev/null
+++ b/dev-python/python-mhash/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mhash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-mhash/python-mhash-1.4-r1.ebuild b/dev-python/python-mhash/python-mhash-1.4-r1.ebuild
new file mode 100644
index 000000000000..f0f171e442e6
--- /dev/null
+++ b/dev-python/python-mhash/python-mhash-1.4-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Python interface to libmhash"
+HOMEPAGE="http://mhash.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mhash/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 x86 ~ppc-aix ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="app-crypt/mhash"
+RDEPEND="${DEPEND}"
+
+python_configure_all() {
+ # Note: review this when py3 is supported
+ append-flags -fno-strict-aliasing
+}
+
+python_test() {
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-mpd/Manifest b/dev-python/python-mpd/Manifest
new file mode 100644
index 000000000000..835b81c54ef6
--- /dev/null
+++ b/dev-python/python-mpd/Manifest
@@ -0,0 +1,2 @@
+DIST python-mpd-0.5.3.tar.gz 40504 SHA256 2809edf6549596609cd11243d2d847e5981d6e7142a6d5639327a56c72541c94 SHA512 9a3ec0787800e08a34c3d888821f3fab5c9e7e90d5afa382afa5ddfe98cb42fbdcadaa4dc5a2df951dbd42aacd7081a2542847509b7350de232ade3e05fbd638 WHIRLPOOL d434170a44e80180048e13c3486f37eb6e7f98164378b1134cfd30713c0a8cbf201b6cad978dbcc7b3de408c1652ae3adb8b4fd5b4b74c2226b1d63afd92bad9
+DIST python-mpd-0.5.4.tar.gz 45542 SHA256 04dbc3b8d90746298e42852c5b7fb5be5e7af2ca03e812059639b6c060d98c53 SHA512 6303d0eb1ef8120777b2c6a020e30bcc70bbe969b63790391c79ff0baf22c5050fce6a6e4cb80a86351cd76c93c92efb06b4fc2dd2087955d979210c511940ee WHIRLPOOL 4044cb6c368a8e7796775fcca6fb5f1b7df3faf8042b40e6d9baa2129dc6c2a2e500aa523a9ecfed28b561532090939cc87e82a0451085cd73b369c714c83f18
diff --git a/dev-python/python-mpd/metadata.xml b/dev-python/python-mpd/metadata.xml
new file mode 100644
index 000000000000..b0b8e66ea5c5
--- /dev/null
+++ b/dev-python/python-mpd/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>angelos@gentoo.org</email>
+ <name>Christoph Mende</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">python-mpd</remote-id>
+ <remote-id type="github">Mic92/python-mpd2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-mpd/python-mpd-0.5.3.ebuild b/dev-python/python-mpd/python-mpd-0.5.3.ebuild
new file mode 100644
index 000000000000..3130e1db9d4f
--- /dev/null
+++ b/dev-python/python-mpd/python-mpd-0.5.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python MPD client library"
+HOMEPAGE="https://github.com/Mic92/python-mpd2"
+SRC_URI="https://github.com/Mic92/${PN}2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( doc/changes.rst doc/topics/{advanced,commands,getting-started,logging}.rst README.rst )
+
+python_test() {
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-mpd/python-mpd-0.5.4.ebuild b/dev-python/python-mpd/python-mpd-0.5.4.ebuild
new file mode 100644
index 000000000000..f546b3c7ecb1
--- /dev/null
+++ b/dev-python/python-mpd/python-mpd-0.5.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python MPD client library"
+HOMEPAGE="https://github.com/Mic92/python-mpd2"
+SRC_URI="https://github.com/Mic92/${PN}2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( doc/changes.rst doc/topics/{advanced,commands,getting-started,logging}.rst README.rst )
+
+python_test() {
+ "${PYTHON}" test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-musicbrainz-ngs/Manifest b/dev-python/python-musicbrainz-ngs/Manifest
new file mode 100644
index 000000000000..89e5f06932e6
--- /dev/null
+++ b/dev-python/python-musicbrainz-ngs/Manifest
@@ -0,0 +1 @@
+DIST python-musicbrainz-ngs-0.4.tar.gz 54296 SHA256 9251f370b3c1f85018a1bb90989dfd4f63e2a5457a56380543d93abec9675edb SHA512 a40df9512a6b81932560595699dc460b57d3b755c642d489d6e21b3a680385b245a458ac23fed0a922090079d25bf4f562258e81a855d71398531353577a3f19 WHIRLPOOL 47880ec80bbd96c8c4470dad0b786a98aa8ecbb7b3a3761b1eb13db4ce1437415bef89b4bb5f50dc35a9982efcdd0f876baa2fe488cdc3038ada6b1197aab905
diff --git a/dev-python/python-musicbrainz-ngs/files/python-musicbrainz-ngs-0.4-fix-package_data-placement.patch b/dev-python/python-musicbrainz-ngs/files/python-musicbrainz-ngs-0.4-fix-package_data-placement.patch
new file mode 100644
index 000000000000..8cd904e15eb6
--- /dev/null
+++ b/dev-python/python-musicbrainz-ngs/files/python-musicbrainz-ngs-0.4-fix-package_data-placement.patch
@@ -0,0 +1,20 @@
+diff --git a/setup.py b/setup.py
+index 57479d7..4f82328 100644
+--- a/setup.py
++++ b/setup.py
+@@ -52,15 +52,6 @@ setup(
+ author_email="alastair@porter.net.nz",
+ url="https://github.com/alastair/python-musicbrainz-ngs",
+ packages=['musicbrainzngs'],
+- package_data={'musicbrainzngs': ['CHANGES',
+- '../docs/*',
+- '../examples/*',
+- '../test/data/*.xml',
+- '../test/data/artist/*',
+- '../test/data/label/*',
+- '../test/data/release/*',
+- '../test/data/release-group/*',
+- '../test/data/work/*']},
+ cmdclass={'test': test },
+ license='BSD 2-clause',
+ classifiers=[
diff --git a/dev-python/python-musicbrainz-ngs/metadata.xml b/dev-python/python-musicbrainz-ngs/metadata.xml
new file mode 100644
index 000000000000..84c0ebae8480
--- /dev/null
+++ b/dev-python/python-musicbrainz-ngs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+This library implements webservice bindings for the Musicbrainz NGS site, also known as /ws/2.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">alastair/python-musicbrainz-ngs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-musicbrainz-ngs/python-musicbrainz-ngs-0.4.ebuild b/dev-python/python-musicbrainz-ngs/python-musicbrainz-ngs-0.4.ebuild
new file mode 100644
index 000000000000..a58966425061
--- /dev/null
+++ b/dev-python/python-musicbrainz-ngs/python-musicbrainz-ngs-0.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="This library implements webservice bindings for the Musicbrainz NGS site"
+HOMEPAGE="https://github.com/alastair/python-musicbrainz-ngs"
+SRC_URI="https://github.com/alastair/${PN}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="BSD-2 ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=(README.md CHANGES)
+use examples && DOCS+=( examples )
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-package_data-placement.patch"
+ )
+
+python_test() {
+ "${PYTHON}" setup.py test || die
+}
diff --git a/dev-python/python-musicbrainz/Manifest b/dev-python/python-musicbrainz/Manifest
new file mode 100644
index 000000000000..eb4328d8dd0a
--- /dev/null
+++ b/dev-python/python-musicbrainz/Manifest
@@ -0,0 +1 @@
+DIST python-musicbrainz2-0.7.4.tar.gz 76939 SHA256 728fbe415da98dad5c4d462e56cf106cf50cc28eb6a9f46b8ebabc3029f37fb9 SHA512 dbf72a6f2dfa945398f390f20cbf75a5099ea69075b419ece37f1994c816ae36a62c1bf1d7490110e446b3ce441a7d486002c1e91ea4872aba3f4cc183bbf88e WHIRLPOOL 94568d845ab56939a9c476d16ea76cc7176900bd26d8f47d998597462179ec2a320365986113bd26807d67dec47e74127fd02d90197ae8270ab25b1a42dc0679
diff --git a/dev-python/python-musicbrainz/metadata.xml b/dev-python/python-musicbrainz/metadata.xml
new file mode 100644
index 000000000000..414a5eeccf59
--- /dev/null
+++ b/dev-python/python-musicbrainz/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-musicbrainz/python-musicbrainz-0.7.4-r1.ebuild b/dev-python/python-musicbrainz/python-musicbrainz-0.7.4-r1.ebuild
new file mode 100644
index 000000000000..955007a06798
--- /dev/null
+++ b/dev-python/python-musicbrainz/python-musicbrainz-0.7.4-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN}2"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python Bindings for the MusicBrainz XML Web Service"
+HOMEPAGE="http://musicbrainz.org"
+SRC_URI="http://ftp.musicbrainz.org/pub/musicbrainz/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+IUSE="doc examples"
+
+RDEPEND="media-libs/libdiscid"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/epydoc )"
+# epydoc is called as a script, so no PYTHON_USEDEP
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ esetup.py docs
+ fi
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ dodoc AUTHORS.txt CHANGES.txt README.txt
+
+ if use doc; then
+ dohtml html/*
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.txt
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.py
+ fi
+}
diff --git a/dev-python/python-nbxmpp/Manifest b/dev-python/python-nbxmpp/Manifest
new file mode 100644
index 000000000000..b3b061140ebb
--- /dev/null
+++ b/dev-python/python-nbxmpp/Manifest
@@ -0,0 +1,3 @@
+DIST python-nbxmpp-0.5.1.tar.gz 1514899 SHA256 2988dd2ae4e0dca76c1c7d75b1cac5bc31517a05959eba652ecad6e66604f929 SHA512 2bdcd89004202880b69728e0f5f23506016ce21a10960ff4c23d2d45037563f32441964688c6328d3f8e10cda2f39aeac647aff9fde0676ca27a4c8dde72405e WHIRLPOOL f994f172ba0b50e154ec2d4bda26d574b21639b412b1eb73d3b781bd5f897577a32eb47fc3b276f66bc2ac48b66442a0185bbd9a74f896446838e471ec082a1e
+DIST python-nbxmpp-0.5.2.tar.gz 1508734 SHA256 16d7d2114d9d2c7267d0d8fc5a5c868939fa37031b8d4ca1b11c2a7500bc5160 SHA512 0b8a063c421349c24f822f3da68e6627675731793eee8dad14ae298ed67a981ddaad54fa63a88de6d28f2755da259ee5768a587ed3242e3cb38b4886a069f102 WHIRLPOOL 376e9044a508183f586a5a11e5b5cb41f3065db185b4d89392b1613288f9ede874af1a8f5eafdf64552af8f2d6a2120a931833d5fea4aad5cffcaad380ca9a68
+DIST python-nbxmpp-0.5.3.tar.gz 1514066 SHA256 b79a6b25a2ed7ac792600544778238b27cf6eef6c8eab79b0bfa46df0c3a9935 SHA512 a55ce4c05683d46c12cf085c5436ba544044f0ab71ad7c87dbb25cba02c28109089131b617ff51191d294efe50e80171dd2305ead4052bec921b0ad5ad920e20 WHIRLPOOL 96d078df5972dde5704dac9fcac31c9ae734c06583c381f5d18d43fca26ae790cebc114991e07b916be35a5dcb24d9ccaad9fe69f22b9bd16099d5d248aea487
diff --git a/dev-python/python-nbxmpp/metadata.xml b/dev-python/python-nbxmpp/metadata.xml
new file mode 100644
index 000000000000..6c90e346eb69
--- /dev/null
+++ b/dev-python/python-nbxmpp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-0.5.1.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-0.5.1.ebuild
new file mode 100644
index 000000000000..f6374a173ac0
--- /dev/null
+++ b/dev-python/python-nbxmpp/python-nbxmpp-0.5.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+TAG=6
+
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="http://python-nbxmpp.gajim.org/"
+SRC_URI="http://python-nbxmpp.gajim.org/downloads/${TAG} -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="alpha amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/nbxmpp-${PV}
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-0.5.2.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-0.5.2.ebuild
new file mode 100644
index 000000000000..b95facbadffd
--- /dev/null
+++ b/dev-python/python-nbxmpp/python-nbxmpp-0.5.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+TAG=7
+
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="http://python-nbxmpp.gajim.org/"
+SRC_URI="http://python-nbxmpp.gajim.org/downloads/${TAG} -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/nbxmpp-${PV}
diff --git a/dev-python/python-nbxmpp/python-nbxmpp-0.5.3.ebuild b/dev-python/python-nbxmpp/python-nbxmpp-0.5.3.ebuild
new file mode 100644
index 000000000000..4c9e4ff36afc
--- /dev/null
+++ b/dev-python/python-nbxmpp/python-nbxmpp-0.5.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+TAG=8
+
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="http://python-nbxmpp.gajim.org/"
+SRC_URI="http://python-nbxmpp.gajim.org/downloads/${TAG} -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}"/nbxmpp-${PV}
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
new file mode 100644
index 000000000000..4f7e9f47da3c
--- /dev/null
+++ b/dev-python/python-neutronclient/Manifest
@@ -0,0 +1,3 @@
+DIST python-neutronclient-2.3.6.tar.gz 123143 SHA256 f2ae938654497e12218ca3105872a1d55c5ce06e19ed0baa8471ee024e494b1f SHA512 0d894ca7cbafe3c4f12a45e27953abdeedfeff009d96bc6852465089f64ee57f065d87067e79665a401e574100115eec8ae7bb7a220005955be4535c7a44bcb7 WHIRLPOOL d2f3aeda0894bb2f262b7761af6f64ecb80a3c15ef68fd4a6eb257446bf647e96eee5d51f692071ac776ee8c3f26ecb7314d825826070e2ddfbfcd84257e466d
+DIST python-neutronclient-2.4.0.tar.gz 137923 SHA256 4c5c3a79216c682926f75ffd8db5f4338525a643ea02de37df7bf82a1e486b28 SHA512 ce3407ec101ca0fe04da5fbb3d68e3e331824190ed6e93308e56a471b9bf1b0d873f6e7b733d205bccaba6567d87a0a829e442efb6a3b0d96ecee5a1abb5a071 WHIRLPOOL 28b798ed7605264ec6d1e69f4a98ba7eb7e825594dc0ca9d5941d5293810c4f7cd32c680d09be44077ee269f8bd0c8644543c477223d5b55f078f81a0993460f
+DIST python-neutronclient-2.6.0.tar.gz 141675 SHA256 ce72506c0720825edcb0e93b643340e044f1de9235d398fe1c45d851971020df SHA512 a14503ec5374f0edd647a4da5e75f5d6820388b73792a9c944537815e980e87890fea227b2d21e34207958350f6e08a002e6f09af5567e1b4d709e698ea040cb WHIRLPOOL 7d3e6b0baded7de81f2c010376e8b528a73715382a230ffc6790eaae58b54e9cb5765002d2a508953b22a498d5a60947decd0d2884254cb2cc12f7ae1550596f
diff --git a/dev-python/python-neutronclient/metadata.xml b/dev-python/python-neutronclient/metadata.xml
new file mode 100644
index 000000000000..9657ead104e9
--- /dev/null
+++ b/dev-python/python-neutronclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ CLI and python client library for OpenStack Neutron
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-neutronclient</remote-id>
+ <remote-id type="launchpad">neutron</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-neutronclient/python-neutronclient-2.3.6.ebuild b/dev-python/python-neutronclient/python-neutronclient-2.3.6.ebuild
new file mode 100644
index 000000000000..8e6f5853d3f8
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-2.3.6.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ !~dev-python/pbr-0.7[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/cliff-tablib-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=">=dev-python/cliff-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed -e 's:intersphinx_:#&:' -i doc/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2.7"
+ flake8 neutronclient/tests || die "run by flake8 over tests folder yielded error"
+}
+
+python_install() {
+ distutils-r1_python_install
+ #stupid stupid
+ local SITEDIR="${D%/}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.egg-info )
+ #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-neutronclient/python-neutronclient-2.4.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-2.4.0.ebuild
new file mode 100644
index 000000000000..9c7100c30c87
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-2.4.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ <dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="
+ >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+ <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # built in...
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2.7"
+ flake8 neutronclient/tests || die "run by flake8 over tests folder yielded error"
+}
+
+python_install() {
+ distutils-r1_python_install
+ #stupid stupid
+ local SITEDIR="${D%/}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.egg-info )
+ #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-neutronclient/python-neutronclient-2.6.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-2.6.0.ebuild
new file mode 100644
index 000000000000..05247692cb2d
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-2.6.0.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/cliff-tablib-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mox3-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ <dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="
+ >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # built in...
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && "${PYTHON}" setup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2.7"
+ flake8 neutronclient/tests || die "run by flake8 over tests folder yielded error"
+}
+
+python_install() {
+ distutils-r1_python_install
+ #stupid stupid
+ local SITEDIR="${D%/}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.egg-info )
+ #[[ -f ${egg[0]} ]] || die "python_quantumclient*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
new file mode 100644
index 000000000000..57ee50afca19
--- /dev/null
+++ b/dev-python/python-novaclient/Manifest
@@ -0,0 +1,5 @@
+DIST python-novaclient-2.17.0.tar.gz 230712 SHA256 af6f46890715eb5f4e0d25a714effbbac8da020715f81b1572a301c5e9887197 SHA512 6493aadab5589fb2a02c4a1440cd3f71e6918688ba634a89101c7c7b10aaa6600d8511097b07679f5927746c3463584287a0d7602a47397f169697a944b6a731 WHIRLPOOL d7523bee3ad59e40e021177cd98dff5a91136ea3ee56e2844857dced5b9af7a2bb47c5880d9fe0d35e4de9a022864c88e009b71ca762dea84eb139ff5b99cad1
+DIST python-novaclient-2.20.0.tar.gz 267956 SHA256 73fc8169d58e910340aae1ac5370c3b63a9943f748e2a20e4a1dfd7277525c86 SHA512 a1ff87b46d1520346380bf5396383d84e036892f1568d2eb201eb667837919e1cd8db3267a1ea9f6dfc616de0714374c81465de76b8a9bfec32c4742eeee3807 WHIRLPOOL 1fb3052d3fa457524c65b3de087a7cf7377d274b7a9d924529289e2e2b02992c5182cd1ec5aeef443a81c8e1d08fa1202caf6c5e12e3df40b5011f75df0837f8
+DIST python-novaclient-2.23.0.tar.gz 224690 SHA256 0f82e723b1cef48df75d4b47ece7dd6ee980563628d8cfbef10cd35707193e07 SHA512 38f7aa5747c9cea2e8e98ec91e18ada70c1cd61b0236285a6335cff2a90ff465963d648489fec8c4bb96e55e4c8f2c77ddbae58d42e43807e1d0d70f4bdfe9fe WHIRLPOOL 883b5e04ec39e525fea8c22969a72a8fc334c741b2419e3a4cab9f2f6563286dc6968615b7df7a17d2ab4e17de5d182163eb60682fd69bfa84312629d2ea731d
+DIST python-novaclient-2.23.1.tar.gz 225659 SHA256 8a8b0ace401099518ab852b294f89199a9358085b51ffa0e52dfd05c2332e09e SHA512 a3ac753a4cac5e769cef59e6ae8d182f0abfe03b9ff10fa8a34b1d395fd5a83e92e999af644d1248417700654a6e3b3cb3d9818044c4c258d06304d99738a978 WHIRLPOOL 99a38df0e76f8c18c7bea23154c9b4641fe1b9a2086493a0ee2807c151173be21b8f18b27a48231991cca10ffbc32f2fa26bf265d30baa8c310a654c7557c30d
+DIST python-novaclient-2.25.0.tar.gz 228156 SHA256 433e314223218031e7ea6e71baa54c1b13485d47fbb128ed3752e2a72ad7cb83 SHA512 b65495e94da9d42aa6eb51090ea7c2af6784e74121ea96c7021d013b8570af1df90d993df332b92274d5f92bc634149ad14616804e68e93fb4529b6b15dbb5c4 WHIRLPOOL 7401147c278a23768e18998b90842c6c17fe2c9dfb28cd320dfe0dc6ce7afd2e0481d6275deb82a4ce5c3ac826b8303390a8d80c011a242c4bed0fff2e446615
diff --git a/dev-python/python-novaclient/metadata.xml b/dev-python/python-novaclient/metadata.xml
new file mode 100644
index 000000000000..6c13623d743c
--- /dev/null
+++ b/dev-python/python-novaclient/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack Nova API.
+ There's a Python API (the novaclient module),
+ and a command-line script (nova).
+ Each implements 100% of the OpenStack Nova API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-novaclient</remote-id>
+ <remote-id type="github">openstack/python-novaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-novaclient/python-novaclient-2.17.0-r1.ebuild b/dev-python/python-novaclient/python-novaclient-2.17.0-r1.ebuild
new file mode 100644
index 000000000000..7ba674032db3
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.17.0-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/iso8601-0.1.8[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-novaclient/python-novaclient-2.17.0.ebuild b/dev-python/python-novaclient/python-novaclient-2.17.0.ebuild
new file mode 100644
index 000000000000..27b173ec6830
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.17.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND="!dev-python/rax-default-network-flags-python-novaclient-ext[${PYTHON_USEDEP}]
+ !dev-python/os-networksv2-python-novaclient-ext[${PYTHON_USEDEP}]
+ !dev-python/os-diskconfig-python-novaclient-ext[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.8[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-novaclient/python-novaclient-2.20.0.ebuild b/dev-python/python-novaclient/python-novaclient-2.20.0.ebuild
new file mode 100644
index 000000000000..f6f394a8bee6
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.20.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND="
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-novaclient/python-novaclient-2.23.0.ebuild b/dev-python/python-novaclient/python-novaclient-2.23.0.ebuild
new file mode 100644
index 000000000000..3dc13465a848
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.23.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # built in...
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-novaclient/python-novaclient-2.23.1.ebuild b/dev-python/python-novaclient/python-novaclient-2.23.1.ebuild
new file mode 100644
index 000000000000..5736196f7888
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.23.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ <dev-python/mock-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.5.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.3.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # built in...
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-novaclient/python-novaclient-2.25.0.ebuild b/dev-python/python-novaclient/python-novaclient-2.25.0.ebuild
new file mode 100644
index 000000000000..37f6aebce7fc
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-2.25.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/openstack/python-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ !~dev-python/keyring-3.3[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.3.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # built in...
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-nss/Manifest b/dev-python/python-nss/Manifest
new file mode 100644
index 000000000000..cca5c2b0b613
--- /dev/null
+++ b/dev-python/python-nss/Manifest
@@ -0,0 +1,2 @@
+DIST python-nss-0.12.tar.bz2 167007 SHA256 e1084fef686f5b2f74f47fa46a7403d8b747ad14be7d9b3685b1bb105a4283cb SHA512 7772e45e40b66b241d033338b7f9ec8b0d5e1d814e36d0302c24a3a28569f136556249ed6b4c8a30d8db3dec40882de7cfc67dec1ac5fa68e8e7e95c349537e9 WHIRLPOOL e8e2fe15bdbeb2e549f551722832f4a1f2a27efb8d301e46ae428213c9ccc6e7bdeda217d8969abe63eedcd927b3cfe2a3c00e4a4ba08b9ab378e405e5284b5d
+DIST python-nss-0.16.0.tar.bz2 208535 SHA256 cecd3a33c4cb4ab0f5a3c303a733b2eb62a3760b500e6b411313ab3b30f8e575 SHA512 3ff7d29f10942f4d36be8e223b518e046b5502f15029aa684b925cbd131bbc2041f7860abd50ec1344479b6e5594735cc9b7fcd801d7c4d1025f68e11a57cc3f WHIRLPOOL 543f27384b5faa61e2b1d26b54ac896c1a8b96308a6f2e6698cd0c2656667a0f1abc08cbc4143b2a5ca333195cf756936f366ecc614134fdf413e6e812b52e34
diff --git a/dev-python/python-nss/files/gentoo_lib_name.patch b/dev-python/python-nss/files/gentoo_lib_name.patch
new file mode 100644
index 000000000000..48dc29142d25
--- /dev/null
+++ b/dev-python/python-nss/files/gentoo_lib_name.patch
@@ -0,0 +1,38 @@
+--- setup.py.orig 2010-02-17 22:51:13.762123843 +0200
++++ setup.py 2010-02-17 22:53:26.538622241 +0200
+@@ -310,7 +310,7 @@
+ nss_error_extension = \
+ Extension('nss.error',
+ sources = ['src/py_nspr_error.c'],
+- include_dirs = ['/usr/include/nss3', '/usr/include/nspr4'],
++ include_dirs = ['/usr/include/nss', '/usr/include/nspr'],
+ libraries = ['nspr4'],
+ extra_compile_args = extra_compile_args,
+ )
+@@ -318,7 +318,7 @@
+ nss_io_extension = \
+ Extension('nss.io',
+ sources = ['src/py_nspr_io.c'],
+- include_dirs = ['/usr/include/nss3', '/usr/include/nspr4'],
++ include_dirs = ['/usr/include/nss', '/usr/include/nspr'],
+ libraries = ['nspr4'],
+ extra_compile_args = extra_compile_args,
+ )
+@@ -326,7 +326,7 @@
+ nss_nss_extension = \
+ Extension('nss.nss',
+ sources = ['src/py_nss.c'],
+- include_dirs = ['src', '/usr/include/nss3', '/usr/include/nspr4'],
++ include_dirs = ['src', '/usr/include/nss', '/usr/include/nspr'],
+ libraries = ['nspr4', 'ssl3'],
+ extra_compile_args = extra_compile_args,
+ )
+@@ -334,7 +334,7 @@
+ nss_ssl_extension = \
+ Extension('nss.ssl',
+ sources = ['src/py_ssl.c'],
+- include_dirs = ['src', '/usr/include/nss3', '/usr/include/nspr4'],
++ include_dirs = ['src', '/usr/include/nss', '/usr/include/nspr'],
+ libraries = ['nspr4', 'ssl3'],
+ extra_compile_args = extra_compile_args,
+ )
diff --git a/dev-python/python-nss/files/python-nss-0.12-rsapssparams.patch b/dev-python/python-nss/files/python-nss-0.12-rsapssparams.patch
new file mode 100644
index 000000000000..cea6f1d1ac4e
--- /dev/null
+++ b/dev-python/python-nss/files/python-nss-0.12-rsapssparams.patch
@@ -0,0 +1,25 @@
+RCS file: /cvsroot/mozilla/security/python/nss/src/py_nss.c,v
+retrieving revision 1.23
+diff -b -u -r1.23 py_nss.c
+--- src/py_nss.c 6 Jun 2011 15:21:13 -0000 1.23
++++ src/py_nss.c 17 Nov 2011 21:11:40 -0000
+@@ -4669,7 +4669,7 @@
+ }
+
+ if (params.hashAlg) {
+- obj = oid_secitem_to_pystr_desc(&params->hashAlg->algorithm);
++ obj = oid_secitem_to_pystr_desc(&params.hashAlg->algorithm);
+ } else {
+ obj = PyString_FromString("default, SHA-1");
+ }
+@@ -4677,8 +4677,8 @@
+ Py_CLEAR(obj);
+
+ if (params.maskAlg) {
+- obj = oid_secitem_to_pystr_desc(&params->maskAlg->algorithm);
+- if (SEC_QuickDERDecodeItem(pool, &mask_hash_alg,
++ obj = oid_secitem_to_pystr_desc(&params.maskAlg->algorithm);
++ if (SEC_QuickDERDecodeItem(arena, &mask_hash_alg,
+ SEC_ASN1_GET(SECOID_AlgorithmIDTemplate),
+ &params.maskAlg->parameters) == SECSuccess) {
+ obj1 = oid_secitem_to_pystr_desc(&mask_hash_alg);
diff --git a/dev-python/python-nss/metadata.xml b/dev-python/python-nss/metadata.xml
new file mode 100644
index 000000000000..170c1ce97c53
--- /dev/null
+++ b/dev-python/python-nss/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<herd>python</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+<longdescription>
+ This package provides Python bindings for Network Security Services (NSS)
+ and the Netscape Portable Runtime (NSPR)
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/python-nss/python-nss-0.12-r1.ebuild b/dev-python/python-nss/python-nss-0.12-r1.ebuild
new file mode 100644
index 000000000000..39737eb241f4
--- /dev/null
+++ b/dev-python/python-nss/python-nss-0.12-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+MY_PV="$(replace_all_version_separators '_' )_0"
+DESCRIPTION="Python bindings for Network Security Services (NSS)"
+HOMEPAGE="http://www.mozilla.org/projects/security/pki/python-nss/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/${PN}/releases/PYNSS_RELEASE_${MY_PV}/src/${P}.tar.bz2"
+
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-libs/nss
+ dev-libs/nspr
+ doc? ( dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/epydoc[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+DOCS="README doc/ChangeLog"
+# RHB #754750 ; bgo #390869
+PATCHES=( "${FILESDIR}/python-nss-0.12-rsapssparams.patch" )
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generating API documentation..."
+ mkdir doc/html
+ epydoc --html --docformat restructuredtext -o doc/html \
+ "${BUILD_DIR}"/lib/nss
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( doc/examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-nss/python-nss-0.16.0.ebuild b/dev-python/python-nss/python-nss-0.16.0.ebuild
new file mode 100644
index 000000000000..5ffc04a8889c
--- /dev/null
+++ b/dev-python/python-nss/python-nss-0.16.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 ) # still only supports py2
+
+inherit distutils-r1 versionator
+
+MY_PV="$(replace_all_version_separators '_' )"
+DESCRIPTION="Python bindings for Network Security Services (NSS)"
+HOMEPAGE="http://www.mozilla.org/projects/security/pki/python-nss/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/${PN}/releases/PYNSS_RELEASE_${MY_PV}/src/${P}.tar.bz2"
+
+LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-libs/nss
+ dev-libs/nspr
+ doc? ( dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/epydoc[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+DOCS="README doc/ChangeLog"
+
+python_prepare_all() {
+ # Remove test file using a dep, called nss-tools, unavailable in portage
+ rm -f test/test_pkcs12.py || die
+ sed -e '/import test_pkcs12/d' \
+ -e '/suite.addTests(loader.loadTestsFromModule(test_pkcs12))/d' \
+ -i test/run_tests || die
+
+ # exclude tests due to absent shared lib file, libnssckbi.so
+ sed -e 's:test_ocsp_default_responder:_&:' \
+ -i test/test_ocsp.py || die
+ sed -e 's:test_ssl:_&:' \
+ -i test/test_client_server.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generating API documentation..."
+ mkdir doc/html
+ epydoc --html --docformat restructuredtext -o doc/html \
+ "${BUILD_DIR}"/lib/nss
+ fi
+}
+
+python_test() {
+ "${PYTHON}" test/run_tests || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ use examples && local EXAMPLES=( doc/examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-oembed/Manifest b/dev-python/python-oembed/Manifest
new file mode 100644
index 000000000000..6608a3e75932
--- /dev/null
+++ b/dev-python/python-oembed/Manifest
@@ -0,0 +1,2 @@
+DIST python-oembed-0.2.1.tar.gz 7809 SHA256 70ac9320a2548185dca71af48fff657d4b11e20840bba101a87405cda0e4e0af SHA512 27c3b3ad2ccddc864660d9f3de9c20f19417f9e3844a3ab36bbaf8364760104d8ca8d446fe4dbebf596fa9c88f284b51747bd801889e68424546dabd340b8278 WHIRLPOOL 32b62dd8222f018d71c6ef1b6a53bc618d1cfbd495b03a473c7202aa8cbc57054fe08b091328fe4897a1b6e765aac54c370fc80b1f413d6e8746746fbba6223a
+DIST python-oembed-0.2.2.tar.gz 7858 SHA256 809208fe46d0e9b84cc8b2115e68e71022f530d47b2e4f11353c037c53d8b20f SHA512 ba1a6d9d317275099811be34e9f37009068e1f1e56bdb1091037030185129e36fbc50efcd64e1f7201ae24840745f7819433cc70c59e76baf1e42d627a7fe826 WHIRLPOOL d0ee3a10ae521767a20c831ed13993f1f4a11ee7614063ced28285943351ba2aefab4e61b37bdffa97b3c2bf2e36ddf0c3ade512ae807843653492a162354815
diff --git a/dev-python/python-oembed/metadata.xml b/dev-python/python-oembed/metadata.xml
new file mode 100644
index 000000000000..ecaf56af8d53
--- /dev/null
+++ b/dev-python/python-oembed/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-oembed</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-oembed/python-oembed-0.2.1-r1.ebuild b/dev-python/python-oembed/python-oembed-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..ebc85742f273
--- /dev/null
+++ b/dev-python/python-oembed/python-oembed-0.2.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python library that implements an OEmbed consumer"
+HOMEPAGE="http://pypi.python.org/pypi/python-oembed"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/python-oembed/python-oembed-0.2.2.ebuild b/dev-python/python-oembed/python-oembed-0.2.2.ebuild
new file mode 100644
index 000000000000..ebc85742f273
--- /dev/null
+++ b/dev-python/python-oembed/python-oembed-0.2.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python library that implements an OEmbed consumer"
+HOMEPAGE="http://pypi.python.org/pypi/python-oembed"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/python-openid/Manifest b/dev-python/python-openid/Manifest
new file mode 100644
index 000000000000..c8abb90bebc9
--- /dev/null
+++ b/dev-python/python-openid/Manifest
@@ -0,0 +1 @@
+DIST python-openid-2.2.5.tar.gz 300524 SHA256 cb518b0804ccfa859d143753d33f49204c7d994cb08d1a2736fb841a1e7722e3 SHA512 46ffeb07dc0e94c6e1160c824dfafd4a125746a05af1541e112bc2691bf655f75d0431ea273877899abc2956bb1f82369dea75d9b54282f33875f333f5166e7a WHIRLPOOL 6f53aacde4eef9d18b617d57bfad149c77aa6db6c1aa3e6b4421ee89a920ce9bad76f3b5ca14654719cc9ac297827e21a19685ab6a2ce717c03d5de855eecf16
diff --git a/dev-python/python-openid/files/python-openid-2.0.0-gentoo-test_fetchers.diff b/dev-python/python-openid/files/python-openid-2.0.0-gentoo-test_fetchers.diff
new file mode 100644
index 000000000000..67587a98533a
--- /dev/null
+++ b/dev-python/python-openid/files/python-openid-2.0.0-gentoo-test_fetchers.diff
@@ -0,0 +1,11 @@
+--- openid/test/test_fetchers.py.orig 2007-06-07 15:53:38.000000000 -0700
++++ openid/test/test_fetchers.py 2007-06-07 15:53:55.000000000 -0700
+@@ -8,6 +8,8 @@
+ # XXX: make these separate test cases
+
+ def failUnlessResponseExpected(expected, actual):
++ expected.final_url = expected.final_url.replace("localhost", "127.0.0.1")
++ actual.final_url = actual.final_url.replace("localhost", "127.0.0.1")
+ assert expected.final_url == actual.final_url, (
+ "%r != %r" % (expected.final_url, actual.final_url))
+ assert expected.status == actual.status
diff --git a/dev-python/python-openid/metadata.xml b/dev-python/python-openid/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/python-openid/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-openid/python-openid-2.2.5-r1.ebuild b/dev-python/python-openid/python-openid-2.2.5-r1.ebuild
new file mode 100644
index 000000000000..7955e478c257
--- /dev/null
+++ b/dev-python/python-openid/python-openid-2.2.5-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_REQ_USE='sqlite?'
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenID support for servers and consumers"
+HOMEPAGE="http://www.openidenabled.com/openid/libraries/python/ http://pypi.python.org/pypi/python-openid"
+# Downloaded from http://github.com/openid/python-openid/downloads
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
+IUSE="examples mysql postgres sqlite test"
+
+RDEPEND="mysql? ( >=dev-python/mysql-python-1.2.2[${PYTHON_USEDEP}] )
+ postgres? ( dev-python/psycopg[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/twill
+ dev-python/pycurl )"
+S="${WORKDIR}/openid-python-openid-b666238"
+
+python_prepare_all() {
+ local PATCHES=(
+ # Patch to fix confusion with localhost/127.0.0.1
+ "${FILESDIR}/${PN}-2.0.0-gentoo-test_fetchers.diff"
+ )
+
+ # Disable broken tests from from examples/djopenid.
+ # Remove test that requires running db server.
+ sed -e "s/django_failures =.*/django_failures = 0/" \
+ -e '/storetest/d' \
+ -i admin/runtests || die "sed admin/runtests failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" admin/runtests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
new file mode 100644
index 000000000000..98e214a5a549
--- /dev/null
+++ b/dev-python/python-openstackclient/Manifest
@@ -0,0 +1 @@
+DIST python-openstackclient-1.0.4.tar.gz 203012 SHA256 4ae6d7b35fd1da2a07959fea9639e506871abfb769c62f3692d2f2585605ac85 SHA512 d1076456ec9867c5dd6c13059bff56cb358eb675666cc5c38de0414b8c0ea26e057c286ebe2a0146f68ca50c1a416cac5f680ec72b633879cefafa25c76dc9c9 WHIRLPOOL 25df1e0209145a9e9c9c36676e1423d42129b2f8408aa22fdb18cf75f9b138009033b27002c76832448f026b518671fd49eb4bea8877bed560153ac5a88e2e4d
diff --git a/dev-python/python-openstackclient/metadata.xml b/dev-python/python-openstackclient/metadata.xml
new file mode 100644
index 000000000000..804c062e353f
--- /dev/null
+++ b/dev-python/python-openstackclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack APIs.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-openstackclient</remote-id>
+ <remote-id type="github">openstack/python-openstackclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-openstackclient/python-openstackclient-1.0.4.ebuild b/dev-python/python-openstackclient/python-openstackclient-1.0.4.ebuild
new file mode 100644
index 000000000000..d2c3935d6242
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-1.0.4.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="https://github.com/openstack/python-openstackclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+REQUIRED_USE="test? ( doc )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
+ <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-tablib-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
+ <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-0.15.0
+ <dev-python/python-glanceclient-0.18.0
+ >=dev-python/python-keystoneclient-1.1.0
+ <dev-python/python-keystoneclient-1.4.0
+ >=dev-python/python-novaclient-2.22.0
+ <dev-python/python-novaclient-2.24.0
+ >=dev-python/python-cinderclient-1.1.0
+ <dev-python/python-cinderclient-1.2.0
+ >=dev-python/python-neutronclient-2.3.11
+ <dev-python/python-neutronclient-2.5.0
+ >=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0
+ <dev-python/stevedore-1.4.0
+"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ testr init
+ testr run || die "testsuite failed under python2.7"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-pam/Manifest b/dev-python/python-pam/Manifest
new file mode 100644
index 000000000000..777b5d6d32a6
--- /dev/null
+++ b/dev-python/python-pam/Manifest
@@ -0,0 +1 @@
+DIST pam-0.1.4.tar.gz 2637 SHA256 35e88575afc37a2a5f96e20b22fa55d3e3213370d4ce640af1597c2a1dde226b SHA512 a8bce582f8ed375a5e503ec0b8e4853164125222e9cee40f6f6509def5fbeaf0eb0d2242b0ef7405024b7f8cfc0660ea7c43d266e8923a1a2ff3054135f5da63 WHIRLPOOL 6ee3ae35888d6f07963bc061f457243c8fcc2495e84febb316074d43873e89bf9563c8d00f5202ec6a4aabecc06cfc3e0e9cf5a49814298ba9c61cf5c4ef4491
diff --git a/dev-python/python-pam/metadata.xml b/dev-python/python-pam/metadata.xml
new file mode 100644
index 000000000000..5beee34c9883
--- /dev/null
+++ b/dev-python/python-pam/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A python interface to the PAM library on linux using ctypes.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-pam/python-pam-0.1.4.ebuild b/dev-python/python-pam/python-pam-0.1.4.ebuild
new file mode 100644
index 000000000000..ee5eecb4ff69
--- /dev/null
+++ b/dev-python/python-pam/python-pam-0.1.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN=${PN#python-}
+S="${WORKDIR}/${MY_PN}-${PV}"
+DESCRIPTION="A python interface to the PAM library on linux using ctypes"
+HOMEPAGE="http://atlee.ca/software/pam"
+SRC_URI="mirror://pypi/p/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/python-poppler-qt4/Manifest b/dev-python/python-poppler-qt4/Manifest
new file mode 100644
index 000000000000..4fe829a9c363
--- /dev/null
+++ b/dev-python/python-poppler-qt4/Manifest
@@ -0,0 +1 @@
+DIST python-poppler-qt4-0.18.1.tar.gz 15555 SHA256 c6903c4b6ab71730ae2a1da9fb95830a83da82185b5ef6b8184b16c0cae908ba SHA512 f1451e3b60cb51eb3c07d906144ecff2a2737b68018645390441b2eb4942450e2e836a3e20d926c82a7536ae7b3963f7a869a5d7a3274befde7d01144b116a44 WHIRLPOOL 2ef090817a78baa1b55997baf4e6eb61aa21e6d064826bfc14db27e145a477d3b3ff28b6f10076cade979e9f1634cfbe43e3bee51d841d4ea4fbd72cddcd6ce4
diff --git a/dev-python/python-poppler-qt4/files/python-poppler-qt4-0.18.1-update_for_new_PyQt4_build.patch b/dev-python/python-poppler-qt4/files/python-poppler-qt4-0.18.1-update_for_new_PyQt4_build.patch
new file mode 100644
index 000000000000..ce56a780967b
--- /dev/null
+++ b/dev-python/python-poppler-qt4/files/python-poppler-qt4-0.18.1-update_for_new_PyQt4_build.patch
@@ -0,0 +1,185 @@
+From 099924f9b359b82696e3aa9f159616ff09d2da97 Mon Sep 17 00:00:00 2001
+From: Philip Lorenz <philip@bithub.de>
+Date: Tue, 8 Jul 2014 18:23:49 +0200
+Subject: [PATCH 3/3] Support PyQt's "new" build system
+
+PyQt4 ships with a configure.py and configure-ng.py script for
+configuration. The former produced the "pyqtconfig" module which was
+used to determine various flags required for compilation of
+python-poppler-qt4. The configure.py script has been causing some issues
+([1]) and upstream suggests to use configure-ng.py instead as the old
+configuration script is deprecated ([2]).
+
+This patch adapts setup.py to work without the "pyqtconfig" module by
+looking up the required config values via the new mechanisms endorsed by
+upstream. Additionally, it adds the --qt-include-dir, --pyqt-sip-dir,
+--pyqt-sip-flags command line arguments to the "build_ext" command which
+can be used to set those values manually.
+
+[1] http://www.riverbankcomputing.com/pipermail/pyqt/2014-June/034344.html
+[2] http://www.riverbankcomputing.com/pipermail/pyqt/2014-June/034354.html
+---
+ setup.py | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 94 insertions(+), 20 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 56f3e3f..c43c5e4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -56,14 +56,6 @@ except ImportError:
+ pass
+ ### end
+
+-import PyQt4.pyqtconfig
+-config = PyQt4.pyqtconfig.Configuration()
+-
+-pyqt_sip_dir = config.pyqt_sip_dir
+-pyqt_sip_flags = config.pyqt_sip_flags
+-qt_inc_dir = config.qt_inc_dir
+-
+-
+ def pkg_config(package, attrs=None, include_only=False):
+ """parse the output of pkg-config for a package.
+
+@@ -107,17 +99,8 @@ def pkg_config_version(package):
+ return tuple(map(int, re.findall(r'\d+', output)))
+ except OSError:
+ sys.stderr.write("Can't determine version of %s\n" % package)
+-
+-
+-ext_args = {
+- 'include_dirs': [
+- qt_inc_dir,
+- os.path.join(qt_inc_dir, 'QtCore'),
+- os.path.join(qt_inc_dir, 'QtGui'),
+- os.path.join(qt_inc_dir, 'QtXml'),
+- ],
+-}
+
++ext_args = {}
+ pkg_config('poppler-qt4', ext_args)
+
+ if 'libraries' not in ext_args:
+@@ -131,17 +114,108 @@ class build_ext(build_ext_base):
+
+ user_options = build_ext_base.user_options + [
+ ('poppler-version=', None, "version of the poppler library"),
++ ('qmake-bin=', None, "Path to qmake binary"),
++ ('qt-include-dir=', None, "Path to Qt headers"),
++ ('pyqt-sip-dir=', None, "Path to PyQt's SIP files"),
++ ('pyqt-sip-flags=', None, "SIP flags used to generate PyQt bindings")
+ ]
+
+ def initialize_options (self):
+ build_ext_base.initialize_options(self)
+ self.poppler_version = None
+
++ self.qmake_bin = 'qmake'
++
++ self.qt_include_dir = None
++ self.pyqt_sip_dir = None
++ self.pyqt_sip_flags = None
++
+ def finalize_options (self):
+ build_ext_base.finalize_options(self)
++
++ if not self.qt_include_dir:
++ self.qt_include_dir = self.__find_qt_include_dir()
++
++ if not self.pyqt_sip_dir:
++ self.pyqt_sip_dir = self.__find_pyqt_sip_dir()
++
++ if not self.pyqt_sip_flags:
++ self.pyqt_sip_flags = self.__find_pyqt_sip_flags()
++
++ if not self.qt_include_dir:
++ raise SystemExit('Could not find Qt4 headers. '
++ 'Please specify via --qt-include-dir=')
++
++ if not self.pyqt_sip_dir:
++ raise SystemExit('Could not find PyQt SIP files. '
++ 'Please specify containing directory via '
++ '--pyqt-sip-dir=')
++
++ if not self.pyqt_sip_flags:
++ raise SystemExit('Could not find PyQt SIP flags. '
++ 'Please specify via --pyqt-sip-flags=')
++
++ self.include_dirs += (self.qt_include_dir,
++ os.path.join(self.qt_include_dir, 'QtCore'),
++ os.path.join(self.qt_include_dir, 'QtGui'),
++ os.path.join(self.qt_include_dir, 'QtXml'))
++
+ if self.poppler_version is not None:
+ self.poppler_version = tuple(map(int, re.findall(r'\d+', self.poppler_version)))
+
++ def __find_qt_include_dir(self):
++ if self.pyqtconfig:
++ return self.pyqtconfig.qt_inc_dir
++
++ try:
++ qt_version = subprocess.check_output([self.qmake_bin,
++ '-query',
++ 'QT_VERSION'])
++ qt_version = qt_version.strip().decode("ascii")
++ except (OSError, subprocess.CalledProcessError) as e:
++ raise SystemExit('Failed to determine Qt version (%s).' % e)
++
++ if not qt_version.startswith("4."):
++ raise SystemExit('Unsupported Qt version (%s). '
++ 'Try specifying the path to qmake manually via '
++ '--qmake-bin=' % qt_version)
++
++ try:
++ result = subprocess.check_output([self.qmake_bin,
++ '-query',
++ 'QT_INSTALL_HEADERS'])
++ return result.strip().decode(sys.getfilesystemencoding())
++ except (OSError, subprocess.CalledProcessError) as e:
++ raise SystemExit('Failed to determine location of Qt headers (%s).' % e)
++
++ def __find_pyqt_sip_dir(self):
++ if self.pyqtconfig:
++ return self.pyqtconfig.pyqt_sip_dir
++
++ import sipconfig
++
++ return os.path.join(sipconfig.Configuration().default_sip_dir, 'PyQt4')
++
++ def __find_pyqt_sip_flags(self):
++ if self.pyqtconfig:
++ return self.pyqtconfig.pyqt_sip_flags
++
++ from PyQt4 import QtCore
++
++ return QtCore.PYQT_CONFIGURATION.get('sip_flags', '')
++
++ @property
++ def pyqtconfig(self):
++ if not hasattr(self, '_pyqtconfig'):
++ try:
++ from PyQt4 import pyqtconfig
++
++ self._pyqtconfig = pyqtconfig.Configuration()
++ except ImportError:
++ self._pyqtconfig = None
++
++ return self._pyqtconfig
++
+ def _sip_compile(self, sip_bin, source, sbf):
+
+ # Disable features if older poppler-qt4 version is found.
+@@ -176,8 +250,8 @@ class build_ext(build_ext_base):
+ cmd += [
+ "-c", self.build_temp,
+ "-b", sbf,
+- "-I", pyqt_sip_dir] # find the PyQt4 stuff
+- cmd += shlex.split(pyqt_sip_flags) # use same SIP flags as for PyQt4
++ "-I", self.pyqt_sip_dir] # find the PyQt4 stuff
++ cmd += shlex.split(self.pyqt_sip_flags) # use same SIP flags as for PyQt4
+ cmd.append(source)
+ self.spawn(cmd)
+
+--
+2.0.2
+
diff --git a/dev-python/python-poppler-qt4/metadata.xml b/dev-python/python-poppler-qt4/metadata.xml
new file mode 100644
index 000000000000..4c8686ed7dd0
--- /dev/null
+++ b/dev-python/python-poppler-qt4/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ssuominen@gentoo.org</email>
+ <name>Samuli Suominen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">python-poppler-qt4</remote-id>
+ <remote-id type="github">wbsoft/python-poppler-qt4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-poppler-qt4/python-poppler-qt4-0.18.1.ebuild b/dev-python/python-poppler-qt4/python-poppler-qt4-0.18.1.ebuild
new file mode 100644
index 000000000000..b607242005f7
--- /dev/null
+++ b/dev-python/python-poppler-qt4/python-poppler-qt4-0.18.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A python binding for libpoppler-qt4"
+HOMEPAGE="http://code.google.com/p/python-poppler-qt4/"
+SRC_URI="http://github.com/wbsoft/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="app-text/poppler:=[qt4]
+ dev-python/PyQt4[${PYTHON_USEDEP}]
+ >=dev-python/sip-4.9.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-update_for_new_PyQt4_build.patch
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/python-poppler/Manifest b/dev-python/python-poppler/Manifest
new file mode 100644
index 000000000000..e9e86f83f440
--- /dev/null
+++ b/dev-python/python-poppler/Manifest
@@ -0,0 +1 @@
+DIST pypoppler-0.12.1.tar.gz 318142 SHA256 322f183d24798a056f3005d1ab8e3ac27d8cfbbf0982725b323bbfec1bab5355 SHA512 04055411adc19f6af499a7cba0d6c5abb51e0802dd28962f833da3da1caf6ff274ff67d082f9c47548dac7a4ceb1bccf9860cda71fe48b8b7df74c0132498d20 WHIRLPOOL 4419c8dffeea1633374ac0f08222c23850127427543d9ac99385d08567faa402575375bea5595c746adb1d54aa3fe08870bf7a3dc1e84986b44000fea0afbe6b
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff
new file mode 100644
index 000000000000..47b7a678e3df
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-75_74.diff
@@ -0,0 +1,73 @@
+--- poppler.defs
++++ poppler.defs
+@@ -1642,6 +1642,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_pixbuf")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+@@ -1657,6 +1658,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_pixbuf_for_printing")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("int" "src_x")
+ '("int" "src_y")
+@@ -1672,12 +1674,14 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_thumbnail_pixbuf")
+ (return-type "GdkPixbuf*")
++ (unblock-threads #t)
+ )
+
+ (define-method render_selection_to_pixbuf
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_selection_to_pixbuf")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("gdouble" "scale")
+ '("int" "rotation")
+@@ -1694,6 +1698,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ )
+@@ -1703,6 +1708,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_for_printing")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ )
+@@ -1712,12 +1718,14 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_thumbnail")
+ (return-type "cairo_surface_t*")
++ (unblock-threads #t)
+ )
+
+ (define-method render_selection
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_selection")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("cairo_t*" "cairo")
+ '("PopplerRectangle*" "selection")
+@@ -1779,6 +1787,7 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render_to_ps")
+ (return-type "none")
++ (unblock-threads #t)
+ (parameters
+ '("PopplerPSFile*" "ps_file")
+ )
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff
new file mode 100644
index 000000000000..94f4543e87ec
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-76_75.diff
@@ -0,0 +1,66 @@
+--- poppler.override
++++ poppler.override
+@@ -600,3 +600,62 @@
+ return PycairoSurface_FromSurface(surface, NULL, NULL);
+ #endif
+ }
++%%
++override poppler_page_render_to_pixbuf kwargs
++static PyObject *
++_wrap_poppler_page_render_to_pixbuf(PyGObject *self,
++ PyObject *args,
++ PyObject *kwargs)
++{
++ static char *kwlist[] = { "src_x", "src_y", "src_width",
++ "src_height", "scale", "rotation", NULL };
++ int src_x, src_y, src_width, src_height, rotation;
++ double scale;
++ GdkPixbuf *pixbuf = NULL;
++
++ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
++ "iiiidi:Poppler.Page.render_to_pixbuf",
++ kwlist, &src_x, &src_y, &src_width,
++ &src_height, &scale, &rotation))
++ return NULL;
++
++ pyg_begin_allow_threads;
++
++ poppler_page_render_to_pixbuf(POPPLER_PAGE(self->obj), src_x, src_y,
++ src_width, src_height, scale,
++ rotation, pixbuf);
++
++ pyg_end_allow_threads;
++
++ return pygobject_new((GObject *)pixbuf);
++}
++%%
++override poppler_page_render_to_pixbuf_for_printing kwargs
++static PyObject *
++_wrap_poppler_page_render_to_pixbuf_for_printing(PyGObject *self,
++ PyObject *args,
++ PyObject *kwargs)
++{
++ static char *kwlist[] = { "src_x", "src_y", "src_width",
++ "src_height", "scale", "rotation", NULL };
++ int src_x, src_y, src_width, src_height, rotation;
++ double scale;
++ GdkPixbuf *pixbuf = NULL;
++
++ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
++ "iiiidi:Poppler.Page.render_to_pixbuf_for_printing",
++ kwlist, &src_x, &src_y, &src_width,
++ &src_height, &scale, &rotation))
++ return NULL;
++
++ pyg_begin_allow_threads;
++
++ poppler_page_render_to_pixbuf_for_printing(POPPLER_PAGE(self->obj),
++ src_x, src_y, src_width,
++ src_height, scale,
++ rotation, pixbuf);
++
++ pyg_end_allow_threads;
++
++ return pygobject_new((GObject *)pixbuf);
++}
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff b/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff
new file mode 100644
index 000000000000..161ec588e178
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-79_78.diff
@@ -0,0 +1,52 @@
+--- poppler.override
++++ poppler.override
+@@ -266,6 +266,12 @@
+ import gobject.GObject as PyGObject_Type
+ import gtk.gdk.Pixbuf as PyGdkPixbuf_Type
+ %%
++ignore
++poppler_page_free_link_mapping
++poppler_page_free_image_mapping
++poppler_page_free_form_field_mapping
++poppler_page_free_annot_mapping
++%%
+ ignore-glob
+ *_get_type
+ _*
+@@ -359,7 +365,7 @@
+
+ item_list = poppler_page_get_link_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_LINK_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_link_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -372,7 +378,7 @@
+
+ item_list = poppler_page_get_image_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_IMAGE_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_image_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -385,7 +391,7 @@
+
+ item_list = poppler_page_get_form_field_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_FORM_FIELD_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_form_field_mapping(item_list);
+ return ret;
+ }
+ %%
+@@ -398,7 +404,7 @@
+
+ item_list = poppler_page_get_annot_mapping(POPPLER_PAGE(self->obj));
+ ret = _glist_to_pylist_boxed(item_list, POPPLER_TYPE_ANNOT_MAPPING);
+- g_list_free(item_list);
++ poppler_page_free_annot_mapping(item_list);
+ return ret;
+ }
+ %%
+
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-poppler-0.18.0-minimal-fix.patch b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler-0.18.0-minimal-fix.patch
new file mode 100644
index 000000000000..2099e0af11f8
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler-0.18.0-minimal-fix.patch
@@ -0,0 +1,65 @@
+--- pypoppler-0.12.1/poppler.defs 2011-10-24 11:57:35.000000000 +0200
++++ pypoppler-0.12.1/poppler.defs 2011-10-24 12:01:28.000000000 +0200
+@@ -1646,62 +1646,6 @@
+ (return-type "GType")
+ )
+
+-(define-method render_to_pixbuf
+- (of-object "PopplerPage")
+- (c-name "poppler_page_render_to_pixbuf")
+- (return-type "none")
+- (unblock-threads #t)
+- (parameters
+- '("int" "src_x")
+- '("int" "src_y")
+- '("int" "src_width")
+- '("int" "src_height")
+- '("double" "scale")
+- '("int" "rotation")
+- '("GdkPixbuf*" "pixbuf")
+- )
+-)
+-
+-(define-method render_to_pixbuf_for_printing
+- (of-object "PopplerPage")
+- (c-name "poppler_page_render_to_pixbuf_for_printing")
+- (return-type "none")
+- (unblock-threads #t)
+- (parameters
+- '("int" "src_x")
+- '("int" "src_y")
+- '("int" "src_width")
+- '("int" "src_height")
+- '("double" "scale")
+- '("int" "rotation")
+- '("GdkPixbuf*" "pixbuf")
+- )
+-)
+-
+-(define-method get_thumbnail_pixbuf
+- (of-object "PopplerPage")
+- (c-name "poppler_page_get_thumbnail_pixbuf")
+- (return-type "GdkPixbuf*")
+- (unblock-threads #t)
+-)
+-
+-(define-method render_selection_to_pixbuf
+- (of-object "PopplerPage")
+- (c-name "poppler_page_render_selection_to_pixbuf")
+- (return-type "none")
+- (unblock-threads #t)
+- (parameters
+- '("gdouble" "scale")
+- '("int" "rotation")
+- '("GdkPixbuf*" "pixbuf")
+- '("PopplerRectangle*" "selection")
+- '("PopplerRectangle*" "old_selection")
+- '("PopplerSelectionStyle" "style")
+- '("GdkColor*" "glyph_color")
+- '("GdkColor*" "background_color")
+- )
+-)
+-
+ (define-method render
+ (of-object "PopplerPage")
+ (c-name "poppler_page_render")
diff --git a/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch
new file mode 100644
index 000000000000..a480cfa437a8
--- /dev/null
+++ b/dev-python/python-poppler/files/python-poppler-0.12.1-poppler0.15.0-changes.patch
@@ -0,0 +1,66 @@
+--- poppler.defs
++++ poppler.defs
+@@ -1760,6 +1760,12 @@
+ (return-type "int")
+ )
+
++(define-method get_label
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_label")
++ (return-type "gchar*")
++)
++
+ (define-method get_duration
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_duration")
+@@ -1805,9 +1811,15 @@
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_text")
+ (return-type "char*")
++)
++
++(define-method get_selected_text
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_selected_text")
++ (return-type "char*")
+ (parameters
+ '("PopplerSelectionStyle" "style")
+- '("PopplerRectangle*" "rect")
++ '("PopplerRectangle*" "selection")
+ )
+ )
+
+@@ -1895,6 +1907,16 @@
+ )
+ )
+
++(define-function poppler_page_add_annot
++ (of-object "PopplerPage")
++ (c-name "poppler_page_add_annot")
++ (return-type "none")
++ (parameters
++ '("PopplerAnnot*" "annot")
++ '("GList*" "list")
++ )
++)
++
+ (define-method get_crop_box
+ (of-object "PopplerPage")
+ (c-name "poppler_page_get_crop_box")
+@@ -1904,6 +1926,16 @@
+ )
+ )
+
++(define-method get_text_layout
++ (of-object "PopplerPage")
++ (c-name "poppler_page_get_text_layout")
++ (return-type "gboolean")
++ (parameters
++ '("PopplerRectangle**" "rectangles")
++ '("guint*" "n_rectangles")
++ )
++)
++
+ (define-function poppler_rectangle_get_type
+ (c-name "poppler_rectangle_get_type")
+ (return-type "GType")
diff --git a/dev-python/python-poppler/metadata.xml b/dev-python/python-poppler/metadata.xml
new file mode 100644
index 000000000000..071b9c5fe39c
--- /dev/null
+++ b/dev-python/python-poppler/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="launchpad">poppler-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-poppler/python-poppler-0.12.1-r4.ebuild b/dev-python/python-poppler/python-poppler-0.12.1-r4.ebuild
new file mode 100644
index 000000000000..76c90b99b7af
--- /dev/null
+++ b/dev-python/python-poppler/python-poppler-0.12.1-r4.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils eutils python-r1
+
+DESCRIPTION="Python bindings to the Poppler PDF library"
+HOMEPAGE="http://launchpad.net/poppler-python"
+SRC_URI="http://launchpad.net/poppler-python/trunk/development/+download/pypoppler-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE="examples"
+
+S=${WORKDIR}/pypoppler-${PV}
+
+RDEPEND="${PYTHON_DEPS}
+ >=app-text/poppler-0.15.0:=[cairo]
+ >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}]
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk:2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+# http://pkgs.fedoraproject.org/gitweb/?p=pypoppler.git;a=tree
+PATCHES=(
+ "${FILESDIR}"/${P}-75_74.diff
+ "${FILESDIR}"/${P}-79_78.diff
+ "${FILESDIR}"/${P}-poppler0.15.0-changes.patch
+ "${FILESDIR}"/${P}-poppler-0.18.0-minimal-fix.patch
+)
+
+src_configure() {
+ python_parallel_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_test() {
+ python_foreach_impl autotools-utils_src_test
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+ prune_libtool_files --modules
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}/examples
+ doins demo/demo-poppler.py
+ fi
+}
diff --git a/dev-python/python-prctl/Manifest b/dev-python/python-prctl/Manifest
new file mode 100644
index 000000000000..4ab038196c2b
--- /dev/null
+++ b/dev-python/python-prctl/Manifest
@@ -0,0 +1,3 @@
+DIST python-prctl-1.5.0.tar.gz 25024 SHA256 04fb4360b4f60e0ee6e3ae02ab4a478dc9d67486dbfc6e1d176af96b4e456fa7 SHA512 46500432fdeaef5f1ca370db0cbaa4d752d78434d10581a16dd131104db0996a9844fa604763f0220d0ba2250f1a6890ec0cdf1c491c8823f19d601376e6686f WHIRLPOOL c1620790aaf1145eea5e1ec681d2a2765ed6ea023991b24b1115209cd80b6fd49d8c5321f655c227c7a4ecf3c8141895e8f321d05cda4fb901634e3df604d57a
+DIST python-prctl-1.6.0.tar.gz 25701 SHA256 0206d445d24f45a5dbe67766797b67cf0afc70fdcf59edf59372530efe8ec0ce SHA512 05ac4719c2dc7056bf2caf1c8b875a8a5da2223856124e312e1631be68c161f3a3ec0bef8f4ad5459c9d792427f50f15ea988b20987e85bf2acb9cf50aeaf7d8 WHIRLPOOL 3d73b43928492b45ff11c5e24e23bc28759d1261d8d619642be9809a7da5c6cdebf6f05d4967053806d22f71611067658f5543cf99679da7f6cec4a9fcca5e5f
+DIST python-prctl-1.6.1.tar.gz 25788 SHA256 31f43b2e7bc3144ce18096eb8468c86acdaefbde2e3fc2aac75eea6be06d3b64 SHA512 9d379f2082523421b69f237042826fb4360d1da6e96dfc3f7e5133cb7041da4e3ea9954b14a063967c6dca2a766d39fbfe7eda71df13ae38ce046ec102949f3a WHIRLPOOL b9adfeaf9ed26e82c1ad49dbf425fb9f86c751b3192673a413457c7c41a1c6e6b5daedd61251c614bb5e77188eed64462e87960e6d8ab099b52cf706c39d2b1e
diff --git a/dev-python/python-prctl/metadata.xml b/dev-python/python-prctl/metadata.xml
new file mode 100644
index 000000000000..e33c535019f0
--- /dev/null
+++ b/dev-python/python-prctl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">seveas/python-prctl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-prctl/python-prctl-1.5.0-r1.ebuild b/dev-python/python-prctl/python-prctl-1.5.0-r1.ebuild
new file mode 100644
index 000000000000..c44f1adaa487
--- /dev/null
+++ b/dev-python/python-prctl/python-prctl-1.5.0-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Control process attributes through prctl"
+HOMEPAGE="http://github.com/seveas/python-prctl"
+SRC_URI="http://github.com/seveas/${PN}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-libs/libcap"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ mv *-${PN}-* "${S}"
+}
diff --git a/dev-python/python-prctl/python-prctl-1.6.0.ebuild b/dev-python/python-prctl/python-prctl-1.6.0.ebuild
new file mode 100644
index 000000000000..c44f1adaa487
--- /dev/null
+++ b/dev-python/python-prctl/python-prctl-1.6.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Control process attributes through prctl"
+HOMEPAGE="http://github.com/seveas/python-prctl"
+SRC_URI="http://github.com/seveas/${PN}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-libs/libcap"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ mv *-${PN}-* "${S}"
+}
diff --git a/dev-python/python-prctl/python-prctl-1.6.1.ebuild b/dev-python/python-prctl/python-prctl-1.6.1.ebuild
new file mode 100644
index 000000000000..c44f1adaa487
--- /dev/null
+++ b/dev-python/python-prctl/python-prctl-1.6.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Control process attributes through prctl"
+HOMEPAGE="http://github.com/seveas/python-prctl"
+SRC_URI="http://github.com/seveas/${PN}/tarball/v${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-libs/libcap"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ mv *-${PN}-* "${S}"
+}
diff --git a/dev-python/python-ptrace/Manifest b/dev-python/python-ptrace/Manifest
new file mode 100644
index 000000000000..489888fcd087
--- /dev/null
+++ b/dev-python/python-ptrace/Manifest
@@ -0,0 +1 @@
+DIST python-ptrace-0.8.1.tar.gz 93674 SHA256 779e04c7bdc00150b739e7d49c9c61b7f36f17afd26355f91b10cd0e7d55d19f SHA512 1c3dadf381ad0fe30374fe030fc3a81b5ec0885c31ac9be4ae561cf14ff891fc2e465555133b2efce6be0154b06768121aa068161bb3de10aca6df0eb181e25c WHIRLPOOL 1541571ed580b5852b1fc51f515776463dc622a4a2c334691f0433083a29bc1059549e0b4e938ea7c694517e341cd39bbc3f487f5ea7f83b327aaad1dbd8b7df
diff --git a/dev-python/python-ptrace/files/0.8.1-python3.4.patch b/dev-python/python-ptrace/files/0.8.1-python3.4.patch
new file mode 100644
index 000000000000..2e6e76f8e6df
--- /dev/null
+++ b/dev-python/python-ptrace/files/0.8.1-python3.4.patch
@@ -0,0 +1,147 @@
+# HG changeset patch
+# User Victor Stinner <victor.stinner@gmail.com>
+# Date 1417423044 -3600
+# Mon Dec 01 09:37:24 2014 +0100
+# Node ID eba1a6dba205559d724d32c80d955a65e078505e
+# Parent e6fef4231a8a28ef91c1feaf3bfbcbd29822c939
+Issue #17: syscall parser now supports O_CLOEXEC and SOCK_CLOEXEC, fix unit
+tests on Python 3.4 and newer
+
+diff --git a/doc/changelog.rst b/doc/changelog.rst
+--- a/doc/changelog.rst
++++ b/doc/changelog.rst
+@@ -3,6 +3,12 @@
+ Changelog
+ =========
+
++python-ptrace 0.8.2
++-------------------
++
++* Issue #17: syscall parser now supports O_CLOEXEC and SOCK_CLOEXEC, fix unit
++ tests on Python 3.4 and newer
++
+ python-ptrace 0.8.1 (2014-10-30)
+ --------------------------------
+
+diff --git a/ptrace/syscall/posix_arg.py b/ptrace/syscall/posix_arg.py
+--- a/ptrace/syscall/posix_arg.py
++++ b/ptrace/syscall/posix_arg.py
+@@ -24,7 +24,7 @@
+ return formatBits(argument.value, ACCESS_MODE_BITMASK, "F_OK")
+
+ # From /usr/include/bits/fcntl.h (Ubuntu Feisty, i386)
+-OPEN_MODE_BITMASK = (
++OPEN_MODE_BITMASK = [
+ (0o1, "O_WRONLY"),
+ (0o2, "O_RDWR"),
+ (0o100, "O_CREAT"),
+@@ -40,10 +40,17 @@
+ (0o200000, "O_DIRECTORY"),
+ (0o400000, "O_NOFOLLOW"),
+ (0o1000000, "O_NOATIME"),
+-)
++]
++O_CLOEXEC = 0o02000000
+
+ def formatOpenMode(argument):
+- return formatBits(int(argument.value), OPEN_MODE_BITMASK, "O_RDONLY", oct)
++ value = argument.value
++ cloexec = bool(value & O_CLOEXEC)
++ value = value & ~O_CLOEXEC
++ text = formatBits(int(value), OPEN_MODE_BITMASK, "O_RDONLY", oct)
++ if cloexec:
++ text += '|O_CLOEXEC'
++ return text
+
+ CLONE_FLAGS_BITMASK = (
+ (0x00000100, "CLONE_VM"),
+diff --git a/ptrace/syscall/posix_constants.py b/ptrace/syscall/posix_constants.py
+--- a/ptrace/syscall/posix_constants.py
++++ b/ptrace/syscall/posix_constants.py
+@@ -1,5 +1,5 @@
+ from ptrace.syscall.socketcall_constants import (
+- SOCKET_FAMILY, SOCKET_TYPE, SOCKET_PROTOCOL,
++ SOCKET_FAMILY, SOCKET_PROTOCOL,
+ SETSOCKOPT_LEVEL, SETSOCKOPT_OPTNAME)
+
+ SYSCALL_ARG_DICT = {
+@@ -51,7 +51,6 @@
+ },
+ "socket": {
+ "domain": SOCKET_FAMILY,
+- "type": SOCKET_TYPE,
+ "protocol": SOCKET_PROTOCOL,
+ },
+ "getsockopt": {
+diff --git a/ptrace/syscall/socketcall_constants.py b/ptrace/syscall/socketcall_constants.py
+--- a/ptrace/syscall/socketcall_constants.py
++++ b/ptrace/syscall/socketcall_constants.py
+@@ -1,3 +1,5 @@
++import socket
++
+ SOCKETCALL = {
+ 1: "socket",
+ 2: "bind",
+@@ -56,6 +58,19 @@
+ 10: "SOCK_PACKET",
+ }
+
++def formatSocketType(argument):
++ value = argument.value
++ text = []
++ if hasattr(socket, 'SOCK_CLOEXEC'):
++ cloexec = value & socket.SOCK_CLOEXEC
++ value &= ~socket.SOCK_CLOEXEC
++ else:
++ cloexec = False
++ text = SOCKET_TYPE.get(value, value)
++ if cloexec:
++ text += '|SOCK_CLOEXEC'
++ return text
++
+ SOCKET_PROTOCOL = {
+ 1: "IPPROTO_ICMP",
+ 58: "IPPROTO_ICMPV6",
+diff --git a/ptrace/syscall/syscall_argument.py b/ptrace/syscall/syscall_argument.py
+--- a/ptrace/syscall/syscall_argument.py
++++ b/ptrace/syscall/syscall_argument.py
+@@ -22,6 +22,7 @@
+ from ptrace.syscall.freebsd_constants import SYSCALL_ARG_DICT
+ else:
+ SYSCALL_ARG_DICT = {}
++from ptrace.syscall.socketcall_constants import formatSocketType
+
+ KNOWN_STRUCTS = []
+ if RUNNING_LINUX:
+@@ -35,6 +36,7 @@
+ "mmap": {"prot": formatMmapProt},
+ "mmap2": {"prot": formatMmapProt},
+ "clone": {"flags": formatCloneFlags},
++ "socket": {"type": formatSocketType},
+ "setsockopt": {"optval": formatOptVal},
+ }
+
+diff --git a/tests/test_strace.py b/tests/test_strace.py
+--- a/tests/test_strace.py
++++ b/tests/test_strace.py
+@@ -39,10 +39,19 @@
+ expected = os.fsencode(expected)
+ self.assertEqual(match.group(1), expected)
+
++ def test_open(self):
++ if PY3:
++ code = 'open(%a).close()' % __file__
++ else:
++ code = 'open(%r).close()' % __file__
++ stdout = self.strace(sys.executable, '-c', code)
++ pattern = re.compile(br"^open\(.*test_strace\.py', O_RDONLY(\|O_CLOEXEC)?\)", re.MULTILINE)
++ self.assertTrue(pattern.search(stdout), stdout)
++
+ def test_socket(self):
+ code = 'import socket; socket.socket(socket.AF_INET, socket.SOCK_STREAM).close()'
+ stdout = self.strace(sys.executable, '-c', code)
+- pattern = re.compile(b'^socket\\(AF_INET, SOCK_STREAM, ', re.MULTILINE)
++ pattern = re.compile(br'^socket\(AF_INET, SOCK_STREAM(\|SOCK_CLOEXEC)?, ', re.MULTILINE)
+ self.assertTrue(pattern.search(stdout), stdout)
+
+ if __name__ == "__main__":
diff --git a/dev-python/python-ptrace/metadata.xml b/dev-python/python-ptrace/metadata.xml
new file mode 100644
index 000000000000..a484905aea3b
--- /dev/null
+++ b/dev-python/python-ptrace/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-ptrace</remote-id>
+ <remote-id type="bitbucket">haypo/python-ptrace</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-ptrace/python-ptrace-0.8.1-r1.ebuild b/dev-python/python-ptrace/python-ptrace-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..06c2354266d6
--- /dev/null
+++ b/dev-python/python-ptrace/python-ptrace-0.8.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="python-ptrace is a debugger using ptrace (Linux, BSD and Darwin system call to trace processes)"
+HOMEPAGE="http://bitbucket.org/haypo/python-ptrace/ http://pypi.python.org/pypi/python-ptrace"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+PATCHES=( "${FILESDIR}/0.8.1-python3.4.patch" )
+
+python_test() {
+ "${PYTHON}" runtests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ # doc folder missing key files to effect a proper doc build
+ use doc && local DOCS=( README doc/* )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-saharaclient/Manifest b/dev-python/python-saharaclient/Manifest
new file mode 100644
index 000000000000..658616902ffc
--- /dev/null
+++ b/dev-python/python-saharaclient/Manifest
@@ -0,0 +1,2 @@
+DIST python-saharaclient-0.7.0.tar.gz 72542 SHA256 7c83fb7709a870101539bd25d76225dc7a65e3848e2d698403e0a410c67fe388 SHA512 788d6a0586b00dc6d367f34ede74109d787c4cf4abd8dd2d7ef11bebe7440add42da54c3c9aaa8bdf201444d1c5fd38e5da41b327cc166b396978e85608120e9 WHIRLPOOL f5e4ab52eda75b626c8d8a722869eb9914f6a8e29ea9c6815e510e42c93f912dda8e7887fe0342faac4fdf0baf4ce727fb7fbc133281b98d2586b258a65e3799
+DIST python-saharaclient-0.9.0.tar.gz 92694 SHA256 3a268992bc7383fecbfe067b497f28c16d6577cc87646a4e88d32a954c744885 SHA512 626e99077e3d7e676be82fd0ad3e9a67d1a471dd947951a22e4402e38d5b9f4db9a35a4b7cd7f4a3bb48a2f1d0927a025115fc3f2325e64d3bc06f0839fb5c3d WHIRLPOOL 308af2a580eb27b9452413a343de3e832250a28c86fbabcf0fd320aebb2cc3aa8f750de805ea8d4757a20713c4076b7aac5996680546ea51535080120ff1173a
diff --git a/dev-python/python-saharaclient/metadata.xml b/dev-python/python-saharaclient/metadata.xml
new file mode 100644
index 000000000000..e84ed46fdd9b
--- /dev/null
+++ b/dev-python/python-saharaclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack Sahara API, aka HADOOP
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-saharaclient</remote-id>
+ <remote-id type="github">openstack/python-saharaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-saharaclient/python-saharaclient-0.7.0.ebuild b/dev-python/python-saharaclient/python-saharaclient-0.7.0.ebuild
new file mode 100644
index 000000000000..d9976095cbc2
--- /dev/null
+++ b/dev-python/python-saharaclient/python-saharaclient-0.7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client for the OpenStack Sahara API, aka HADOOP"
+HOMEPAGE="https://github.com/openstack/python-saharaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ ~dev-python/docutils-0.9.1[${PYTHON_USEDEP}]
+ dev-python/oslo-sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.6[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-saharaclient/python-saharaclient-0.9.0.ebuild b/dev-python/python-saharaclient/python-saharaclient-0.9.0.ebuild
new file mode 100644
index 000000000000..8566ca7220ea
--- /dev/null
+++ b/dev-python/python-saharaclient/python-saharaclient-0.9.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client for the OpenStack Sahara API, aka HADOOP"
+HOMEPAGE="https://github.com/openstack/python-saharaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-2.3.11[${PYTHON_USEDEP}]
+ <dev-python/python-neutronclient-3[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ )"
+RDEPEND=">=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed -i '/argparse/d' requirements.txt
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-scw/Manifest b/dev-python/python-scw/Manifest
new file mode 100644
index 000000000000..af5a1573cb05
--- /dev/null
+++ b/dev-python/python-scw/Manifest
@@ -0,0 +1 @@
+DIST python-scw-0.4.7.tar.gz 337703 SHA256 2cf8774be0b00dd1f2afff98fa8d27c3dcfda9f3bdf54c006731987550791460 SHA512 c731527ed1c3372440a428335f2f318307c970b6ee4a09af9c4eeaf89e681a335130ed855a3bb239bf5f44bfee1f0772d3f19afd07c7bbc180c586646fdd9a07 WHIRLPOOL a4bb5dea90c3a7bd2996296d1fc5400f375cc3f87111a650268b53af7563133da4f482ddf28a369e5939cec318a7c031c7d637457bc3ee16774b65723c2c019f
diff --git a/dev-python/python-scw/metadata.xml b/dev-python/python-scw/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/python-scw/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/python-scw/python-scw-0.4.7-r1.ebuild b/dev-python/python-scw/python-scw-0.4.7-r1.ebuild
new file mode 100644
index 000000000000..76db6dda43d5
--- /dev/null
+++ b/dev-python/python-scw/python-scw-0.4.7-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+DESCRIPTION="Python binding for Scw"
+HOMEPAGE="http://scwwidgets.googlepages.com/"
+SRC_URI="http://scwwidgets.googlepages.com/${P}.tar.gz "
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-python/pygtk-2.4[${PYTHON_USEDEP}]
+ >=x11-libs/scw-0.4.0"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/python-slip/Manifest b/dev-python/python-slip/Manifest
new file mode 100644
index 000000000000..c3454de6267b
--- /dev/null
+++ b/dev-python/python-slip/Manifest
@@ -0,0 +1,2 @@
+DIST python-slip-0.6.0.tar.bz2 24930 SHA256 f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c SHA512 5787995521cce568d6569c15270bee63d9c42e85e21e652c9042c09d62d2c99bbee0b3efcaaa187e3f78d0d90a69ba4d9846b1182f0f366a6c75cb822b412164 WHIRLPOOL 30ede47ceafe7eef0c441504061cbfa1cddac80afb732030a8e27765f0a30b4b2b176061fe19d57001f39ed764b298f8bfc9d2e0d01b878ac0a0a7ae5c623a04
+DIST python-slip-0.6.1.tar.bz2 25000 SHA256 bc897f1ab6f5b4989f85548799aaeb84fde67bbba18e40341bfe1d7885c2fd9a SHA512 d7d79b8ee4468d3a3b5e2ff31dcc8af30f70591ba42f74af9787e5c883a137e85c39a6ffc7c36cd2383840aa4ca09cd1ca3d9e40fc4d266b37689a85f084a9ab WHIRLPOOL 95595c7cc45bd403fa8ed1a5a36e32bbcce7aa621ff2d86503487174279e996e3839e7c3033a771274c944f46591f819a0ab1981e1301c4a13757f4787c2586b
diff --git a/dev-python/python-slip/files/python-slip-0.2.20-no-selinux.patch b/dev-python/python-slip/files/python-slip-0.2.20-no-selinux.patch
new file mode 100644
index 000000000000..b4ff16543ac1
--- /dev/null
+++ b/dev-python/python-slip/files/python-slip-0.2.20-no-selinux.patch
@@ -0,0 +1,93 @@
+From 13474db085f5ae550248d93ccf0f92b987f2244b Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Wed, 18 Jul 2012 20:07:01 -0400
+Subject: [PATCH] Disable selinux
+
+---
+ setup.py.in | 2 +-
+ slip/util/files.py | 28 ++++++++++++++--------------
+ 2 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/setup.py.in b/setup.py.in
+index 554dc40..f3d9d55 100644
+--- a/setup.py.in
++++ b/setup.py.in
+@@ -6,7 +6,7 @@ from distutils.core import setup
+ setup(name="slip", version="@VERSION@",
+ py_modules=["slip.__init__", "slip.util.__init__",
+ "slip.util.hookable", "slip.util.files"],
+- requires=["selinux"])
++ requires=[ ])
+
+ setup(name="slip.dbus", version="@VERSION@",
+ py_modules=["slip.dbus.__init__", "slip.dbus.bus",
+diff --git a/slip/util/files.py b/slip/util/files.py
+index 4e98238..141aa86 100644
+--- a/slip/util/files.py
++++ b/slip/util/files.py
+@@ -24,7 +24,7 @@ __all__ = ["issamefile", "linkfile", "copyfile", "linkorcopyfile",
+ "overwrite_safely"]
+
+ import os
+-import selinux
++# import selinux
+ import shutil
+ import tempfile
+ import errno
+@@ -135,8 +135,8 @@ def copyfile(srcpath, dstpath, copy_mode_from_dst=True, run_restorecon=True):
+
+ os.rename(dsttmpfile.name, dstpath)
+
+- if run_restorecon and selinux.is_selinux_enabled() > 0:
+- selinux.restorecon(dstpath)
++# if run_restorecon and selinux.is_selinux_enabled() > 0:
++# selinux.restorecon(dstpath)
+
+
+ def linkorcopyfile(srcpath, dstpath, copy_mode_from_dst=True,
+@@ -176,8 +176,8 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+
+ exists = os.path.exists(path)
+
+- if preserve_context and selinux.is_selinux_enabled() <= 0:
+- preserve_context = False
++# if preserve_context and selinux.is_selinux_enabled() <= 0:
++# preserve_context = False
+
+ try:
+ fd, tmpname = tempfile.mkstemp(prefix=base + os.path.extsep,
+@@ -186,10 +186,10 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+ if exists and preserve_mode:
+ shutil.copymode(path, tmpname)
+
+- if exists and preserve_context:
+- ret, ctx = selinux.getfilecon(path)
+- if ret < 0:
+- raise RuntimeError("getfilecon(%r) failed" % path)
++# if exists and preserve_context:
++# ret, ctx = selinux.getfilecon(path)
++# if ret < 0:
++# raise RuntimeError("getfilecon(%r) failed" % path)
+
+ f = os.fdopen(fd, "w")
+ fd = None
+@@ -201,11 +201,11 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+
+ os.rename(tmpname, path)
+
+- if preserve_context:
+- if exists:
+- selinux.setfilecon(path, ctx)
+- else:
+- selinux.restorecon(path)
++# if preserve_context:
++# if exists:
++# selinux.setfilecon(path, ctx)
++# else:
++# selinux.restorecon(path)
+
+ finally:
+ if f:
+--
+1.7.8.6
+
diff --git a/dev-python/python-slip/files/python-slip-0.4.0-no-selinux.patch b/dev-python/python-slip/files/python-slip-0.4.0-no-selinux.patch
new file mode 100644
index 000000000000..08a4fa80b880
--- /dev/null
+++ b/dev-python/python-slip/files/python-slip-0.4.0-no-selinux.patch
@@ -0,0 +1,93 @@
+From a7bfeeb479d28c9a880d2a08d0102978fa711237 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Wed, 18 Jul 2012 20:07:01 -0400
+Subject: [PATCH] Disable selinux
+
+---
+ setup.py.in | 2 +-
+ slip/util/files.py | 28 ++++++++++++++--------------
+ 2 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/setup.py.in b/setup.py.in
+index d670ed5..d5b8db8 100644
+--- a/setup.py.in
++++ b/setup.py.in
+@@ -7,7 +7,7 @@ setup(name="slip", version="@VERSION@",
+ py_modules=["slip.__init__", "slip.util.__init__",
+ "slip.util.hookable", "slip.util.files",
+ "slip._wrappers.__init__", "slip._wrappers._gobject"],
+- requires=["selinux"])
++ requires=[ ])
+
+ setup(name="slip.dbus", version="@VERSION@",
+ py_modules=["slip.dbus.__init__", "slip.dbus.bus",
+diff --git a/slip/util/files.py b/slip/util/files.py
+index 27ba45c..53869f6 100644
+--- a/slip/util/files.py
++++ b/slip/util/files.py
+@@ -24,7 +24,7 @@ __all__ = ["issamefile", "linkfile", "copyfile", "linkorcopyfile",
+ "overwrite_safely"]
+
+ import os
+-import selinux
++# import selinux
+ import shutil
+ import tempfile
+ import errno
+@@ -134,8 +134,8 @@ def copyfile(srcpath, dstpath, copy_mode_from_dst=True, run_restorecon=True):
+
+ os.rename(dsttmpfile.name, dstpath)
+
+- if run_restorecon and selinux.is_selinux_enabled() > 0:
+- selinux.restorecon(dstpath)
++# if run_restorecon and selinux.is_selinux_enabled() > 0:
++# selinux.restorecon(dstpath)
+
+
+ def linkorcopyfile(srcpath, dstpath, copy_mode_from_dst=True,
+@@ -234,8 +234,8 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+
+ exists = os.path.exists(path)
+
+- if preserve_context and selinux.is_selinux_enabled() <= 0:
+- preserve_context = False
++# if preserve_context and selinux.is_selinux_enabled() <= 0:
++# preserve_context = False
+
+ try:
+ fd, tmpname = tempfile.mkstemp(prefix=base + os.path.extsep,
+@@ -244,10 +244,10 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+ if exists and preserve_mode:
+ shutil.copymode(path, tmpname)
+
+- if exists and preserve_context:
+- ret, ctx = selinux.getfilecon(path)
+- if ret < 0:
+- raise RuntimeError("getfilecon(%r) failed" % path)
++# if exists and preserve_context:
++# ret, ctx = selinux.getfilecon(path)
++# if ret < 0:
++# raise RuntimeError("getfilecon(%r) failed" % path)
+
+ f = os.fdopen(fd, "w")
+ fd = None
+@@ -259,11 +259,11 @@ def overwrite_safely(path, content, preserve_mode=True, preserve_context=True):
+
+ os.rename(tmpname, path)
+
+- if preserve_context:
+- if exists:
+- selinux.setfilecon(path, ctx)
+- else:
+- selinux.restorecon(path)
++# if preserve_context:
++# if exists:
++# selinux.setfilecon(path, ctx)
++# else:
++# selinux.restorecon(path)
+
+ finally:
+ if f:
+--
+1.8.3.2
+
diff --git a/dev-python/python-slip/metadata.xml b/dev-python/python-slip/metadata.xml
new file mode 100644
index 000000000000..da6fd63d0085
--- /dev/null
+++ b/dev-python/python-slip/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+</pkgmetadata>
diff --git a/dev-python/python-slip/python-slip-0.6.0.ebuild b/dev-python/python-slip/python-slip-0.6.0.ebuild
new file mode 100644
index 000000000000..2ebdf483d4a0
--- /dev/null
+++ b/dev-python/python-slip/python-slip-0.6.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_REQ_USE="xml"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Miscellaneous convenience, extension and workaround code for Python"
+HOMEPAGE="https://fedorahosted.org/python-slip/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dbus selinux"
+
+RDEPEND="
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ sys-auth/polkit )
+"
+DEPEND=""
+
+python_prepare_all() {
+ use selinux || epatch "${FILESDIR}/${PN}-0.4.0-no-selinux.patch"
+
+ # hard-disable slip.gtk since it did not get ported to gtk3+ and the only user
+ # of slip (firewalld) does not use it (upstream disables it for py3 already)
+ sed \
+ -e 's|sys.version_info.major == 2|False|' \
+ -e "s:@VERSION@:${PV}:" setup.py.in > setup.py || die "sed failed"
+
+ if ! use dbus; then
+ sed -e '/name="slip.dbus"/ s/\(.*\)/if 0:\n \1/' \
+ -i setup.py || die "sed 2 failed"
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-slip/python-slip-0.6.1.ebuild b/dev-python/python-slip/python-slip-0.6.1.ebuild
new file mode 100644
index 000000000000..6af27c377bf2
--- /dev/null
+++ b/dev-python/python-slip/python-slip-0.6.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_REQ_USE="xml"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Miscellaneous convenience, extension and workaround code for Python"
+HOMEPAGE="https://fedorahosted.org/python-slip/"
+SRC_URI="https://fedorahosted.org/released/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dbus selinux"
+
+RDEPEND="
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ sys-auth/polkit )
+"
+DEPEND=""
+
+python_prepare_all() {
+ use selinux || epatch "${FILESDIR}/${PN}-0.4.0-no-selinux.patch"
+
+ # hard-disable slip.gtk since it did not get ported to gtk3+ and the only user
+ # of slip (firewalld) does not use it (upstream disables it for py3 already)
+ sed \
+ -e 's|sys.version_info.major == 2|False|' \
+ -e "s:@VERSION@:${PV}:" setup.py.in > setup.py || die "sed failed"
+
+ if ! use dbus; then
+ sed -e '/name="slip.dbus"/ s/\(.*\)/if 0:\n \1/' \
+ -i setup.py || die "sed 2 failed"
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-social-auth/Manifest b/dev-python/python-social-auth/Manifest
new file mode 100644
index 000000000000..85f7f715f52b
--- /dev/null
+++ b/dev-python/python-social-auth/Manifest
@@ -0,0 +1,2 @@
+DIST python-social-auth-0.1.26.tar.gz 247579 SHA256 9f0a9e8526850e9d0bdd4e5df4d2a6129c4da5a747887ccbfebafc0d2868120c SHA512 c3637f9a269f2c8465b1896840a5ca0f70bb6c45c93f7d9c08c54434037984538ba95442a164841c069cb5b1fd251d0f3f62baa1dc2754a542baceb2f325bd8b WHIRLPOOL e9d17f1c7b094cf0c20d7cee6ba06e0557b322d24aa6bf53743e49eaa08bf8935e71b7d1793227d53d6ff9cacebae975768feab5f6d37d683df8f16caf19a9ed
+DIST python-social-auth-0.2.10.tar.gz 297210 SHA256 10dd7df9e2bb6143cf33170ae53b7463a6947ed111da7158d8e3fd60fafe5d91 SHA512 af5247cee0b77f36d1bfdd7457708c2f2053bc779bae8eae0cfe79f0f9236c37882afcbd325863255282eb7559d8f84715b3e983f94d55bd3e7815c5469f150d WHIRLPOOL 7bbc97885ce4d74785b4506b3ddb133fb9751625193742194ca6cc78e3a76fb8e07c9440bfac7e661fe76363a78b66c87049282163c9923015ce3251da235881
diff --git a/dev-python/python-social-auth/metadata.xml b/dev-python/python-social-auth/metadata.xml
new file mode 100644
index 000000000000..f51439d41095
--- /dev/null
+++ b/dev-python/python-social-auth/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">omab/python-social-auth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-social-auth/python-social-auth-0.1.26.ebuild b/dev-python/python-social-auth/python-social-auth-0.1.26.ebuild
new file mode 100644
index 000000000000..ab01c01a04fd
--- /dev/null
+++ b/dev-python/python-social-auth/python-social-auth-0.1.26.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Easy to setup social auth mechanism with support for several frameworks and auth providers"
+HOMEPAGE="http://psa.matiasaguirre.net/"
+SRC_URI="https://github.com/omab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="doc examples test"
+
+RDEPEND="
+ $(python_gen_cond_dep \
+ 'dev-python/python-openid[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep \
+ 'dev-python/python3-openid[${PYTHON_USEDEP}]' 'python3*')
+ >=dev-python/oauthlib-0.3.8[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+ >=dev-python/six-1.2.0[${PYTHON_USEDEP}]
+"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+# tests require internet
+#"
+# test? (
+# dev-python/coverage[${PYTHON_USEDEP}]
+# dev-python/httpretty[${PYTHON_USEDEP}]
+# dev-python/mock[${PYTHON_USEDEP}]
+# dev-python/nose[${PYTHON_USEDEP}]
+# dev-python/sure[${PYTHON_USEDEP}]
+# )
+#"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+#python_test() {
+# "${S}"/social/tests/run_tests.sh || die "Tests failed on ${EPYTHON}"
+#}
diff --git a/dev-python/python-social-auth/python-social-auth-0.2.10.ebuild b/dev-python/python-social-auth/python-social-auth-0.2.10.ebuild
new file mode 100644
index 000000000000..716f81f37634
--- /dev/null
+++ b/dev-python/python-social-auth/python-social-auth-0.2.10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Easy to setup social auth mechanism with support for several frameworks and auth providers"
+HOMEPAGE="http://psa.matiasaguirre.net/"
+SRC_URI="https://github.com/omab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+RDEPEND="
+ $(python_gen_cond_dep \
+ 'dev-python/python-openid[${PYTHON_USEDEP}]' 'python2*')
+ $(python_gen_cond_dep \
+ 'dev-python/python3-openid[${PYTHON_USEDEP}]' 'python3*')
+ >=dev-python/oauthlib-0.3.8[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-1.2.0[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+ >=dev-python/six-1.2.0[${PYTHON_USEDEP}]
+"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+# tests require internet
+#"
+# test? (
+# dev-python/coverage[${PYTHON_USEDEP}]
+# dev-python/httpretty[${PYTHON_USEDEP}]
+# dev-python/mock[${PYTHON_USEDEP}]
+# dev-python/nose[${PYTHON_USEDEP}]
+# dev-python/sure[${PYTHON_USEDEP}]
+# )
+#"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
+
+#python_test() {
+# "${S}"/social/tests/run_tests.sh || die "Tests failed on ${EPYTHON}"
+#}
diff --git a/dev-python/python-sqlparse/Manifest b/dev-python/python-sqlparse/Manifest
new file mode 100644
index 000000000000..8dd5f14a2bed
--- /dev/null
+++ b/dev-python/python-sqlparse/Manifest
@@ -0,0 +1,5 @@
+DIST python-sqlparse-0.1.10.tar.gz 151351 SHA256 8bac29a6e21ed64ec69703971cd9ac0fa50e7e01f62a6d826fd2ce76f3191199 SHA512 8b30ac752f0208d8247b353d71e56e67a6a874384999ce35e4391f4a8a8919e8c59fa1d3bb53cf676164fb3a677fc4791fd57330ff52613fc8d2f6e85d8b528b WHIRLPOOL c31f024bf04985054a8efabe80c05e15f8caed7188a73a5749c3e1150711a504bff111b4d3504118e455e358cead8cde5e7a0cf480a7cf0b7ea70a1312b7b6c7
+DIST python-sqlparse-0.1.13.tar.gz 153184 SHA256 d827ac617c159ec60ddd7d4db05bb1c7b1e558334e30db355056715677aa9e2d SHA512 e6e50ae388eeced653b831279de4e425c3c416e246ee0bf7e09511e633c2b9edea3011fe7108b87d5187ae40da4591842e31c80fa45f76512cfbe023207ec476 WHIRLPOOL 34ad49e19cc309cc5bb2ce93e8edddf15808851094cb3d48c820554f1631bf0e54d2ec2ae6099683b1b7c66dcee7db38f2cfb8f2e80d4c8a69b489617a18fbcb
+DIST sqlparse-0.1.14.tar.gz 55307 SHA256 e561e31853ab9f3634a1a2bd53035f9e47dfb203d56b33cc6569047ba087daf0 SHA512 212f0dc1f05057f44cb441c2b0d29a597a826c3170ec87276a74c79f5d445cf736cfcbf8ff7cfe40c252416bba9851ce4a4739418627172ac41d98e6835668c6 WHIRLPOOL 93a226fe3df6d6d078c447e311d10114a9fb31801d848456ab9ba21d4087a373a6d2f20d1bc4e55474dae28411dcb4112e85ceaf373dec51275aa9ce38102aff
+DIST sqlparse-0.1.15.tar.gz 57863 SHA256 ce92c9f134b1cd461a27c502197464b5f245261ad0fbb26d7bf659f28a5c11b2 SHA512 9d7ef4b22465b0b0438195f304fa138f286f5976ba64880616ef46da4df76dd9c6bb34d56c8daa66e522e68b3e7f284d442e513e3cc97a5300c38597d2c4afc1 WHIRLPOOL 968250ad9f2945ab6d61d94a673493cc6c6e42fea5566f6a7b25f4cde57dbbcf8216e8e1003f50b1f5bd1be58b00838fecdc6c729c8ba3a2365309ddede66ba5
+DIST sqlparse-0.1.16.tar.gz 58418 SHA256 678c6c36ca4b01405177da8b84eecf92ec92c9f6c762396c965bb5d305f20f81 SHA512 2561ed970340eb99b575626fd8bb7253f522507628ed86256a32e7bd7dd438b7f4bec0adf1d7298a2903411d2623cb5a4ba6f53c794bcc38b695e2ddf26c488c WHIRLPOOL 8c2f01c4bda48e190668bb34cbabc1bc775a224432ca9ea638f4c350fe493c8705d171f4f6c40063e8c7546502249cec3bfa73d5f6f6e47b918cdba8a5cdcafc
diff --git a/dev-python/python-sqlparse/metadata.xml b/dev-python/python-sqlparse/metadata.xml
new file mode 100644
index 000000000000..3faec63e9623
--- /dev/null
+++ b/dev-python/python-sqlparse/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">python-sqlparse</remote-id>
+ <remote-id type="pypi">python-sqlparse</remote-id>
+ <remote-id type="github">andialbrecht/sqlparse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-sqlparse/python-sqlparse-0.1.10.ebuild b/dev-python/python-sqlparse/python-sqlparse-0.1.10.ebuild
new file mode 100644
index 000000000000..9c0a05598e86
--- /dev/null
+++ b/dev-python/python-sqlparse/python-sqlparse-0.1.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="http://code.google.com/p/python-sqlparse/ https://github.com/andialbrecht/sqlparse"
+SRC_URI="https://github.com/andialbrecht/sqlparse/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+DISTUTILS_IN_SOURCE_BUILD=1 # Required for running tests
+
+S="${WORKDIR}"/${P#python-}
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -w --no-diffs -n tests/ sqlparse/
+ py.test ./tests || die "testsuite failed ${EPYTHON}"
+ else
+ py.test tests || die "testsuite failed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/python-sqlparse/python-sqlparse-0.1.13.ebuild b/dev-python/python-sqlparse/python-sqlparse-0.1.13.ebuild
new file mode 100644
index 000000000000..3c056af728db
--- /dev/null
+++ b/dev-python/python-sqlparse/python-sqlparse-0.1.13.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="http://code.google.com/p/python-sqlparse/ https://github.com/andialbrecht/sqlparse"
+SRC_URI="https://github.com/andialbrecht/sqlparse/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+# Required for running tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}"/${P#python-}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -w --no-diffs -n tests/ sqlparse/
+ py.test ./tests || die "testsuite failed ${EPYTHON}"
+ else
+ py.test tests || die "testsuite failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-sqlparse/python-sqlparse-0.1.14.ebuild b/dev-python/python-sqlparse/python-sqlparse-0.1.14.ebuild
new file mode 100644
index 000000000000..847ad91955e9
--- /dev/null
+++ b/dev-python/python-sqlparse/python-sqlparse-0.1.14.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN##python-}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="http://code.google.com/p/python-sqlparse/ https://github.com/andialbrecht/sqlparse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+# Required for running tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}"/${P#python-}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -w --no-diffs -n tests/ sqlparse/
+ py.test ./tests || die "testsuite failed ${EPYTHON}"
+ else
+ py.test tests || die "testsuite failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-sqlparse/python-sqlparse-0.1.15.ebuild b/dev-python/python-sqlparse/python-sqlparse-0.1.15.ebuild
new file mode 100644
index 000000000000..847ad91955e9
--- /dev/null
+++ b/dev-python/python-sqlparse/python-sqlparse-0.1.15.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN##python-}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="http://code.google.com/p/python-sqlparse/ https://github.com/andialbrecht/sqlparse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+# Required for running tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}"/${P#python-}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -w --no-diffs -n tests/ sqlparse/
+ py.test ./tests || die "testsuite failed ${EPYTHON}"
+ else
+ py.test tests || die "testsuite failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-sqlparse/python-sqlparse-0.1.16.ebuild b/dev-python/python-sqlparse/python-sqlparse-0.1.16.ebuild
new file mode 100644
index 000000000000..847ad91955e9
--- /dev/null
+++ b/dev-python/python-sqlparse/python-sqlparse-0.1.16.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="${PN##python-}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="http://code.google.com/p/python-sqlparse/ https://github.com/andialbrecht/sqlparse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD-2"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ )"
+# Required for running tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+S="${WORKDIR}"/${P#python-}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ if python_is_python3; then
+ 2to3 -w --no-diffs -n tests/ sqlparse/
+ py.test ./tests || die "testsuite failed ${EPYTHON}"
+ else
+ py.test tests || die "testsuite failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-stdnum/Manifest b/dev-python/python-stdnum/Manifest
new file mode 100644
index 000000000000..440a5204af0c
--- /dev/null
+++ b/dev-python/python-stdnum/Manifest
@@ -0,0 +1,2 @@
+DIST python-stdnum-0.9.tar.gz 136636 SHA256 c25bbdc6d8fb9d82e4d4d3c72545cff56eb8dd4389162e4ee415c3c7218136e6 SHA512 c9870ad116c2c08b123b7b01cc229a1f9d3f3e15da3ba75bdf5da8bee2a854474f6ddd7464c2d662559fedf272ea13a3549ed79a4636ddc1d733a47ea11ae058 WHIRLPOOL 3e124851b81e9cf8212994a8720b1b4994883d8175198fa1a0ee907dc989e4f5edd28c6e0f71c1a2b0df3987499f05f25405bfaa969e93c47c17fda7c4dc59a1
+DIST python-stdnum-1.1.tar.gz 205495 SHA256 66ee880bfd60cadeca667eba6f29803b6712eb554a2d19cfb8e1ea86ce42df35 SHA512 b066b5cd4b04b70b52850942489f28165a833d2e29fe16eeec9b93e395f19742eaf2edc3cdbb31972e8ffd7ad46b189a186c3ed93bd91ab90e829681f54cf1f4 WHIRLPOOL 79c908885b0d3f89a300511d04f3283fcbaec02938ce763a263f40e6febef62c607ee241cc664bdbfc98176505b58ac69820fea717455bef3f17f5e93dcae8a9
diff --git a/dev-python/python-stdnum/metadata.xml b/dev-python/python-stdnum/metadata.xml
new file mode 100644
index 000000000000..3f5b90a8a722
--- /dev/null
+++ b/dev-python/python-stdnum/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>cedk@gentoo.org</email>
+ <name>Cédric Krier</name>
+ </maintainer>
+ <longdescription lang="en">
+ A module to handle standardized numbers and codes
+ </longdescription>
+ <use>
+ <flag name="vies">Enable VIES</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">python-stdnum</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-stdnum/python-stdnum-0.9.ebuild b/dev-python/python-stdnum/python-stdnum-0.9.ebuild
new file mode 100644
index 000000000000..9d0c6d1dbf66
--- /dev/null
+++ b/dev-python/python-stdnum/python-stdnum-0.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A module to handle standardized numbers and codes"
+HOMEPAGE="http://arthurdejong.org/python-stdnum/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="vies"
+
+DEPEND="dev-python/setuptools
+ vies? ( dev-python/suds )"
+RDEPEND="${DEPEND}"
+
+DOCS=( ChangeLog NEWS README )
diff --git a/dev-python/python-stdnum/python-stdnum-1.1.ebuild b/dev-python/python-stdnum/python-stdnum-1.1.ebuild
new file mode 100644
index 000000000000..364541aa3435
--- /dev/null
+++ b/dev-python/python-stdnum/python-stdnum-1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A module to handle standardized numbers and codes"
+HOMEPAGE="http://arthurdejong.org/python-stdnum/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="vies test"
+
+RDEPEND="vies? ( dev-python/suds )"
+DEPEND="${DEPEND}
+ dev-python/setuptools
+ test? ( dev-python/nose )"
+
+DOCS=( ChangeLog NEWS README )
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/python-swiftclient/Manifest b/dev-python/python-swiftclient/Manifest
new file mode 100644
index 000000000000..5c7e376d01a2
--- /dev/null
+++ b/dev-python/python-swiftclient/Manifest
@@ -0,0 +1,3 @@
+DIST python-swiftclient-2.0.3.tar.gz 55405 SHA256 b8c0b11ff0397b2f2ba2145cd8de7b86a61d34d6f1af78fee536cb9ba5dee315 SHA512 fe52e49c67edae20cd9db65adbc3b54bd1b9b40b09e2c07c65eaae80d96266134fe55d86d7cfd919453077c6c08b06a51278f93a973ec6b4279295bd6e0f9d64 WHIRLPOOL 3b80a78c8d67254f94e58acb4d758d439e79ca0cb8633d7d12cceeed817d8c9f7297f2e9a2a82642cedc4def6b15d3ccd8bab922c3a7f230d151f414f0bbca15
+DIST python-swiftclient-2.1.0.tar.gz 62692 SHA256 e5304cc2fc58e5f9fec87c0910109b524b3634f49a6dd82a35a28cbdf1515de8 SHA512 a49b60124093df9b1fb9ea87a356aafd21ded0a7826b04786dddc94fc1d494c38c2e99d1bd43ba23579ff595c7fabd74bc29e852349852b0bbbfa0cd95f0cac2 WHIRLPOOL 9830329cd08047c943bf8cbd41a41eaecd20ef17a886f72b2504f1568969e08d8282ec4b4b23ea9368284b027ef320a615ce4614852105768fa6c7b004732f65
+DIST python-swiftclient-2.2.0.tar.gz 67374 SHA256 f41f6650150367fc2641e1536d36a68b9664db1f4cfe3e8d1de2e2b5aa41a3cb SHA512 bd60e96525a3c879e94fbb99da1d4813cb181982b753934efd32f4a8310c8ef3237a36dc8c80a78e285ace285eae7bb72b5869863f0067dec4efc713851af7fc WHIRLPOOL f0a7eb00e3d7861e79a07cb6a366aa205fdf141dcdc54519cbade576868550049c335ed9fb3f8e05cf263ac22b85f040ff7a73364a78dc4ab786c7867c7fbf87
diff --git a/dev-python/python-swiftclient/metadata.xml b/dev-python/python-swiftclient/metadata.xml
new file mode 100644
index 000000000000..02d112347672
--- /dev/null
+++ b/dev-python/python-swiftclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Python bindings to the OpenStack Object Storage API
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-swiftclient</remote-id>
+ <remote-id type="launchpad">python-swiftclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-swiftclient/python-swiftclient-2.0.3.ebuild b/dev-python/python-swiftclient/python-swiftclient-2.0.3.ebuild
new file mode 100644
index 000000000000..9292f0f8c6a6
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-2.0.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the OpenStack Object Storage API"
+HOMEPAGE="https://launchpad.net/python-swiftclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}] ) )"
+RDEPEND=">=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]"
+
+#PATCHES=( "${FILESDIR}/CVE-2013-6396.patch" )
+
+python_prepare() {
+ sed -i '/discover/d' "${S}/test-requirements.txt" || die "sed failed"
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2_7"
+ flake8 tests && einfo "run of tests folder by flake8 passed"
+ flake8 bin/swift && einfo "run of ./bin/swift by flake8 passed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( ../${P}-python2_7/doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-swiftclient/python-swiftclient-2.1.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-2.1.0.ebuild
new file mode 100644
index 000000000000..be5b65b04b95
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-2.1.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the OpenStack Object Storage API"
+HOMEPAGE="https://launchpad.net/python-swiftclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}] ) )"
+RDEPEND=">=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+#PATCHES=( "${FILESDIR}/CVE-2013-6396.patch" )
+
+python_prepare() {
+ sed -i '/discover/d' "${S}/test-requirements.txt" || die "sed failed"
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2_7"
+ flake8 tests && einfo "run of tests folder by flake8 passed"
+ flake8 bin/swift && einfo "run of ./bin/swift by flake8 passed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( ../${P}-python2_7/doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-swiftclient/python-swiftclient-2.2.0-r1.ebuild b/dev-python/python-swiftclient/python-swiftclient-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..4fa4360725ce
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-2.2.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the OpenStack Object Storage API"
+HOMEPAGE="https://launchpad.net/python-swiftclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? ( >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}] ) )"
+RDEPEND=">=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]"
+
+#PATCHES=( "${FILESDIR}/CVE-2013-6396.patch" )
+
+python_prepare() {
+ sed -i '/discover/d' "${S}/test-requirements.txt" || die "sed failed"
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ testr init
+ testr run || die "tests failed under python2_7"
+ flake8 tests && einfo "run of tests folder by flake8 passed"
+ flake8 bin/swift && einfo "run of ./bin/swift by flake8 passed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( ../${P}-python2_7/doc/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-systemd/Manifest b/dev-python/python-systemd/Manifest
new file mode 100644
index 000000000000..0850f1f468b1
--- /dev/null
+++ b/dev-python/python-systemd/Manifest
@@ -0,0 +1 @@
+DIST python-systemd-230.tar.gz 39329 SHA256 656a83ff695f5de7d63411a86ea38601ad5a918595eebd0817d7b8e68642c64d SHA512 3c26c59b9005a45c3aeea8a6838ece9b5aa27dd7394ebe75319c1536b52462a847f18a79fdc8cf3bf6df9a70af63c84d5ff66a9587519dd9a006cc3df4966ce8 WHIRLPOOL 0de7ff6919bdf1c6c9cdafd71944801396157281fae1583bb060da4cf800369f97bb0c9f484f81635ed8b2e170db2bbbecf59adac0470a910167333f93c607e6
diff --git a/dev-python/python-systemd/metadata.xml b/dev-python/python-systemd/metadata.xml
new file mode 100644
index 000000000000..4c7cdda6301a
--- /dev/null
+++ b/dev-python/python-systemd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>systemd@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">systemd/python-systemd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-systemd/python-systemd-230.ebuild b/dev-python/python-systemd/python-systemd-230.ebuild
new file mode 100644
index 000000000000..3ea466f5a592
--- /dev/null
+++ b/dev-python/python-systemd/python-systemd-230.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for native access to the systemd facilities"
+HOMEPAGE="https://github.com/systemd/python-systemd"
+SRC_URI="https://github.com/systemd/python-systemd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="sys-apps/systemd"
+RDEPEND="${DEPEND}
+ !sys-apps/systemd[python(-)]"
+
+src_compile() {
+ emake systemd/id128-constants.h
+ distutils-r1_src_compile
+}
diff --git a/dev-python/python-termstyle/Manifest b/dev-python/python-termstyle/Manifest
new file mode 100644
index 000000000000..b62612c88898
--- /dev/null
+++ b/dev-python/python-termstyle/Manifest
@@ -0,0 +1 @@
+DIST python-termstyle-0.1.10.tar.gz 5025 SHA256 b5af30d1d1b8853c779da97438f237d791d8bf37f577e9cf1c3927198c3c0ca9 SHA512 a0ed484da8da10c7fe1b8422a26861fb115dc29c49ce79c113053f913d3371edf6222de1ccf40e6aa34c3cfa9da5805eb3928fb07bfae18a13683621d7547743 WHIRLPOOL 485d80720c3382e61e46bb85349a7d6136363dab04e4ccf6a63a2ddccfcce29d8b4af0d13fd46de338f473232cfaf032b9ec6d8731d52a3af94e357de687c8f4
diff --git a/dev-python/python-termstyle/files/tests-unicode.patch b/dev-python/python-termstyle/files/tests-unicode.patch
new file mode 100644
index 000000000000..4cb410fa1984
--- /dev/null
+++ b/dev-python/python-termstyle/files/tests-unicode.patch
@@ -0,0 +1,10 @@
+diff --git a/test2.py b/test2.py
+index 2d84c37..1331545 100755
+--- a/test2.py
++++ b/test2.py
+@@ -2,4 +2,4 @@
+
+ from termstyle import *
+
+-print green(u"unicod\xe9!")
++print green(u"unicod\xe9!".encode('utf-8'))
diff --git a/dev-python/python-termstyle/metadata.xml b/dev-python/python-termstyle/metadata.xml
new file mode 100644
index 000000000000..20b35ea91489
--- /dev/null
+++ b/dev-python/python-termstyle/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">gfxmonk/termstyle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-termstyle/python-termstyle-0.1.10.ebuild b/dev-python/python-termstyle/python-termstyle-0.1.10.ebuild
new file mode 100644
index 000000000000..a12818def643
--- /dev/null
+++ b/dev-python/python-termstyle/python-termstyle-0.1.10.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="console colouring for python"
+HOMEPAGE="http://gfxmonk.net/dist/0install/python-termstyle.xml"
+SRC_URI="https://github.com/gfxmonk/${PN#*-}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/tests-unicode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if [[ "${EPYTHON}" = "python2.7" ]]; then
+ "${PYTHON}" test2.py || die "test2.py failed under ${EPYTHON}"
+ else
+ "${PYTHON}" test3.py || die "test3.py failed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/python-troveclient/Manifest b/dev-python/python-troveclient/Manifest
new file mode 100644
index 000000000000..cf51e2c54044
--- /dev/null
+++ b/dev-python/python-troveclient/Manifest
@@ -0,0 +1 @@
+DIST python-troveclient-1.0.5.tar.gz 97125 SHA256 f758c01ae770ec9e58b71ebc78c6e3f975a9d37d09820b512df77c827b2b921e SHA512 0912e93879cf59b41f461d59e85c421be61491cc7c58dd65a3474e479fd6b1bca016ac188938ac186bd6d005a5415c8f1cf00c88a3390d6fc8e1da4d3e0c3997 WHIRLPOOL b73db090e9b6bf5d64404cc8ec13b88a3e564a5b1a74512b95daea09190308026ac87db888d6160272eda3719e10a573104801dddbf2085cde483f64a9499d64
diff --git a/dev-python/python-troveclient/metadata.xml b/dev-python/python-troveclient/metadata.xml
new file mode 100644
index 000000000000..52b4c5bb12ef
--- /dev/null
+++ b/dev-python/python-troveclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client for the OpenStack Trove API, a scalable relational database service.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">python-troveclient</remote-id>
+ <remote-id type="github">openstack/python-troveclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-troveclient/python-troveclient-1.0.5.ebuild b/dev-python/python-troveclient/python-troveclient-1.0.5.ebuild
new file mode 100644
index 000000000000..1efd0e551b35
--- /dev/null
+++ b/dev-python/python-troveclient/python-troveclient-1.0.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client for the OpenStack Trove API, a scalable relational database service"
+HOMEPAGE="https://github.com/openstack/python-troveclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.17[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.32[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.0.9[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/python-tvrage/Manifest b/dev-python/python-tvrage/Manifest
new file mode 100644
index 000000000000..6556298072da
--- /dev/null
+++ b/dev-python/python-tvrage/Manifest
@@ -0,0 +1 @@
+DIST python-tvrage-0.4.1.tar.gz 10646 SHA256 f8a530376c5cf1bc573d1945a8504c3394b228c731a3eff5100c705997a72063 SHA512 cabee676e85206b8c052b79b0f5fd039719ede104607795fe8d1947f2fd810fd9fd08ba8c6e94d1fa68dd5e51060e10fb9c12349f21b752242f7eae2b4771009 WHIRLPOOL a410f1c0cf9b47e5884fcd254b7837fe72cd733460fa05253ca38782b0b3d16666b60fba765bcbf93c3c6d512cfa97f75117aa484770566b0dd84fb3c7ebe368
diff --git a/dev-python/python-tvrage/metadata.xml b/dev-python/python-tvrage/metadata.xml
new file mode 100644
index 000000000000..f3fef3579658
--- /dev/null
+++ b/dev-python/python-tvrage/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-tvrage</remote-id>
+ <remote-id type="github">ckreutzer/python-tvrage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-tvrage/python-tvrage-0.4.1.ebuild b/dev-python/python-tvrage/python-tvrage-0.4.1.ebuild
new file mode 100644
index 000000000000..299ed21757df
--- /dev/null
+++ b/dev-python/python-tvrage/python-tvrage-0.4.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python client for the tvrage.com XML API"
+HOMEPAGE="https://github.com/ckreutzer/python-tvrage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ "${PYTHON}" tests/api_tests.py || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-twitter/Manifest b/dev-python/python-twitter/Manifest
new file mode 100644
index 000000000000..374c858b49d5
--- /dev/null
+++ b/dev-python/python-twitter/Manifest
@@ -0,0 +1 @@
+DIST python-twitter-1.1.tar.gz 91795 SHA256 0fdc012894cda38735a48b55d4904d86b104515c1242c0c400ab350d62695c12 SHA512 e5600e1b01d72f000345d53abd08901636e888c05b397ded71918a06dde3d0f9e3e83f11cde6e2b5cdab106565c646494efb69eff78ad3daa69db65375e0ff26 WHIRLPOOL a8eb4c0decf54f8f849314f77eb618e70013f0503c40f023fe452fa6c9abdb9c2ea122a864657c0541eb8d86b853a7e92a7e02cd640e0a6d7fdabc5fc31ba11e
diff --git a/dev-python/python-twitter/metadata.xml b/dev-python/python-twitter/metadata.xml
new file mode 100644
index 000000000000..b862d3a6e7ce
--- /dev/null
+++ b/dev-python/python-twitter/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">python-twitter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-twitter/python-twitter-1.1.ebuild b/dev-python/python-twitter/python-twitter-1.1.ebuild
new file mode 100644
index 000000000000..82c8d93deafb
--- /dev/null
+++ b/dev-python/python-twitter/python-twitter-1.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This library provides a pure python interface for the Twitter API"
+HOMEPAGE="http://code.google.com/p/python-twitter/"
+SRC_URI="http://python-twitter.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+IUSE="examples"
+
+RDEPEND="dev-python/oauth2[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+# Testsuite in the source is not convincing in its completeness
+RESTRICT="test"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # Delete internal copy of simplejson.
+ rm -fr simplejson || die
+}
+
+# http://code.google.com/p/python-twitter/issues/detail?id=259&thanks=259&ts=1400334214
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/python-uinput/Manifest b/dev-python/python-uinput/Manifest
new file mode 100644
index 000000000000..be646df2322d
--- /dev/null
+++ b/dev-python/python-uinput/Manifest
@@ -0,0 +1,3 @@
+DIST python-uinput-0.10.1.tar.gz 21549 SHA256 bf11ba44850f56142de1f4ac883322ad4f5b14d8c149c01f90e9d96f8ada9c9f SHA512 ec1767fc40071d299ca5955163a0ee1ad9ff896d462037c305f4fdfb6b05be4b360699b1a966a40571c742ac5699c0468c2537787483fa6fe1a0cc19e533ee5a WHIRLPOOL 6c083b28e48093df85e0648e3756abf7a02f55daa89dee9dd7bd629b9d6a81c9bd4e8129e682a856a7bc7fae8ea0f05ed8ebfa279e0d843d44e9e6729f4a64f2
+DIST python-uinput-0.10.2.tar.gz 21736 SHA256 913ca8e37dd9e9948d2e81803791ff8b90837230eae3b8563c9d7390bc6315dc SHA512 0009e3c3f82c5a5da61e9adf17d77a2efb9223f02324a4f7c7033b165d5e4e395566c34ccb11ef54cc4ce1623b1432a144614cbae7a88e9c06824b15ef00e1b7 WHIRLPOOL f850346138e59dcbda897e49efbabc77d60ef174fb24e1e62007d47afcb3b0d8a14023255fc74326843f08b2afdce8dd259e44318b73aa194c3a859d78753c65
+DIST python-uinput-0.9.tar.gz 18260 SHA256 2cd5ea90bf83bc3ce56e3d2897de9133080e940f1396551d21305aac43611295 SHA512 bd31b963ce1134670d2b49d243f0613d32355c41c511a13b9963ecca531806d9fa41c8b6cc10717bda16328cdd6b8ab175202dfa774b55372d81f21aba692e65 WHIRLPOOL 25f99d22a8f47217878f28a9357cd3e679c050e165cd8a1c965181559114567df6e8a1059098d0141a3328dd03fe078368b74fe632257512c77f1765853f581e
diff --git a/dev-python/python-uinput/metadata.xml b/dev-python/python-uinput/metadata.xml
new file mode 100644
index 000000000000..61e167442787
--- /dev/null
+++ b/dev-python/python-uinput/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-uinput</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-uinput/python-uinput-0.10.1.ebuild b/dev-python/python-uinput/python-uinput-0.10.1.ebuild
new file mode 100644
index 000000000000..65b2c5829b45
--- /dev/null
+++ b/dev-python/python-uinput/python-uinput-0.10.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic API to the Linux uinput kernel module"
+HOMEPAGE="http://tjjr.fi/sw/python-uinput/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="virtual/udev"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ sed \
+ -e "s:libudev.so.0:libudev.so:g" \
+ -i setup.py || die
+ rm libsuinput/src/libudev.h || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-uinput/python-uinput-0.10.2.ebuild b/dev-python/python-uinput/python-uinput-0.10.2.ebuild
new file mode 100644
index 000000000000..39bbbc725070
--- /dev/null
+++ b/dev-python/python-uinput/python-uinput-0.10.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic API to the Linux uinput kernel module"
+HOMEPAGE="http://tjjr.fi/sw/python-uinput/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="virtual/udev"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ rm libsuinput/src/libudev.h || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-uinput/python-uinput-0.9.ebuild b/dev-python/python-uinput/python-uinput-0.9.ebuild
new file mode 100644
index 000000000000..992ab615051f
--- /dev/null
+++ b/dev-python/python-uinput/python-uinput-0.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic API to the Linux uinput kernel module"
+HOMEPAGE="http://tjjr.fi/sw/python-uinput/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="virtual/udev"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ fix_missing_newlines() {
+ sed -r -i 's/\)([A-Z]+)/\)\n\1/g' "${BUILD_DIR}"/lib/uinput/ev.py || die "sed failed"
+ }
+ python_foreach_impl fix_missing_newlines
+ distutils-r1_src_install
+}
diff --git a/dev-python/python-urljr/Manifest b/dev-python/python-urljr/Manifest
new file mode 100644
index 000000000000..752b9a593cc4
--- /dev/null
+++ b/dev-python/python-urljr/Manifest
@@ -0,0 +1 @@
+DIST python-urljr-1.0.1.tar.gz 16570 SHA256 723bc0c1b58d34ca41b9d3ec57ba5e9cb16283e49d8ac152d455476cc249bff6 SHA512 fff9e5f557ff8fa88e122f535134320043f9a14fd8048234bef762af666f4c088d50c6bc8dd3d173154e80eb8e076f0fb6749e39dd9c6f88c7ab763314dad0ad WHIRLPOOL 5919e01df94373ad98b3fa2622ddf45b9f7abeadbc8b8ace0dc4f8b38ef5be85b43c696cf349f815f6273811bb65940b339667aefcccba8ae9aff5364afb2a20
diff --git a/dev-python/python-urljr/files/python-urljr-1.0.1-gentoo-test_fetchers.patch b/dev-python/python-urljr/files/python-urljr-1.0.1-gentoo-test_fetchers.patch
new file mode 100644
index 000000000000..5a451e4a5600
--- /dev/null
+++ b/dev-python/python-urljr/files/python-urljr-1.0.1-gentoo-test_fetchers.patch
@@ -0,0 +1,11 @@
+--- urljr/test/test_fetchers.py.orig 2007-05-31 09:16:31.000000000 -0700
++++ urljr/test/test_fetchers.py 2007-05-31 09:17:47.000000000 -0700
+@@ -8,6 +8,8 @@
+ # XXX: make these separate test cases
+
+ def failUnlessResponseExpected(expected, actual):
++ expected.final_url = expected.final_url.replace("localhost", "127.0.0.1")
++ actual.final_url = actual.final_url.replace("localhost", "127.0.0.1")
+ assert expected.final_url == actual.final_url
+ assert expected.status == actual.status
+ assert expected.body == actual.body
diff --git a/dev-python/python-urljr/metadata.xml b/dev-python/python-urljr/metadata.xml
new file mode 100644
index 000000000000..7b4c64f109b6
--- /dev/null
+++ b/dev-python/python-urljr/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>JanRain's URL Utilities</longdescription>
+</pkgmetadata>
diff --git a/dev-python/python-urljr/python-urljr-1.0.1-r1.ebuild b/dev-python/python-urljr/python-urljr-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..a966ca2fee7e
--- /dev/null
+++ b/dev-python/python-urljr/python-urljr-1.0.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="JanRain's URL Utilities"
+HOMEPAGE="http://www.openidenabled.com/openid/libraries/python/"
+SRC_URI="http://www.openidenabled.com/resources/downloads/python-openid/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl test"
+
+RDEPEND="curl? ( >=dev-python/pycurl-7.15.1[${PYTHON_USEDEP}] )"
+DEPEND=""
+
+REQUIRED_USE="test? ( curl )"
+# test fails if it finds 'localhost' instead of '127.0.0.1'
+PATCHES=( "${FILESDIR}/${P}-gentoo-test_fetchers.patch" )
+
+python_test() {
+ PYTHONPATH=. "${PYTHON}" admin/runtests || die "tests failed"
+}
diff --git a/dev-python/python-virtkey/Manifest b/dev-python/python-virtkey/Manifest
new file mode 100644
index 000000000000..7d9a89a5f48d
--- /dev/null
+++ b/dev-python/python-virtkey/Manifest
@@ -0,0 +1 @@
+DIST python-virtkey-0.60.0.tar.gz 40328 SHA256 f8de93ded985454484e6d2e52ce86b4c7aae65bc3cd97fc8aa7259def2a091a1 SHA512 96e48fd5ab861d5bccc40dfed1b71c7ea5ce01aeafaa5b1a58ba7a0250dfe191eab35ef0a95f247e64ea49213a20cc596bbfd64e091fd4624daae38edba2840b WHIRLPOOL 2d61955c3e8e8a256f6ca142e4314597de4a324eff46d0f783340fd6123af5bb16b1383ffa421999a89a68f1a9979b801870b81d31f9bbc6fc20d5fd3b8e4f33
diff --git a/dev-python/python-virtkey/metadata.xml b/dev-python/python-virtkey/metadata.xml
new file mode 100644
index 000000000000..dcf1228fcdbe
--- /dev/null
+++ b/dev-python/python-virtkey/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome-accessibility</herd>
+ <upstream>
+ <remote-id type="launchpad">python-virtkey</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-virtkey/python-virtkey-0.60.0-r1.ebuild b/dev-python/python-virtkey/python-virtkey-0.60.0-r1.ebuild
new file mode 100644
index 000000000000..8ddd4648e36a
--- /dev/null
+++ b/dev-python/python-virtkey/python-virtkey-0.60.0-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="Python module to simulate keypresses and get current keyboard layout"
+HOMEPAGE="https://launchpad.net/virtkey"
+SRC_URI="http://launchpad.net/python-virtkey/$(get_version_component_range 1-2)/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2[${PYTHON_USEDEP}]
+ x11-libs/libX11
+ x11-libs/libXtst
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
diff --git a/dev-python/python-wpactrl/Manifest b/dev-python/python-wpactrl/Manifest
new file mode 100644
index 000000000000..28241eb8725d
--- /dev/null
+++ b/dev-python/python-wpactrl/Manifest
@@ -0,0 +1 @@
+DIST python-wpactrl-20081102.tar.bz2 16947 SHA256 1e04b5c531e4922f48023e5e09a43b4cb51a53fa483ad0330dbd8db774644b13 SHA512 ddb059b846af21bacd9b6bfe0b5df3661a0d29dd5f56c2343eb24c462eed4771584d7b06a239e484bb89e69376d4e5784d79628cf962a063e640e62cb3b7f588 WHIRLPOOL 89a466f3ede8d8ebc2ac16cbc849d84c1c53c8c73ae03321a85324cb3a9074a5c9c8c72ea3879cff4178f01fbac8a6b8a448387c4d1b12700d0389a953e281d1
diff --git a/dev-python/python-wpactrl/metadata.xml b/dev-python/python-wpactrl/metadata.xml
new file mode 100644
index 000000000000..b193248853bc
--- /dev/null
+++ b/dev-python/python-wpactrl/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/python-wpactrl/python-wpactrl-20081102-r1.ebuild b/dev-python/python-wpactrl/python-wpactrl-20081102-r1.ebuild
new file mode 100644
index 000000000000..4018bdfa60f6
--- /dev/null
+++ b/dev-python/python-wpactrl/python-wpactrl-20081102-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python extension for wpa_supplicant/hostapd control interface access"
+HOMEPAGE="http://projects.otaku42.de/wiki/PythonWpaCtrl"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="|| ( GPL-2 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/python-xlib/Manifest b/dev-python/python-xlib/Manifest
new file mode 100644
index 000000000000..1e3981c6e71b
--- /dev/null
+++ b/dev-python/python-xlib/Manifest
@@ -0,0 +1 @@
+DIST python-xlib-0.15rc1.tar.gz 188750 SHA256 823734489fc8c47113deb606fdc7142759d4c45546014255af8c5b8787b9accb SHA512 e27f56e0d76fac534e6754b1e64316636b49859eb6c9ceef5952c8b42cf53bc798a705fa54c283c896324d9a23778beec583cb62984a6a43b024643a70f3fe3a WHIRLPOOL bdca7c97cfbf438cce6297d5d035488986886d95f6f80014c9d9b1966720b98600b13f6dc09b6aed209787833e3174a0bf8444c3ba9c46e9f106051b978d322b
diff --git a/dev-python/python-xlib/files/defs b/dev-python/python-xlib/files/defs
new file mode 100644
index 000000000000..2da6f932799b
--- /dev/null
+++ b/dev-python/python-xlib/files/defs
@@ -0,0 +1,11 @@
+# Definitions for documentation makefiles
+
+SRCDIR = ../src
+
+TOPSRC = $(SRCDIR)/python-xlib.texi
+
+SRCS = $(TOPSRC) \
+ $(SRCDIR)/concepts.texi $(SRCDIR)/package.texi \
+ $(SRCDIR)/connect.texi $(SRCDIR)/errors.texi \
+ $(SRCDIR)/events.texi $(SRCDIR)/objects.texi
+
diff --git a/dev-python/python-xlib/metadata.xml b/dev-python/python-xlib/metadata.xml
new file mode 100644
index 000000000000..8f5f346a1684
--- /dev/null
+++ b/dev-python/python-xlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">python-xlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-xlib/python-xlib-0.15_rc1-r2.ebuild b/dev-python/python-xlib/python-xlib-0.15_rc1-r2.ebuild
new file mode 100644
index 000000000000..de0ef23d4584
--- /dev/null
+++ b/dev-python/python-xlib/python-xlib-0.15_rc1-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="${P/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="A fully functional X client library for Python, written in Python"
+HOMEPAGE="http://python-xlib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+python_prepare_all() {
+ sed -e 's:make:$(MAKE):g' -i doc/Makefile || die
+ cp -r "${FILESDIR}"/defs doc/src/ || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+ VARTEXFONTS="${T}"/fonts emake html
+ fi
+}
+
+python_test() {
+ cd test || die
+
+ local t
+ for t in *.py; do
+ "${PYTHON}" "${t}" || die
+ done
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-xlib/python-xlib-0.15_rc1.ebuild b/dev-python/python-xlib/python-xlib-0.15_rc1.ebuild
new file mode 100644
index 000000000000..c2131864078f
--- /dev/null
+++ b/dev-python/python-xlib/python-xlib-0.15_rc1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils
+
+MY_P="${P/_/}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="A fully functional X client library for Python, written in Python"
+HOMEPAGE="http://python-xlib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86"
+IUSE=""
+
+RESTRICT_PYTHON_ABIS="3.*"
+
+PYTHON_MODNAME="Xlib"
+
+src_test() {
+ cd test
+ testing() {
+ local return_status="0" test
+ for test in *.py; do
+ echo "Running ${test}..."
+ PYTHONPATH="../build-${PYTHON_ABI}/lib" "$(PYTHON)" "${test}" || return_status="1"
+ done
+ return "${return_status}"
+ }
+ python_execute_function testing
+}
diff --git a/dev-python/python-yadis/Manifest b/dev-python/python-yadis/Manifest
new file mode 100644
index 000000000000..9f69a04a9e5d
--- /dev/null
+++ b/dev-python/python-yadis/Manifest
@@ -0,0 +1 @@
+DIST python-yadis-1.1.0.tar.gz 192569 SHA256 1f9e9c55e82ac0025030e9bb0bcc4e2344ad4b26e6fd0aee10690fb18a3ca307 SHA512 955efbcd13f02c8e112e0f5dfd4ad8a7fb56e0d5d55a2c409ed044f4ac99d5496b9d641916a7af1ddc18628d83cef1f3907d787afd468ceb7573ec192de1e02f WHIRLPOOL 0389fbf85635752b23eeef3ada41a6df8dd181aa89facb208e5f4e20c4d7278cc78a20e335a033456e5e2bfc171e92a22dba990c96fbf9d8a66090cf0573be3c
diff --git a/dev-python/python-yadis/files/python-yadis-1.1.0-gentoo-test.patch b/dev-python/python-yadis/files/python-yadis-1.1.0-gentoo-test.patch
new file mode 100644
index 000000000000..ae6a06c9012c
--- /dev/null
+++ b/dev-python/python-yadis/files/python-yadis-1.1.0-gentoo-test.patch
@@ -0,0 +1,82 @@
+--- admin/runtests.orig 2007-05-31 11:30:01.000000000 -0700
++++ admin/runtests 2007-05-31 11:31:26.000000000 -0700
+@@ -1,7 +1,6 @@
+ #!/bin/bash
+
+-ADMINDIR=$(dirname $0)
+-YDIR=${ADMINDIR}/..
++YDIR='.'
+
+ declare -i errorcode=0
+
+@@ -17,13 +16,6 @@
+ echo 'Install pyflakes. http://divmod.org/trac/wiki/DivmodPyflakes'
+ fi
+
+-if [[ $1 != "darcs" ]] ; then
+- echo 'Checking docs... '
+- if ! ${ADMINDIR}/epyrun check; then
+- # Who knows? Epydoc --check doesn't modify the return code.
+- errorcode=$errorcode+2
+- fi
+-fi
+
+ echo -n 'Running tests... '
+ if ! python ${YDIR}/yadis/test/runtests ; then
+diff -ur python-yadis-1.1.0.orig/yadis/test/test_xri.py python-yadis-1.1.0/yadis/test/test_xri.py
+--- yadis/test/test_xri.py 2006-12-09 06:17:12.000000000 +0900
++++ yadis/test/test_xri.py 2011-11-16 22:03:07.254992928 +0800
+@@ -44,11 +44,6 @@
+ s = u'l\xa1m'
+ expected = 'l%C2%A1m'
+ self.failUnlessEqual(xri.iriToURI(s), expected)
+- else:
+- def test_iri_to_url(self):
+- s = u'l\xa1m\U00101010n'
+- expected = 'l%C2%A1m%F4%81%80%90n'
+- self.failUnlessEqual(xri.iriToURI(s), expected)
+
+
+
+diff -ur /mnt/gen2/tmpdir/portage/dev-python/python-yadis-1.1.0/work/python-yadis-1.1.0.orig/yadis/etxrd.py /mnt/gen2/tmpdir/portage/dev-python/python-yadis-1.1.0/work/python-yadis-1.1.0/yadis/etxrd.py
+--- yadis/etxrd.py 2006-12-09 06:17:12.000000000 +0900
++++ yadis/etxrd.py 2011-11-16 22:26:21.386992510 +0800
+@@ -22,12 +22,8 @@
+ from elementtree.ElementTree import ElementTree
+
+ # Use expat if it's present. Otherwise, use xmllib
+-try:
+- from xml.parsers.expat import ExpatError as XMLError
+- from elementtree.ElementTree import XMLTreeBuilder
+-except ImportError:
+- from elementtree.SimpleXMLTreeBuilder import TreeBuilder as XMLTreeBuilder
+- from xmllib import Error as XMLError
++from elementtree.SimpleXMLTreeBuilder import TreeBuilder as XMLTreeBuilder
++from xmllib import Error as XMLError
+
+ from yadis import xri
+
+diff -ur /mnt/gen2/tmpdir/portage/dev-python/python-yadis-1.1.0/work/python-yadis-1.1.0.orig/yadis/test/test_etxrd.py /mnt/gen2/tmpdir/portage/dev-python/python-yadis-1.1.0/work/python-yadis-1.1.0/yadis/test/test_etxrd.py
+--- yadis/test/test_etxrd.py 2006-12-09 06:17:12.000000000 +0900
++++ yadis/test/test_etxrd.py 2011-11-16 22:29:00.896992462 +0800
+@@ -40,9 +40,6 @@
+ def _getServices(self, flt=None):
+ return list(services.applyFilter(self.yadis_url, self.xmldoc, flt))
+
+- def testParse(self):
+- """Make sure that parsing succeeds at all"""
+- services = self._getServices()
+
+ def testParseOpenID(self):
+ """Parse for OpenID services with a transformer function"""
+diff -ur python-yadis-1.1.0.orig/yadis/test/test_parsehtml.py python-yadis-1.1.0/yadis/test/test_parsehtml.py
+--- yadis/test/test_parsehtml.py 2006-12-09 06:17:12.000000000 +0900
++++ yadis/test/test_parsehtml.py 2012-11-08 20:42:34.248733469 +0800
+@@ -3,6 +3,7 @@
+
+ import os.path, unittest, sys
+
++@unittest.skip("Recently broken test")
+ class _TestCase(unittest.TestCase):
+ reserved_values = ['None', 'EOF']
+
diff --git a/dev-python/python-yadis/metadata.xml b/dev-python/python-yadis/metadata.xml
new file mode 100644
index 000000000000..86fcb975b657
--- /dev/null
+++ b/dev-python/python-yadis/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>Yadis service discovery library</longdescription>
+</pkgmetadata>
diff --git a/dev-python/python-yadis/python-yadis-1.1.0-r2.ebuild b/dev-python/python-yadis/python-yadis-1.1.0-r2.ebuild
new file mode 100644
index 000000000000..a914353dae7f
--- /dev/null
+++ b/dev-python/python-yadis/python-yadis-1.1.0-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Yadis service discovery library"
+HOMEPAGE="http://www.openidenabled.com/yadis/libraries/python/"
+SRC_URI="http://www.openidenabled.com/resources/downloads/python-openid/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/elementtree[${PYTHON_USEDEP}]
+ dev-python/python-urljr[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( >=dev-python/pyflakes-0.2.1[${PYTHON_USEDEP}] )"
+
+# Fix broken test
+PATCHES=( "${FILESDIR}/${P}-gentoo-test.patch" )
+
+python_test() {
+ ./admin/runtests
+ einfo "The pyflake output about XML* redefinitions can be safely ignored"
+}
diff --git a/dev-python/python3-openid/Manifest b/dev-python/python3-openid/Manifest
new file mode 100644
index 000000000000..86efff64b506
--- /dev/null
+++ b/dev-python/python3-openid/Manifest
@@ -0,0 +1 @@
+DIST python3-openid-3.0.4_p1.tar.gz 306465 SHA256 eb78cb2288805ee1c51eeaa8941c61be796ac1126e1ca0a2c49dc7582b0c0407 SHA512 6e710dc47c3c1d4f31937b8a4dcf546cdb06128ffddbc3b2e2a2a9e09a8a3a7122326ba2137a92269f58a29f1b264c2e942610098f91f237d45f5ff0887faea0 WHIRLPOOL 8812d4fd0c0ffd3e40f4f8414463f05cf62b37d388039a5287ac412c452a8e7cb142accafdfbd9e32d36cde3d4a6d96954742b542fdc92168d31574de185c152
diff --git a/dev-python/python3-openid/files/django-tests.patch b/dev-python/python3-openid/files/django-tests.patch
new file mode 100644
index 000000000000..e5fcda877f31
--- /dev/null
+++ b/dev-python/python3-openid/files/django-tests.patch
@@ -0,0 +1,32 @@
+diff --git a/examples/djopenid/consumer/urls.py b/examples/djopenid/consumer/urls.py
+index d55e056..3926e27 100644
+--- a/examples/djopenid/consumer/urls.py
++++ b/examples/djopenid/consumer/urls.py
+@@ -1,5 +1,5 @@
+
+-from django.conf.urls.defaults import *
++from django.conf.urls import *
+
+ urlpatterns = patterns(
+ 'djopenid.consumer.views',
+diff --git a/examples/djopenid/server/urls.py b/examples/djopenid/server/urls.py
+index d6931a4..e61de52 100644
+--- a/examples/djopenid/server/urls.py
++++ b/examples/djopenid/server/urls.py
+@@ -1,5 +1,5 @@
+
+-from django.conf.urls.defaults import *
++from django.conf.urls import *
+
+ urlpatterns = patterns(
+ 'djopenid.server.views',
+diff --git a/examples/djopenid/urls.py b/examples/djopenid/urls.py
+index d91ee1f..16af9a1 100644
+--- a/examples/djopenid/urls.py
++++ b/examples/djopenid/urls.py
+@@ -1,4 +1,4 @@
+-from django.conf.urls.defaults import *
++from django.conf.urls import *
+
+ urlpatterns = patterns(
+ '',
diff --git a/dev-python/python3-openid/metadata.xml b/dev-python/python3-openid/metadata.xml
new file mode 100644
index 000000000000..d7b5f819723b
--- /dev/null
+++ b/dev-python/python3-openid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">necaris/python3-openid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python3-openid/python3-openid-3.0.4_p1.ebuild b/dev-python/python3-openid/python3-openid-3.0.4_p1.ebuild
new file mode 100644
index 000000000000..ddbe4fd96736
--- /dev/null
+++ b/dev-python/python3-openid/python3-openid-3.0.4_p1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{3_3,3_4} )
+
+inherit vcs-snapshot distutils-r1
+
+DESCRIPTION="Python 3 port of the python-openid library"
+HOMEPAGE="https://github.com/necaris/python3-openid https://pypi.python.org/pypi/python3-openid"
+SRC_URI="https://github.com/necaris/${PN}/archive/47a15d30b962a4316473ae9909b3405773d78181.tar.gz -> ${P}.tar.gz"
+#https://github.com/necaris/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/django-tests.patch
+)
+
+python_test() {
+ "${S}"/run_tests.sh || die "tests fail on ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES="examples/."
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pythondialog/Manifest b/dev-python/pythondialog/Manifest
new file mode 100644
index 000000000000..a7df16bf9e5e
--- /dev/null
+++ b/dev-python/pythondialog/Manifest
@@ -0,0 +1,2 @@
+DIST python3-pythondialog-3.2.2.tar.bz2 1412368 SHA256 bb104bd0512f9eda046b0cda53b5607d68de72b585cd8d5a1eebd549d8f2af99 SHA512 58b84c0dd7b71ec9d1e60c4802cfc8e6cc72f79b8b6accd387553c685a92367d242746065bac6cb1c9d501ac291d9307cb2bb6b26694e9f24a3c5d6637a5bb8e WHIRLPOOL 8e899f910eaaa5112403aed8adcd2e8fc9db371a5023bafdb5d2645b2ade716710b1c826d9208055fc510e8777751f8a43ef501db11c04827b93cb3040f4d793
+DIST python3-pythondialog-3.3.0.tar.bz2 1827891 SHA256 e4ace5b09d712992b7327249e375e49608127666679b2ca9fd48141e218ec998 SHA512 b651593f077f6679be030182ac5f14a02d8bad86206c2733ba8b655d346809a32ea391de91e35101d400c55d9e8ecefaf6f1ba25fec036246186e13530f43a1f WHIRLPOOL 267a2ee4215fd53d7faaf88a02ee544e88eafdd5b1f4c45c4ba535fe46dbed41a1ebae72b0dae00fedb30cfb1fcd245e0439077f538d128137e8c8caca6bba70
diff --git a/dev-python/pythondialog/metadata.xml b/dev-python/pythondialog/metadata.xml
new file mode 100644
index 000000000000..fc12076b9b0b
--- /dev/null
+++ b/dev-python/pythondialog/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pythondialog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pythondialog/pythondialog-3.2.2.ebuild b/dev-python/pythondialog/pythondialog-3.2.2.ebuild
new file mode 100644
index 000000000000..896573b9dc05
--- /dev/null
+++ b/dev-python/pythondialog/pythondialog-3.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{3_3,3_4} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python module for making simple text/console-mode user interfaces"
+HOMEPAGE="http://pythondialog.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pythondialog//${PV}/python3-${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86"
+IUSE="doc examples"
+
+RDEPEND="dev-util/dialog"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pythondialog/pythondialog-3.3.0.ebuild b/dev-python/pythondialog/pythondialog-3.3.0.ebuild
new file mode 100644
index 000000000000..db6497f13f56
--- /dev/null
+++ b/dev-python/pythondialog/pythondialog-3.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{3_3,3_4} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python module for making simple text/console-mode user interfaces"
+HOMEPAGE="http://pythondialog.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pythondialog//${PV}/python3-${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-util/dialog"
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i doc/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pythong/Manifest b/dev-python/pythong/Manifest
new file mode 100644
index 000000000000..596a041c5964
--- /dev/null
+++ b/dev-python/pythong/Manifest
@@ -0,0 +1,2 @@
+DIST python.pdf 2547987 SHA256 20e17f365b9f2c5ab0bed656a1ff8797b22b079a238a278674879b807bfd9dd4 SHA512 9d16eb39ff5996be70aa41cb758e73adf1fa72a7e83613626cf6f519def99fd30169a87b1e918902e1aecfb75d925cb7e49d9ad5733dd5274b9a351adaaf201e WHIRLPOOL 47fbcc853901e1df938e20fca1b18adca8985607d1edae60132b5b9490e8f6c1af39733186d079fac32e7e26a28bf7148062e108ad6c748dd110c2860520a49b
+DIST pythonG-2_1_5.tgz 397754 SHA256 6bc89217bfd89717eddd3b27682bb783446bcd3d87ed450e943e0369fa2c9243 SHA512 8a8c3ada425a1d7a0565e495494a8edfcf8b4224cb93ea843669e4d0b2ca9e122d038c728ff8242885e0b320caa6db8ef8f721f99c423b7a8f87a83a4e6f51c6 WHIRLPOOL 072f65639f5a371bf9a27885bc4f515e91f7abe0d6599457f167a7a81e493d8e12bc83d1520d5278421bc34bd1fd6c1c35d849dc653ea8754364c8c81528153e
diff --git a/dev-python/pythong/metadata.xml b/dev-python/pythong/metadata.xml
new file mode 100644
index 000000000000..ee7e8b2450a8
--- /dev/null
+++ b/dev-python/pythong/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pythong/pythong-2.1.5-r2.ebuild b/dev-python/pythong/pythong-2.1.5-r2.ebuild
new file mode 100644
index 000000000000..989a5417abaa
--- /dev/null
+++ b/dev-python/pythong/pythong-2.1.5-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+PYTHON_REQ_USE="tk"
+
+inherit python-single-r1
+
+MY_PN="pythonG"
+MY_PV=${PV/_/-}
+MY_PV=${MY_PV//\./_}
+
+DESCRIPTION="Nice and powerful spanish development environment for Python"
+HOMEPAGE="http://www3.uji.es/~dllorens/PythonG/principal.html"
+SRC_URI="
+ http://www3.uji.es/~dllorens/downloads/pythong/linux/${MY_PN}-${MY_PV}.tgz
+ doc? ( http://marmota.act.uji.es/MTP/pdf/python.pdf )"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ia64 x86"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-lang/tk-8.3.4:0=
+ virtual/pmw[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+src_prepare() {
+ sed \
+ -e "s:^\(fullpath = \).*:\1'$(python_get_sitedir)':" \
+ -e "/^url_docFuncPG/s:'+fullpath+':/usr/share/doc/${PF}:" \
+ -i pythong.py || die "sed in pythong.py failed"
+}
+
+src_install() {
+ python_domodule modulepythong.py libpythong
+ python_doscript pythong.py
+
+ dodoc leeme.txt
+ insinto /usr/share/doc/${PF}
+ doins -r {LICENCIA,MANUAL,demos}
+ rm -fr "${ED}/usr/share/doc/${PF}/demos/modulepythong.py" || die
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins "${DISTDIR}"/python.pdf
+ fi
+ python_optimize
+}
diff --git a/dev-python/pythonmagick/Manifest b/dev-python/pythonmagick/Manifest
new file mode 100644
index 000000000000..fd7ed3bb58b2
--- /dev/null
+++ b/dev-python/pythonmagick/Manifest
@@ -0,0 +1,2 @@
+DIST PythonMagick-0.9.11.tar.xz 257276 SHA256 f015b1392d62272bf4daf3e23865348567b95745f97ccf10c997e93cfa66dbbd SHA512 de4c6348ef9956a92e5527b28fc11b9beabd1f6d5e92751959819e74e4ca8d465d7db3793f30824474281c8d74fab26431e0b5d9ac4907938fd9a3409ec86d06 WHIRLPOOL 604c00198b6013bf54a69444258c9456786e11c8e9e51cde490658ecba5902fb9e3c69e8d397ec19ba5f2f87a552cc8efa40f7ff95ab8b0a9cd864e710520086
+DIST PythonMagick-0.9.12.tar.xz 256872 SHA256 4b108324460aa497627a0fc2547f946253558cec3457a35f9f0e107adac833d0 SHA512 accdc3e89528d397eb608ab00fe015fe5069130c228631a024c3b4c6ecb38239d6329f66fa1d56b3ac48ff20caed5243c5dd5cfd920b0ea3867dc64bb38e5859 WHIRLPOOL a8051f2661f54eeb031073eda5feab6612e64932f3ba0936e46917d9834f582c5b9dc50b6d52afaa33d81cbe4e3555b9eb350ffe9caf01097d3f69127fc802ef
diff --git a/dev-python/pythonmagick/files/pythonmagick-0.9.10-Makefile.am.patch b/dev-python/pythonmagick/files/pythonmagick-0.9.10-Makefile.am.patch
new file mode 100644
index 000000000000..760aa2293f27
--- /dev/null
+++ b/dev-python/pythonmagick/files/pythonmagick-0.9.10-Makefile.am.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -27,7 +27,7 @@
+ _PythonMagick_la_LDFLAGS = -avoid-version -module $(BOOST_LDFLAGS)
+
+ # And the libraries to include
+-_PythonMagick_la_LIBADD = pythonmagick_src/libpymagick.la helpers_src/libhelper.la $(BOOST_LDFLAGS) -lboost_python $(MAGICKPP_LIBS) $(MAGICK_LIBS)
++_PythonMagick_la_LIBADD = pythonmagick_src/libpymagick.la helpers_src/libhelper.la $(BOOST_LDFLAGS) $(BOOST_PYTHON_LIB) $(MAGICKPP_LIBS) $(MAGICK_LIBS)
+
+ EXTRA_DIST = autogen.pl SConstruct pyste_src LICENSE
+
diff --git a/dev-python/pythonmagick/files/pythonmagick-0.9.10-ax_boost_python.patch b/dev-python/pythonmagick/files/pythonmagick-0.9.10-ax_boost_python.patch
new file mode 100644
index 000000000000..0cc3e8cf64f0
--- /dev/null
+++ b/dev-python/pythonmagick/files/pythonmagick-0.9.10-ax_boost_python.patch
@@ -0,0 +1,18 @@
+--- a/m4/ax_boost_python.m4
++++ b/m4/ax_boost_python.m4
+@@ -82,10 +82,11 @@
+ ax_python_lib=$with_boost_python
+ ax_boost_python_lib=boost_python-$with_boost_python
+ fi])
+- BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+- for ax_lib in `ls $BOOSTLIBDIR/libboost_python*.so* $BOOSTLIBDIR/libboost_python*.dylib* $BOOSTLIBDIR/libboost_python*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_python.*\)\.so.*$;\1;' -e 's;^lib\(boost_python.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_python.*\)\.a.*$;\1;' ` $ax_python_lib $ax_boost_python_lib boost_python; do
+- AC_CHECK_LIB($ax_lib, exit, [BOOST_PYTHON_LIB=$ax_lib break], , [$PYTHON_LDFLAGS])
+- done
++ LDFLAGS_SAVED="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
++ export LDFLAGS
++ AC_CHECK_LIB($ax_python_lib, exit, [BOOST_PYTHON_LIB=-l$ax_python_lib], , [$PYTHON_LDFLAGS])
++ LDFLAGS="$LDFLAGS_SAVED"
+ AC_SUBST(BOOST_PYTHON_LIB)
+ fi
+ ])dnl
diff --git a/dev-python/pythonmagick/metadata.xml b/dev-python/pythonmagick/metadata.xml
new file mode 100644
index 000000000000..36f667ac9d8e
--- /dev/null
+++ b/dev-python/pythonmagick/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ An object-oriented Python interface to ImageMagick.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pythonmagick/pythonmagick-0.9.11.ebuild b/dev-python/pythonmagick/pythonmagick-0.9.11.ebuild
new file mode 100644
index 000000000000..dfa2c022dcc4
--- /dev/null
+++ b/dev-python/pythonmagick/pythonmagick-0.9.11.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+WANT_AUTOMAKE="1.12"
+
+inherit autotools-utils eutils python-r1
+
+MY_PN="PythonMagick"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python bindings for ImageMagick"
+HOMEPAGE="http://www.imagemagick.org/script/api.php"
+SRC_URI="mirror://imagemagick/python/${MY_P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ >=media-gfx/imagemagick-6.4
+ <media-gfx/imagemagick-6.9.1
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.10-Makefile.am.patch
+ "${FILESDIR}"/${PN}-0.9.10-ax_boost_python.patch
+)
+
+src_configure() {
+ local myeconfargs=( --disable-static )
+
+ python_configure() {
+ if ! python_is_python3; then
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+ autotools-utils_src_configure --with-boost-python=boost_python-${EPYTHON#python}
+ }
+
+ python_parallel_foreach_impl python_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/pythonmagick/pythonmagick-0.9.12.ebuild b/dev-python/pythonmagick/pythonmagick-0.9.12.ebuild
new file mode 100644
index 000000000000..5f446489e9e7
--- /dev/null
+++ b/dev-python/pythonmagick/pythonmagick-0.9.12.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+WANT_AUTOMAKE="1.12"
+
+inherit autotools-utils eutils python-r1
+
+MY_PN="PythonMagick"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python bindings for ImageMagick"
+HOMEPAGE="http://www.imagemagick.org/script/api.php"
+SRC_URI="mirror://imagemagick/python/${MY_P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ >=media-gfx/imagemagick-6.9.1
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.10-Makefile.am.patch
+ "${FILESDIR}"/${PN}-0.9.10-ax_boost_python.patch
+)
+
+src_configure() {
+ local myeconfargs=( --disable-static )
+
+ python_configure() {
+ if ! python_is_python3; then
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+ autotools-utils_src_configure --with-boost-python=boost_python-${EPYTHON#python}
+ }
+
+ python_parallel_foreach_impl python_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/pythonutils/Manifest b/dev-python/pythonutils/Manifest
new file mode 100644
index 000000000000..723c04b1881c
--- /dev/null
+++ b/dev-python/pythonutils/Manifest
@@ -0,0 +1 @@
+DIST pythonutils-0.4.0.zip 313577 SHA256 141477cb09ccd51b8a13af746dccbbc16cb0ac7f23187b33e75d4d9fdd4763ea SHA512 1759f1f267a6dfc2252d2a9a90fcf46f6613ee7e9dc60b6484d434443e7bb1dbc748134ec1355dd904a615d1e8a3874386c482a0ca98ffb51cdf3d9fd4f6999c WHIRLPOOL d5e98f51c709849931c9b2e59112208fe5c4d5ad11e472533eb63e6d962479b148fcad396722557f8be010c5d279bfc50ee4883d1f5c06305fade1b107be156d
diff --git a/dev-python/pythonutils/metadata.xml b/dev-python/pythonutils/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pythonutils/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pythonutils/pythonutils-0.4.0-r1.ebuild b/dev-python/pythonutils/pythonutils-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..c601916e4f77
--- /dev/null
+++ b/dev-python/pythonutils/pythonutils-0.4.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Voidspace Python modules"
+HOMEPAGE="http://www.voidspace.org.uk/python/pythonutils.html"
+SRC_URI="http://www.voidspace.org.uk/downloads/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+python_install_all() {
+ dodoc docs/*.txt
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
new file mode 100644
index 000000000000..5588be367c0b
--- /dev/null
+++ b/dev-python/pytools/Manifest
@@ -0,0 +1 @@
+DIST pytools-2014.3.5.tar.gz 47522 SHA256 62a77a3c1865d5254ce212473da2af04f43d82eb0020ae9a009f97408e74968e SHA512 94d2b51cdd87dd11263fdc7d04040979240dea0e0090da0ff325112df9770aacb0849e20812b90f807024ad3815313bc344307a30add8f6795a70e7ebd6adfaa WHIRLPOOL bc3b4c118627d790a1d5bf07f1a4f9e5a4a76a1b38d43b9e6cd3130b8f8415a87807fef4b82ebda778a255e7ed71616f7c8e515fd20f1dad56bdac28023247bf
diff --git a/dev-python/pytools/metadata.xml b/dev-python/pytools/metadata.xml
new file mode 100644
index 000000000000..52f16cdf23fa
--- /dev/null
+++ b/dev-python/pytools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pytools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytools/pytools-2014.3.5.ebuild b/dev-python/pytools/pytools-2014.3.5.ebuild
new file mode 100644
index 000000000000..a055db762276
--- /dev/null
+++ b/dev-python/pytools/pytools-2014.3.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of tools missing from the Python standard library"
+HOMEPAGE="http://mathema.tician.de/software/pytools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-0.7.2[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytools/pytools-9999.ebuild b/dev-python/pytools/pytools-9999.ebuild
new file mode 100644
index 000000000000..d14a216c1820
--- /dev/null
+++ b/dev-python/pytools/pytools-9999.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+EGIT_MIN_CLONE_TYPE=single
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="A collection of tools missing from the Python standard library"
+HOMEPAGE="http://mathema.tician.de/software/pytools"
+EGIT_REPO_URI="http://git.tiker.net/trees/pytools.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+DEPEND="
+ >=dev-python/setuptools-0.7.2[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
new file mode 100644
index 000000000000..e785fb2ce5d7
--- /dev/null
+++ b/dev-python/pytz/Manifest
@@ -0,0 +1,5 @@
+DIST pytz-2013d.tar.bz2 204865 SHA256 2407e5b3d69c87915e7b3d86746ca3909153ddee82899b8f5cb70a4fd31b715e SHA512 fc687a2040c40d20cab974b11d18446c761504c3faf81caf0853149fd257aa939e5feb2367006463d443659b4ea7c5a7ef409f9b10329211eb920011ddb8c64f WHIRLPOOL d7411701850a27975b645bce2dcfb4bcfaeef85f12d82a0826372def35ec2495aa06cbdd774efc533114793b09442501f50bea30633a95d85dccff990ae29aea
+DIST pytz-2014.10.tar.bz2 166213 SHA256 387f968fde793b142865802916561839f5591d8b4b14c941125eb0fca7e4e58d SHA512 870ab2dd4e7ebd0e5eb22fe888978f17678ba4ae72aca5106ca5a5fbdb6c4204de18ccbe27124a9f252546b030872d070c016350602aa5f7d1b68c43fa5367ec WHIRLPOOL d1f9cc2a1fcf67d22cad7e61d7634dd5d1c575bc47d72159a5394cdc9804c144093a516b3b8e90d685f4f9a469eb7e4bae3909ea8dcf839369cb3f1454919081
+DIST pytz-2014.9.tar.bz2 166230 SHA256 4ba0ab74fa7f34f77ff236ee2157454d1c2aaeaaa25932363bfa1be6cb82dbd6 SHA512 4034a33489be3059530d8ddbbba283da117b692a7ca2975835e5626d1c79be7317bade911b52f981b1bd94ec3ea15b0db1bb4adb4c3810af7ad66e15dec1313d WHIRLPOOL b0af01986dee4a1beeb957fb662f9ece373d3d0d033c3c2a78ec49b01e2d05aa596110460231913a8d6b2a3496a90be98041bc2fa7ce6ded32cf7c62340f0783
+DIST pytz-2015.2.tar.bz2 166796 SHA256 3e15b416c9a2039c1a51208b2cd3bb4ffd796cd19e601b1d2657afcb77c3dc90 SHA512 43c03c99e0f0482053174e94ab0cb6d22c65b0af416cfdc28e39a12145c62d751722befedd98395c235566d3deecf8b5aad96c73c4661d994da598213d99855e WHIRLPOOL 483d9daacda16acfb3149c8a73f21241a27d0b32b312b8dbc4af84d08153ce04e2ff169cb8abc61b5381eac2cab68ce4d0083a81827c14f8e17b970ac3b248d9
+DIST pytz-2015.4.tar.bz2 157361 SHA256 a78b484d5472dd8c688f8b3eee18646a25c66ce45b2c26652850f6af9ce52b17 SHA512 ade31780d5d91cb519e69b38f8828e1cf94b5b388a3efd80db42b7a5e5603f43f5726f7aecfd08c78d3637a3017910f3ed1a7727ec291f6579a41882c6289ca4 WHIRLPOOL 7804617d21de5e6212ccc1f17651c8e76a94374af22f542cd6eb54fc6951d0b6ec42cd7623162074994573b6bba492d92397a584277b423742c15b68cb930ae7
diff --git a/dev-python/pytz/files/pytz-2009h-zoneinfo-noinstall.patch b/dev-python/pytz/files/pytz-2009h-zoneinfo-noinstall.patch
new file mode 100644
index 000000000000..2e9709579883
--- /dev/null
+++ b/dev-python/pytz/files/pytz-2009h-zoneinfo-noinstall.patch
@@ -0,0 +1,32 @@
+From e43745593e4627de8027587cb3b4a465c93fa0b1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 19 Dec 2012 19:22:29 +0100
+Subject: [PATCH] Do not install zoneinfo files.
+
+---
+ setup.py | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index c8152d5..8f13279 100644
+--- a/setup.py
++++ b/setup.py
+@@ -13,15 +13,8 @@ me = 'Stuart Bishop'
+ memail = 'stuart@stuartbishop.net'
+ packages = ['pytz']
+ resources = ['zone.tab', 'locales/pytz.pot']
+-for dirpath, dirnames, filenames in os.walk(os.path.join('pytz', 'zoneinfo')):
+- # remove the 'pytz' part of the path
+- basepath = dirpath.split(os.path.sep, 1)[1]
+- resources.extend([os.path.join(basepath, filename)
+- for filename in filenames])
+ package_data = {'pytz': resources}
+
+-assert len(resources) > 10, 'zoneinfo files not found!'
+-
+ setup (
+ name='pytz',
+ version=pytz.VERSION,
+--
+1.8.0.2
+
diff --git a/dev-python/pytz/files/pytz-2009j-zoneinfo.patch b/dev-python/pytz/files/pytz-2009j-zoneinfo.patch
new file mode 100644
index 000000000000..ee05d9f5efa4
--- /dev/null
+++ b/dev-python/pytz/files/pytz-2009j-zoneinfo.patch
@@ -0,0 +1,14 @@
+Use the system zoneinfo from sys-libs/timezone-data.
+
+--- pytz/__init__.py
++++ pytz/__init__.py
+@@ -54,8 +54,7 @@
+ for part in name_parts:
+ if part == os.path.pardir or os.path.sep in part:
+ raise ValueError('Bad path segment: %r' % part)
+- filename = os.path.join(os.path.dirname(__file__),
+- 'zoneinfo', *name_parts)
++ filename = os.path.join('/usr/share/zoneinfo', *name_parts)
+ if not os.path.exists(filename) and resource_stream is not None:
+ # http://bugs.launchpad.net/bugs/383171 - we avoid using this
+ # unless absolutely necessary to help when a broken version of
diff --git a/dev-python/pytz/metadata.xml b/dev-python/pytz/metadata.xml
new file mode 100644
index 000000000000..4981031aef4e
--- /dev/null
+++ b/dev-python/pytz/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ pytz brings the Olson tz database into Python. This library allows
+ accurate and cross platform timezone calculations using Python 2.3
+ or higher. It also solves the issue of ambiguous times at the end of
+ daylight savings, which you can read more about in the Python
+ Library Reference (datetime.tzinfo).
+ Amost all (over 540) of the Olson timezones are supported.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">pytz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytz/pytz-2013d.ebuild b/dev-python/pytz/pytz-2013d.ebuild
new file mode 100644
index 000000000000..61ad450e4abd
--- /dev/null
+++ b/dev-python/pytz/pytz-2013d.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="http://pypi.python.org/pypi/pytz http://pytz.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/timezone-data-${PV}"
+RDEPEND="${DEPEND}"
+
+DOCS=( CHANGES.txt )
+
+PATCHES=(
+ # Use timezone-data zoneinfo.
+ "${FILESDIR}/${PN}-2009j-zoneinfo.patch"
+ # ...and do not install a copy of it.
+ "${FILESDIR}/${PN}-2009h-zoneinfo-noinstall.patch"
+)
+
+python_test() {
+ "${PYTHON}" pytz/tests/test_tzinfo.py
+}
diff --git a/dev-python/pytz/pytz-2014.10.ebuild b/dev-python/pytz/pytz-2014.10.ebuild
new file mode 100644
index 000000000000..eac9d86b76f9
--- /dev/null
+++ b/dev-python/pytz/pytz-2014.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="http://pythonhosted.org/pytz/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/timezone-data-2014i"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Use timezone-data zoneinfo.
+ "${FILESDIR}/${PN}-2009j-zoneinfo.patch"
+ # ...and do not install a copy of it.
+ "${FILESDIR}/${PN}-2009h-zoneinfo-noinstall.patch"
+)
+
+python_test() {
+ "${PYTHON}" pytz/tests/test_tzinfo.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytz/pytz-2014.9.ebuild b/dev-python/pytz/pytz-2014.9.ebuild
new file mode 100644
index 000000000000..c5e7d016753d
--- /dev/null
+++ b/dev-python/pytz/pytz-2014.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="http://pythonhosted.org/pytz/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/timezone-data-2014i"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Use timezone-data zoneinfo.
+ "${FILESDIR}/${PN}-2009j-zoneinfo.patch"
+ # ...and do not install a copy of it.
+ "${FILESDIR}/${PN}-2009h-zoneinfo-noinstall.patch"
+)
+
+python_test() {
+ "${PYTHON}" pytz/tests/test_tzinfo.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytz/pytz-2015.2.ebuild b/dev-python/pytz/pytz-2015.2.ebuild
new file mode 100644
index 000000000000..20915b030505
--- /dev/null
+++ b/dev-python/pytz/pytz-2015.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="http://pythonhosted.org/pytz/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/timezone-data-2014i"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Use timezone-data zoneinfo.
+ "${FILESDIR}/${PN}-2009j-zoneinfo.patch"
+ # ...and do not install a copy of it.
+ "${FILESDIR}/${PN}-2009h-zoneinfo-noinstall.patch"
+)
+
+python_test() {
+ "${PYTHON}" pytz/tests/test_tzinfo.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytz/pytz-2015.4.ebuild b/dev-python/pytz/pytz-2015.4.ebuild
new file mode 100644
index 000000000000..6768e935ede5
--- /dev/null
+++ b/dev-python/pytz/pytz-2015.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="http://pythonhosted.org/pytz/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=sys-libs/timezone-data-2014i"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Use timezone-data zoneinfo.
+ "${FILESDIR}"/${PN}-2009j-zoneinfo.patch
+ # ...and do not install a copy of it.
+ "${FILESDIR}"/${PN}-2009h-zoneinfo-noinstall.patch
+)
+
+python_test() {
+ "${PYTHON}" pytz/tests/test_tzinfo.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyudev/Manifest b/dev-python/pyudev/Manifest
new file mode 100644
index 000000000000..dcada972fcf5
--- /dev/null
+++ b/dev-python/pyudev/Manifest
@@ -0,0 +1 @@
+DIST pyudev-0.16.1.tar.gz 74953 SHA256 765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95 SHA512 7f62c6794027411583f874bdf746de457f19048955867d30008bc1ee0d30040a97f73b9e52ae3645d469fc401128703d4e703e294b85481e927ffaba27e45e6a WHIRLPOOL 4c366a1eed92bf274ef84eab6242beb09cd6e906556f6ccb24113fafec2dcc47b8da94487505473fc6f7b39539cdc2809cef2d07a1ab8c0616fc73efba9b2e1a
diff --git a/dev-python/pyudev/metadata.xml b/dev-python/pyudev/metadata.xml
new file mode 100644
index 000000000000..3424bf98479a
--- /dev/null
+++ b/dev-python/pyudev/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">pyudev is a Python binding to libudev, the hardware management
+ library and service found in modern linux systems.</longdescription>
+ <use>
+ <flag name="pygobject">Install PyGobject binding</flag>
+ <flag name="pyqt4">Install PyQt4 binding</flag>
+ <flag name="pyside">Install PySide binding</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">pyudev</remote-id>
+ <remote-id type="github">pyudev/pyudev</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyudev/pyudev-0.16.1-r1.ebuild b/dev-python/pyudev/pyudev-0.16.1-r1.ebuild
new file mode 100644
index 000000000000..eefe667b5920
--- /dev/null
+++ b/dev-python/pyudev/pyudev-0.16.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python binding to libudev"
+HOMEPAGE="http://pyudev.readthedocs.org https://github.com/pyudev/pyudev"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="pygobject pyqt4 pyside test"
+
+RDEPEND="virtual/udev
+ pygobject? ( dev-python/pygobject:2[$(python_gen_usedep 'python2*')] )
+ pyqt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ pyside? ( dev-python/pyside[$(python_gen_usedep '!(python3_3)')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+DOCS=( CHANGES.rst README.rst )
+
+REQUIRED_USE="pygobject? ( || ( $(python_gen_useflags 'python2*') ) )
+ pyside? ( $(python_gen_useflags '!(python3_3)') )"
+
+python_prepare_all() {
+ # tests are known to pass then fail on alternate runs
+ # tests: fix run_path
+ sed -i -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \
+ tests/test_core.py || die
+
+ if ! use pygobject; then
+ rm pyudev/glib.py || die
+ sed -i -e "s|[, ]*GlibBinding()||g" \
+ tests/test_observer.py || die
+ fi
+ if ! use pyqt4; then
+ rm pyudev/pyqt4.py || die
+ sed -i -e "s|Qt4Binding('PyQt4')[, ]*||g" \
+ tests/test_observer.py || die
+ fi
+ if ! use pyside; then
+ rm pyudev/pyside.py || die
+ sed -i -e "s|Qt4Binding('PySide')[, ]*||g" \
+ tests/test_observer.py || die
+ fi
+ if ! use pyqt4 && ! use pyside; then
+ rm pyudev/_qt_base.py || die
+ fi
+ if ! use pyqt4 && ! use pyside && ! use pygobject; then
+ rm tests/test_observer.py || die
+ fi
+
+ ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
+ ewarn "change it to /var/tmp to ensure tests will pass."
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyusb/Manifest b/dev-python/pyusb/Manifest
new file mode 100644
index 000000000000..2125e5712295
--- /dev/null
+++ b/dev-python/pyusb/Manifest
@@ -0,0 +1,2 @@
+DIST pyusb-0.4.3.tar.gz 16242 SHA256 3c08b292886b7001ab088345af4d0dfe3e7d37bfc4b2bdcd7edb564ea3ef04d5 SHA512 efe90f910cd8b02646de4ec47e28f6debbcc3c4ff7aa0a45d8355840abfdb079f8e9ac9ce78b785e3f5a26772c5118362e9f4a7a3629985eae2063bc06b53e4a WHIRLPOOL 1a7f231520cf7f1a9777fadad5bfa1f4886172f5a643ba6b9dc5a58bf687629629670d8c12b79844ce692010b8bcd25dede5d6182d3677c9c8beea0cad3b9c7f
+DIST pyusb-1.0.0b2.tar.gz 57747 SHA256 14ec66077bdcd6f1aa9e892a0a35a54bb3c1ec56aa740ead64349c18f0186d19 SHA512 8a69f6cb3e2876a52c1caa0854e98586cf6d7e01225b132b4d37b92814727ae66398282aedbe5e521c509dc3ee6dfc5799b9f22890be7c7a387eb427921cd73b WHIRLPOOL 45c70c339490789e2e1195a8b040358380e5e22438e58344e40b42c795a276d6e30c3efc452791ffe4093287c9d01f44d47be25c07fba925c9198c8f630149ba
diff --git a/dev-python/pyusb/metadata.xml b/dev-python/pyusb/metadata.xml
new file mode 100644
index 000000000000..70519d001776
--- /dev/null
+++ b/dev-python/pyusb/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ pyusb is a python wrapper for the libusb user space USB device library.
+ </longdescription>
+ <maintainer><email>josejx@gentoo.org</email><name>Joseph Jezak</name></maintainer>
+ <upstream>
+ <remote-id type="pypi">pyusb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyusb/pyusb-0.4.3.ebuild b/dev-python/pyusb/pyusb-0.4.3.ebuild
new file mode 100644
index 000000000000..a06a5d98f4fb
--- /dev/null
+++ b/dev-python/pyusb/pyusb-0.4.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils flag-o-matic
+
+DESCRIPTION="USB support for Python"
+HOMEPAGE="http://pyusb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples"
+
+### The bus enumeration does not appear to work with libusb-compat
+### A new version based on libusb-1.x is in the works, but not yet released
+DEPEND="virtual/libusb:0"
+RDEPEND="${DEPEND}"
+
+RESTRICT_PYTHON_ABIS="3*"
+
+src_install() {
+ distutils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r samples
+ fi
+}
diff --git a/dev-python/pyusb/pyusb-1.0.0_beta2.ebuild b/dev-python/pyusb/pyusb-1.0.0_beta2.ebuild
new file mode 100644
index 000000000000..7f5b3c1c76de
--- /dev/null
+++ b/dev-python/pyusb/pyusb-1.0.0_beta2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_P="${P/_beta/b}"
+
+DESCRIPTION="USB support for Python"
+HOMEPAGE="http://pyusb.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE=""
+
+### This version is compatible with both 0.X and 1.X versions of libusb
+DEPEND="virtual/libusb
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS="README.rst docs/tutorial.rst"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/pyutil/Manifest b/dev-python/pyutil/Manifest
new file mode 100644
index 000000000000..b3dcac6f8c8e
--- /dev/null
+++ b/dev-python/pyutil/Manifest
@@ -0,0 +1 @@
+DIST pyutil-2.0.0.tar.gz 125079 SHA256 0ca95cb85843c5b09f7b65b5bd6c42d1940e19667b076620585ac45abe4f4fbb SHA512 3704c028fdc3894ae635dabd2bace1af1e805f4158dc6d67eac0c38fa8e7959cd093ad39cb2f539e59dd74e957947464cc8c7aed727835e127311062ed27e60b WHIRLPOOL e8fcdbed85d324732b8216224167f7920cfaf557238f3f70d22ee9afc96d1f72731164b55e1f385b60b0f77f8f42faf4b4db3e3eb55917c92ad004ab7613d447
diff --git a/dev-python/pyutil/metadata.xml b/dev-python/pyutil/metadata.xml
new file mode 100644
index 000000000000..d1ce02ea2757
--- /dev/null
+++ b/dev-python/pyutil/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ pyutil -- a library of useful Python functions and classes
+ ==========================================================
+
+ Many of these utilities (or their ancestors) were developed for
+ the Mojo
+ Nation, Mnet, Allmydata.com "Mountain View", Tahoe-LAFS, or
+ SimpleGeo's
+ products. (In the case where the code was developed for a
+ for-profit
+ company, the copyright holder donated the pyutil code to the
+ public under
+ these open source licences.)
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">pyutil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyutil/pyutil-2.0.0.ebuild b/dev-python/pyutil/pyutil-2.0.0.ebuild
new file mode 100644
index 000000000000..8a6f3c4ea462
--- /dev/null
+++ b/dev-python/pyutil/pyutil-2.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="A collection of utilities for Python programmers"
+HOMEPAGE="https://tahoe-lafs.org/trac/pyutil https://pypi.python.org/pypi/pyutil"
+SRC_URI="mirror://pypi/p/pyutil/pyutil-${PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_install() {
+ distutils-r1_src_install
+
+ rm -rf "${ED%/}"/usr/share/doc/${PN}
+}
diff --git a/dev-python/pyutmp/Manifest b/dev-python/pyutmp/Manifest
new file mode 100644
index 000000000000..87096ec9bd4b
--- /dev/null
+++ b/dev-python/pyutmp/Manifest
@@ -0,0 +1 @@
+DIST pyutmp-0.2.1.tar.gz 33673 SHA256 957ae25bc6997c3b18d8255399eb8409c9f47c9fd47c1ac852e49659bfd54869 SHA512 0b1195b9a485ff9069dc06795f157c4e93e9855c1f1abe904823802e369f32d2fc4676a69e4218aff1aff393ded927ada394f848057f3fdcf45d8c0f8030363c WHIRLPOOL 7813a72d150f4b6bc0c778d68425dd9b763b11a658227237b3330cfb730c56b7c4886587c4901f1c2635f84b189ceb40f8cba7112417c84764988f04df40dfb0
diff --git a/dev-python/pyutmp/metadata.xml b/dev-python/pyutmp/metadata.xml
new file mode 100644
index 000000000000..b22862f219e3
--- /dev/null
+++ b/dev-python/pyutmp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyutmp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyutmp/pyutmp-0.2.1.ebuild b/dev-python/pyutmp/pyutmp-0.2.1.ebuild
new file mode 100644
index 000000000000..bb3551b94db5
--- /dev/null
+++ b/dev-python/pyutmp/pyutmp-0.2.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python UTMP wrapper for Un*x systems"
+HOMEPAGE="https://pypi.python.org/pypi/pyutmp http://bmc.github.com/pyutmp/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/pyvorbis/Manifest b/dev-python/pyvorbis/Manifest
new file mode 100644
index 000000000000..3e97c4ee3966
--- /dev/null
+++ b/dev-python/pyvorbis/Manifest
@@ -0,0 +1 @@
+DIST pyvorbis-1.4.tar.gz 39045 SHA256 a7154541cea58304feff30752243eab862131c7589d72c200c8ad722d3bf1647 SHA512 c0b5ebb5d22f97b20f56a0b49e43675764fe057afa2d5de22eab9b8b73fb542186e7488cb0ba31b7af433cef1a88e815eb3e88a4609a2657ae5fba1017bdb89c WHIRLPOOL ae1b9025443a987c3dc51e4942ea2f709bee20f93156b8187d2db7a633df342ae9f26605a37da48c22db4bb7bb90fbcc96390ae56d5d2afa5e25d3902d0b0849
diff --git a/dev-python/pyvorbis/files/pyvorbis-1.4-python25.patch b/dev-python/pyvorbis/files/pyvorbis-1.4-python25.patch
new file mode 100644
index 000000000000..18028dc7a8e7
--- /dev/null
+++ b/dev-python/pyvorbis/files/pyvorbis-1.4-python25.patch
@@ -0,0 +1,65 @@
+diff -ur pyvorbis-1.4-old/src/pyvorbiscodec.c pyvorbis-1.4/src/pyvorbiscodec.c
+--- pyvorbis-1.4-old/src/pyvorbiscodec.c 2003-05-13 11:17:13.000000000 +0300
++++ pyvorbis-1.4/src/pyvorbiscodec.c 2007-09-20 01:57:54.000000000 +0300
+@@ -118,7 +118,7 @@
+ {
+ vorbis_dsp_clear(PY_DSP(self));
+ Py_XDECREF(((py_dsp *)self)->parent);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject*
+@@ -447,7 +447,7 @@
+ {
+ vorbis_block_clear(PY_BLOCK(self));
+ Py_XDECREF(((py_block *)self)->parent);
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ static PyObject*
+diff -ur pyvorbis-1.4-old/src/pyvorbisfile.c pyvorbis-1.4/src/pyvorbisfile.c
+--- pyvorbis-1.4-old/src/pyvorbisfile.c 2003-12-19 09:11:02.000000000 +0200
++++ pyvorbis-1.4/src/pyvorbisfile.c 2007-09-20 01:59:41.000000000 +0300
+@@ -173,8 +173,7 @@
+ if (ret == NULL) {
+ PyMem_DEL(newobj);
+ return NULL;
+- } else
+- Py_DECREF(ret);
++ }
+
+ return (PyObject *) newobj;
+ }
+@@ -195,7 +194,8 @@
+ fclose(py_self->c_file);
+ }
+
+- PyMem_DEL(self);
++ free(py_self->ovf);
++ PyObject_Del(self);
+ }
+
+ static PyObject *
+diff -ur pyvorbis-1.4-old/src/pyvorbisinfo.c pyvorbis-1.4/src/pyvorbisinfo.c
+--- pyvorbis-1.4-old/src/pyvorbisinfo.c 2003-12-19 09:51:36.000000000 +0200
++++ pyvorbis-1.4/src/pyvorbisinfo.c 2007-09-20 02:01:58.000000000 +0300
+@@ -134,7 +134,7 @@
+ static void
+ py_ov_info_dealloc(PyObject *self)
+ {
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+ #define CMP_RET(x) \
+@@ -418,7 +418,7 @@
+ free(ovc_self->vc);
+ }
+
+- PyMem_DEL(self);
++ PyObject_Del(self);
+ }
+
+
diff --git a/dev-python/pyvorbis/files/pyvorbisfile.c-1.4.patch b/dev-python/pyvorbis/files/pyvorbisfile.c-1.4.patch
new file mode 100644
index 000000000000..5d1d8ffc7c77
--- /dev/null
+++ b/dev-python/pyvorbis/files/pyvorbisfile.c-1.4.patch
@@ -0,0 +1,20 @@
+--- src/pyvorbisfile.c.orig 2003-12-19 07:11:02.000000000 +0000
++++ src/pyvorbisfile.c 2005-09-03 20:02:19.000000000 +0100
+@@ -190,9 +190,6 @@
+ /* If file was opened from a file object, decref it, so it can
+ close */
+ Py_DECREF(py_self->py_file);
+- } else {
+- /* Otherwise, we opened the file and should close it. */
+- fclose(py_self->c_file);
+ }
+
+ PyMem_DEL(self);
+@@ -260,7 +257,6 @@
+
+ retval = ov_open(file, self->ovf, initial, ibytes);
+
+- self->c_file = file;
+ if (retval < 0) {
+ if (fname != NULL)
+ fclose(file);
diff --git a/dev-python/pyvorbis/metadata.xml b/dev-python/pyvorbis/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyvorbis/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyvorbis/pyvorbis-1.4-r4.ebuild b/dev-python/pyvorbis/pyvorbis-1.4-r4.ebuild
new file mode 100644
index 000000000000..5062ba740e4a
--- /dev/null
+++ b/dev-python/pyvorbis/pyvorbis-1.4-r4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Python bindings for the ogg.vorbis library"
+HOMEPAGE="http://ekyo.nerim.net/software/pyogg/"
+SRC_URI="http://ekyo.nerim.net/software/pyogg/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=">=dev-python/pyogg-1.1[${PYTHON_USEDEP}]
+ >=media-libs/libogg-1.0
+ >=media-libs/libvorbis-1.0"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS COPYING ChangeLog NEWS README )
+PATCHES=(
+ "${FILESDIR}/pyvorbisfile.c-1.4.patch"
+ "${FILESDIR}/${P}-python25.patch"
+)
+
+python_configure_all() {
+ tc-export CC
+ "${PYTHON}" config_unix.py --prefix /usr || die "Configuration failed"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*
+}
diff --git a/dev-python/pyvtk/Manifest b/dev-python/pyvtk/Manifest
new file mode 100644
index 000000000000..bc953eea26ee
--- /dev/null
+++ b/dev-python/pyvtk/Manifest
@@ -0,0 +1 @@
+DIST PyVTK-0.4.74.tar.gz 25700 SHA256 a34cc4660a85f4828bedf28ff2b4c95baad98fc8f79e2647c59b5ea66c9250c7 SHA512 c3b29dd067339c1708f9757b83a127cbe008b291265181272b69a85c0348bc1388c4914acc24efdefda0421a601eede10af762753e683fbd0518361035313098 WHIRLPOOL 2512351725cbfa744df521b3a4e44179a521a131f3fdcbee78ac6cdbfa7c7c3997a50665b1264d9cd9b9f18e5403854e85eb76c65dea640f1b888da9c66e6b17
diff --git a/dev-python/pyvtk/files/pyvtk-0.4.74.patch b/dev-python/pyvtk/files/pyvtk-0.4.74.patch
new file mode 100644
index 000000000000..651c1f5ec37c
--- /dev/null
+++ b/dev-python/pyvtk/files/pyvtk-0.4.74.patch
@@ -0,0 +1,20 @@
+--- PyVTK-0.4.74/lib/__init__.py 2003-04-07 16:56:08.000000000 +0200
++++ PyVTK-0.4.74/lib/__init__.py 2008-12-03 18:08:35.000000000 +0100
+@@ -202,7 +202,7 @@
+ #print 'Reading file',`filename`
+ f = open(filename,'rb')
+ l = f.readline()
+- if not l.strip().replace(' ','').lower() == '#vtkdatafileversion2.0':
++ if not l.strip()[-3:] == '1.0' and not l.strip()[-3:] == '2.0' and not l.strip()[-3:] == '3.0':
+ raise TypeError, 'File '+`filename`+' is not VTK 2.0 format'
+ self.header = f.readline().rstrip()
+ format = f.readline().strip().lower()
+@@ -222,7 +222,7 @@
+ for i in range(2):
+ if only_structure: break
+ if not l: break
+- l = [s.strip() for s in l.lower().split(' ')]
++ l = [s.strip() for s in l.lower().split()]
+ assert len(l)==2 and l[0] in ['cell_data','point_data'], l[0]
+ data = l[0]
+ n = eval(l[1])
diff --git a/dev-python/pyvtk/metadata.xml b/dev-python/pyvtk/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/dev-python/pyvtk/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pyvtk/pyvtk-0.4.74.ebuild b/dev-python/pyvtk/pyvtk-0.4.74.ebuild
new file mode 100644
index 000000000000..965f91cf47e4
--- /dev/null
+++ b/dev-python/pyvtk/pyvtk-0.4.74.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P=PyVTK-${PV}
+
+DESCRIPTION="Tools for manipulating VTK files in Python"
+HOMEPAGE="http://cens.ioc.ee/projects/pyvtk/"
+SRC_URI="http://cens.ioc.ee/projects/pyvtk/rel-0.x/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${P}.patch )
diff --git a/dev-python/pywavelets/Manifest b/dev-python/pywavelets/Manifest
new file mode 100644
index 000000000000..c9792ae05e9d
--- /dev/null
+++ b/dev-python/pywavelets/Manifest
@@ -0,0 +1 @@
+DIST PyWavelets-0.2.2.zip 528210 SHA256 04b53436f5f2a9b895a1f56e86e16b94632a5d6bcfc076be1110e41cf3071278 SHA512 2cfd2b0e8f90750cc15ca60400101836f97661e52041abd4c032232eba6843b104c01ef2a50f4384afc5b11dd022add03101ef9b8c1b582ca64e84919f609a5b WHIRLPOOL 07dbec72901deb262a5f52954becee8ff4c9749fa311c206351db86c7612513dec329c6bcbad8e4ab6f1f1043ebfd08cfd8af762df95388789da13dfe6747e2a
diff --git a/dev-python/pywavelets/metadata.xml b/dev-python/pywavelets/metadata.xml
new file mode 100644
index 000000000000..610e1b9f018f
--- /dev/null
+++ b/dev-python/pywavelets/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<herd>python</herd>
+<longdescription lang="en">
+ PyWavelets is a Python wavelet transforms module that can perform:
+ * Discrete Wavelet Transform (1D and 2D)
+ * Inverse Discrete Wavelet Transform (1D and 2D)
+ * Stationary Wavelet Transform
+ * Wavelet Packets decomposition and reconstruction
+</longdescription>
+<upstream>
+ <remote-id type="pypi">PyWavelets</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/pywavelets/pywavelets-0.2.2-r1.ebuild b/dev-python/pywavelets/pywavelets-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..d02576960f74
--- /dev/null
+++ b/dev-python/pywavelets/pywavelets-0.2.2-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="${PN/pyw/PyW}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python module for discrete, stationary, and packet wavelet transforms"
+HOMEPAGE="http://www.pybytes.com/pywavelets"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+DEPEND="
+ app-arch/unzip
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx )"
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=(CHANGES.txt THANKS.txt)
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib" \
+ ${EPYTHON} tests/test_perfect_reconstruction.py || die
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -r doc/build/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins demo/*
+ fi
+}
diff --git a/dev-python/pywcs/Manifest b/dev-python/pywcs/Manifest
new file mode 100644
index 000000000000..2608654411f3
--- /dev/null
+++ b/dev-python/pywcs/Manifest
@@ -0,0 +1 @@
+DIST pywcs-1.11-4.8.2.tar.gz 2187116 SHA256 61b2d9abf90f4dce2071dfeed1628b487aa32e27b0c01e9983410557db96ac34 SHA512 595cdb910005ef8348eb84d1e0e3db7e5c925d8f44c8f84d8158729d2a9352811a1e1bee49049a91a033503bc9cc8b39c60b1acd526b2fccdd1a8764ec8a7c1e WHIRLPOOL d0c3cd2a428ab1d25594024f3db4f5b586cd1d3d82074828260942e74742602b8c4010cdcb4f73d32d20e71133dae9c7cb5af49e53aab880d404a9ebaf22cb08
diff --git a/dev-python/pywcs/files/pywcs-1.11-wcslib.patch b/dev-python/pywcs/files/pywcs-1.11-wcslib.patch
new file mode 100644
index 000000000000..14cd4e3dceab
--- /dev/null
+++ b/dev-python/pywcs/files/pywcs-1.11-wcslib.patch
@@ -0,0 +1,126 @@
+--- defsetup.py
++++ defsetup.py
+@@ -78,73 +78,27 @@
+
+ ######################################################################
+ # WCSLIB
+-WCSVERSION = "4.8.2"
+-WCSLIB = "wcslib" # Path to wcslib
+-WCSLIB_PATCHED = "wcslib"
+-WCSLIBC = join(WCSLIB_PATCHED, "C") # Path to wcslib source files
+-WCSFILES = [ # List of wcslib files to compile
+- 'flexed/wcsbth.c',
+- 'flexed/wcspih.c',
+- 'flexed/wcsulex.c',
+- 'flexed/wcsutrn.c',
+- 'cel.c',
+- 'lin.c',
+- 'log.c',
+- 'prj.c',
+- 'spc.c',
+- 'sph.c',
+- 'spx.c',
+- 'tab.c',
+- 'wcs.c',
+- 'wcserr.c',
+- 'wcsfix.c',
+- 'wcshdr.c',
+- 'wcsprintf.c',
+- 'wcsunits.c',
+- 'wcsutil.c']
+-WCSFILES = [join(WCSLIBC, x) for x in WCSFILES]
++from subprocess import Popen, PIPE
++from re import match
+
+-######################################################################
+-# WCSLIB CONFIGURATION
+-
+-# The only configuration parameter needed at compile-time is how to
+-# specify a 64-bit signed integer. Python's ctypes module can get us
+-# that information, but it is only available in Python 2.5 or later.
+-# If we can't be absolutely certain, we default to "long long int",
+-# which is correct on most platforms (x86, x86_64). If we find
+-# platforms where this heuristic doesn't work, we may need to hardcode
+-# for them.
+-def determine_64_bit_int():
+- try:
+- try:
+- import ctypes
+- except ImportError:
+- raise ValueError()
+-
+- if ctypes.sizeof(ctypes.c_longlong) == 8:
+- return "long long int"
+- elif ctypes.sizeof(ctypes.c_long) == 8:
+- return "long int"
+- elif ctypes.sizeof(ctypes.c_int) == 8:
+- return "int"
+- else:
+- raise ValueError()
+-
+- except ValueError:
+- return "long long int"
++def pkgconfig(*packages, **kw):
++ flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'}
++ arg = "--libs --cflags --modversion %s" % ' '.join(packages)
++ for tok in Popen(["pkg-config "+ arg],stdout=PIPE, shell=True).communicate()[0].split():
++ token = tok.decode("utf-8")
++ if(match("[0-9]",token)):
++ kw.setdefault("version",[]).append(token)
++ else:
++ kw.setdefault(flag_map.get(token[:2]), []).append(token[2:])
++ return kw
+
+-h_file = StringIO()
+-h_file.write("""
+-/* WCSLIB library version number. */
+-#define WCSLIB_VERSION %s
+-
+-/* 64-bit integer data type. */
+-#define WCSLIB_INT64 %s
+-""" % (WCSVERSION, determine_64_bit_int()))
+-write_if_different(join(srcroot, 'src', 'wcsconfig.h'), h_file.getvalue())
++WCSLIB = pkgconfig('wcslib')
++WCSVERSION = Popen(["pkg-config --modversion"],stdout=PIPE, shell=True).communicate()[0].split()
+
+ ######################################################################
+ # GENERATE DOCSTRINGS IN C
++
++######################################################################
+ docstrings = {}
+ with open(join(srcroot, 'doc', 'docstrings.py'), 'rb') as fd:
+ docstrings_content = fd.read()
+@@ -233,7 +186,8 @@
+
+ ######################################################################
+ # DISTUTILS SETUP
+-libraries = []
++libraries = WCSLIB['libraries']
++include_dirs = [numpy_include, join(srcroot, "src")] + WCSLIB['include_dirs']
+ define_macros = [('ECHO', None),
+ ('WCSTRIG_MACRO', None),
+ ('PYWCS_BUILD', None),
+@@ -282,13 +236,8 @@
+
+ PYWCS_EXTENSIONS = [
+ Extension('pywcs._pywcs',
+- WCSFILES + PYWCS_SOURCES,
+- include_dirs =
+- [numpy_include,
+- join(srcroot, WCSLIBC),
+- WCSLIBC,
+- join(srcroot, "src")
+- ],
++ PYWCS_SOURCES,
++ include_dirs=include_dirs,
+ define_macros=define_macros,
+ undef_macros=undef_macros,
+ extra_compile_args=extra_compile_args,
+@@ -309,7 +258,6 @@
+ 'ext_modules' : PYWCS_EXTENSIONS,
+ 'data_files' : [
+ ( 'pywcs/include', ['src/*.h']),
+- ( 'pywcs/include/wcslib', [ WCSLIBC + '/*.h'] ),
+ ( 'pywcs/tests/maps', ['lib/pywcs/tests/maps/*.hdr']),
+ ( 'pywcs/tests/spectra', ['lib/pywcs/tests/spectra/*.hdr']),
+ ( 'pywcs/tests/data', ['lib/pywcs/tests/data/*.hdr'])
diff --git a/dev-python/pywcs/metadata.xml b/dev-python/pywcs/metadata.xml
new file mode 100644
index 000000000000..380f3bfe46bb
--- /dev/null
+++ b/dev-python/pywcs/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ pywcs is a set of routines for handling the FITS World Coordinate
+ System (WCS) standard. It is a thin wrapper around the high- and
+ mid-level interfaces for wcslib.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pywcs/pywcs-1.11-r1.ebuild b/dev-python/pywcs/pywcs-1.11-r1.ebuild
new file mode 100644
index 000000000000..ee7041a6c912
--- /dev/null
+++ b/dev-python/pywcs/pywcs-1.11-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+WCS_V=4.8.2
+MYP=${P}-${WCS_V}
+
+DESCRIPTION="Python routines for handling the FITS World Coordinate System"
+HOMEPAGE="https://trac6.assembla.com/astrolib/wiki"
+SRC_URI="http://stsdas.stsci.edu/astrolib/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="
+ >=sci-astronomy/wcslib-${WCS_V}
+ virtual/pkgconfig"
+RDEPEND="
+ >=sci-astronomy/wcslib-${WCS_V}
+ virtual/pyfits
+ !<dev-python/astropy-0.3"
+
+# missing data to run tests
+RESTRICT=test
+S="${WORKDIR}/${MYP}"
+
+python_prepare_all(){
+ epatch "${FILESDIR}"/${P}-wcslib.patch
+}
+
+python_test() {
+ nosetests -w "${BUILD_DIR}"/lib || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pywebdav/Manifest b/dev-python/pywebdav/Manifest
new file mode 100644
index 000000000000..cb8d1bca6329
--- /dev/null
+++ b/dev-python/pywebdav/Manifest
@@ -0,0 +1 @@
+DIST PyWebDAV-0.9.8.tar.gz 52605 SHA256 510edb31ff8d4ad5a758c94eee4f12e6178ccb69fe70842d8db52098cedb20ec SHA512 a920e63f1241e41acd7cf02f342fc81e321c50866b103690eee3352de3b0d51c0c9473079bb639d65402719158c6c8113b2c1b7e0bfdc0b863ceb290bcde0145 WHIRLPOOL bde4fef6a8dc909e2278eb2b4b7a5077984dcdbb1f55d3354432985cb16a99795b988b384a826a7dd945e12a2b818b647a493e57d440d37ce8906506aff78e9c
diff --git a/dev-python/pywebdav/metadata.xml b/dev-python/pywebdav/metadata.xml
new file mode 100644
index 000000000000..d06b0b308143
--- /dev/null
+++ b/dev-python/pywebdav/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">A WebDAV server implementation in python. It's aim is to provide a
+ simple interface to webdav services to any application which needs it.
+ It can be run as a daemon on *nix systems</longdescription>
+ <upstream>
+ <remote-id type="google-code">pywebdav</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pywebdav/pywebdav-0.9.8-r1.ebuild b/dev-python/pywebdav/pywebdav-0.9.8-r1.ebuild
new file mode 100644
index 000000000000..39fde27528b4
--- /dev/null
+++ b/dev-python/pywebdav/pywebdav-0.9.8-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P=${P/pywebdav/PyWebDAV}
+
+DESCRIPTION="WebDAV server written in Python"
+HOMEPAGE="http://code.google.com/p/pywebdav/ http://pypi.python.org/pypi/PyWebDAV"
+SRC_URI="http://pywebdav.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc doc/{ARCHITECTURE,Changes,TODO,interface_class,walker}
+}
diff --git a/dev-python/pywebkitgtk/Manifest b/dev-python/pywebkitgtk/Manifest
new file mode 100644
index 000000000000..dc357fdde8ed
--- /dev/null
+++ b/dev-python/pywebkitgtk/Manifest
@@ -0,0 +1 @@
+DIST pywebkitgtk-1.1.8.tar.gz 342370 SHA256 7092212933000f23b3042135f01a371bd6a8f980c6b8d8b9dc7e20a1101d699c SHA512 18de613188f68d97be306af877b5d071758da1d08dfe4d4fa6ec275e931d9513520541747dcdcddacf5edf7e21061956ae2f3842155904c2e77c9a758e98e77f WHIRLPOOL e9bf3d71692682c65006a643fa1055ad06334a777d5e4c417ca8193b4e29d646522cfb67d9706e0ba1d93ecefe7d4734dd5e22456a9094ffbb01cf24b182e223
diff --git a/dev-python/pywebkitgtk/metadata.xml b/dev-python/pywebkitgtk/metadata.xml
new file mode 100644
index 000000000000..ee6dda9ab4b3
--- /dev/null
+++ b/dev-python/pywebkitgtk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>srinclan@gmail.com</email>
+ <name>Sergio Rodriguez</name>
+ </maintainer>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">pywebkitgtk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pywebkitgtk/pywebkitgtk-1.1.8-r1.ebuild b/dev-python/pywebkitgtk/pywebkitgtk-1.1.8-r1.ebuild
new file mode 100644
index 000000000000..6769cad75314
--- /dev/null
+++ b/dev-python/pywebkitgtk/pywebkitgtk-1.1.8-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools-utils python-r1 virtualx
+
+DESCRIPTION="Python bindings for the WebKit GTK+ port"
+HOMEPAGE="http://code.google.com/p/pywebkitgtk/"
+SRC_URI="http://pywebkitgtk.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+IUSE="test"
+
+RDEPEND="dev-python/pygobject:2[${PYTHON_USEDEP}]
+ dev-python/pygtk:2[${PYTHON_USEDEP}]
+ dev-libs/libxslt
+ >=net-libs/webkit-gtk-1.1.15:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=( --disable-static )
+ python_parallel_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_test() {
+ testing() {
+ local test st=0
+ for test in tests/test_*.py; do
+ PYTHONPATH="${BUILD_DIR}/.libs" "${PYTHON}" "${test}"
+ (( st |= $? ))
+ done
+ return ${st}
+ }
+ VIRTUALX_COMMAND=testing python_foreach_impl virtualmake
+}
+
+src_install() {
+ local AUTOTOOLS_PRUNE_LIBTOOL_FILES=all
+ local DOCS=( AUTHORS MAINTAINERS NEWS README )
+ python_foreach_impl autotools-utils_src_install
+}
diff --git a/dev-python/pyx/Manifest b/dev-python/pyx/Manifest
new file mode 100644
index 000000000000..c91a569c5723
--- /dev/null
+++ b/dev-python/pyx/Manifest
@@ -0,0 +1,3 @@
+DIST PyX-0.12.1.tar.gz 561989 SHA256 e837b26a8b1c27524cf3f3dd6c0d563451249159edaa2e366d87e7143a867e8e SHA512 4941f5aa21aff3743546495fb073c10d2657ff42b2aff401903498638093d0e31e344cce778980f28a7170c6d29eab72ac074277b9d4088376e8692dc71e55c1 WHIRLPOOL a4d4a21e78b72841ca38dea87296d21f0bc8255e428cb0733fbee9d71c3bfb031d8a9f9fff988dbf0e2af7222553918a9aa924769891c50beb607c6ce3fe2fa4
+DIST PyX-0.13.tar.gz 1237082 SHA256 1952962c965000d8e04a00d1b85c600cdef4588cea88c9face2adbedf21d42c6 SHA512 cab0c22f0862ae20cff92504ededf4fcf5820d5773130fb258de1a95d295ca4fe657b85d5ccd52021a4f84403e6db8eebe9f676fa405781738502456123eb05c WHIRLPOOL 0a6159cd5f2683c70b33aac71278ad6f0df3ae54897d0ab31a9b61897be9b4e531cc41c7772a60a152b3b7a39d383ba669be7401c503704f14cbbf3ceca25c41
+DIST PyX-0.14.tar.gz 2475559 SHA256 b0ea832e97156338010767a7edacbf6147a75cdd5ac1b147bd73afd514eed370 SHA512 328b917e406e29f656dff00ff54fc5b82296cdc4b134f45ef380d0b1e7011311e4c149be59f5089064c183e8ade3adca27a2304b3bafd2e735f256e6de8b8b3b WHIRLPOOL 34ee7b2723618a493d15e2509456e1539acfc9d0010a202c14ba353505ef1394c753cfc083b557d0250918e501d9931dc7949ec6f623b00be63d16a5e3db6839
diff --git a/dev-python/pyx/metadata.xml b/dev-python/pyx/metadata.xml
new file mode 100644
index 000000000000..d580ab0df219
--- /dev/null
+++ b/dev-python/pyx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+PyX is a Python package for the creation of encapsulated PostScript figures.
+It provides both an abstraction of PostScript and a TeX/LaTeX interface.
+Complex tasks like 2d and 3d plots in publication-ready quality are built out
+of these primitives.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pyx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyx/pyx-0.12.1-r1.ebuild b/dev-python/pyx/pyx-0.12.1-r1.ebuild
new file mode 100644
index 000000000000..6530d407f75d
--- /dev/null
+++ b/dev-python/pyx/pyx-0.12.1-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P="${P/pyx/PyX}"
+
+DESCRIPTION="Python package for the generation of encapsulated PostScript figures"
+HOMEPAGE="http://pyx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pyx/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="virtual/tex-base
+ dev-texlive/texlive-basic"
+
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base
+ dev-python/sphinx[latex,${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i \
+ -e 's/^build_t1code=.*/build_t1code=1/' \
+ -e 's/^build_pykpathsea=.*/build_pykpathsea=1/' \
+ setup.cfg || die "setup.cfg fix failed"
+}
+
+python_compile_all() {
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C "${S}"/faq latexpdf
+ fi
+}
+
+python_install_all() {
+ use doc && dodoc faq/_build/latex/pyxfaq.pdf
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyx/pyx-0.13.ebuild b/dev-python/pyx/pyx-0.13.ebuild
new file mode 100644
index 000000000000..116e8c04ef4e
--- /dev/null
+++ b/dev-python/pyx/pyx-0.13.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+MY_P="${P/pyx/PyX}"
+
+DESCRIPTION="Python package for the generation of encapsulated PostScript figures"
+HOMEPAGE="http://pyx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pyx/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="virtual/tex-base
+ dev-texlive/texlive-basic"
+
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base
+ dev-python/sphinx[latex,${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i \
+ -e 's/^build_t1code=.*/build_t1code=1/' \
+ -e 's/^build_pykpathsea=.*/build_pykpathsea=1/' \
+ setup.cfg || die "setup.cfg fix failed"
+}
+
+python_compile_all() {
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C "${S}"/faq latexpdf
+ fi
+}
+
+python_install_all() {
+ use doc && dodoc faq/_build/latex/pyxfaq.pdf
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyx/pyx-0.14.ebuild b/dev-python/pyx/pyx-0.14.ebuild
new file mode 100644
index 000000000000..766445040864
--- /dev/null
+++ b/dev-python/pyx/pyx-0.14.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_{3,4} )
+
+inherit distutils-r1
+
+MY_P="${P/pyx/PyX}"
+
+DESCRIPTION="Python package for the generation of encapsulated PostScript figures"
+HOMEPAGE="http://pyx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/pyx/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="virtual/tex-base
+ dev-texlive/texlive-basic"
+
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base
+ dev-python/sphinx[latex,${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i \
+ -e 's/^build_t1code=.*/build_t1code=1/' \
+ -e 's/^build_pykpathsea=.*/build_pykpathsea=1/' \
+ setup.cfg || die "setup.cfg fix failed"
+}
+
+python_compile_all() {
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts emake -C "${S}"/faq latexpdf
+ fi
+}
+
+python_install_all() {
+ use doc && dodoc faq/_build/latex/pyxfaq.pdf
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyxattr/Manifest b/dev-python/pyxattr/Manifest
new file mode 100644
index 000000000000..3a777bc01298
--- /dev/null
+++ b/dev-python/pyxattr/Manifest
@@ -0,0 +1,2 @@
+DIST pyxattr-0.5.3.tar.gz 25977 SHA256 c395b34707506aa4e74da4930efaec9bb84bd652d8459de5b603bb8dc8b1d585 SHA512 ac1aa227ab9980e0b05bf71ac4466e8747791a0d5ea30d404359526ca32e6846ad9d4ef72208ff9c7a8208d91ffa309feebe7eab818ef2dc3ae1a5e9414ffeaa WHIRLPOOL 905076e9917d8eb8f78a564d31dfe7c649cd459106513dea53985eb026a144dfbaf062992786f63b799ec7410eec9dbc3f4ae9c41cbb7e1ec61f769c81fa6898
+DIST pyxattr-0.5.5.tar.gz 26718 SHA256 132297c35261dd74b2ae2bd558e725b04834bbdf60997495e0110e255f5f2a3f SHA512 77b732a7e524a7c31a0511df2c96c18b214f93c6ac47276ecdf12ed95133ee506fa882b2532a7159aa2f4e02a7128e33bb8883ea632a5394297d98fb28898327 WHIRLPOOL 42db6c0d603f5bfca951a39194e5b95d4285a68b4c5e3f77ffe806fb5f05e46ce2f12dadc2d598c40178b68b83ee947b50474c7c026dc8e40378fc9c552a5180
diff --git a/dev-python/pyxattr/files/pyxattr-0.5.1-test-bytes.patch b/dev-python/pyxattr/files/pyxattr-0.5.1-test-bytes.patch
new file mode 100644
index 000000000000..6ff4bd052218
--- /dev/null
+++ b/dev-python/pyxattr/files/pyxattr-0.5.1-test-bytes.patch
@@ -0,0 +1,19 @@
+commit ea7421018090b7099c5e0a6bd88180f41ebb7bce
+Author: Mike Gilbert <floppym@gentoo.org>
+Date: Fri Dec 21 16:33:18 2012 -0500
+
+ Python 2.5 can't parse byte literals, so use bytes() instead.
+
+diff --git a/test/test_xattr.py b/test/test_xattr.py
+index 8df00b9..0bca576 100644
+--- a/test/test_xattr.py
++++ b/test/test_xattr.py
+@@ -12,7 +12,7 @@ from xattr import NS_USER, XATTR_CREATE, XATTR_REPLACE
+
+ if sys.hexversion >= 0x03000000:
+ PY3K = True
+- EMPTY_NS = b''
++ EMPTY_NS = bytes()
+ else:
+ PY3K = False
+ EMPTY_NS = ''
diff --git a/dev-python/pyxattr/metadata.xml b/dev-python/pyxattr/metadata.xml
new file mode 100644
index 000000000000..be6ec1870e53
--- /dev/null
+++ b/dev-python/pyxattr/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ pyxattr is an Python extension module wrapper for libattr. You can
+ use this module to query, list, add and remove extended attributes
+ from files and directories
+</longdescription>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyxattr</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyxattr/pyxattr-0.5.3.ebuild b/dev-python/pyxattr/pyxattr-0.5.3.ebuild
new file mode 100644
index 000000000000..aef674e1cd6c
--- /dev/null
+++ b/dev-python/pyxattr/pyxattr-0.5.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python interface to xattr"
+HOMEPAGE="http://pyxattr.k1024.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ http://pyxattr.k1024.org/downloads/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="sys-apps/attr"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( <dev-python/sphinx-1.3[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -i -e 's:, "-Werror"::' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake doc
+}
+
+src_test() {
+ # Perform the tests in /var/tmp; that location is more likely
+ # to have xattr support than /tmp which is often tmpfs.
+ export TESTDIR=/var/tmp
+
+ einfo 'Please note that the tests fail if xattrs are not supported'
+ einfo 'by the filesystem used for /var/tmp.'
+ distutils-r1_src_test
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyxattr/pyxattr-0.5.5.ebuild b/dev-python/pyxattr/pyxattr-0.5.5.ebuild
new file mode 100644
index 000000000000..7d1bae346c2e
--- /dev/null
+++ b/dev-python/pyxattr/pyxattr-0.5.5.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python interface to xattr"
+HOMEPAGE="http://pyxattr.k1024.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ http://pyxattr.k1024.org/downloads/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc64 ~s390 ~sh ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="sys-apps/attr"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ sed -i -e 's:, "-Werror"::' setup.py || die
+ # Bug 548486
+ sed -e "s:html_theme = 'default':html_theme = 'classic':" \
+ -i doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake doc
+}
+
+src_test() {
+ # Perform the tests in /var/tmp; that location is more likely
+ # to have xattr support than /tmp which is often tmpfs.
+ export TESTDIR=/var/tmp
+
+ einfo 'Please note that the tests fail if xattrs are not supported'
+ einfo 'by the filesystem used for /var/tmp.'
+ distutils-r1_src_test
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyxattr/pyxattr-9999.ebuild b/dev-python/pyxattr/pyxattr-9999.ebuild
new file mode 100644
index 000000000000..0935505fb938
--- /dev/null
+++ b/dev-python/pyxattr/pyxattr-9999.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils git-r3
+
+DESCRIPTION="Python interface to xattr"
+HOMEPAGE="http://pyxattr.k1024.org/"
+SRC_URI=""
+EGIT_REPO_URI="
+ https://github.com/iustin/${PN}.git
+ git://github.com/iustin/${PN}.git"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="sys-apps/attr"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+src_test() {
+ # Perform the tests in /var/tmp; that location is more likely
+ # to have xattr support than /tmp which is often tmpfs.
+ export TESTDIR=/var/tmp
+
+ einfo 'Please note that the tests fail if xattrs are not supported'
+ einfo 'by the filesystem used for /var/tmp.'
+ distutils-r1_src_test
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pyxdg/Manifest b/dev-python/pyxdg/Manifest
new file mode 100644
index 000000000000..1f6753d5256e
--- /dev/null
+++ b/dev-python/pyxdg/Manifest
@@ -0,0 +1 @@
+DIST pyxdg-0.25.tar.gz 48935 SHA256 81e883e0b9517d624e8b0499eb267b82a815c0b7146d5269f364988ae031279d SHA512 86cbf3a54fb8e79043db60dcdbb3fb10013ae25a900fa3592edc8a24bf3f440c19bc04626c7906293c785fcb56eab9d87d209b723b5baa872376ba1eb86758b6 WHIRLPOOL 8e77c83f52c5836f4476645fc1d297311c1537e60a8fe364c75c842baf0530def1a483c19489af87ec78d340e630af18ed9a210cecc56f183037e34e58e0e450
diff --git a/dev-python/pyxdg/files/pyxdg-subprocess.patch b/dev-python/pyxdg/files/pyxdg-subprocess.patch
new file mode 100644
index 000000000000..7b9a1ba7d644
--- /dev/null
+++ b/dev-python/pyxdg/files/pyxdg-subprocess.patch
@@ -0,0 +1,38 @@
+#Patch sent to upstream on March 1st, 2009
+#Jesus Rivero (Neurogeek)
+#Replaced deprecated os.popen3 for subprocess
+
+diff -uNr xdg.orig/Menu.py xdg/Menu.py
+--- xdg.orig/Menu.py 2009-03-01 04:34:38.000000000 -0430
++++ xdg/Menu.py 2009-03-01 04:41:27.000000000 -0430
+@@ -12,6 +12,7 @@
+
+ import xdg.Locale
+ import xdg.Config
++from subprocess import Popen, PIPE
+
+ ELEMENT_NODE = xml.dom.Node.ELEMENT_NODE
+
+@@ -841,13 +842,16 @@
+ return m
+
+ def __parseKDELegacyDirs(filename, parent):
+- f=os.popen3("kde-config --path apps")
+- output = f[1].readlines()
+ try:
+- for dir in output[0].split(":"):
+- __parseLegacyDir(dir,"kde", filename, parent)
+- except IndexError:
+- pass
++ f=Popen("kde-config --path apps", shell=True, stdout=PIPE).stdout
++ output = f.readlines()
++ try:
++ for dir in output[0].split(":"):
++ __parseLegacyDir(dir,"kde", filename, parent)
++ except IndexError:
++ pass
++ except:
++ raise Exception, "kde-config failed"
+
+ # remove duplicate entries from a list
+ def __removeDuplicates(list):
diff --git a/dev-python/pyxdg/files/sec-patch-CVE-2014-1624.patch b/dev-python/pyxdg/files/sec-patch-CVE-2014-1624.patch
new file mode 100644
index 000000000000..d94c0a42bddb
--- /dev/null
+++ b/dev-python/pyxdg/files/sec-patch-CVE-2014-1624.patch
@@ -0,0 +1,54 @@
+Improve security of get_runtime_dir(strict=False)
+https://github.com/takluyver/pyxdg/commit/bd999c1c3fe7ee5f30ede2cf704cf03e400347b4
+diff --git a/xdg/BaseDirectory.py b/xdg/BaseDirectory.py
+index cececa3..a7c31b1 100644
+--- a/xdg/BaseDirectory.py
++++ b/xdg/BaseDirectory.py
+@@ -25,7 +25,7 @@
+ Note: see the rox.Options module for a higher-level API for managing options.
+ """
+
+-import os
++import os, stat
+
+ _home = os.path.expanduser('~')
+ xdg_data_home = os.environ.get('XDG_DATA_HOME') or \
+@@ -131,15 +131,30 @@ def get_runtime_dir(strict=True):
+
+ import getpass
+ fallback = '/tmp/pyxdg-runtime-dir-fallback-' + getpass.getuser()
++ create = False
++
+ try:
+- os.mkdir(fallback, 0o700)
++ # This must be a real directory, not a symlink, so attackers can't
++ # point it elsewhere. So we use lstat to check it.
++ st = os.lstat(fallback)
+ except OSError as e:
+ import errno
+- if e.errno == errno.EEXIST:
+- # Already exists - set 700 permissions again.
+- import stat
+- os.chmod(fallback, stat.S_IRUSR|stat.S_IWUSR|stat.S_IXUSR)
+- else: # pragma: no cover
++ if e.errno == errno.ENOENT:
++ create = True
++ else:
+ raise
+-
++ else:
++ # The fallback must be a directory
++ if not stat.S_ISDIR(st.st_mode):
++ os.unlink(fallback)
++ create = True
++ # Must be owned by the user and not accessible by anyone else
++ elif (st.st_uid != os.getuid()) \
++ or (st.st_mode & (stat.S_IRWXG | stat.S_IRWXO)):
++ os.rmdir(fallback)
++ create = True
++
++ if create:
++ os.mkdir(fallback, 0o700)
++
+ return fallback
+
diff --git a/dev-python/pyxdg/metadata.xml b/dev-python/pyxdg/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/pyxdg/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/pyxdg/pyxdg-0.25-r1.ebuild b/dev-python/pyxdg/pyxdg-0.25-r1.ebuild
new file mode 100644
index 000000000000..abce0f4528ba
--- /dev/null
+++ b/dev-python/pyxdg/pyxdg-0.25-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# py3.3 removed due to nosetests
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="A Python module to deal with freedesktop.org specifications"
+HOMEPAGE="http://freedesktop.org/wiki/Software/pyxdg http://cgit.freedesktop.org/xdg/pyxdg/"
+SRC_URI="http://people.freedesktop.org/~takluyver/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}]
+ x11-themes/hicolor-icon-theme )"
+
+DOCS=( AUTHORS ChangeLog README TODO )
+PATCHES=( "${FILESDIR}"/sec-patch-CVE-2014-1624.patch )
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/pyxenstore/Manifest b/dev-python/pyxenstore/Manifest
new file mode 100644
index 000000000000..306fb18d6812
--- /dev/null
+++ b/dev-python/pyxenstore/Manifest
@@ -0,0 +1 @@
+DIST pyxenstore-0.0.2.tar.gz 4471 SHA256 a495add5b6f3f2f524d70b37b068f5e7f69f4e3fa9dc5602d13a6507e8a10a5a SHA512 0c4cfccd1f943d39f0524798504069514bd811886714b121cf03addb344ca4aa10a718178b3e8eb1cfc9ac9e4c2d6e61a1bbfaa47e1ec4941a7429e629f982d0 WHIRLPOOL 8cc88f1786c28495f601c0a055cfbe33387cf8f8eafc1d1e5739648576e30766ac0f93380fb1a05bec53f2e9965a76ce2106bc33e6d7ab3f6e1bd8e2fb4522c7
diff --git a/dev-python/pyxenstore/metadata.xml b/dev-python/pyxenstore/metadata.xml
new file mode 100644
index 000000000000..028202ff94bd
--- /dev/null
+++ b/dev-python/pyxenstore/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyxenstore</remote-id>
+ <remote-id type="launchpad">pyxenstore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyxenstore/pyxenstore-0.0.2.ebuild b/dev-python/pyxenstore/pyxenstore-0.0.2.ebuild
new file mode 100644
index 000000000000..eabac3ba68c1
--- /dev/null
+++ b/dev-python/pyxenstore/pyxenstore-0.0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Provides Python interfaces for Xen's XenStore"
+HOMEPAGE="https://launchpad.net/pyxenstore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND="app-emulation/xen-tools"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pyxenstore/pyxenstore-9999.ebuild b/dev-python/pyxenstore/pyxenstore-9999.ebuild
new file mode 100644
index 000000000000..05b96a7957d7
--- /dev/null
+++ b/dev-python/pyxenstore/pyxenstore-9999.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 bzr
+
+EBZR_REPO_URI="https://code.launchpad.net/~cbehrens/pyxenstore/trunk"
+
+DESCRIPTION="Provides Python interfaces for Xen's XenStore"
+HOMEPAGE="https://launchpad.net/pyxenstore"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="app-emulation/xen-tools"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/pyxml/Manifest b/dev-python/pyxml/Manifest
new file mode 100644
index 000000000000..5a6a09bf3a4d
--- /dev/null
+++ b/dev-python/pyxml/Manifest
@@ -0,0 +1 @@
+DIST PyXML-0.8.4.tar.gz 734954 SHA256 9fab66f9584fb8e67aebd8745a5c97bf1c5a2e2e461adf68862bcec64e448c13 SHA512 68d9802a58b8ce90d668d2ba659136dc5377e224fdb837284fdcaf640f28b3bb400bf485d602689905d56121b9ffaa7f7758b4a2f262d1321c8b9890952c8a1e WHIRLPOOL 5ae5df4be39ca9380ac636c6b84cea71c2def2a1404e5e2895a75e14ce3bd70e8ad60f7368892b172aed56e1aa8443a7554dda10fddefbc6b6c0816f087fc6a6
diff --git a/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch b/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch
new file mode 100644
index 000000000000..d29b0b6a9eb2
--- /dev/null
+++ b/dev-python/pyxml/files/pyxml-0.8.4-python-2.6.patch
@@ -0,0 +1,28 @@
+diff -rupN PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py PyXML-0.8.4/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py
+--- PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py 2008-12-15 16:54:36.000000000 +0900
++++ PyXML-0.8.4/xml/xpath/ParsedAbbreviatedAbsoluteLocationPath.py 2008-12-15 16:57:02.000000000 +0900
+@@ -24,8 +24,8 @@ class ParsedAbbreviatedAbsoluteLocationP
+ self._rel = rel
+ nt = ParsedNodeTest.ParsedNodeTest('node', '')
+ ppl = ParsedPredicateList.ParsedPredicateList([])
+- as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
+- self._step = ParsedStep.ParsedStep(as, nt, ppl)
++ as_ = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
++ self._step = ParsedStep.ParsedStep(as_, nt, ppl)
+ return
+
+ def evaluate(self, context):
+diff -rupN PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py PyXML-0.8.4/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py
+--- PyXML-0.8.4-old/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py 2008-12-15 16:54:36.000000000 +0900
++++ PyXML-0.8.4/xml/xpath/ParsedAbbreviatedRelativeLocationPath.py 2008-12-15 16:58:58.000000000 +0900
+@@ -28,8 +28,8 @@ class ParsedAbbreviatedRelativeLocationP
+ self._right = right
+ nt = ParsedNodeTest.ParsedNodeTest('node','')
+ ppl = ParsedPredicateList.ParsedPredicateList([])
+- as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
+- self._middle = ParsedStep.ParsedStep(as, nt, ppl)
++ as_ = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
++ self._middle = ParsedStep.ParsedStep(as_, nt, ppl)
+
+ def evaluate(self, context):
+ res = []
diff --git a/dev-python/pyxml/metadata.xml b/dev-python/pyxml/metadata.xml
new file mode 100644
index 000000000000..2093c15a879e
--- /dev/null
+++ b/dev-python/pyxml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">pyxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyxml/pyxml-0.8.4-r3.ebuild b/dev-python/pyxml/pyxml-0.8.4-r3.ebuild
new file mode 100644
index 000000000000..857b4b40b8a2
--- /dev/null
+++ b/dev-python/pyxml/pyxml-0.8.4-r3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+MY_P=${P/pyxml/PyXML}
+
+DESCRIPTION="A collection of libraries to process XML with Python"
+HOMEPAGE="http://pyxml.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD CNRI MIT PSF-2 public-domain"
+# Other licenses:
+# BeOpen Python Open Source License Agreement Version 1
+# Zope Public License (ZPL) Version 1.0
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND=">=dev-libs/expat-1.95.6"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-python-2.6.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ # use the already-installed shared copy of libexpat
+ distutils-r1_python_compile --with-libexpat="${EPREFIX}/usr"
+}
+
+python_test() {
+ # Delete internal copy of old version of unittest module.
+ local BROKENTESTS=(
+ test_filter
+ test_howto
+ test_minidom
+ test_xmlbuilder
+ unittest
+ test_expatreader
+ )
+
+ for test_file in ${BROKENTESTS[@]}; do
+ test_file="test/${test_file}.py"
+ einfo "Removing dubious test \"${test_file}\""
+ rm ${test_file}
+ eend $?
+ done
+
+ cd test || die
+ "${PYTHON}" regrtest.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( ANNOUNCE CREDITS doc/*.txt )
+
+ distutils-r1_python_install_all
+
+ doman doc/man/*
+ if use doc; then
+ dohtml -A api,web -r doc/*
+ dodoc doc/*.tex
+ fi
+ use examples && dodoc -r demo
+}
diff --git a/dev-python/pyyaml/Manifest b/dev-python/pyyaml/Manifest
new file mode 100644
index 000000000000..9d5479133ce8
--- /dev/null
+++ b/dev-python/pyyaml/Manifest
@@ -0,0 +1 @@
+DIST PyYAML-3.11.tar.gz 248685 SHA256 c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8 SHA512 76de005f59e1842108399af53178cfac2c08ee5cc996cc38ab6ec8b046c6b894422c461a1f1ed1df91abf96f154d41170227912cae7336cff88adfd3c0e8d783 WHIRLPOOL 9b457a026a57d4b90e52629dafbd48a33ff3bf3a71c531857d33acfb7e7033b963c566d82d4fabaa0ae17f534b9d5a697a2407bdb24ab3ca9fd375b49e7932c2
diff --git a/dev-python/pyyaml/metadata.xml b/dev-python/pyyaml/metadata.xml
new file mode 100644
index 000000000000..2e9a66761bd7
--- /dev/null
+++ b/dev-python/pyyaml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="libyaml">enable support for C implementation using libyaml</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/pyyaml/pyyaml-3.11.ebuild b/dev-python/pyyaml/pyyaml-3.11.ebuild
new file mode 100644
index 000000000000..4a11cb992e59
--- /dev/null
+++ b/dev-python/pyyaml/pyyaml-3.11.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_P="PyYAML-${PV}"
+
+DESCRIPTION="YAML parser and emitter for Python"
+HOMEPAGE="http://pyyaml.org/wiki/PyYAML http://pypi.python.org/pypi/PyYAML"
+SRC_URI="http://pyyaml.org/download/${PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="examples libyaml"
+
+RDEPEND="libyaml? ( dev-libs/libyaml )"
+DEPEND="${RDEPEND}
+ libyaml? ( $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]' python2_7 'python3*') )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_configure_all() {
+ mydistutilsargs=( $(use_with libyaml) )
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}
+ fi
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
new file mode 100644
index 000000000000..19f124f9e53d
--- /dev/null
+++ b/dev-python/pyzmq/Manifest
@@ -0,0 +1,3 @@
+DIST pyzmq-14.4.1.tar.gz 995366 SHA256 cb4a59875fdc26315045d800bac008b8e10a4cf2d72ac9af2fc45ef6ac8f330a SHA512 4b71677e4bfa771177a34dbff59cf6dfd54310a8996689a3d62902aaba35c7cf2ad6b7da806f9e189ad4b89fcefe9cbb3e192788eecd5d2c269e8a980b4d50fa WHIRLPOOL f6c093023b4494e1f9293a81ac86dcc55ff05f7ae10bb9677ff4fffd2e38fefe2462eb241c74b1ee283958a8546b128585c78c644dae544aa38f4b9c1f3e3ad8
+DIST pyzmq-14.6.0.tar.gz 1001020 SHA256 7746806ff94f1e8c1e843644c6bbd3b9aaeb1203c2eaf38879adc23dbd5c35bb SHA512 02e7feaca0ed73d48af2577fa9fc240e947bf9cea444b3819b8fd39fc2ca4b50c8f11ff27c8477386ef7bee1e8f5bbca50769403ab1393d43624065e647b6544 WHIRLPOOL e10c96a8852cd57dc7ec622405925c987a66cfecff125b6b664a8ab48078b6bea59749421122b7158ace0f366c6d61eb617e9b2f7e951000c9a61d86b87a2ff0
+DIST pyzmq-14.7.0.tar.gz 1048389 SHA256 77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2 SHA512 22c30414c99bddb71f47b37f49f19b0cb1a535bdc6835fac13c78d030a59ed362124393acd41b7e04bb1f8ca231cabb49d010ac93142786ec35ee4a303f168ed WHIRLPOOL 82f1940133d23bc11acaaf66a92cebfdc76f844f990f90314198b3a65b2dd561e2ab7a5b532f76e6a9a6dd93520b7ae096331fb09eb302b898616e916d35e702
diff --git a/dev-python/pyzmq/files/pyzmq-2.2.0.1-python3.patch b/dev-python/pyzmq/files/pyzmq-2.2.0.1-python3.patch
new file mode 100644
index 000000000000..d6b1299add7a
--- /dev/null
+++ b/dev-python/pyzmq/files/pyzmq-2.2.0.1-python3.patch
@@ -0,0 +1,34 @@
+From 51f2470bce6c9e6067606aec2d9a018555582b30 Mon Sep 17 00:00:00 2001
+From: MinRK <benjaminrk@gmail.com>
+Date: Mon, 20 Aug 2012 22:44:27 -0700
+Subject: [PATCH] fix exception syntax in gevent.core
+
+---
+ zmq/green/core.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/zmq/green/core.py b/zmq/green/core.py
+index d4e5f73..9e5acdf 100644
+--- a/zmq/green/core.py
++++ b/zmq/green/core.py
+@@ -114,7 +114,7 @@ def _wait_write(self):
+ try:
+ timeout.start()
+ self.__writable.get(block=True)
+- except gevent.Timeout, t:
++ except gevent.Timeout as t:
+ if t is not timeout:
+ raise
+ toc = time.time()
+@@ -138,7 +138,7 @@ def _wait_read(self):
+ try:
+ timeout.start()
+ self.__readable.get(block=True)
+- except gevent.Timeout, t:
++ except gevent.Timeout as t:
+ if t is not timeout:
+ raise
+ toc = time.time()
+--
+1.7.10
+
diff --git a/dev-python/pyzmq/metadata.xml b/dev-python/pyzmq/metadata.xml
new file mode 100644
index 000000000000..4fecbd76e7e6
--- /dev/null
+++ b/dev-python/pyzmq/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="green">Enable gevent compatibility with zeromq</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">pyzmq</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyzmq/pyzmq-14.4.1.ebuild b/dev-python/pyzmq/pyzmq-14.4.1.ebuild
new file mode 100644
index 000000000000..3e47d450560f
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-14.4.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="http://www.zeromq.org/bindings:python http://pypi.python.org/pypi/pyzmq"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples green test"
+
+# Ensures installation of gevent for test phase
+REQUIRED_USE="test? ( green )"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND=">=net-libs/zeromq-2.1.9:=
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ green? ( dev-python/gevent[${PY2_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ )"
+
+python_configure_all() {
+ tc-export CC
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if python_is_python3; then
+ einfo "Skipping python3 due to lack of support by gevent"
+ else
+ nosetests -svw "${BUILD_DIR}/lib/"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyzmq/pyzmq-14.6.0.ebuild b/dev-python/pyzmq/pyzmq-14.6.0.ebuild
new file mode 100644
index 000000000000..b7c52f8d3b40
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-14.6.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="http://www.zeromq.org/bindings:python http://pypi.python.org/pypi/pyzmq"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples green test"
+
+# Ensures installation of gevent for test phase
+REQUIRED_USE="test? ( green )"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND="
+ >=net-libs/zeromq-4.1.2:=
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ green? ( dev-python/gevent[${PY2_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ tc-export CC
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # suite reports error in absence of gevent under py3 but is designed to continue
+ # rather than exit making py3 apt for the test phase
+ nosetests -svw "${BUILD_DIR}/lib/"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyzmq/pyzmq-14.7.0.ebuild b/dev-python/pyzmq/pyzmq-14.7.0.ebuild
new file mode 100644
index 000000000000..f9824c33d9cc
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-14.7.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="http://www.zeromq.org/bindings:python http://pypi.python.org/pypi/pyzmq"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples green test"
+
+# Ensures installation of gevent for test phase
+REQUIRED_USE="test? ( green )"
+
+PY2_USEDEP=$(python_gen_usedep python2_7)
+RDEPEND="
+ >=net-libs/zeromq-4.1.2:=
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ green? ( dev-python/gevent[${PY2_USEDEP}] )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ doc? (
+ >=dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ tc-export CC
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # suite reports error in absence of gevent under py3 but is designed to continue
+ # rather than exit making py3 apt for the test phase
+ nosetests -svw "${BUILD_DIR}/lib/"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyzor/Manifest b/dev-python/pyzor/Manifest
new file mode 100644
index 000000000000..2647fd70775d
--- /dev/null
+++ b/dev-python/pyzor/Manifest
@@ -0,0 +1,3 @@
+DIST pyzor-0.5.0.tar.bz2 40654 SHA256 2bf3df9e916861063a73f7b46cb8b27bac6f661fce1362803de9e7921fc155ba SHA512 048c81e373be217808f4e4e8f6adbc1b464891b725b3004031dfa7a82abe234b080c3a87bc9ad61ee1df2bfb78ed0ee78565b49843f09243f72b6315df6877a1 WHIRLPOOL 966090015bfe93d4ef059a1186e97705807769f9341e94a2f5d9c223540effac04209a32cad850c6f405225c00aea55bdf7ac5a6a98e0927824d641ee61e5c80
+DIST pyzor-0.7.0.tar.bz2 78555 SHA256 6d9ca62bd4aa9a0210adb9d4c8ff2b38bb2cd051f1517ce29e88d7fbe4b1026d SHA512 40026fc0276b4cf60fe7dfe30e2d4d4d1f220cf860b8aaef9d983e632a7d87bc8deb3430ded7520a69269ef56550117735a6e3c8d046d4cad7066f8597ead3cd WHIRLPOOL dd8466477e38362fa0a64ec66822ae3820c22f8ae13b40002145b1e688d17c17edfb800eb44679ff961e74b667daa43ef09d8eadb92f683c9e73c9b00fad23b9
+DIST pyzor-1.0.0.tar.gz 126276 SHA256 548bc461c01e790cf8db1f26d9f66b281f3aa3cf5f5a6fd647071360ed663ef1 SHA512 b3fb8b2c5261e187a2ab3a5a3b12d221df7de08766c6bb2ad9990c0f23517534871ecc9d5ad529e79b0d0aef8b2b800728320c57435a8c0d8c3f80a4ba0f7e4a WHIRLPOOL ad92ca30c116b1c22cc49b5643ecb03880ef1911d7f2a59cf9b655ccd5fa5167e0ccdb890d92754ed1b1c0730785c186f6615c569b6bbbc36aed26e2423037b1
diff --git a/dev-python/pyzor/files/pyzor-0.5.0-python26_warnings.patch b/dev-python/pyzor/files/pyzor-0.5.0-python26_warnings.patch
new file mode 100644
index 000000000000..671b994b3a2f
--- /dev/null
+++ b/dev-python/pyzor/files/pyzor-0.5.0-python26_warnings.patch
@@ -0,0 +1,89 @@
+# Description: Fix python2.6 deprecation warnings
+# Origin: Ubuntu
+# Author: Alessio Treglia <quadrispro@ubuntu.com>
+# Bug-Ubuntu: https://bugs.launchpad.net/bugs/394775
+diff -Nur -x '*.orig' -x '*~' pyzor-0.5.0/lib/pyzor/client.py pyzor-0.5.0.new/lib/pyzor/client.py
+--- pyzor-0.5.0/lib/pyzor/client.py 2009-04-29 22:53:50.000000000 +0200
++++ pyzor-0.5.0.new/lib/pyzor/client.py 2009-08-01 12:27:55.749263645 +0200
+@@ -10,7 +10,7 @@
+ import tempfile
+ import mimetools
+ import multifile
+-import sha
++import hashlib
+
+ import pyzor
+ from pyzor import *
+@@ -402,12 +402,12 @@
+ del p2
+
+ saltfile = open(randfile)
+- salt = saltfile.read(sha.digest_size)
++ salt = saltfile.read(hashlib.sha1().digest_size)
+ del saltfile
+
+- salt_digest = sha.new(salt)
++ salt_digest = hashlib.sha1(salt)
+
+- pass_digest = sha.new()
++ pass_digest = hashlib.sha1()
+ pass_digest.update(salt_digest.digest())
+ pass_digest.update(p1)
+ sys.stdout.write("salt,key:\n")
+@@ -498,7 +498,7 @@
+ if len(offsets) == 0:
+ return
+
+- self._digest = sha.new()
++ self._digest = hashlib.sha1()
+
+ if len(offsets) <= self.atomic_num_lines:
+ self.handle_atomic(fp)
+diff -Nur -x '*.orig' -x '*~' pyzor-0.5.0/lib/pyzor/__init__.py pyzor-0.5.0.new/lib/pyzor/__init__.py
+--- pyzor-0.5.0/lib/pyzor/__init__.py 2009-04-29 22:53:50.000000000 +0200
++++ pyzor-0.5.0.new/lib/pyzor/__init__.py 2009-08-01 12:28:20.268413580 +0200
+@@ -8,7 +8,7 @@
+ import os.path
+ import re
+ import sys
+-import sha
++import hashlib
+ import tempfile
+ import random
+ import ConfigParser
+@@ -114,7 +114,7 @@
+
+ class DataDigest(str):
+ # hex output doubles digest size
+- value_size = sha.digest_size * 2
++ value_size = hashlib.sha1().digest_size * 2
+
+ def __init__(self, value):
+ if len(value) != self.value_size:
+@@ -285,7 +285,7 @@
+ """returns a digest object"""
+ typecheck(msg, Message)
+
+- return sha.new(str(msg))
++ return hashlib.sha1(str(msg))
+
+ hash_msg = staticmethod(hash_msg)
+
+@@ -295,7 +295,7 @@
+ typecheck(key, long)
+ typecheck(user, Username)
+
+- return sha.new("%s:%x" % (Username, key)).hexdigest().lower()
++ return hashlib.sha1("%s:%x" % (Username, key)).hexdigest().lower()
+
+ hash_key = staticmethod(hash_key)
+
+@@ -316,7 +316,7 @@
+
+ h_msg = self.hash_msg(msg)
+
+- return sha.new("%s:%d:%s" % (h_msg.digest(), ts, hashed_key)).hexdigest().lower()
++ return hashlib.sha1("%s:%d:%s" % (h_msg.digest(), ts, hashed_key)).hexdigest().lower()
+
+ sign_msg = classmethod(sign_msg)
+
diff --git a/dev-python/pyzor/files/pyzord_getopt.patch b/dev-python/pyzor/files/pyzord_getopt.patch
new file mode 100644
index 000000000000..42b6fe4339f6
--- /dev/null
+++ b/dev-python/pyzor/files/pyzord_getopt.patch
@@ -0,0 +1,24 @@
+--- scripts/pyzord.orig 2002-09-08 06:33:44.000000000 +0300
++++ scripts/pyzord 2007-07-06 01:31:06.000000000 +0300
+@@ -52,7 +52,11 @@
+ # functions above, run below
+
+ debug = 0
+-(options, args) = getopt.getopt(sys.argv[1:], 'dh:', ['homedir='])
++try:
++ (options, args) = getopt.getopt(sys.argv[1:], 'hd', ['help','homedir='])
++except getopt.GetoptError, err:
++ print str(err)
++ usage()
+ if len(args) != 0:
+ usage()
+
+@@ -61,7 +65,7 @@
+ for (o, v) in options:
+ if o == '-d':
+ debug = 1
+- elif o == '-h':
++ elif o in ('-h', '--help'):
+ usage()
+ elif o == '--homedir':
+ specified_homedir = v
diff --git a/dev-python/pyzor/metadata.xml b/dev-python/pyzor/metadata.xml
new file mode 100644
index 000000000000..b375c29259dc
--- /dev/null
+++ b/dev-python/pyzor/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="pyzord">enable support for pyzord</flag>
+ <flag name="mysql">Enables mysql support</flag>
+ <flag name="redis">Enables redis support</flag>
+ <flag name="gevent">Enable support for the gevent based handler</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">SpamExperts/pyzor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyzor/pyzor-0.5.0-r2.ebuild b/dev-python/pyzor/pyzor-0.5.0-r2.ebuild
new file mode 100644
index 000000000000..c1a99942f2ac
--- /dev/null
+++ b/dev-python/pyzor/pyzor-0.5.0-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH="gdbm"
+PYTHON_USE_WITH_OPT="pyzord"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils eutils
+
+DESCRIPTION="A distributed, collaborative spam detection and filtering network"
+HOMEPAGE="http://pyzor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="pyzord"
+
+DEPEND=""
+RDEPEND=""
+
+DOCS="THANKS UPGRADING"
+
+src_prepare() {
+ epatch "${FILESDIR}/pyzord_getopt.patch"
+ epatch "${FILESDIR}/${P}-python26_warnings.patch"
+
+ # rfc822BodyCleanerTest doesn't work fine.
+ # Remove it until it's fixed.
+ sed -i \
+ -e '/rfc822BodyCleanerTest/,/self\.assertEqual/d' \
+ unittests.py || die "sed in unittest.py failed"
+}
+
+src_test() {
+ testing() {
+ PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" unittests.py
+ }
+ python_execute_function testing
+}
+
+src_install () {
+ distutils_src_install
+
+ dohtml docs/usage.html
+ rm -rf "${ED}usr/share/doc/pyzor"
+
+ if use pyzord; then
+ dodir /usr/sbin
+ mv "${ED}"usr/bin/pyzord* "${ED}usr/sbin"
+ else
+ rm "${ED}"usr/bin/pyzord*
+ fi
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+
+ if use pyzord; then
+ ewarn "/usr/bin/pyzord has been moved to /usr/sbin"
+ fi
+}
diff --git a/dev-python/pyzor/pyzor-0.7.0.ebuild b/dev-python/pyzor/pyzor-0.7.0.ebuild
new file mode 100644
index 000000000000..4e4d9dc06cd0
--- /dev/null
+++ b/dev-python/pyzor/pyzor-0.7.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYHON_REQ_USE="gdbm"
+
+inherit distutils-r1
+
+DESCRIPTION="A distributed, collaborative spam detection and filtering network"
+HOMEPAGE="http://pyzor.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="mysql pyzord redis test"
+
+RDEPEND="mysql? ( $(python_gen_cond_dep '>=dev-python/mysql-python-1.2.5[${PYTHON_USEDEP}]' python2_7) )
+ redis? ( ~dev-python/redis-py-2.9.1[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# https://sourceforge.net/apps/trac/pyzor/attachment/ticket/196/
+DISTUTILS_IN_SOURCE_BUILD=1
+
+REQUIRED_USE="test? ( mysql redis )"
+
+python_test() {
+ # https://sourceforge.net/apps/trac/pyzor/ticket/196
+ # In this ticket it clearly states the suite is written for py2
+ # While it's feasible to make it into a py3 ready state, nah
+ if ! python_is_python3; then
+ PYTHONPATH=. "${PYTHON}" ./tests/unit/__init__.py
+ fi
+}
+
+src_install () {
+ distutils-r1_src_install
+
+ if use pyzord; then
+ dodir /usr/sbin
+ mv "${ED}"usr/bin/pyzord* "${ED}usr/sbin"
+ else
+ rm "${ED}"usr/bin/pyzord*
+ fi
+}
+
+pkg_postinst() {
+ if use pyzord; then
+ ewarn "/usr/bin/pyzord has been moved to /usr/sbin"
+ fi
+
+ einfo "If you want to run the pyzor server you will need to emerge / re-emerge"
+ einfo "with use flag mysql and or redis. Without either flag provides only the pyzor client"
+}
diff --git a/dev-python/pyzor/pyzor-1.0.0.ebuild b/dev-python/pyzor/pyzor-1.0.0.ebuild
new file mode 100644
index 000000000000..3d4e1b84a98e
--- /dev/null
+++ b/dev-python/pyzor/pyzor-1.0.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYHON_REQ_USE="gdbm"
+
+inherit distutils-r1
+
+MY_PV="1-0-0"
+DESCRIPTION="A distributed, collaborative spam detection and filtering network"
+HOMEPAGE="https://github.com/SpamExperts/pyzor/"
+SRC_URI="https://github.com/SpamExperts/${PN}/archive/release-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc gevent mysql pyzord redis test"
+
+RDEPEND="mysql? ( $(python_gen_cond_dep '>=dev-python/mysql-python-1.2.5[${PYTHON_USEDEP}]' python2_7) )
+ redis? ( ~dev-python/redis-py-2.9.1[${PYTHON_USEDEP}] )
+ gevent? ( $(python_gen_cond_dep '~dev-python/gevent-1.0.1[${PYTHON_USEDEP}]' python2_7) )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# https://sourceforge.net/apps/trac/pyzor/attachment/ticket/196/
+DISTUTILS_IN_SOURCE_BUILD=1
+
+REQUIRED_USE="test? ( mysql redis )"
+S="${WORKDIR}/${PN}-release-${MY_PV}"
+
+python_test() {
+ # The suite is py2 friendly only
+ if ! python_is_python3; then
+ PYTHONPATH=. "${PYTHON}" ./tests/unit/__init__.py
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
+
+src_install () {
+ distutils-r1_src_install
+
+ if use pyzord; then
+ dodir /usr/sbin
+ mv "${D}"usr/bin/pyzord* "${ED}usr/sbin"
+ else
+ rm "${D}"usr/bin/pyzord*
+ fi
+}
+
+pkg_postinst() {
+ if use pyzord; then
+ ewarn "/usr/bin/pyzord has been moved to /usr/sbin"
+ fi
+
+ einfo "If you want to run the pyzor server you will need to emerge / re-emerge"
+ einfo "with use flag mysql and or redis. Without either flag provides only the pyzor client"
+}
diff --git a/dev-python/qpid-python/Manifest b/dev-python/qpid-python/Manifest
new file mode 100644
index 000000000000..25bce3e6c70d
--- /dev/null
+++ b/dev-python/qpid-python/Manifest
@@ -0,0 +1 @@
+DIST qpid-python-0.20.tar.gz 226543 SHA256 0344ffd3af3c03d77e90b0700111b00c18a65770b826a63dfe75806ec8ff22f8 SHA512 c3cc466c3b1e13443c9ac1e04d8dfab8fbdb4460fcc828b91e9d520cacdfa69589ccd1928d8d0cb4012c4d0a22ae9e6dc2803488863ccc53bb568e97f8251b44 WHIRLPOOL 1e7061e9005bf787e8a04ac078a2ff6927e69f101e99507f93a4c283cd18c561523ca910186f1d14c161468e35ef738f2a1ac8f5da04b329c7cc8cd75309f490
diff --git a/dev-python/qpid-python/metadata.xml b/dev-python/qpid-python/metadata.xml
new file mode 100644
index 000000000000..58ef75bf0e87
--- /dev/null
+++ b/dev-python/qpid-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">qpid-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qpid-python/qpid-python-0.20.ebuild b/dev-python/qpid-python/qpid-python-0.20.ebuild
new file mode 100644
index 000000000000..4c0915cd13d7
--- /dev/null
+++ b/dev-python/qpid-python/qpid-python-0.20.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A high-speed platform independent enterprise messaging system for Apache"
+HOMEPAGE="http://qpid.apache.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && "${PYTHON}" setup.py doc_option
+}
+
+src_test() {
+ # For now rm failing tests requiring making a connection, ? via a running broker
+ # Seems 'we' need figure how to start a broker
+ sed -e 's:def testReconnect:def _testReconnect:' \
+ -e 's:testEstablish:_&:' \
+ -e 's:testOpen:_&:' \
+ -e 's:testReconnectURLs:_&:' \
+ -e 's:testTcpNodelay:_&:' \
+ -e 's:testOpenCloseResourceLeaks:_&:' \
+ -e 's:testReconnect:_&:' \
+ -i qpid/tests/messaging/endpoints.py
+ ./qpid-python-test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( ../"${P}"-python2_7/doc/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/qrcode/Manifest b/dev-python/qrcode/Manifest
new file mode 100644
index 000000000000..043dff7dcc48
--- /dev/null
+++ b/dev-python/qrcode/Manifest
@@ -0,0 +1,2 @@
+DIST qrcode-5.0.1.tar.gz 20546 SHA256 5ce16060c2c4f9fc9455bc82766c227e55ee9b43bfb9f17bfe3f1f5ba5eecf3c SHA512 a57ca9d4b382637a8b3cc3a20a03d291f22675e9d851a739f01c610465f1977efd748661330557e9017db2d7b9b501c278668da5eeef93fb8e503e71921bb4c5 WHIRLPOOL d4e55f2536a917bd5f040f2cb66cabe2a529e5a9266fd09d0f413ba0a3137dffc89afd4d32ac4db2f8bbf6db17a1ecccf6bf8ba08d7a188b924daa778491c727
+DIST qrcode-5.1.tar.gz 22259 SHA256 33bdee5e834fc99eb538e1dad198a3a5b70d0a88845629cacf4c592be1ce7f6a SHA512 67a7bb51fe2386f3b1ac0b799d3850d3ca4f61286fdc809654df3f5a1071b503707a9a3e82e595b7611dd9d7b7e74b36e19b86942fb5ad94c256cd7ca9aa02f3 WHIRLPOOL df72f727af2a1342adf61fcde25645cd25f5cfafd454ae2d13567a3c144949738f924082fe78dbb529c9b3757bbf1474e5f4f48fc95538d5d1cdcfdc6452637d
diff --git a/dev-python/qrcode/metadata.xml b/dev-python/qrcode/metadata.xml
new file mode 100644
index 000000000000..76d59aacfa6a
--- /dev/null
+++ b/dev-python/qrcode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">qrcode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qrcode/qrcode-5.0.1.ebuild b/dev-python/qrcode/qrcode-5.0.1.ebuild
new file mode 100644
index 000000000000..85829571ffea
--- /dev/null
+++ b/dev-python/qrcode/qrcode-5.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="QR Code generator on top of PIL"
+HOMEPAGE="https://pypi.python.org/pypi/qrcode"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# optional deps:
+# - dev-python/lxml for svg backend
+# - virtual/pil for PIL backend
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/lxml[${PYTHON_USEDEP}] )"
+
+python_test() {
+ "${PYTHON}" -m unittest qrcode.tests || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/qrcode/qrcode-5.1.ebuild b/dev-python/qrcode/qrcode-5.1.ebuild
new file mode 100644
index 000000000000..a9bbb7b55022
--- /dev/null
+++ b/dev-python/qrcode/qrcode-5.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="QR Code generator on top of PIL"
+HOMEPAGE="https://pypi.python.org/pypi/qrcode"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+# optional deps:
+# - pillow and lxml for svg backend, set as hard deps
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7) )"
+
+python_test() {
+ "${PYTHON}" -m unittest discover > /dev/tty | less || die "Testing failed with ${EPYTHON}"
+}
+
+src_install() {
+ distutils-r1_src_install
+ doman doc/qr.1
+}
diff --git a/dev-python/qscintilla-python/Manifest b/dev-python/qscintilla-python/Manifest
new file mode 100644
index 000000000000..682d80e12cea
--- /dev/null
+++ b/dev-python/qscintilla-python/Manifest
@@ -0,0 +1,2 @@
+DIST QScintilla-gpl-2.8.4.tar.gz 3031919 SHA256 9b7b2d7440cc39736bbe937b853506b3bd218af3b79095d4f710cccb0fabe80f SHA512 ab10dc756231b293ddebc06e681bb65a11b2be2a4c4132a5b2a27ca583adef76af325fa95748888d9091f2e89a30494d370df262c4eaba7b7fbed04fb7c76907 WHIRLPOOL 7357addbc0ad8869c5749a67106c18e47d79e32399416cc2867461fa8ad0c662711b8937987cb7c3cd5b83fe9f88e1529911eefec28a972e86c7f242c8c0d634
+DIST QScintilla-gpl-2.9.tar.gz 2435116 SHA256 d7c32e32582f93779de861006d87467b38b9ebc06e3d0b32e981cb24369fa417 SHA512 a74b7b1182e9f602aa9f61072877d8dba93c430453ed70e18d74013dbda8b0faef30629f2c086d3b06d0632b3f4980570362bb6e635c15686be1be47eaeecb00 WHIRLPOOL b27a3ff2b48dbbf034deb4fdf09259815dcee63bfffe29651cf1e5e9ceeedb408ebc0bae440479a8206af7046f80143c291c10a0293942b64eb61c5e02549ed4
diff --git a/dev-python/qscintilla-python/metadata.xml b/dev-python/qscintilla-python/metadata.xml
new file mode 100644
index 000000000000..e189b933de5a
--- /dev/null
+++ b/dev-python/qscintilla-python/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <herd>python</herd>
+ <upstream>
+ <maintainer status="active">
+ <email>phil@riverbankcomputing.com</email>
+ <name>Phil Thompson</name>
+ </maintainer>
+ <bugs-to>mailto:qscintilla@riverbankcomputing.com</bugs-to>
+ <remote-id type="sourceforge">pyqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.8.4.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.8.4.ebuild
new file mode 100644
index 000000000000..01c39b01d0bd
--- /dev/null
+++ b/dev-python/qscintilla-python/qscintilla-python-2.8.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1 qmake-utils
+
+MY_P=QScintilla-gpl-${PV}
+
+DESCRIPTION="Python bindings for Qscintilla"
+HOMEPAGE="http://www.riverbankcomputing.com/software/qscintilla/intro"
+SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 ~sparc x86"
+IUSE="debug"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16:=[${PYTHON_USEDEP}]
+ >=dev-python/PyQt4-4.11[X,${PYTHON_USEDEP}]
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ ~x11-libs/qscintilla-${PV}:=
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S=${WORKDIR}/${MY_P}/Python
+
+src_prepare() {
+ python_copy_sources
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}" configure.py
+ --destdir="$(python_get_sitedir)"/PyQt4
+ --sip-incdir="$(python_get_includedir)"
+ --pyqt-sipdir="${EPREFIX}"/usr/share/sip
+ --qsci-sipdir="${EPREFIX}"/usr/share/sip
+ --pyqt=PyQt4
+ --no-timestamp
+ $(use debug && echo --debug)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ # Run eqmake4 to respect toolchain, build flags, and prevent stripping
+ eqmake4
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake INSTALL_ROOT="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+}
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.9.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.9.ebuild
new file mode 100644
index 000000000000..2a9dd36d5357
--- /dev/null
+++ b/dev-python/qscintilla-python/qscintilla-python-2.9.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1 qmake-utils
+
+MY_P=QScintilla-gpl-${PV}
+
+DESCRIPTION="Python bindings for Qscintilla"
+HOMEPAGE="http://www.riverbankcomputing.com/software/qscintilla/intro"
+SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz"
+
+LICENSE="|| ( GPL-2 GPL-3 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/sip-4.16:=[${PYTHON_USEDEP}]
+ >=dev-python/PyQt4-4.11.3[X,${PYTHON_USEDEP}]
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ ~x11-libs/qscintilla-${PV}:=
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S=${WORKDIR}/${MY_P}/Python
+
+src_prepare() {
+ python_copy_sources
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}" configure.py
+ --qmake="$(qt4_get_bindir)"/qmake
+ --destdir="$(python_get_sitedir)"/PyQt4
+ --sip-incdir="$(python_get_includedir)"
+ --pyqt=PyQt4
+ --no-timestamp
+ $(use debug && echo --debug)
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ # Run eqmake4 to respect toolchain, build flags, and prevent stripping
+ eqmake4
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake INSTALL_ROOT="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+}
diff --git a/dev-python/qserve/Manifest b/dev-python/qserve/Manifest
new file mode 100644
index 000000000000..9bc911b63682
--- /dev/null
+++ b/dev-python/qserve/Manifest
@@ -0,0 +1 @@
+DIST qserve-0.2.8.zip 18637 SHA256 0b04b2d4d11b464ff1efd42a9ea9f8136187d59f4076f57c9ba95361d41cd7ed SHA512 5311606992c96fcdbd350c47598ea9611ad93fb513bdbed081e570a8674861a3f1bd83211af635f8ec6a943f7c826f5c5872d2e62c672f9065c19e71dbfabd34 WHIRLPOOL 4ee787db25ae8ce9a1d277184df172af734f58e987fa51d5c7aa4ccb78071547ea11336b66fdbec23cf36dc29cf7d404e22a8adebf3d024c0790e478bc16f726
diff --git a/dev-python/qserve/metadata.xml b/dev-python/qserve/metadata.xml
new file mode 100644
index 000000000000..9ec5d84fb802
--- /dev/null
+++ b/dev-python/qserve/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">qserve</remote-id>
+ <remote-id type="github">pediapress/qserve</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qserve/qserve-0.2.8-r1.ebuild b/dev-python/qserve/qserve-0.2.8-r1.ebuild
new file mode 100644
index 000000000000..ed0a43bd108d
--- /dev/null
+++ b/dev-python/qserve/qserve-0.2.8-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A job queue server"
+HOMEPAGE="https://github.com/pediapress/qserve http://pypi.python.org/pypi/qserve/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/gevent[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/queuelib/Manifest b/dev-python/queuelib/Manifest
new file mode 100644
index 000000000000..6ffa4431c315
--- /dev/null
+++ b/dev-python/queuelib/Manifest
@@ -0,0 +1 @@
+DIST queuelib.tar.gz 6969 SHA256 f771790be92a93c49fa6da0cab349d59e481fef784b8230bf9338d9036e90b8e SHA512 54b649d08ca60ed933d862b9d5845af162843f4f077722c78b7c72be4093406cc44182905a2d21235635afc1139974c08c213ccd8a333e72fd94c06adc34497a WHIRLPOOL 808ef3b957315505157fbac019b8ecab729f5c7539edeb289f47af540cc536ca55bcbbf0bd7edab7a105451fdfc9e2d8667409ea09383b7eb4980c22a0bedeea
diff --git a/dev-python/queuelib/metadata.xml b/dev-python/queuelib/metadata.xml
new file mode 100644
index 000000000000..257589dd8ef3
--- /dev/null
+++ b/dev-python/queuelib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">scrapy/queuelib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/queuelib/queuelib-1.1.1.ebuild b/dev-python/queuelib/queuelib-1.1.1.ebuild
new file mode 100644
index 000000000000..9c8c195a094e
--- /dev/null
+++ b/dev-python/queuelib/queuelib-1.1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit vcs-snapshot distutils-r1
+
+DESCRIPTION="Collection of persistent (disk-based) queues"
+HOMEPAGE="https://github.com/scrapy/${PN}"
+SRC_URI="https://github.com/scrapy/${PN}/archive/v${PV}.tar.gz -> ${PN}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+S="${WORKDIR}/${PN}"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=""
+
+python_test() {
+ nosetests queuelib/tests/ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/quixote/Manifest b/dev-python/quixote/Manifest
new file mode 100644
index 000000000000..3698700df161
--- /dev/null
+++ b/dev-python/quixote/Manifest
@@ -0,0 +1 @@
+DIST Quixote-2.8.tar.gz 474323 SHA256 454fa9171ed1c100d2df727269f9912548b4d9f4a6156503691be36894c99718 SHA512 d25e82228706966d1e3e24a07b8d1b62a016571f80ad375fa846be9fd720d6c2c8009b53f7abf72cd14ade36b3a69ac9a153d7017a88b5d420d571da45bc6558 WHIRLPOOL 0eed267e6c9d1df9c1872a55b89e7353cb019ab5cd58686739b6dc2e801a3e5bc893e1c5acf87b82557d579457377979e85f75fc5194b5c928c20f74755e58f8
diff --git a/dev-python/quixote/metadata.xml b/dev-python/quixote/metadata.xml
new file mode 100644
index 000000000000..8dd6d62f0de2
--- /dev/null
+++ b/dev-python/quixote/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>web-apps</herd>
+</pkgmetadata>
diff --git a/dev-python/quixote/quixote-2.8.ebuild b/dev-python/quixote/quixote-2.8.ebuild
new file mode 100644
index 000000000000..a347806bfcba
--- /dev/null
+++ b/dev-python/quixote/quixote-2.8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Appears to be written only for py2
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P="${P/q/Q}"
+
+DESCRIPTION="Python HTML templating framework for developing web applications"
+HOMEPAGE="http://quixote.ca"
+SRC_URI="http://quixote.ca/releases/${MY_P}.tar.gz"
+
+LICENSE="CNRI-QUIXOTE-2.4"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/docutils[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"/${MY_P}
+# tests require a running quixote server, prob. apt. post install. Tried the demo one but no
+RESTRICT="test"
+
+python_compile() {
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake -C doc
+}
+
+python_test() {
+ nosetests tests || die "tests failed"
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rackspace-auth-openstack/Manifest b/dev-python/rackspace-auth-openstack/Manifest
new file mode 100644
index 000000000000..e29ab6673c32
--- /dev/null
+++ b/dev-python/rackspace-auth-openstack/Manifest
@@ -0,0 +1,2 @@
+DIST rackspace-auth-openstack-1.0.tar.gz 6583 SHA256 3ab3de4e3d25a5b5f6014a9c74763f65859d4425cb96c46e5916e7e9718a0791 SHA512 47ef81a4f14e8bed8823a04d1a894e380a86d24b176d49f7d9f076d21f00f489f7851ed390ce4e62399e74e1f39a0c4d242b3f6f4e6c8da54ad7516778c03f1b WHIRLPOOL 8782b023d7ae20686a6f75bd77db2763b6055a33628374c71757f5d97916b0f3d09f688b8407f14909b6d3627133ef31275a9fdbf578c3aa9c4688b153935c33
+DIST rackspace-auth-openstack-1.3.tar.gz 6799 SHA256 c4c069eeb1924ea492c50144d8a4f5f1eb0ece945e0c0d60157cabcadff651cd SHA512 813fe85d38bc80bae65a3f160f50c17fe8bc7279dc3ad4689012b3fa9c0fdd1577c0491de0c87d3b8fe4e6ba5c1166cf30cc1d0533fa15c516a826ef6c36934c WHIRLPOOL 70ba4b3d88fe8be345dec55dcc145b01eb97ba56a87a63ecdaa5f25f38cac3fd5fdba4c6e094fea9e948fb7092ccdb53a15696dc30a734b6be0e5dd9103eab08
diff --git a/dev-python/rackspace-auth-openstack/metadata.xml b/dev-python/rackspace-auth-openstack/metadata.xml
new file mode 100644
index 000000000000..50a2b54e0958
--- /dev/null
+++ b/dev-python/rackspace-auth-openstack/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a plugin for OpenStack Clients which provides client support for
+ Rackspace authentication extensions to OpenStack.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rackspace-auth-openstack</remote-id>
+ <remote-id type="github">emonty/rackspace-auth-openstack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.0.ebuild b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.0.ebuild
new file mode 100644
index 000000000000..07705be89bac
--- /dev/null
+++ b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Rackspace Auth Plugin for OpenStack Clients"
+HOMEPAGE="https://github.com/emonty/rackspace-auth-openstack"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.3.ebuild b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.3.ebuild
new file mode 100644
index 000000000000..07705be89bac
--- /dev/null
+++ b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-1.3.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Rackspace Auth Plugin for OpenStack Clients"
+HOMEPAGE="https://github.com/emonty/rackspace-auth-openstack"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-9999.ebuild b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-9999.ebuild
new file mode 100644
index 000000000000..5d5e7ed836ad
--- /dev/null
+++ b/dev-python/rackspace-auth-openstack/rackspace-auth-openstack-9999.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-2
+
+EGIT_REPO_URI="git://github.com/emonty/${PN}.git
+ https://github.com/emonty/${PN}.git"
+
+DESCRIPTION="Rackspace Auth Plugin for OpenStack Clients"
+HOMEPAGE="https://github.com/emonty/rackspace-auth-openstack"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/rackspace-monitoring-cli/Manifest b/dev-python/rackspace-monitoring-cli/Manifest
new file mode 100644
index 000000000000..cc760787485b
--- /dev/null
+++ b/dev-python/rackspace-monitoring-cli/Manifest
@@ -0,0 +1,2 @@
+DIST rackspace-monitoring-cli-0.6.10.tar.gz 156395 SHA256 b3a4c418edd73ad3c281cc0ead19cdc4127791dd80986d6c8a802ce6513d97cf SHA512 538ba6667557e40eb1ab381a7be147805a6cfd46f10d51d30e38f35cfe18b9324f4fdfea051e22b083b510d0501c254c80b4914c07470db9e3a1de7d247d1403 WHIRLPOOL 1d5353d9ee3416b20493c9a068cc394ecf10144e39233b048c14e5f9affc736f5ee07eb0c43fc303184eddf566fa4a98f84a90cdaeec4a119137e1ea92147b79
+DIST rackspace-monitoring-cli-0.6.9.tar.gz 156113 SHA256 37a0c4f0efcbd736f4c3b73b6e728fd6a267d52ecbd449b18d3e7d2373b77cc9 SHA512 79fb2f56777fc3b7c3c5263e98adcc6ab5e44e112bcf69d72816d5bbcbeb5f1b63d55da1dce8b501ec0b801afaea70057e9fbb670db731514aca0d071d654ef8 WHIRLPOOL 663baf2a428fcfdeb512172f1767064e643cd0d05018386f5a63b7b97a5f040d0d5563ba028be53ef32e09756f2a557204acf1e64c86f0a5adbdd6b7e0308dbe
diff --git a/dev-python/rackspace-monitoring-cli/metadata.xml b/dev-python/rackspace-monitoring-cli/metadata.xml
new file mode 100644
index 000000000000..a2e2096eeb44
--- /dev/null
+++ b/dev-python/rackspace-monitoring-cli/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Command Line Utility for Rackspace Cloud Monitoring (MaaS)
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rackspace-monitoring-cli</remote-id>
+ <remote-id type="github">racker/rackspace-monitoring-cli</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.10.ebuild b/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.10.ebuild
new file mode 100644
index 000000000000..06145723d73f
--- /dev/null
+++ b/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+# https://github.com/racker/rackspace-monitoring-cli/issues/49
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Utility for Rackspace Cloud Monitoring (MaaS)"
+HOMEPAGE="https://github.com/racker/rackspace-monitoring-cli"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+TEST_DEPENDS="dev-python/pep8[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/rackspace-monitoring-0.6.5[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${TEST_DEPENDS} )"
+
+python_test() {
+ ${EPYTHON} setup.py pep8 || die
+}
diff --git a/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.9.ebuild b/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.9.ebuild
new file mode 100644
index 000000000000..06145723d73f
--- /dev/null
+++ b/dev-python/rackspace-monitoring-cli/rackspace-monitoring-cli-0.6.9.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+# https://github.com/racker/rackspace-monitoring-cli/issues/49
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="Command Line Utility for Rackspace Cloud Monitoring (MaaS)"
+HOMEPAGE="https://github.com/racker/rackspace-monitoring-cli"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+TEST_DEPENDS="dev-python/pep8[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/rackspace-monitoring-0.6.5[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${TEST_DEPENDS} )"
+
+python_test() {
+ ${EPYTHON} setup.py pep8 || die
+}
diff --git a/dev-python/rackspace-monitoring/Manifest b/dev-python/rackspace-monitoring/Manifest
new file mode 100644
index 000000000000..7213122b55f2
--- /dev/null
+++ b/dev-python/rackspace-monitoring/Manifest
@@ -0,0 +1 @@
+DIST rackspace-monitoring-0.6.5.tar.gz 31397 SHA256 28e91f1054a9fe3b130c9d4fd65cb007e8efdaa89e9d8a8e99479aec73e298c4 SHA512 513e02eb7b823ed4287462ffe6517011c389119dbf37d90df31cc08714f93806188d07e4f8d339453b59f17c067229a3f52f1ae7aaf13a7c6504c0ef63b1f4fe WHIRLPOOL f90a4cfe2d13d4e68c9cfddaf9e6f94e3c721688d82059eeaa722e60278a040cbd87ae92e6d5c492b59fd7dc92e7ed302b690bc7fda4638e0e01ba22610903df
diff --git a/dev-python/rackspace-monitoring/metadata.xml b/dev-python/rackspace-monitoring/metadata.xml
new file mode 100644
index 000000000000..22de5298d962
--- /dev/null
+++ b/dev-python/rackspace-monitoring/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Client library for Rackspace Cloud Monitoring.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rackspace-monitoring</remote-id>
+ <remote-id type="github">racker/rackspace-monitoring</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rackspace-monitoring/rackspace-monitoring-0.6.5.ebuild b/dev-python/rackspace-monitoring/rackspace-monitoring-0.6.5.ebuild
new file mode 100644
index 000000000000..6807e729b3fe
--- /dev/null
+++ b/dev-python/rackspace-monitoring/rackspace-monitoring-0.6.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Client library for Rackspace Cloud Monitoring"
+HOMEPAGE="https://github.com/racker/rackspace-monitoring"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+TEST_DEPENDS="dev-python/pep8[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+ <dev-python/libcloud-0.16.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${TEST_DEPENDS}
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ ${EPYTHON} setup.py test || die
+}
diff --git a/dev-python/rackspace-novaclient/Manifest b/dev-python/rackspace-novaclient/Manifest
new file mode 100644
index 000000000000..1eebd13887e7
--- /dev/null
+++ b/dev-python/rackspace-novaclient/Manifest
@@ -0,0 +1 @@
+DIST rackspace-novaclient-1.4.tar.gz 1706 SHA256 68e1f53411b635f836a53d09e6c85f6a7d5d69d39df2e25a745406140cd5c275 SHA512 d36e6e331f37a9cbd6802122d03d47678ff01a5e0b0aab4def337fccd1cba9b16e088c0b27873c0612fd31c188676471805f81240127d1432613f573c1cf4281 WHIRLPOOL a6015dc091ca1128f7c2d32b2f528eebb4a8e6f8e89e86dcb3502751e8fc81c244fbc09974a78f059f0f1d5591f72a4c0634bc3fc878f9c9d365760426d1f8c6
diff --git a/dev-python/rackspace-novaclient/metadata.xml b/dev-python/rackspace-novaclient/metadata.xml
new file mode 100644
index 000000000000..cb12089c0dd0
--- /dev/null
+++ b/dev-python/rackspace-novaclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Metapackage to install python-novaclient and Rackspace extensions
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rackspace-novaclient</remote-id>
+ <remote-id type="github">rackerlabs/rackspace-novaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rackspace-novaclient/rackspace-novaclient-1.4.ebuild b/dev-python/rackspace-novaclient/rackspace-novaclient-1.4.ebuild
new file mode 100644
index 000000000000..1fed7725e721
--- /dev/null
+++ b/dev-python/rackspace-novaclient/rackspace-novaclient-1.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="https://github.com/rackerlabs/rackspace-novaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/rackspace-auth-openstack-1.3[${PYTHON_USEDEP}]
+ >=dev-python/os-diskconfig-python-novaclient-ext-0.1.2[${PYTHON_USEDEP}]
+ !dev-python/rax-backup-schedule-python-novaclient-ext[${PYTHON_USEDEP}]
+ >=dev-python/os-networksv2-python-novaclient-ext-0.21[${PYTHON_USEDEP}]
+ >=dev-python/os-virtual-interfacesv2-python-novaclient-ext-0.15[${PYTHON_USEDEP}]
+ >=dev-python/rax-default-network-flags-python-novaclient-ext-0.2.4[${PYTHON_USEDEP}]"
+
+python_prepare() {
+ mkdir "${BUILD_DIR}" || die
+}
diff --git a/dev-python/radon/Manifest b/dev-python/radon/Manifest
new file mode 100644
index 000000000000..778082ed4ee1
--- /dev/null
+++ b/dev-python/radon/Manifest
@@ -0,0 +1,3 @@
+DIST radon-1.2.1.tar.gz 1633366 SHA256 bacc94a4a5c1a3e9410944e8e4e0f0aaf7dcf066c9b35bd92ac8eba5d47429fa SHA512 5676695344b7cf574abd9079ee3856debdf3ac4bda4a1c52e00406e2bbb71ad74f320f43638887e30db073fd623070a97fc44c031eec13588e953b33b549e2bf WHIRLPOOL 2ab535d0fe0b56b538dbe389b68e522468611f25c797c69343f4da700ae6129dc725051998238f0f136c45382f29887cdccc899aeaab000796f22a9962d40505
+DIST radon-1.2.2.tar.gz 3468244 SHA256 3cab798af062632ad275092c537e409f8948c19034e98d3ab243ce455b4eee9d SHA512 2bd424ca81fd55d1bf444e7b2a228bd11ee23a7f77cad488fa45e8ce888282373f1729f7f00ca2f19838e10bbc1dabb1602f5bbac396702b52309a60671ef0a7 WHIRLPOOL 46e549bd9d29cd7d54a4e9746ea67f541919fdb90769f1cb3b70b51420b85bacac024b6bc0c16f25f4257652f76d750892bf2eefb146ea0ae76ef7718de11781
+DIST radon-1.2.tar.gz 1604458 SHA256 289ee3c5ef9e55fb159d589f5c0b20c2ce4f5aaa94502fe7c1d1a5fd444957c7 SHA512 9fe3a505d83b7c69a9adc98247063e91aed9f52187f2d33356a586dcf498492fb5acd283725dc9acd0f03dd1365cc3113925f027f0d0d94a94258b7ac217b62e WHIRLPOOL 5a613cce315feef10392a8fa8a7c2bc050fc35e8ee09b2d4b1afc9b72bae2887ed1d71a206fb1e9415548d554bc74bf52e8e0cc71eadd4be1d6791cb87eb96d7
diff --git a/dev-python/radon/metadata.xml b/dev-python/radon/metadata.xml
new file mode 100644
index 000000000000..b8a320733254
--- /dev/null
+++ b/dev-python/radon/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">radon</remote-id>
+ <remote-id type="github">rubik/radon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/radon/radon-1.2.1.ebuild b/dev-python/radon/radon-1.2.1.ebuild
new file mode 100644
index 000000000000..6eaa063c3809
--- /dev/null
+++ b/dev-python/radon/radon-1.2.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Code Metrics in Python"
+HOMEPAGE="https://radon.readthedocs.org/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RCDEPEND="
+ dev-python/mando[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+"
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ${CDEPEND}
+ test? (
+ ${RCDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/paramunittest[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ ${RCDEPEND}
+"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" radon/tests/run.py || die "tests failed to run under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/radon/radon-1.2.2.ebuild b/dev-python/radon/radon-1.2.2.ebuild
new file mode 100644
index 000000000000..6eaa063c3809
--- /dev/null
+++ b/dev-python/radon/radon-1.2.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Code Metrics in Python"
+HOMEPAGE="https://radon.readthedocs.org/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RCDEPEND="
+ dev-python/mando[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+"
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ${CDEPEND}
+ test? (
+ ${RCDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/paramunittest[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ ${RCDEPEND}
+"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" radon/tests/run.py || die "tests failed to run under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/radon/radon-1.2.ebuild b/dev-python/radon/radon-1.2.ebuild
new file mode 100644
index 000000000000..fb47f75eaa11
--- /dev/null
+++ b/dev-python/radon/radon-1.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Code Metrics in Python"
+HOMEPAGE="https://radon.readthedocs.org/"
+SRC_URI="https://github.com/rubik/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="
+ dev-python/mando[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/paramunittest[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ "${PYTHON}" radon/tests/run.py || die "tests failed to run under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/raet/Manifest b/dev-python/raet/Manifest
new file mode 100644
index 000000000000..dc3d1d52549b
--- /dev/null
+++ b/dev-python/raet/Manifest
@@ -0,0 +1,3 @@
+DIST raet-0.3.8.tar.gz 112479 SHA256 a6f346099312d799099769583d042ccb2fc67cbc9632a28774861228f8c61331 SHA512 bcefa895a95eb41c84aff8b16661c976490823bd067d7282ff646cfe09208aedb27e21e35fafd3c699e3b3fec71dff281efac911ed4f0e4c396ffc376d0e1d35 WHIRLPOOL 4482b492f1c830f56c6d2606db17b29fa4b00f5a2a77ee6c691080cea681844f5678b370cdeae9c9ff3725187ff7075b18bcbaad37702e2f1dcd411ebc8ce998
+DIST raet-0.6.1.tar.gz 135404 SHA256 f033f524c73e8f1ddad34b3ba8ee40d098f3ebafa25a3d7ef6cc5ceb53945f8f SHA512 7ca46253e0a1645eb4fbb70c78e9eddfcb07fd97f65bb1175b9177e271c51eb69016a188e9f6f9183afab6637e0ece4528673ab7fc9d865ea51e35c8162eb1f8 WHIRLPOOL 84b559954c6198d025f081925425fa44ad6a3ecd2f6a8262b795af510e0856657e06cc8f97afcb7cc32ada700a2e5217b67c5f50bc3176e69294d99ebb078dd2
+DIST raet-0.6.3.tar.gz 135532 SHA256 0042242df037223d3c42c72a9010717f5ee97251e4b0581b84c086b9c2ff1acc SHA512 d7be419b28d97da03b6aa8cbec675ed4cf4b89c98c92a3809e5652d2fd5644128f37818534b86c3f0c331c5914cec7bdb5982e10a5033b8f0adad027e281ccd9 WHIRLPOOL 577596ea77625b4f9a873221a4d65645af38a6b5205260426ad978a89e2ff2f8711463c524a45de9e1969a7126e4012cabbc7cf2282d2e2d4e8a6b0c376ad88d
diff --git a/dev-python/raet/metadata.xml b/dev-python/raet/metadata.xml
new file mode 100644
index 000000000000..99c6c318206c
--- /dev/null
+++ b/dev-python/raet/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">raet</remote-id>
+ <remote-id type="github">saltstack/raet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/raet/raet-0.3.8.ebuild b/dev-python/raet/raet-0.3.8.ebuild
new file mode 100644
index 000000000000..ffa5c16c62d1
--- /dev/null
+++ b/dev-python/raet/raet-0.3.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+inherit distutils-r1
+
+DESCRIPTION="Reliable Asynchronous Event Transport Protocol"
+HOMEPAGE="https://github.com/saltstack/raet"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-0.9.4[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-0.9.35[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ pushd ${PN} || die "could not find tests for ${EPYTHON}"
+ ${EPYTHON} test/__init__.py || die "tests failed for ${EPYTHON}"
+ popd
+}
diff --git a/dev-python/raet/raet-0.6.1.ebuild b/dev-python/raet/raet-0.6.1.ebuild
new file mode 100644
index 000000000000..75f86c6047d0
--- /dev/null
+++ b/dev-python/raet/raet-0.6.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Reliable Asynchronous Event Transport Protocol"
+HOMEPAGE="https://github.com/saltstack/raet"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( >=dev-python/enum34-1.0.4[$(python_gen_usedep 'python2*')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib
+ ${EPYTHON} ${PN}/test/__init__.py || die "tests failed for ${EPYTHON}"
+ popd
+}
diff --git a/dev-python/raet/raet-0.6.3.ebuild b/dev-python/raet/raet-0.6.3.ebuild
new file mode 100644
index 000000000000..75f86c6047d0
--- /dev/null
+++ b/dev-python/raet/raet-0.6.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_4})
+inherit distutils-r1
+
+DESCRIPTION="Reliable Asynchronous Event Transport Protocol"
+HOMEPAGE="https://github.com/saltstack/raet"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? ( >=dev-python/enum34-1.0.4[$(python_gen_usedep 'python2*')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}] )"
+
+python_test() {
+ pushd "${BUILD_DIR}"/lib
+ ${EPYTHON} ${PN}/test/__init__.py || die "tests failed for ${EPYTHON}"
+ popd
+}
diff --git a/dev-python/rarfile/Manifest b/dev-python/rarfile/Manifest
new file mode 100644
index 000000000000..b61b548e089d
--- /dev/null
+++ b/dev-python/rarfile/Manifest
@@ -0,0 +1 @@
+DIST rarfile-2.6.tar.gz 35981 SHA256 326700c5450cfb367f612e918866ea27551bac02f4656f340003c88873fa1a56 SHA512 9b74853516bae8332e0cf030f4de84f57b1680691a177c3ec6cf7f8650b82c807a67c4e68589c2097bf7359b03692e1fb30530ab40f23b90d1ebbbe21d20239a WHIRLPOOL 4edc2b98f81035c5c25318e598b78f1a52afcd19056ad0ecf8157cd355aae88443c04186359d2564d8118cff2f517a63da932685832fa38179201c2d0d52fb69
diff --git a/dev-python/rarfile/metadata.xml b/dev-python/rarfile/metadata.xml
new file mode 100644
index 000000000000..c09c8f1679d5
--- /dev/null
+++ b/dev-python/rarfile/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>thev00d00@gentoo.org</email>
+ <name>Ian Whyman</name>
+ </maintainer>
+ <longdescription>This is Python module for RAR archive reading. The interface is made as zipfile like as possible.</longdescription>
+ <use>
+ <flag name="compressed">Enables the module to support compressed v3 archives by calling the <pkg>app-arch/unrar</pkg>.</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">rarfile</remote-id>
+ <remote-id type="github">markokr/rarfile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rarfile/rarfile-2.6.ebuild b/dev-python/rarfile/rarfile-2.6.ebuild
new file mode 100644
index 000000000000..e2cca0c0c22d
--- /dev/null
+++ b/dev-python/rarfile/rarfile-2.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Module for RAR archive reading"
+HOMEPAGE="https://github.com/markokr/rarfile"
+SRC_URI="mirror://pypi/r/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+compressed"
+
+RDEPEND="${DEPEND}
+ compressed? ( || ( app-arch/unrar app-arch/rar ) )"
diff --git a/dev-python/raven/Manifest b/dev-python/raven/Manifest
new file mode 100644
index 000000000000..044fe18977e6
--- /dev/null
+++ b/dev-python/raven/Manifest
@@ -0,0 +1,2 @@
+DIST raven-5.2.0.tar.gz 225471 SHA256 01f90e5b15a6676d5ea360e09fb0cd926edad7332584c67d83dc4371c10307aa SHA512 a7e82d9060f466500e429c119a184da1f437632dae76dfd3b24b2101e3fcf0e7fcf8b7371c299e5174c15516c127a3e437269d62d908c59f02c587f3ab528b21 WHIRLPOOL 39e50c0b79f97ec58fdc5d7cee339afd8da4efe8d063361391eb39bdcced36313f08971b93b624b97adbd06895b905b76104757042ee599228316c82cc92391d
+DIST raven-5.3.0.tar.gz 319160 SHA256 271c6eda8763b885eb514e3fc2271b59ae62099c8e9371332180059a298e01ba SHA512 805a0910aea0eed73704dc57a32482a5b01501c27c788c105b84d12241480e70d1454ab54d924e6c8e5ef03764ed5759fc79482ee24417e801e9634353160df2 WHIRLPOOL 2eb3deaff1e029fe1c2c1711e36d939ecef2849401a2b9dad8b5295c9e77ba1dc98ca8024639a1fac13e19f7dd49b0fffc478b513a1c4f18447de8b08d38ed99
diff --git a/dev-python/raven/metadata.xml b/dev-python/raven/metadata.xml
new file mode 100644
index 000000000000..2646b9e2fe25
--- /dev/null
+++ b/dev-python/raven/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>bman@gentoo.org</email>
+ <name>Aaron Bauman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">raven</remote-id>
+ <remote-id type="github">getsentry/raven-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/raven/raven-5.2.0.ebuild b/dev-python/raven/raven-5.2.0.ebuild
new file mode 100644
index 000000000000..648cadc46122
--- /dev/null
+++ b/dev-python/raven/raven-5.2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Raven is a client for Sentry"
+HOMEPAGE="http://github.com/getsentry/raven-python"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/raven/raven-5.3.0.ebuild b/dev-python/raven/raven-5.3.0.ebuild
new file mode 100644
index 000000000000..648cadc46122
--- /dev/null
+++ b/dev-python/raven/raven-5.3.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Raven is a client for Sentry"
+HOMEPAGE="http://github.com/getsentry/raven-python"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/Manifest b/dev-python/rax-default-network-flags-python-novaclient-ext/Manifest
new file mode 100644
index 000000000000..500683755a9d
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/Manifest
@@ -0,0 +1,3 @@
+DIST rax_default_network_flags_python_novaclient_ext-0.1.3.tar.gz 2399 SHA256 7241364afc39f88a29996d5d6aceb0b2ba2f85ba24496d433e245db32f6905aa SHA512 d3142f7c0a6cba84e07c1dd85c26425d8f21c6f170765a175f0dec914416a72127488c7d448643a0bec37eb6cd5237d2037a390d7c4df7e5f696519f05a9d017 WHIRLPOOL 995e545ebbe9493a699b33d42b6cdc20f3da0d451007c960e97f7a58fe0305f23a0f63fff48d4bb5831334cb175678f223a47ad6474092259de08b0c479f5c00
+DIST rax_default_network_flags_python_novaclient_ext-0.2.4.tar.gz 2737 SHA256 998153d3fa1e4abd938111bc9635770ce50772d7438fd0702f7bb7d5c8748b30 SHA512 e2995a03a5073266910ca6a290af53e43bcf8503ca4ee3cc8224ed076b4bba5a6fec96941b2502407f0096c6ddc08ee51df8a5a60dc8466239f4210375a8c23d WHIRLPOOL 64830d387821863fb6dab55622bdf3aac1c80fec4416fc7d58541cdb9cce62b35faed9e93558fb23d52fd00ed4b94290843e0972a2077a583b4c1af2cc4abaaf
+DIST rax_default_network_flags_python_novaclient_ext-0.3.1.tar.gz 2527 SHA256 336d60bdb836dd4e51b142f7977da57b078ad2104a6628eaef7135c67a627c70 SHA512 a5f12045085a87b3ee062a329c4f47b22498a3ff3dda4a809bccc066763455c9f64ccd982c7ad689370c55389c2650cf0776af808ab69d49121c158cf8814a77 WHIRLPOOL d60f44390e211cd34fe30dfdc47c41f83944431995e2fa6464f9251a5a1c90e1478e5fee147819702b082156b9d5608720a2d3c9a5439f8705b683eeb2d858b7
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/metadata.xml b/dev-python/rax-default-network-flags-python-novaclient-ext/metadata.xml
new file mode 100644
index 000000000000..ba06ddf71786
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds instance default networks extension support to python-novaclient
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rax_default_network_flags_python_novaclient_ext</remote-id>
+ <remote-id type="github">rackspace/rax_default_network_flags_python_novaclient_ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3-r1.ebuild b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..9afad99371d6
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/rax_default_network_flags_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/rax_default_network_flags_python_novaclient_ext/rax_default_network_flags_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/rax_default_network_flags_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3.ebuild b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3.ebuild
new file mode 100644
index 000000000000..51434ec0f55c
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.1.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/rax_default_network_flags_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/rax_default_network_flags_python_novaclient_ext/rax_default_network_flags_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/rax_default_network_flags_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.2.4.ebuild b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.2.4.ebuild
new file mode 100644
index 000000000000..9afad99371d6
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.2.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/rax_default_network_flags_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/rax_default_network_flags_python_novaclient_ext/rax_default_network_flags_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/rax_default_network_flags_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.3.1.ebuild b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.3.1.ebuild
new file mode 100644
index 000000000000..0add79b9db01
--- /dev/null
+++ b/dev-python/rax-default-network-flags-python-novaclient-ext/rax-default-network-flags-python-novaclient-ext-0.3.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Disk Config extension for python-novaclient"
+HOMEPAGE="https://github.com/rackspace/rax_default_network_flags_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/rax_default_network_flags_python_novaclient_ext/rax_default_network_flags_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/rax_default_network_flags_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.20.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/rax-scheduled-images-python-novaclient-ext/Manifest b/dev-python/rax-scheduled-images-python-novaclient-ext/Manifest
new file mode 100644
index 000000000000..b457ee5fc4c6
--- /dev/null
+++ b/dev-python/rax-scheduled-images-python-novaclient-ext/Manifest
@@ -0,0 +1 @@
+DIST rax_scheduled_images_python_novaclient_ext-0.2.1.tar.gz 2781 SHA256 17236eb56c7216472d66652579531f0725fe14ee72e8b35a86fc7ca3aa734f01 SHA512 d26fcb8c4cc70b7e4b31f4eb8306d094139d914fbdaf9fda846f13a2bb6336734b2aebc4c7322df5986ba1cc57d4d5894e744ded063f4a01d7a63d3642049672 WHIRLPOOL 4e0cf12f03b08e5a06aeeeef5026e3bf0695f5ed23a229a0507d51c27de7d3cffea14256af3758a1d2070e17593ffb5353071be21e5bc27654c22a2ed888aa16
diff --git a/dev-python/rax-scheduled-images-python-novaclient-ext/metadata.xml b/dev-python/rax-scheduled-images-python-novaclient-ext/metadata.xml
new file mode 100644
index 000000000000..7f7c40453920
--- /dev/null
+++ b/dev-python/rax-scheduled-images-python-novaclient-ext/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds backup-schedule extension support to python-novaclient.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rax_scheduled_images_python_novaclient_ext</remote-id>
+ <remote-id type="github">rackspace/rax_backup_schedule_python_novaclient_ext</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rax-scheduled-images-python-novaclient-ext/rax-scheduled-images-python-novaclient-ext-0.2.1.ebuild b/dev-python/rax-scheduled-images-python-novaclient-ext/rax-scheduled-images-python-novaclient-ext-0.2.1.ebuild
new file mode 100644
index 000000000000..ea92e468c09c
--- /dev/null
+++ b/dev-python/rax-scheduled-images-python-novaclient-ext/rax-scheduled-images-python-novaclient-ext-0.2.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds backup-schedule extension support to python-novaclient"
+HOMEPAGE="https://github.com/rackspace/rax_backup_schedule_python_novaclient_ext"
+SRC_URI="mirror://pypi/${PN:0:1}/rax_scheduled_images_python_novaclient_ext/rax_scheduled_images_python_novaclient_ext-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/rax_scheduled_images_python_novaclient_ext-${PV}"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/python-novaclient-2.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/rdflib/Manifest b/dev-python/rdflib/Manifest
new file mode 100644
index 000000000000..8f4d6b4e192b
--- /dev/null
+++ b/dev-python/rdflib/Manifest
@@ -0,0 +1,3 @@
+DIST rdflib-3.2.3.tar.gz 449077 SHA256 a3cab51c14fa6fe379261e0157c110d94e2f75ef62073ddc76fe56f5be624b75 SHA512 92697be6d6bba4e31303b46c2a42defd840770f75c6f359b7338fa3d48a2001cdcda3b6319403ad0c9f1696051d773b146c9b012770df81b4d94a34d30f6b02a WHIRLPOOL b41794febee280022990dac8c4e177660f69803f01fc14ade194015bc6cf1eaf23164620b09cf1123445d181c0bbe9f0733b901cddafb126bcd711d0462a9f7b
+DIST rdflib-4.1.2.tar.gz 868883 SHA256 3cf94bda0867f21468b248ce9f671581efb92ae9edd28ff321716126c6706a4f SHA512 99d4a4b4d37808563575ac13312cf0e0975f7c1563117cfe7e4b70a84a2804f7eb57144d6a7c629c109ff7b236a6ea2489a4925ae41791274f3b234143837e65 WHIRLPOOL 090e00cc3113cec158f786a39103450f0d1d25571ad57c346120756901f01b0fcf20ff731ae3b174b54f3621e46a26061eee7bd774ffdf91380f4a3647380590
+DIST rdflib-4.2.0.tar.gz 881424 SHA256 7420dafc4930249d0cfcf31e8547a39b658d079ab2c9e975465f6697a8476ec0 SHA512 7677869eb0a65ede317634253042da68b4e183d5352cd37bd949380eb29deec8329336067a2ab686c90d6a1718f8e7a9039424753846d879cce41c05f656735f WHIRLPOOL 62f67318ade0fee1d5d64d6294aa821f4f06f940b18e421d43292e749e495cb3e348b522dd79eec805ce88125d8a6864dccc4a4037ed0a52d5aed616e51b39f5
diff --git a/dev-python/rdflib/files/rdflib-3.1.0-test.patch b/dev-python/rdflib/files/rdflib-3.1.0-test.patch
new file mode 100644
index 000000000000..aea1bf5ac723
--- /dev/null
+++ b/dev-python/rdflib/files/rdflib-3.1.0-test.patch
@@ -0,0 +1,20 @@
+ rdflib/__init__.py | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/rdflib/__init__.py b/rdflib/__init__.py
+index b781031..44efb0b 100644
+--- a/rdflib/__init__.py
++++ b/rdflib/__init__.py
+@@ -15,10 +15,10 @@ A tiny example:
+ >>> import rdflib
+
+ >>> g = rdflib.Graph()
+- >>> result = g.parse("http://eikeon.com/foaf.rdf")
++ >>> result = g.parse("http://www.w3.org/2000/10/swap/test/meet/white.rdf")
+
+ >>> print "graph has %s statements." % len(g)
+- graph has 34 statements.
++ graph has 19 statements.
+ >>>
+ >>> for s, p, o in g:
+ ... if (s, p, o) not in g:
diff --git a/dev-python/rdflib/metadata.xml b/dev-python/rdflib/metadata.xml
new file mode 100644
index 000000000000..53fc3d1ed97e
--- /dev/null
+++ b/dev-python/rdflib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="redland">enable support for Redland triplestore</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">rdflib</remote-id>
+ <remote-id type="github">RDFLib/rdflib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rdflib/rdflib-3.2.3-r1.ebuild b/dev-python/rdflib/rdflib-3.2.3-r1.ebuild
new file mode 100644
index 000000000000..22f484a537b0
--- /dev/null
+++ b/dev-python/rdflib/rdflib-3.2.3-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+PYTHON_REQ_USE="sqlite?"
+DISTUTILS_NO_PARALLEL_BUILD=true
+
+inherit distutils-r1
+
+DESCRIPTION="RDF library containing a triple store and parser/serializer"
+HOMEPAGE="https://github.com/RDFLib/rdflib http://pypi.python.org/pypi/rdflib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="berkdb examples mysql redland sqlite test"
+
+RDEPEND="
+ dev-python/isodate[${PYTHON_USEDEP}]
+ berkdb? ( dev-python/bsddb3 )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redland? ( dev-libs/redland-bindings[python] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
+
+python_prepare_all() {
+ # Upstream manufactured .pyc files which promptly break distutils' src_test
+ find -name "*.py[oc~]" -delete || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests --verbosity=3 --py3where='build/src' || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+}
diff --git a/dev-python/rdflib/rdflib-4.1.2.ebuild b/dev-python/rdflib/rdflib-4.1.2.ebuild
new file mode 100644
index 000000000000..da5d38550c97
--- /dev/null
+++ b/dev-python/rdflib/rdflib-4.1.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite?"
+DISTUTILS_NO_PARALLEL_BUILD=true
+# The usual required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="RDF library containing a triple store and parser/serializer"
+HOMEPAGE="https://github.com/RDFLib/rdflib http://pypi.python.org/pypi/rdflib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="berkdb examples mysql redland sqlite test"
+
+RDEPEND="
+ dev-python/isodate[${PYTHON_USEDEP}]
+ dev-python/html5lib[$(python_gen_usedep 'python2*')]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ berkdb? ( dev-python/bsddb3[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redland? ( dev-libs/redland-bindings[python,$(python_gen_usedep 'python2*')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/sparql-wrapper[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.1-r1[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Upstream manufactured .pyc files which promptly break distutils' src_test
+ find -name "*.py[oc~]" -delete || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd "${BUILD_DIR}/src/" > /dev/null
+ if [[ "${EPYTHON}" == 'python3.4' ]]; then
+ sed -e 's:test_rdfpipe_bytes_vs_str:_&:' \
+ -e 's:test_rdfpipe_mdata_open:_&:' \
+ -i test/test_issue375.py || die
+ sed -e 's:testHTML:_&:' \
+ -i test/test_xmlliterals.py || die
+ fi
+ "${PYTHON}" ./run_tests.py || die "Tests failed under ${EPYTHON}"
+ popd > /dev/null
+ else
+ "${PYTHON}" ./run_tests.py || die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rdflib/rdflib-4.2.0.ebuild b/dev-python/rdflib/rdflib-4.2.0.ebuild
new file mode 100644
index 000000000000..9ab19201e212
--- /dev/null
+++ b/dev-python/rdflib/rdflib-4.2.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite?"
+DISTUTILS_NO_PARALLEL_BUILD=true
+# The usual required for tests
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="RDF library containing a triple store and parser/serializer"
+HOMEPAGE="https://github.com/RDFLib/rdflib http://pypi.python.org/pypi/rdflib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="berkdb examples mysql redland sqlite test"
+
+RDEPEND="
+ dev-python/isodate[${PYTHON_USEDEP}]
+ dev-python/html5lib[$(python_gen_usedep 'python2*')]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ berkdb? ( dev-python/bsddb3[${PYTHON_USEDEP}] )
+ mysql? ( dev-python/mysql-python[$(python_gen_usedep 'python2*')] )
+ redland? ( dev-libs/redland-bindings[python,$(python_gen_usedep 'python2*')] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/sparql-wrapper[${PYTHON_USEDEP}]
+ >=dev-python/nose-1.3.1-r1[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Upstream manufactured .pyc files which promptly break distutils' src_test
+ find -name "*.py[oc~]" -delete || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd "${BUILD_DIR}/src/" > /dev/null
+ if [[ "${EPYTHON}" == 'python3.4' ]]; then
+ sed -e 's:test_rdfpipe_bytes_vs_str:_&:' \
+ -e 's:test_rdfpipe_mdata_open:_&:' \
+ -i test/test_issue375.py || die
+ sed -e 's:testHTML:_&:' \
+ -i test/test_xmlliterals.py || die
+ fi
+ "${PYTHON}" ./run_tests.py || die "Tests failed under ${EPYTHON}"
+ popd > /dev/null
+ else
+ "${PYTHON}" ./run_tests.py || die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/readme/Manifest b/dev-python/readme/Manifest
new file mode 100644
index 000000000000..abdce5ca448d
--- /dev/null
+++ b/dev-python/readme/Manifest
@@ -0,0 +1,3 @@
+DIST readme-0.4.1.tar.gz 9318 SHA256 baf79dc0312ee4cf49291412916a120051b1b0977b5b7f883c550fb426a6a690 SHA512 937610e49fe2b94d8a5e924c02e99194bfe453bf73c03f73514dbd30412f556b81af2fa6ddfc5352f8eccc3706065f7e8302403d6060a6dc6719a7fabd1251ee WHIRLPOOL 405dc4a3b71ef7da42a333a63cb0ecc7dad3cb8d3ff9bc1fecd60d001700c1676e0f2ca4d7b9a08bb38c957cce5bb99cdba997f14d2c30fe5bee4f7ffc2a803d
+DIST readme-0.4.2.tar.gz 9329 SHA256 2ae289e4090991b9f7e0a1da210444c2b91f57257da226b5dfd4eadff0b6e5b1 SHA512 83db9dc4042a9079380cefef753c88b2a65e7905fa3715260a03d78d2ed00e12f60425626d254cd7cb2b945216b6fb062ffec1d9073cbc7619957744dfcaab25 WHIRLPOOL 3d635805f20a80f5d30e418bb1971ed81833ec4cb13416efd18a4a51c28479d21ba37f318023f17128afc8795a4b62bd0251a2cbbb34bf6b932ee15f6e71c733
+DIST readme-0.5.1.tar.gz 9917 SHA256 4d33851d7fa56d1f93b7ba979ebbb17b5175ccde9fd9dfb974427bdd72ec667b SHA512 50cbd71e692be0b6cba06d85765946aa2d2d751f3f44563c5a6902ecc982658e5e3b1e01cbaf50a4df4dc61a56290e67b71eb88c109cbb830af36f0d334552c2 WHIRLPOOL f53d900d9764c59053db1350fe059a45d1faed43f7d53468ebf3d88dfea44fe69ffb22e80483e69c4b24708fd75963a034e429325b5844375a11202ce7877a23
diff --git a/dev-python/readme/metadata.xml b/dev-python/readme/metadata.xml
new file mode 100644
index 000000000000..c4cf8bf04860
--- /dev/null
+++ b/dev-python/readme/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">readme</remote-id>
+ <remote-id type="github">pypa/readme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/readme/readme-0.4.1.ebuild b/dev-python/readme/readme-0.4.1.ebuild
new file mode 100644
index 000000000000..99b0b0f471fb
--- /dev/null
+++ b/dev-python/readme/readme-0.4.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="a library for rendering \"readme\" descriptions for Warehouse"
+HOMEPAGE="https://github.com/pypa/readme https://pypi.python.org/pypi/readme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst )
+
+python_prepare_all() {
+ # remove failing test for now
+ rm tests/fixtures/test_rst_008* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/readme/readme-0.4.2.ebuild b/dev-python/readme/readme-0.4.2.ebuild
new file mode 100644
index 000000000000..99b0b0f471fb
--- /dev/null
+++ b/dev-python/readme/readme-0.4.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="a library for rendering \"readme\" descriptions for Warehouse"
+HOMEPAGE="https://github.com/pypa/readme https://pypi.python.org/pypi/readme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst )
+
+python_prepare_all() {
+ # remove failing test for now
+ rm tests/fixtures/test_rst_008* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/readme/readme-0.5.1.ebuild b/dev-python/readme/readme-0.5.1.ebuild
new file mode 100644
index 000000000000..99b0b0f471fb
--- /dev/null
+++ b/dev-python/readme/readme-0.5.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="a library for rendering \"readme\" descriptions for Warehouse"
+HOMEPAGE="https://github.com/pypa/readme https://pypi.python.org/pypi/readme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst )
+
+python_prepare_all() {
+ # remove failing test for now
+ rm tests/fixtures/test_rst_008* || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ py.test -v || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/recaptcha-client/Manifest b/dev-python/recaptcha-client/Manifest
new file mode 100644
index 000000000000..1e7646bc1ce6
--- /dev/null
+++ b/dev-python/recaptcha-client/Manifest
@@ -0,0 +1 @@
+DIST recaptcha-client-1.0.6.tar.gz 7389 SHA256 28c6853c1d13d365b7dc71a6b05e5ffb56471f70a850de318af50d3d7c0dea2f SHA512 c41954d722181ece934701df0701101b31cad74c15a123c2c641e671e5117a27ea23e1f52aa9126d7ddfd038438f951d45ec4112323306a91d81072e31b3f5bb WHIRLPOOL a02764e7c67b62f6648cce97f3ba76ce894f0ef622c1a5da4e75f3bb6431257e24de4b9f137ab6a45d5b304b7f1320ef12261d0d17f0f7b80df2589e68cf96a7
diff --git a/dev-python/recaptcha-client/metadata.xml b/dev-python/recaptcha-client/metadata.xml
new file mode 100644
index 000000000000..d27c7095178e
--- /dev/null
+++ b/dev-python/recaptcha-client/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">recaptcha-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/recaptcha-client/recaptcha-client-1.0.6-r1.ebuild b/dev-python/recaptcha-client/recaptcha-client-1.0.6-r1.ebuild
new file mode 100644
index 000000000000..d9ed8c6a05ca
--- /dev/null
+++ b/dev-python/recaptcha-client/recaptcha-client-1.0.6-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A plugin for reCAPTCHA and reCAPTCHA Mailhide"
+HOMEPAGE="http://pypi.python.org/pypi/recaptcha-client/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/pycrypto[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND} dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/reconfigure/Manifest b/dev-python/reconfigure/Manifest
new file mode 100644
index 000000000000..0b166e9a6e3b
--- /dev/null
+++ b/dev-python/reconfigure/Manifest
@@ -0,0 +1,2 @@
+DIST reconfigure-0.1.50.tar.gz 29054 SHA256 a524c735ab8e2cfe5de0086385952f4aa07676e4de2398a1f25957db8dda4100 SHA512 8b8ce5bd5b8934aebdba8db7c61dad25145f31804d1c95ff6d5e06984721a50a9a630e8f4d7f0a556e290b8336fc2341a7f94a9954dd427065c755f4a0b9a315 WHIRLPOOL 5cb5fb6e1e9b7e2376371b1f00e952d131d75d0257489b03fe1a88cff7c0d3f91198c582e488adb25d5cb92f2aa10131699a812420c862181693a3d41651c864
+DIST reconfigure-0.1.72.tar.gz 31227 SHA256 43b51178aed67b3bd72f7395b41e3657b5dc2eb744a795bcf95132d5df2073ec SHA512 d667207f677116d7a29adfe86b8bcdfbf6c87cb15ab3edbe8cc808d22ff26a5dc2c5fe8df4bc5b535ef123ebd40dfeaaea35992c980950e2c13eb8214bbb753f WHIRLPOOL 05608f1a92bdce7133bd3821e88562f3be9a92e1320394944ce8c55a989b7732d9c5300c3adc8b619b1faf84b710a76bf9445ef87a9aa9a9f8a46c4503295e24
diff --git a/dev-python/reconfigure/metadata.xml b/dev-python/reconfigure/metadata.xml
new file mode 100644
index 000000000000..cdb3a7315fe5
--- /dev/null
+++ b/dev-python/reconfigure/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">reconfigure</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/reconfigure/reconfigure-0.1.50.ebuild b/dev-python/reconfigure/reconfigure-0.1.50.ebuild
new file mode 100644
index 000000000000..53c0c8b90d53
--- /dev/null
+++ b/dev-python/reconfigure/reconfigure-0.1.50.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An ORM for config files"
+HOMEPAGE="https://pypi.python.org/pypi/reconfigure/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/reconfigure/reconfigure-0.1.72.ebuild b/dev-python/reconfigure/reconfigure-0.1.72.ebuild
new file mode 100644
index 000000000000..bb2f8e429952
--- /dev/null
+++ b/dev-python/reconfigure/reconfigure-0.1.72.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="An ORM for config files"
+HOMEPAGE="https://pypi.python.org/pypi/reconfigure/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/redis-py/Manifest b/dev-python/redis-py/Manifest
new file mode 100644
index 000000000000..30cc386d5501
--- /dev/null
+++ b/dev-python/redis-py/Manifest
@@ -0,0 +1,4 @@
+DIST redis-py-2.10.1.tar.gz 84143 SHA256 644aaf429e666d2254143a6a02f3b1cca2806d0cd52bb130c8f879d3c8259d62 SHA512 694a687e22654631fcf7b0b5884c2f3b3f804befe8080a1a27f08e212afe2f64c36921e025801d67bac1786b105f23565f52768f5b62ed1d18038be8dba9542c WHIRLPOOL e1b76cf47043d3d5317fc4352c9b52598af119a1501e4d6af1615181006afa658417002fdd8e206e6d5d5556df6dcbdd34a74b89918c513802793bd6ced4cccd
+DIST redis-py-2.10.3.tar.gz 86532 SHA256 a4fb37b02860f6b1617f6469487471fd086dd2d38bbce640c2055862b9c4019c SHA512 a6dcb1160f91c444a6fd107761b2701e7d8ab2eed7b9fcc00e8f0bdcefe46c2a626611f36fe6bf520fe3cceeb509562609e6dba263e1508abe285a6eab73963c WHIRLPOOL 2b2fc577ff752f71675cade7c591442526dfbac07495d1cf61b14ac21371e76aec2d008531bb8729eb5e3f3ffd372d6c9bf9f7554e51f8076d2d79c07377d33e
+DIST redis-py-2.7.4.tar.gz 79715 SHA256 623c8d437401314f8ec92f03848638c79c757098b316f0ed40ec2deaad57e082 SHA512 9b8db28c77e9df7a243e510a4f66a021179ab8ff52cfed2cc1b18b20f167eeee138d59a868fc105a32993681551c53e98d45680c16313680e8b4f36b6defa3b9 WHIRLPOOL fa5c754dc83f7d8baea68e21e283435994380e3e7243fa9bdb74ce934f7adacc75a11c6312d4b642606aa817010abc23f8f2a7b9eac1e2c73e50e897085124ad
+DIST redis-py-2.9.1.tar.gz 62204 SHA256 af9747ec2727425b1b09252975e21502ee5a3d8d235c7f49869eb13e09ccf4e4 SHA512 6b4912acafb31c87a5bc47b0420834aa9d1eba57feb0bbacdea943b746fe2f24aee4c9f13e7b03ae4edc562043b22c370cc7f53e45be07c5408cfa9852f8ea38 WHIRLPOOL ae38ea63d605f8dd667d9fc548de972bf38d661ae6ef357070ebe7cba3b484febc45d6b7611916d8a1e262e6bbf4754257e727f41af8caa30597954a1fc20cf5
diff --git a/dev-python/redis-py/metadata.xml b/dev-python/redis-py/metadata.xml
new file mode 100644
index 000000000000..b6916ebdbbbf
--- /dev/null
+++ b/dev-python/redis-py/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">redis</remote-id>
+ <remote-id type="github">andymccurdy/redis-py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/redis-py/redis-py-2.10.1.ebuild b/dev-python/redis-py/redis-py-2.10.1.ebuild
new file mode 100644
index 000000000000..702abe72e916
--- /dev/null
+++ b/dev-python/redis-py/redis-py-2.10.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="redis"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="http://github.com/andymccurdy/redis-py"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-db/redis
+ >=dev-python/pytest-2.5.0[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable pubsub and encoding tests, they do not seem to support
+ # UNIX socket connectivity.
+ sed -i -e '/PubSub/d' -e '/Encoding/d' \
+ -e '/use_hiredis:/d' tests/__init__.py || die
+
+ # Make sure that tests will be used from BUILD_DIR rather than cwd.
+ mv tests tests-hidden || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use test; then
+ cp -r tests-hidden "${BUILD_DIR}"/tests || die
+ fi
+}
+
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ # https://github.com/andymccurdy/redis-py/issues/503
+ # the suite is quite broken at this point but it's also the case in -2.9.1,
+ # making this not a regression. but a fix is in 'progress', just not the overlay one
+ local pidfile=${T}/redis-${EPYTHON}.pid
+ local sock=${T}/redis-${EPYTHON}.sock
+
+ sed -i -e "s:port=6379:unix_socket_path=\"${sock}\":" \
+ "${BUILD_DIR}"/tests/*.py || die
+
+ # XXX: find a way to make sure it is killed
+
+ "${EPREFIX}"/usr/sbin/redis-server \
+ --pidfile "${pidfile}" \
+ --port 0 \
+ --unixsocket "${sock}" \
+ --daemonize yes || die
+ PYTHONPATH="${PYTHONPATH}:${BUILD_DIR}" \
+ esetup.py test
+ kill "$(<"${pidfile}")"
+}
diff --git a/dev-python/redis-py/redis-py-2.10.3.ebuild b/dev-python/redis-py/redis-py-2.10.3.ebuild
new file mode 100644
index 000000000000..505a178f36a8
--- /dev/null
+++ b/dev-python/redis-py/redis-py-2.10.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="redis"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="http://github.com/andymccurdy/redis-py"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-db/redis
+ >=dev-python/pytest-2.5.0[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Make sure that tests will be used from BUILD_DIR rather than cwd.
+ mv tests tests-hidden || die
+
+ # Correct local import patch syntax
+ sed -e 's:from .conftest:from conftest:' \
+ -i tests-hidden/{test_connection_pool.py,test_commands.py,test_encoding.py,test_pubsub.py} \
+ || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use test; then
+ cp -r tests-hidden "${BUILD_DIR}"/tests || die
+ fi
+}
+
+src_test() {
+ # testsuite fails miserably under multiprocessing
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+
+ local sock="${T}/redis.sock"
+
+ "${EPREFIX}/usr/sbin/redis-server" - <<- EOF
+ daemonize yes
+ pidfile ${T}/redis.pid
+ unixsocket ${sock}
+ EOF
+
+ PYTHONPATH="${S}:${S}/tests-hidden"
+ esetup.py test
+ kill "$(<"${T}/redis.pid")"
+}
diff --git a/dev-python/redis-py/redis-py-2.7.4.ebuild b/dev-python/redis-py/redis-py-2.7.4.ebuild
new file mode 100644
index 000000000000..e49e3f1912af
--- /dev/null
+++ b/dev-python/redis-py/redis-py-2.7.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+MY_PN="redis"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="http://github.com/andymccurdy/redis-py http://pypi.python.org/pypi/redis"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-db/redis )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable pubsub and encoding tests, they do not seem to support
+ # UNIX socket connectivity.
+ sed -i -e '/PubSub/d' -e '/Encoding/d' \
+ -e '/use_hiredis:/d' tests/__init__.py || die
+
+ # Make sure that tests will be used from BUILD_DIR rather than cwd.
+ mv tests tests-hidden || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use test; then
+ cp -r tests-hidden "${BUILD_DIR}"/tests || die
+ fi
+}
+
+src_test() {
+# local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local pidfile=${T}/redis-${EPYTHON}.pid
+ local sock=${T}/redis-${EPYTHON}.sock
+
+ sed -i -e "s:port=6379:unix_socket_path=\"${sock}\":" \
+ "${BUILD_DIR}"/tests/*.py || die
+
+ # XXX: find a way to make sure it is killed
+
+ "${EPREFIX}"/usr/sbin/redis-server \
+ --pidfile "${pidfile}" \
+ --port 0 \
+ --unixsocket "${sock}" \
+ --daemonize yes || die
+ PYTHONPATH="${PYTHONPATH}:${BUILD_DIR}" \
+ esetup.py test
+ kill "$(<"${pidfile}")"
+}
diff --git a/dev-python/redis-py/redis-py-2.9.1.ebuild b/dev-python/redis-py/redis-py-2.9.1.ebuild
new file mode 100644
index 000000000000..05880a8720c0
--- /dev/null
+++ b/dev-python/redis-py/redis-py-2.9.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="redis"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="http://github.com/andymccurdy/redis-py"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-db/redis )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable pubsub and encoding tests, they do not seem to support
+ # UNIX socket connectivity.
+ sed -i -e '/PubSub/d' -e '/Encoding/d' \
+ -e '/use_hiredis:/d' tests/__init__.py || die
+
+ # Make sure that tests will be used from BUILD_DIR rather than cwd.
+ mv tests tests-hidden || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use test; then
+ cp -r tests-hidden "${BUILD_DIR}"/tests || die
+ fi
+}
+
+src_test() {
+# local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local pidfile=${T}/redis-${EPYTHON}.pid
+ local sock=${T}/redis-${EPYTHON}.sock
+
+ sed -i -e "s:port=6379:unix_socket_path=\"${sock}\":" \
+ "${BUILD_DIR}"/tests/*.py || die
+
+ # XXX: find a way to make sure it is killed
+
+ "${EPREFIX}"/usr/sbin/redis-server \
+ --pidfile "${pidfile}" \
+ --port 0 \
+ --unixsocket "${sock}" \
+ --daemonize yes || die
+ PYTHONPATH="${PYTHONPATH}:${BUILD_DIR}" \
+ esetup.py test
+ kill "$(<"${pidfile}")"
+}
diff --git a/dev-python/rednose/Manifest b/dev-python/rednose/Manifest
new file mode 100644
index 000000000000..f063790f70f5
--- /dev/null
+++ b/dev-python/rednose/Manifest
@@ -0,0 +1,2 @@
+DIST rednose-0.4.1.tar.gz 5888 SHA256 82856136986ec6de3be4863ee2b7ecf0adbaaadb717a3e75fe517a6a5ac26825 SHA512 a9ff3bbbf35e6799a66728feb81f6d83b88ea9804bbebfc64d626d4bdb002c8e7a655027861b694fda15b9b8b24d7e3de2554f284e1683eafbf24eb24c4a192a WHIRLPOOL 0bbefdaf2426561c2712ddda5c77a1bd239e5e12139cebb4237a1c31d709cbf93548448d007a673824a8f4ea1e3c488eb270932c100ff396f3386f7d35cd559c
+DIST rednose-0.4.3.tar.gz 6046 SHA256 6ce5d40574c5569a23b2841678b0b14245ec5ea044a440bc6a1c20baec5464d7 SHA512 e0169599f251cd90a2906e489b870e7d10322a82253a3a814bc71aa257bea34bd5eb833b637dbae3128f8f37df79929aa4d6331e246654c83eb16118d637182a WHIRLPOOL 15937c7812111f780a6aab43b03ed9c8a395aa50ab0689886db0752d2866222be06d39d5491663e6322adc1906a897cc046cf33242e52a11429dff80a01ac37b
diff --git a/dev-python/rednose/metadata.xml b/dev-python/rednose/metadata.xml
new file mode 100644
index 000000000000..9316ec446967
--- /dev/null
+++ b/dev-python/rednose/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rednose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rednose/rednose-0.4.1.ebuild b/dev-python/rednose/rednose-0.4.1.ebuild
new file mode 100644
index 000000000000..935f71ab4e59
--- /dev/null
+++ b/dev-python/rednose/rednose-0.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="coloured output for nosetests"
+HOMEPAGE="http://gfxmonk.net/dist/0install/rednose.xml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-python/python-termstyle-0.1.7[${PYTHON_USEDEP}]"
diff --git a/dev-python/rednose/rednose-0.4.3.ebuild b/dev-python/rednose/rednose-0.4.3.ebuild
new file mode 100644
index 000000000000..bd385a855d3c
--- /dev/null
+++ b/dev-python/rednose/rednose-0.4.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="coloured output for nosetests"
+HOMEPAGE="http://gfxmonk.net/dist/0install/rednose.xml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+CDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/python-termstyle-0.1.7[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/regex/Manifest b/dev-python/regex/Manifest
new file mode 100644
index 000000000000..6bf60d6aa3ab
--- /dev/null
+++ b/dev-python/regex/Manifest
@@ -0,0 +1,2 @@
+DIST regex-2015.06.24.tar.gz 553785 SHA256 97dbcbe9a1c247ba351b926b0683b5fec82260e7ea649ab51087bb58ad00275a SHA512 570320e5c74793246da77f8b85b623604698d187780121d30a3d5a53f410bc998c48481bfef6245c546a6e6950020a2905f3b5fd3be33964de92af73c4acc1a7 WHIRLPOOL 37704652ebdc5f09c13960acbc7a4c890b1a0bdceab9d6e4b9053a3bb99ec1b54462667cf17960ccccf091bd64d49d19cc079e187b5af1e40d8b1d155053f202
+DIST regex-2015.07.12.tar.gz 554160 SHA256 9a39618645ce8c707c2c1346a3eeef0e441a9084df0739a5fcfe32059f68ebe1 SHA512 3b8cfa029744d17f06c659e6357d3a4520817656da6dcfc6952bbdac01fec266e8832fab649000fc7a3dacab508e2ae462728c139cc4cac913c40e2ae34abf54 WHIRLPOOL 86f004c6d8533071ef938ba39cfe34f198dcc56ab75883f8b5f2bc2dfaa40abc46b0ed64aa873821c6cc4e694c424dd8a16d97c35a6a1fafa7d2f84e09c59adf
diff --git a/dev-python/regex/metadata.xml b/dev-python/regex/metadata.xml
new file mode 100644
index 000000000000..bea963872644
--- /dev/null
+++ b/dev-python/regex/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">regex</remote-id>
+ <remote-id type="bitbucket">mrabarnett/mrab-regex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/regex/regex-2015.06.24.ebuild b/dev-python/regex/regex-2015.06.24.ebuild
new file mode 100644
index 000000000000..fd300192e5a6
--- /dev/null
+++ b/dev-python/regex/regex-2015.06.24.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="https://bitbucket.org/mrabarnett/mrab-regex"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DOCS=( README docs/Features.rst docs/UnicodeProperties.txt )
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local msg="tests failed under ${EPYTHON}"
+ # https://bitbucket.org/mrabarnett/mrab-regex/issue/145/1-fail-in-testsuite-under-pypy
+ einfo "There is one trivial fail of test test_empty_array under pypy"
+
+ if python_is_python3; then
+ "${PYTHON}" Python3/test_regex.py || die $msg
+ else
+ "${PYTHON}" Python2/test_regex.py || die $msg
+ fi
+}
diff --git a/dev-python/regex/regex-2015.07.12.ebuild b/dev-python/regex/regex-2015.07.12.ebuild
new file mode 100644
index 000000000000..fd300192e5a6
--- /dev/null
+++ b/dev-python/regex/regex-2015.07.12.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="https://bitbucket.org/mrabarnett/mrab-regex"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DOCS=( README docs/Features.rst docs/UnicodeProperties.txt )
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local msg="tests failed under ${EPYTHON}"
+ # https://bitbucket.org/mrabarnett/mrab-regex/issue/145/1-fail-in-testsuite-under-pypy
+ einfo "There is one trivial fail of test test_empty_array under pypy"
+
+ if python_is_python3; then
+ "${PYTHON}" Python3/test_regex.py || die $msg
+ else
+ "${PYTHON}" Python2/test_regex.py || die $msg
+ fi
+}
diff --git a/dev-python/remoteobjects/metadata.xml b/dev-python/remoteobjects/metadata.xml
new file mode 100644
index 000000000000..94cf84d4043e
--- /dev/null
+++ b/dev-python/remoteobjects/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">LegNeato/remoteobjects</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/remoteobjects/remoteobjects-99999999.ebuild b/dev-python/remoteobjects/remoteobjects-99999999.ebuild
new file mode 100644
index 000000000000..adca05c76e65
--- /dev/null
+++ b/dev-python/remoteobjects/remoteobjects-99999999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="git://github.com/LegNeato/${PN}.git
+ https://github.com/LegNeato/${PN}.git"
+ inherit git-2
+fi
+
+DESCRIPTION="subclassable Python objects for working with JSON REST APIs"
+HOMEPAGE="https://github.com/LegNeato/remoteobjects"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/mox[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Disable failing tests.
+ sed -e "s/test_get_bad_encoding/_&/" -i tests/test_http.py
+ distutils-r1_python_prepare_all
+}
+
+pthon_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/rencode/Manifest b/dev-python/rencode/Manifest
new file mode 100644
index 000000000000..0e69ebe593fb
--- /dev/null
+++ b/dev-python/rencode/Manifest
@@ -0,0 +1 @@
+DIST rencode-1.0.3.tar.gz 24105 SHA256 13c47ca2f9cf060083de7e5886e725731863c4a5d95545c68e0bb3a2149da444 SHA512 2697c496d34e2a6a9fe0ab7bdc57e4dab97e5d7409d7530899f951a08c9f32740fd0b0da644afa7cc98c3248f5aa034717b93644d02083fd2ef5f224269fef3f WHIRLPOOL 05580374bc5419586fe88757b498fa8ae1b0591c15263ec016a2d1300252b8b28dfe8c3761904e73577b86c0059e5a195c89488f281057dcc4f9c377d2a408d1
diff --git a/dev-python/rencode/metadata.xml b/dev-python/rencode/metadata.xml
new file mode 100644
index 000000000000..4904a9fc21e8
--- /dev/null
+++ b/dev-python/rencode/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <longdescription lang="en">
+The rencode module is similar to bencode from the BitTorrent project. For
+complex, heterogeneous data structures with many small elements, r-encodings
+take up significantly less space than b-encodings. This version of rencode is
+a complete rewrite in Cython to attempt to increase the performance over the
+pure Python module written by Petru Paler, Connelly Barnes et al.
+</longdescription>
+ <upstream>
+ <remote-id type="github">aresch/rencode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rencode/rencode-1.0.3.ebuild b/dev-python/rencode/rencode-1.0.3.ebuild
new file mode 100644
index 000000000000..19d6380bfc66
--- /dev/null
+++ b/dev-python/rencode/rencode-1.0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+inherit distutils-r1
+
+DESCRIPTION="similar to bencode from the BitTorrent project"
+HOMEPAGE="https://github.com/aresch/rencode"
+SRC_URI="https://github.com/aresch/rencode/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
new file mode 100644
index 000000000000..a806f6f8ddf9
--- /dev/null
+++ b/dev-python/reportlab/Manifest
@@ -0,0 +1,4 @@
+DIST pfbfer-20070710.zip 677333 SHA256 fb1462ff6ce8efae58a0c496f0537c5ac16d4895c68f1640c2973db574ddb376 SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2 WHIRLPOOL 5aad616d063cab1862d77fbbf9f625f20c4bcbf09e45688719e312c1e8d3815f1b295d290b78f6c4789919cef39856ec223c30a2e424eeb1c8137cccc5ceb90f
+DIST reportlab-2.6.tar.gz 1954170 SHA256 76c3cda08f6eac9b0adf0e3c86202fe5e9cb075c00503bef5760cd9e75ec34ff SHA512 d1173231ec6924c225808607edd287b11095cda1856554ff42efb5911285b766f43b79d8747ea2867221aa5c158455ee864dbe903ceffeae535938d2fef59131 WHIRLPOOL ff177ec570d581eee76f9a54ee95b16c928a1351e85f1906baa36aa270dda6ea41d4da6441274cf4eee00624b5ddb2eb855bf4792b1cba658cc4729399598358
+DIST reportlab-3.1.44.tar.gz 1946392 SHA256 f6c22e4afefd1aed0e85f1c1216eee5e74d2eb77d53963feab0172b321b636d5 SHA512 b14b19a1772516ef182fe64ce50f032a1f76834aae9ea4c3f017eec902d84e839a4f3b648bd3ede3579df68654dec027d17c8c9878c580938e16c79ec3ac764f WHIRLPOOL 646e8eb5d4192edb37bc7570629bf2b4e2ff6e6fd35d9e7fa78a0e28be1759793dd4779fff60c7a08522e665c4cb0d3feac4b384324e4f4050be569877154f50
+DIST reportlab-3.2.0.tar.gz 1948090 SHA256 72e687662bd854776407b9108483561831b45546d935df8b0477708199086293 SHA512 7b5c01ec7b9ccd404f98b8db1dbe01cb829cf0f1482c29090874996fb1e2ee9296d860c3ff9b7addecad9769c4e7558c0ea51ae4d9c07cbc0cc5ad69b2d8ea9b WHIRLPOOL 42c1432476b038677b42feeb1fefc6753c01a28e515d1edd4613c21f105d783d3196634b4ca0837359049811439ab7e177cbdb1c153aa8a7e80a34e71149e1da
diff --git a/dev-python/reportlab/files/reportlab-2.2_qa_msg.patch b/dev-python/reportlab/files/reportlab-2.2_qa_msg.patch
new file mode 100644
index 000000000000..490902d22e09
--- /dev/null
+++ b/dev-python/reportlab/files/reportlab-2.2_qa_msg.patch
@@ -0,0 +1,16 @@
+#Patch submitted by Jesus Rivero <neurogeek@gentoo.org>
+#Submitted on 10/04/2008 to upstream
+diff -uNr ReportLab_2_2.orig/src/rl_addons/renderPM/gt1/gt1-namecontext.c ReportLab_2_2/src/rl_addons/renderPM/gt1/gt1-namecontext.c
+--- ReportLab_2_2.orig/src/rl_addons/renderPM/gt1/gt1-namecontext.c 2008-10-04 10:28:05.000000000 -0430
++++ ReportLab_2_2/src/rl_addons/renderPM/gt1/gt1-namecontext.c 2008-10-04 10:28:38.000000000 -0430
+@@ -3,9 +3,7 @@
+ #include "gt1-misc.h"
+
+ #include "gt1-namecontext.h"
+-#if defined(_WIN32) || defined(macintosh)
+-# include <string.h>
+-#endif
++#include <string.h>
+
+ /* btw, I do not know who wrote the following comment. I modified this
+ file somewhat from gimp's app/procedural_db.c hash function. */
diff --git a/dev-python/reportlab/files/reportlab-2.4-external_libart_lgpl.patch b/dev-python/reportlab/files/reportlab-2.4-external_libart_lgpl.patch
new file mode 100644
index 000000000000..3d0920a32aa2
--- /dev/null
+++ b/dev-python/reportlab/files/reportlab-2.4-external_libart_lgpl.patch
@@ -0,0 +1,60 @@
+--- setup.py
++++ setup.py
+@@ -306,39 +306,12 @@
+ infoline( '################################################')
+ infoline( '#Attempting install of _renderPM')
+ infoline( '#extensions from %r'%RENDERPM)
+- LIBART_DIR=pjoin(RENDERPM,'libart_lgpl')
++ LIBART_DIR='@GENTOO_PORTAGE_EPREFIX@/usr/include/libart-2.0'
++ LIBART_LIB=['art_lgpl_2']
+ GT1_DIR=pjoin(RENDERPM,'gt1')
+ MACROS=[('ROBIN_DEBUG',None)]
+ MACROS=[]
+- def libart_version():
+- K = ('LIBART_MAJOR_VERSION','LIBART_MINOR_VERSION','LIBART_MICRO_VERSION')
+- D = {}
+- for l in open(pjoin(LIBART_DIR,'configure.in'),'r').readlines():
+- l = l.strip().split('=')
+- if len(l)>1 and l[0].strip() in K:
+- D[l[0].strip()] = l[1].strip()
+- if len(D)==3: break
+- return (sys.platform == 'win32' and '\\"%s\\"' or '"%s"') % '.'.join(map(lambda k,D=D: D.get(k,'?'),K))
+- LIBART_VERSION = libart_version()
+ SOURCES=[pjoin(RENDERPM,'_renderPM.c'),
+- pjoin(LIBART_DIR,'art_vpath_bpath.c'),
+- pjoin(LIBART_DIR,'art_rgb_pixbuf_affine.c'),
+- pjoin(LIBART_DIR,'art_rgb_svp.c'),
+- pjoin(LIBART_DIR,'art_svp.c'),
+- pjoin(LIBART_DIR,'art_svp_vpath.c'),
+- pjoin(LIBART_DIR,'art_svp_vpath_stroke.c'),
+- pjoin(LIBART_DIR,'art_svp_ops.c'),
+- pjoin(LIBART_DIR,'art_vpath.c'),
+- pjoin(LIBART_DIR,'art_vpath_dash.c'),
+- pjoin(LIBART_DIR,'art_affine.c'),
+- pjoin(LIBART_DIR,'art_rect.c'),
+- pjoin(LIBART_DIR,'art_rgb_affine.c'),
+- pjoin(LIBART_DIR,'art_rgb_affine_private.c'),
+- pjoin(LIBART_DIR,'art_rgb.c'),
+- pjoin(LIBART_DIR,'art_rgb_rgba_affine.c'),
+- pjoin(LIBART_DIR,'art_svp_intersect.c'),
+- pjoin(LIBART_DIR,'art_svp_render_aa.c'),
+- pjoin(LIBART_DIR,'art_misc.c'),
+ pjoin(GT1_DIR,'gt1-parset1.c'),
+ pjoin(GT1_DIR,'gt1-dict.c'),
+ pjoin(GT1_DIR,'gt1-namecontext.c'),
+@@ -398,12 +371,12 @@
+ EXT_MODULES += [Extension( '_renderPM',
+ SOURCES,
+ include_dirs=[RENDERPM,LIBART_DIR,GT1_DIR]+FT_INC_DIR,
+- define_macros=FT_MACROS+[('LIBART_COMPILATION',None)]+MACROS+[('LIBART_VERSION',LIBART_VERSION)],
++ define_macros=FT_MACROS+MACROS,
+ library_dirs=[]+FT_LIB_DIR,
+
+ # libraries to link against
+- libraries=FT_LIB,
+- #extra_objects=['gt1.lib','libart.lib',],
++ libraries=FT_LIB+LIBART_LIB,
++ #extra_objects=['gt1.lib'],
+ #extra_compile_args=['/Z7'],
+ extra_link_args=[]
+ ),
diff --git a/dev-python/reportlab/files/reportlab-2.5-pypy-implicit-PyArg_NoArgs.patch b/dev-python/reportlab/files/reportlab-2.5-pypy-implicit-PyArg_NoArgs.patch
new file mode 100644
index 000000000000..e3d827595800
--- /dev/null
+++ b/dev-python/reportlab/files/reportlab-2.5-pypy-implicit-PyArg_NoArgs.patch
@@ -0,0 +1,13 @@
+PyPy does not provide the PyArg_NoArgs macro.
+--- a/src/rl_addons/rl_accel/sgmlop.c
++++ b/src/rl_addons/rl_accel/sgmlop.c
+@@ -52,6 +52,9 @@
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+
+ #include "Python.h"
++#ifndef PyArg_NoArgs
++#define PyArg_NoArgs(v) PyArg_Parse(v, "")
++#endif
+ #if PY_VERSION_HEX < 0x02050000
+ # define Py_ssize_t int
+ # define lenfunc inquiry
diff --git a/dev-python/reportlab/metadata.xml b/dev-python/reportlab/metadata.xml
new file mode 100644
index 000000000000..feed4369aef5
--- /dev/null
+++ b/dev-python/reportlab/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ The ReportLab Toolkit is a Python library for generating
+ PDFs and graphics.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">reportlab</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/reportlab/reportlab-2.6.ebuild b/dev-python/reportlab/reportlab-2.6.ebuild
new file mode 100644
index 000000000000..ec9f45060f7b
--- /dev/null
+++ b/dev-python/reportlab/reportlab-2.6.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+# Tests crash with pypy
+
+inherit distutils-r1 eutils flag-o-matic prefix
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="http://www.reportlab.com/ http://pypi.python.org/pypi/reportlab"
+SRC_URI="http://www.reportlab.com/ftp/${P}.tar.gz
+ http://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="virtual/python-imaging
+ media-fonts/ttf-bitstream-vera
+ media-libs/libart_lgpl
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+python_prepare_all() {
+ sed -i \
+ -e 's|/usr/lib/X11/fonts/TrueType/|/usr/share/fonts/ttf-bitstream-vera/|' \
+ -e 's|/usr/local/Acrobat|/opt/Acrobat|g' \
+ -e 's|%(HOME)s/fonts|%(HOME)s/.fonts|g' \
+ src/reportlab/rl_config.py || die "sed failed"
+
+ epatch "${FILESDIR}/${PN}-2.2_qa_msg.patch"
+
+ rm -fr src/rl_addons/renderPM/libart_lgpl
+ epatch "${FILESDIR}/${PN}-2.4-external_libart_lgpl.patch"
+
+ eprefixify setup.py
+
+ epatch "${FILESDIR}/${PN}-2.5-pypy-implicit-PyArg_NoArgs.patch"
+}
+
+src_compile() {
+ append-cflags -fno-strict-aliasing
+ distutils-r1_src_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ cd docs || die
+ "${PYTHON}" genAll.py || die "docs generation failed"
+ fi
+}
+
+python_test() {
+ pushd tests > /dev/null || die
+ "${PYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use doc && dodoc docs/*.pdf
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r demos
+ insinto /usr/share/doc/${PF}/tools/pythonpoint
+ doins -r tools/pythonpoint/demos
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/reportlab/reportlab-3.1.44-r1.ebuild b/dev-python/reportlab/reportlab-3.1.44-r1.ebuild
new file mode 100644
index 000000000000..ab1363217e91
--- /dev/null
+++ b/dev-python/reportlab/reportlab-3.1.44-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+# Tests crash with pypy
+
+inherit distutils-r1 flag-o-matic prefix
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="http://www.reportlab.com/"
+SRC_URI="
+ mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
+ http://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/pillow-2.4.0[tiff,${PYTHON_USEDEP}]
+ >=dev-python/pip-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-2.2[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-libs/libart_lgpl
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+python_prepare_all() {
+ sed -i \
+ -e "s|/usr/lib/X11/fonts/TrueType/|${EPREFIX}/usr/share/fonts/dejavu/|" \
+ -e 's|/usr/local/Acrobat|/opt/Acrobat|g' \
+ -e 's|%(HOME)s/fonts|%(HOME)s/.fonts|g' \
+ src/reportlab/rl_config.py || die
+
+ eprefixify setup.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ pushd tests > /dev/null || die
+ "${PYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( demos/. tools/pythonpoint/demos )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/reportlab/reportlab-3.2.0.ebuild b/dev-python/reportlab/reportlab-3.2.0.ebuild
new file mode 100644
index 000000000000..1cfcdefce4d8
--- /dev/null
+++ b/dev-python/reportlab/reportlab-3.2.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} ) # Tests crash with pypy
+inherit distutils-r1 flag-o-matic prefix
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="http://www.reportlab.com/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
+ http://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ >=dev-python/pillow-2.4.0[tiff,truetype,${PYTHON_USEDEP}]
+ >=dev-python/pip-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-2.2[${PYTHON_USEDEP}]
+ media-libs/libart_lgpl
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+python_prepare_all() {
+ sed -i \
+ -e 's|/usr/local/Acrobat|/opt/Acrobat|g' \
+ -e 's|%(HOME)s/fonts|%(HOME)s/.fonts|g' \
+ src/reportlab/rl_config.py || die
+
+ eprefixify setup.py
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ pushd tests > /dev/null || die
+ "${PYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ use examples && local EXAMPLES=( demos/. tools/pythonpoint/demos )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/repoze-lru/Manifest b/dev-python/repoze-lru/Manifest
new file mode 100644
index 000000000000..2df771dc0168
--- /dev/null
+++ b/dev-python/repoze-lru/Manifest
@@ -0,0 +1 @@
+DIST repoze.lru-0.6.tar.gz 19814 SHA256 0f7a323bf716d3cb6cb3910cd4fccbee0b3d3793322738566ecce163b01bbd31 SHA512 32732286f41ac6ad55e65fa15907e44558e7fbf089d1565c9c413be7c4af158b7a8ef9fc6be68998f8a9b4cd836028b8e706ba508a328a7fa338e95364e968db WHIRLPOOL b79539325e2529295d8da8b084d698150961ed648470d0f79d2a9533284b146c0713551dab860880cc6fd851c3afe5a99f549e6b0971539bfb24ba1c3ab738b6
diff --git a/dev-python/repoze-lru/metadata.xml b/dev-python/repoze-lru/metadata.xml
new file mode 100644
index 000000000000..6a927037604c
--- /dev/null
+++ b/dev-python/repoze-lru/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">repoze.lru</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/repoze-lru/repoze-lru-0.6-r1.ebuild b/dev-python/repoze-lru/repoze-lru-0.6-r1.ebuild
new file mode 100644
index 000000000000..eafca1f557dc
--- /dev/null
+++ b/dev-python/repoze-lru/repoze-lru-0.6-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A tiny LRU cache implementation and decorator"
+HOMEPAGE="http://www.repoze.org"
+SRC_URI="mirror://pypi/${P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/repoze-sphinx-autointerface/Manifest b/dev-python/repoze-sphinx-autointerface/Manifest
new file mode 100644
index 000000000000..3d4129088b3a
--- /dev/null
+++ b/dev-python/repoze-sphinx-autointerface/Manifest
@@ -0,0 +1 @@
+DIST repoze.sphinx.autointerface-0.7.1.tar.gz 7892 SHA256 97ef5fac0ab0a96f1578017f04aea448651fa9f063fc43393a8253bff8d8d504 SHA512 e2b2a41647a6e349bd33df8fcc08d2560f2a58b94a054bfcc9176cdcd97513ce78cc31945c7c12fd14f7906d21b23ba9c3fac0a06ed0c92ad7b89f73b5bf7ff4 WHIRLPOOL 2589c2ec262a9784d7a686550a748795a3892996d8c1efa05c300001471a273f801c085db394b80465ad1f0b2d7afbb680095d201cdbe4102447e8e4b62ffd05
diff --git a/dev-python/repoze-sphinx-autointerface/metadata.xml b/dev-python/repoze-sphinx-autointerface/metadata.xml
new file mode 100644
index 000000000000..266dfde2c0ad
--- /dev/null
+++ b/dev-python/repoze-sphinx-autointerface/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">repoze.sphinx.autointerface</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/repoze-sphinx-autointerface/repoze-sphinx-autointerface-0.7.1.ebuild b/dev-python/repoze-sphinx-autointerface/repoze-sphinx-autointerface-0.7.1.ebuild
new file mode 100644
index 000000000000..732a0a95f6e9
--- /dev/null
+++ b/dev-python/repoze-sphinx-autointerface/repoze-sphinx-autointerface-0.7.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=${PN//-/.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Sphinx extension: auto-generates API docs from Zope interfaces"
+HOMEPAGE="https://pypi.python.org/pypi/repoze.sphinx.autointerface/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/repoze-who/Manifest b/dev-python/repoze-who/Manifest
new file mode 100644
index 000000000000..5c01e6f83787
--- /dev/null
+++ b/dev-python/repoze-who/Manifest
@@ -0,0 +1 @@
+DIST repoze.who-2.2.tar.gz 308593 SHA256 322629ec7c779dce4700e8f3ba531002b724d2429178c1cbb0dc169255dc9a8b SHA512 1d4ea83e0b5c0d57ff56e19b9922d88b37bca4dfd5ec49df2bf5a1f2aeae15a5698f839e0071cda8cedee69fe4abbfdcb3fa632d4d4c8407739999853df87f63 WHIRLPOOL 24985fd0187131a2062e45529ae656a9de8ff86b3663862872d32cc38b138670b848905d6470496b1b9036c0dccd0ff139282447af133595d4d9f196a0e52915
diff --git a/dev-python/repoze-who/metadata.xml b/dev-python/repoze-who/metadata.xml
new file mode 100644
index 000000000000..a61ca1538e10
--- /dev/null
+++ b/dev-python/repoze-who/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ an identification and authentication framework for WSGI.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">repoze.who</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/repoze-who/repoze-who-2.2.ebuild b/dev-python/repoze-who/repoze-who-2.2.ebuild
new file mode 100644
index 000000000000..a07996e1abbc
--- /dev/null
+++ b/dev-python/repoze-who/repoze-who-2.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="repoze.who is an identification and authentication framework for WSGI."
+HOMEPAGE="http://www.repoze.org"
+SRC_URI="mirror://pypi/${PN:0:1}/repoze.who/repoze.who-${PV}.tar.gz"
+S="${WORKDIR}/repoze.who-${PV}"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest
new file mode 100644
index 000000000000..087df62ac2da
--- /dev/null
+++ b/dev-python/requests-cache/Manifest
@@ -0,0 +1,2 @@
+DIST requests-cache-0.4.10.tar.gz 27979 SHA256 671969d00719fa3e80476b128dc9232025926884d0110d4d235abdd9c3508fc0 SHA512 83cc1400cfc62f4bb32f367ac25e298ef61f44d64f0359b721a5203a04622f5a1e446c71832e748342c444416ad8a1d89267d6ec4cc9feda30f2d97de9c25f43 WHIRLPOOL 2f15b7e64a80de1c6b8f205c59553fd8cb7ec39cbd6b30e9f113f56d07cbc3978377c41a54a00d4542d249c88ad4d647c034b8e1521b4933d4cdb237ab0ac056
+DIST requests-cache-0.4.9.tar.gz 27502 SHA256 9261ebd0ff51cb21cc0e7c81a6e758afa77a7944cf8ee4646226febc1c849f5f SHA512 67dfe1ef790248763922f3ba0af1d8b179b860b7dd90231b7edb595b8466dbc3daad1e6ae536456b5cda7a5d6d642c61e410b81dda8a2a53c544b70280b1ee05 WHIRLPOOL 4845ebf5f900f47a590f02ccc7b190aaa003501d5af3dbc4cf7cebd2bd19cf85afc123f81b0c4ee3df7048b2042ef4bbba93c7aad01e25d8d545413feca4c932
diff --git a/dev-python/requests-cache/metadata.xml b/dev-python/requests-cache/metadata.xml
new file mode 100644
index 000000000000..7ad6e2f72212
--- /dev/null
+++ b/dev-python/requests-cache/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>zx2c4@gentoo.org</email>
+ <name>Jason A. Donenfeld</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">requests-cache</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/requests-cache/requests-cache-0.4.10.ebuild b/dev-python/requests-cache/requests-cache-0.4.10.ebuild
new file mode 100644
index 000000000000..27e72953abb5
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-0.4.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+HOMEPAGE="https://pypi.python.org/pypi/requests-cache"
+DESCRIPTION="Persistent cache for requests library"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+# Portage only has versions of request >= minimum border
+RDEPEND=">=dev-python/requests-2.6[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Testsuite excels in tests connecting to the network via local server daemons
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/requests-cache/requests-cache-0.4.9.ebuild b/dev-python/requests-cache/requests-cache-0.4.9.ebuild
new file mode 100644
index 000000000000..94a44ebfd7a7
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-0.4.9.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+HOMEPAGE="https://pypi.python.org/pypi/requests-cache"
+DESCRIPTION="Persistent cache for requests library"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+# Portage only has versions of request >= minimum border
+RDEPEND=">=dev-python/requests-1.0.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+# Testsuite excels in tests connecting to the network via local server daemons
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/requests-mock/Manifest b/dev-python/requests-mock/Manifest
new file mode 100644
index 000000000000..38adcd5e1589
--- /dev/null
+++ b/dev-python/requests-mock/Manifest
@@ -0,0 +1,2 @@
+DIST requests-mock-0.5.1.tar.gz 29729 SHA256 b1b1b864e633418c77f33d333b0fd88cb6123bfb816706b236f7b1db99795056 SHA512 79a270501cfee425af81b5d0ab7fcbebe08eca0ff8f9f57dab769bec7918f44ab7ca4a4b683ae195a5c8c6020d4730cf0c1482f6ff21cbbbea700491cc455903 WHIRLPOOL 87d2591e70dedd8a5bfae485dc0df411e5ed9ad1442f7e5f2d62d134c8e536e09b30f3b8c0f92def4b5c5f5df56fdd21eef9d4fde659ca5605bd17181f593021
+DIST requests-mock-0.6.0.tar.gz 31645 SHA256 a1f10ee53fef6aac6ca54cfb8fdb1b7ca6da59d68ea1a8c21ac513211842ad3e SHA512 5c23c1fdd3746f2b3b49508b7f05abb365e0608a32b6ead5d0ef18203bf75ab642626229e96b2e8826216d0f090f1bbd41bdfa78dd56f305a996a57f1e16179e WHIRLPOOL 65af690e429a09bc4358f1b0c387e3fff3faaf962cacd247c11c01ba84f79b3fe06b0dd801e9dab829550a5a340e562aa3ceb6a61e4307c14b5a16fdba8a1a7a
diff --git a/dev-python/requests-mock/metadata.xml b/dev-python/requests-mock/metadata.xml
new file mode 100644
index 000000000000..fd6d3b64fde4
--- /dev/null
+++ b/dev-python/requests-mock/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">requests-mock</remote-id>
+ <remote-id type="github">jamielennox/requests-mock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/requests-mock/requests-mock-0.5.1.ebuild b/dev-python/requests-mock/requests-mock-0.5.1.ebuild
new file mode 100644
index 000000000000..dd11a40202df
--- /dev/null
+++ b/dev-python/requests-mock/requests-mock-0.5.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock out responses from the requests package"
+HOMEPAGE="https://github.com/jamielennox/requests-mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/requests-mock/requests-mock-0.6.0.ebuild b/dev-python/requests-mock/requests-mock-0.6.0.ebuild
new file mode 100644
index 000000000000..93b1c01cefb3
--- /dev/null
+++ b/dev-python/requests-mock/requests-mock-0.6.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock out responses from the requests package"
+HOMEPAGE="https://github.com/jamielennox/requests-mock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=TRUE
+
+ rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
+
+ testr init || die "testr init failed under ${EPYTHON}"
+ testr run || die "testr run failed under ${EPYTHON}"
+}
diff --git a/dev-python/requests-oauthlib/Manifest b/dev-python/requests-oauthlib/Manifest
new file mode 100644
index 000000000000..3851474252e2
--- /dev/null
+++ b/dev-python/requests-oauthlib/Manifest
@@ -0,0 +1 @@
+DIST requests-oauthlib-0.4.1.tar.gz 34945 SHA256 446e44c937bdb1ff9d62b8892c8df04614a910bc825b9e57aa0916fcad28a26f SHA512 ac4b33757ba1f8eea152ce7fe63bdb1b7b56c741e6743f740b9470b1b27244975d4ff7d5dea3dce3b59136e4eec825d538c6085545837d8433b395b500b425c1 WHIRLPOOL dec0b688910d404cc10e8554ebc2e58038e49386c6cf7c64a2e89c65dba4bda88d21dd2cefa57ffee3da90fb01746fa89b161a0e6768ff4215e29dd82f3e88cb
diff --git a/dev-python/requests-oauthlib/files/requests-oauthlib-0.4.0-expires_at.patch b/dev-python/requests-oauthlib/files/requests-oauthlib-0.4.0-expires_at.patch
new file mode 100644
index 000000000000..517e4a29fc09
--- /dev/null
+++ b/dev-python/requests-oauthlib/files/requests-oauthlib-0.4.0-expires_at.patch
@@ -0,0 +1,61 @@
+https://github.com/requests/requests-oauthlib/commit/7057cbee773c1dff1856730ca661cc71abb2506e.diff
+https://github.com/requests/requests-oauthlib/commit/8c2c96c4bb45803df2779cfde90868445977ab96.diff
+diff --git a/tests/test_oauth2_session.py b/tests/test_oauth2_session.py
+index 305241a..cf095a5 100644
+--- a/tests/test_oauth2_session.py
++++ b/tests/test_oauth2_session.py
+@@ -1,6 +1,7 @@
+ from __future__ import unicode_literals
+ import json
+ import mock
++import time
+ import unittest
+
+ from oauthlib.common import urlencode
+@@ -11,6 +11,9 @@
+ from requests_oauthlib import OAuth2Session, TokenUpdated
+
+
++fake_time = time.time()
++
++
+ class OAuth2SessionTest(unittest.TestCase):
+
+ def setUp(self):
+@@ -22,7 +25,8 @@ def setUp(self):
+ 'token_type': 'Bearer',
+ 'access_token': 'asdfoiw37850234lkjsdfsdf',
+ 'refresh_token': 'sldvafkjw34509s8dfsdf',
+- 'expires_in': '3600'
++ 'expires_in': '3600',
++ 'expires_at': fake_time + 3600,
+ }
+ self.client_id = 'foo'
+ self.clients = [
+@@ -66,9 +70,11 @@ def test_authorization_url(self):
+ self.assertIn(self.client_id, auth_url)
+ self.assertIn('response_type=token', auth_url)
+
++ @mock.patch("time.time", new=lambda: fake_time)
+ def test_refresh_token_request(self):
+ self.expired_token = dict(self.token)
+ self.expired_token['expires_in'] = '-1'
++ del self.expired_token['expires_at']
+
+ def fake_refresh(r, **kwargs):
+ resp = mock.MagicMock()
+@@ -98,12 +104,14 @@ def token_updater(token):
+ auth.send = fake_refresh
+ auth.get('https://i.b')
+
++ @mock.patch("time.time", new=lambda: fake_time)
+ def test_token_from_fragment(self):
+ mobile = MobileApplicationClient(self.client_id)
+ response_url = 'https://i.b/callback#' + urlencode(self.token.items())
+ auth = OAuth2Session(client=mobile)
+ self.assertEqual(auth.token_from_fragment(response_url), self.token)
+
++ @mock.patch("time.time", new=lambda: fake_time)
+ def test_fetch_token(self):
+ def fake_token(token):
+ def fake_send(r, **kwargs):
diff --git a/dev-python/requests-oauthlib/metadata.xml b/dev-python/requests-oauthlib/metadata.xml
new file mode 100644
index 000000000000..8d601f653b24
--- /dev/null
+++ b/dev-python/requests-oauthlib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">requests/requests-oauthlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/requests-oauthlib/requests-oauthlib-0.4.1.ebuild b/dev-python/requests-oauthlib/requests-oauthlib-0.4.1.ebuild
new file mode 100644
index 000000000000..d0cf3c83b139
--- /dev/null
+++ b/dev-python/requests-oauthlib/requests-oauthlib-0.4.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="This project provides first-class OAuth library support for Requests"
+HOMEPAGE="https://github.com/requests/requests-oauthlib"
+SRC_URI="https://github.com/requests/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="ISC"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+RDEPEND="
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]"
+
+#Refrain from a doc build for now
+#python_compile_all() {
+# use doc && emake -C docs html
+#}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/requests/Manifest b/dev-python/requests/Manifest
new file mode 100644
index 000000000000..adcb5a1637d5
--- /dev/null
+++ b/dev-python/requests/Manifest
@@ -0,0 +1,3 @@
+DIST requests-2.6.0.tar.gz 450389 SHA256 1cdbed1f0e236f35ef54e919982c7a338e4fea3786310933d3a7887a04b74d75 SHA512 703728e04f4ae5f083892e1ad0cb54777ebcc0120fca9cd3c170e33233fccbb64a635e141e6d7b9c1f1f9d62dc00aa7c66ea890ae62cd6581c881c071a707510 WHIRLPOOL 3e65c251e164937092f349c943472b7e625b0fd963beb53a2b0f7b3b94063b833929b38082ec97298c26145b867334c38b9987c29cbeed5f4d59119f12c53a20
+DIST requests-2.6.1.tar.gz 450975 SHA256 490b111c824d64b84797a899a4c22618bbc45323ac24a0a0bb4b73a8758e943c SHA512 8f88a52f1c10fb909a8e1d17e55be8878c032877e6cb61ffadcb3d1ad1e293d763ea0f7627308ac9df75e17661b4ff8c92464e77d41b05b1b7856b22a3423e49 WHIRLPOOL cb5168f41119fd76a30db511961ba6e852c1eec3941d79e287b782201632f1fc7206004c38a34474014a1463e902ded88056438ccaa7d4107e27c40300dbe0a1
+DIST requests-2.7.0.tar.gz 451723 SHA256 398a3db6d61899d25fd4a06c6ca12051b0ce171d705decd7ed5511517b4bb93d SHA512 a93223c3fd21c58f7c0c901b17be17c23dba4efeed8c4347da9d4e04d96a6698e08e01482205661cb7757cc7560d9ae2e62b18f2b422af0cb90fd998fe963ff2 WHIRLPOOL b805d76ad747fc8a754fb0ca0439e8f303df057c2b256ed7f57533b311322e4e28b0d8f22111a3c5ad283823c1256cd24c93fec2aeabc6946013c17ab3540dd9
diff --git a/dev-python/requests/files/requests-2.2.0-system-chardet.patch b/dev-python/requests/files/requests-2.2.0-system-chardet.patch
new file mode 100644
index 000000000000..18fc7a992bf5
--- /dev/null
+++ b/dev-python/requests/files/requests-2.2.0-system-chardet.patch
@@ -0,0 +1,21 @@
+--- requests-2.2.0/requests/compat.py
++++ requests-2.2.0/requests/compat.py
+@@ -4,7 +4,7 @@
+ pythoncompat
+ """
+
+-from .packages import chardet
++import chardet
+
+ import sys
+
+--- requests-2.2.0/setup.py
++++ requests-2.2.0/setup.py
+@@ -17,7 +17,6 @@
+ packages = [
+ 'requests',
+ 'requests.packages',
+- 'requests.packages.chardet',
+ 'requests.packages.urllib3',
+ 'requests.packages.urllib3.packages',
+ 'requests.packages.urllib3.contrib',
diff --git a/dev-python/requests/files/requests-2.4.0-system-cacerts.patch b/dev-python/requests/files/requests-2.4.0-system-cacerts.patch
new file mode 100644
index 000000000000..e3a41d9dadbc
--- /dev/null
+++ b/dev-python/requests/files/requests-2.4.0-system-cacerts.patch
@@ -0,0 +1,14 @@
+diff -ur requests-2.4.0.orig/requests/certs.py requests-2.4.0/requests/certs.py
+--- requests/certs.py 2014-08-20 00:52:58.000000000 +0800
++++ requests/certs.py 2014-09-09 14:17:33.237264068 +0800
+@@ -18,6 +18,10 @@
+ except ImportError:
+ def where():
+ """Return the preferred certificate bundle."""
++ cacerts = '/etc/ssl/certs/ca-certificates.crt'
++ if os.path.exists(cacerts):
++ return cacerts
++
+ # vendored bundle inside Requests
+ return os.path.join(os.path.dirname(__file__), 'cacert.pem')
+
diff --git a/dev-python/requests/files/requests-2.5.0-system-cacerts.patch b/dev-python/requests/files/requests-2.5.0-system-cacerts.patch
new file mode 100644
index 000000000000..f0d9e943e90b
--- /dev/null
+++ b/dev-python/requests/files/requests-2.5.0-system-cacerts.patch
@@ -0,0 +1,24 @@
+--- requests-2.5.0/requests/certs.py
++++ requests-2.5.0/requests/certs.py
+@@ -13,13 +13,14 @@
+ """
+ import os.path
+
+-try:
+- from certifi import where
+-except ImportError:
+- def where():
+- """Return the preferred certificate bundle."""
+- # vendored bundle inside Requests
+- return os.path.join(os.path.dirname(__file__), 'cacert.pem')
++def where():
++ """Return the preferred certificate bundle."""
++ cacerts = '/etc/ssl/certs/ca-certificates.crt'
++ if os.path.exists(cacerts):
++ return cacerts
++
++ # vendored bundle inside Requests
++ return os.path.join(os.path.dirname(__file__), 'cacert.pem')
+
+ if __name__ == '__main__':
+ print(where())
diff --git a/dev-python/requests/metadata.xml b/dev-python/requests/metadata.xml
new file mode 100644
index 000000000000..875d26fa6c23
--- /dev/null
+++ b/dev-python/requests/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">requests</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/requests/requests-2.6.0.ebuild b/dev-python/requests/requests-2.6.0.ebuild
new file mode 100644
index 000000000000..bed97e1ef645
--- /dev/null
+++ b/dev-python/requests/requests-2.6.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library for human beings"
+HOMEPAGE="http://python-requests.org/ http://pypi.python.org/pypi/requests"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+# bundles dev-python/urllib3 snapshot
+RDEPEND="app-misc/ca-certificates
+ >=dev-python/chardet-2.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# tests connect to various remote sites
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.0-system-chardet.patch
+ "${FILESDIR}"/${PN}-2.5.0-system-cacerts.patch
+)
+
+python_prepare_all() {
+ # use system chardet
+ rm -r requests/packages/chardet || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test_requests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/requests/requests-2.6.1.ebuild b/dev-python/requests/requests-2.6.1.ebuild
new file mode 100644
index 000000000000..656e66771fec
--- /dev/null
+++ b/dev-python/requests/requests-2.6.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library for human beings"
+HOMEPAGE="http://python-requests.org/ http://pypi.python.org/pypi/requests"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+# bundles dev-python/urllib3 snapshot
+RDEPEND="
+ app-misc/ca-certificates
+ >=dev-python/chardet-2.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# tests connect to various remote sites
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.0-system-chardet.patch
+ "${FILESDIR}"/${PN}-2.5.0-system-cacerts.patch
+)
+
+python_prepare_all() {
+ # use system chardet
+ rm -r requests/packages/chardet || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test_requests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/requests/requests-2.7.0.ebuild b/dev-python/requests/requests-2.7.0.ebuild
new file mode 100644
index 000000000000..656e66771fec
--- /dev/null
+++ b/dev-python/requests/requests-2.7.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library for human beings"
+HOMEPAGE="http://python-requests.org/ http://pypi.python.org/pypi/requests"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+# bundles dev-python/urllib3 snapshot
+RDEPEND="
+ app-misc/ca-certificates
+ >=dev-python/chardet-2.2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+# tests connect to various remote sites
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.0-system-chardet.patch
+ "${FILESDIR}"/${PN}-2.5.0-system-cacerts.patch
+)
+
+python_prepare_all() {
+ # use system chardet
+ rm -r requests/packages/chardet || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test_requests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/restkit/Manifest b/dev-python/restkit/Manifest
new file mode 100644
index 000000000000..8f3fdd140ed1
--- /dev/null
+++ b/dev-python/restkit/Manifest
@@ -0,0 +1 @@
+DIST restkit-4.2.2.tar.gz 1275904 SHA256 c0bda8eb7c643b5e818b612dab49121393abc8589c6cbe9b84085079d598599d SHA512 5ed08535e1a54b5594d97b059d8662ab4bc19c68e71a30719c4a533cba0f2d0e18872119752c62136563a32281e8f747414fbf843fd97dba138107ffcb5d1e4b WHIRLPOOL 6a6e336fc1ce5a6499a9886d6a131d7b9e117323467da62ff11278ae1713254d7ebc05a71221ccb9b3f092999902a94282397b9aa983c89758e39221d9dbee96
diff --git a/dev-python/restkit/files/setup.patch b/dev-python/restkit/files/setup.patch
new file mode 100644
index 000000000000..cfa8959539e1
--- /dev/null
+++ b/dev-python/restkit/files/setup.patch
@@ -0,0 +1,23 @@
+diff -ur restkit-4.2.2.org/setup.py restkit-4.2.2/setup.py
+--- setup.py 2013-08-30 23:07:36.000000000 +0800
++++ setup.py 2015-01-16 21:38:04.342084550 +0800
+@@ -38,11 +38,6 @@
+ with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as f:
+ long_description = f.read()
+
+- DATA_FILES = [
+- ('restkit', ["LICENSE", "MANIFEST.in", "NOTICE", "README.rst",
+- "THANKS", "TODO.txt"])
+- ]
+-
+ options=dict(
+ name = 'restkit',
+ version = version.__version__,
+@@ -54,7 +49,6 @@
+ url = 'http://benoitc.github.com/restkit',
+ classifiers = CLASSIFIERS,
+ packages = find_packages(exclude=['tests']),
+- data_files = DATA_FILES,
+ scripts = SCRIPTS,
+ zip_safe = False,
+ entry_points = {
diff --git a/dev-python/restkit/metadata.xml b/dev-python/restkit/metadata.xml
new file mode 100644
index 000000000000..b3dc00ef318c
--- /dev/null
+++ b/dev-python/restkit/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>dev-zero@gentoo.org</email>
+ <name>Tiziano Müller</name>
+ </maintainer>
+ <use>
+ <flag name="cli">Install the restcli command line interface/tool, based on <pkg>dev-python/ipython</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">restkit</remote-id>
+ <remote-id type="github">benoitc/restkit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/restkit/restkit-4.2.2.ebuild b/dev-python/restkit/restkit-4.2.2.ebuild
new file mode 100644
index 000000000000..bca76a22e0ae
--- /dev/null
+++ b/dev-python/restkit/restkit-4.2.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A HTTP ressource kit for Python"
+HOMEPAGE="http://github.com/benoitc/restkit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="+cli doc examples test"
+
+PY27_USEDEP="$(python_gen_usedep python2_7)"
+RDEPEND="cli? ( dev-python/ipython[${PY27_USEDEP}] )
+ dev-python/webob[${PYTHON_USEDEP}]
+ >=dev-python/socketpool-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/http-parser-0.8.3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/epydoc[${PY27_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+# prevent duplicate install of data files
+PATCHES=( "${FILESDIR}"/setup.patch )
+
+python_compile_all() {
+ if use doc ; then
+ pushd doc > /dev/null
+ emake html
+ popd > /dev/null
+ fi
+}
+
+python_test() {
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use cli || rm "${D}"/usr/bin/restcli* || die
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/retry-decorator/Manifest b/dev-python/retry-decorator/Manifest
new file mode 100644
index 000000000000..4363abae596e
--- /dev/null
+++ b/dev-python/retry-decorator/Manifest
@@ -0,0 +1 @@
+DIST retry-decorator-1.0.0.tar.gz 2835 SHA256 95b8861166e162e5259e798eb259217c59bdb8b21f055fd7f5bb4b7686fb5eae SHA512 f650740dd6d05010b7418b4d5ae7351058eb4418dabf7329390eaacceb72db60363bae8ff0bb15284301f0b5bfd9bfb731e71fdffb7231065a4db7ed6ce86da2 WHIRLPOOL ac40c8276423d9ad50e1b46d1981dae0c61e15309d1d217c4064fd0649b4fcaed940d1fd736c7a74da8757ecdfc87debe45bd21310549d35809e0da1d7da57fd
diff --git a/dev-python/retry-decorator/metadata.xml b/dev-python/retry-decorator/metadata.xml
new file mode 100644
index 000000000000..d8910af20cf0
--- /dev/null
+++ b/dev-python/retry-decorator/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">pnpnpn/retry-decorator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/retry-decorator/retry-decorator-1.0.0.ebuild b/dev-python/retry-decorator/retry-decorator-1.0.0.ebuild
new file mode 100644
index 000000000000..4751a2178503
--- /dev/null
+++ b/dev-python/retry-decorator/retry-decorator-1.0.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Decorator for retrying when exceptions occur"
+HOMEPAGE="https://github.com/pnpnpn/retry-decorator"
+SRC_URI="https://github.com/pnpnpn/retry-decorator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( README.rst )
diff --git a/dev-python/retrying/Manifest b/dev-python/retrying/Manifest
new file mode 100644
index 000000000000..7ba88b2f75e2
--- /dev/null
+++ b/dev-python/retrying/Manifest
@@ -0,0 +1 @@
+DIST retrying-1.3.2.tar.gz 10811 SHA256 320c4be55bfd9366d67c17beb09c9ac9624c7fab1d59e41641f37ae3b2b1f5ca SHA512 1209ff3f45ba6d3ae1f8ea2700cc1eab406601954e7317cfe6fa5a448183efe9065a6bd11fd4560d0cc66ffc10c8e7b29652e515dd95a1f14304dc4f4378ace8 WHIRLPOOL 5c03ec7993f8f946d5b953f8f315fcd819d3be379efcacd1a91424f682260abb77565ef9bd3327a03de82333f0a5a6f0d9fef25091f8b4b03a92d7328f1a4e61
diff --git a/dev-python/retrying/metadata.xml b/dev-python/retrying/metadata.xml
new file mode 100644
index 000000000000..d97f4a44bf78
--- /dev/null
+++ b/dev-python/retrying/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">retrying</remote-id>
+ <remote-id type="github">rholder/retrying</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/retrying/retrying-1.3.2.ebuild b/dev-python/retrying/retrying-1.3.2.ebuild
new file mode 100644
index 000000000000..29f677cb591f
--- /dev/null
+++ b/dev-python/retrying/retrying-1.3.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Retrying is a general-purpose retrying library."
+HOMEPAGE="https://github.com/rholder/retrying"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/reverend/Manifest b/dev-python/reverend/Manifest
new file mode 100644
index 000000000000..6ab43dfbb12b
--- /dev/null
+++ b/dev-python/reverend/Manifest
@@ -0,0 +1 @@
+DIST Reverend-0.4.tar.gz 12147 SHA256 33f801891bc84cd1adcbd8e1c4d53841bb27451f89b32c0418512c655a4c2054 SHA512 6d61c61ccdcca5b8c79fd230f9cd825335c9bf873c3b512170261886d7194b719d9811d7318014d0e931383efc51d995579f3199295c1b545bfd8fa4550a2452 WHIRLPOOL b449d2509f326e6bf194d698211bd4704025ab8f590996ed5e80f622cd41c7494fba345d4e2720fba141a0de1c0f953547a5f00d5f5c6c46b8d90874d4a5d358
diff --git a/dev-python/reverend/metadata.xml b/dev-python/reverend/metadata.xml
new file mode 100644
index 000000000000..bc09d5b5945e
--- /dev/null
+++ b/dev-python/reverend/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>neurogeek@gentoo.org</email>
+ <name>Jesus Rivero</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Reverend</remote-id>
+ <remote-id type="sourceforge">reverend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/reverend/reverend-0.4-r1.ebuild b/dev-python/reverend/reverend-0.4-r1.ebuild
new file mode 100644
index 000000000000..71bde2f15be0
--- /dev/null
+++ b/dev-python/reverend/reverend-0.4-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="Reverend"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Reverend - Simple Bayesian classifier"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodReverend http://pypi.python.org/pypi/Reverend"
+SRC_URI="mirror://sourceforge/reverend/${MY_P}.tar.gz mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rfc3986/Manifest b/dev-python/rfc3986/Manifest
new file mode 100644
index 000000000000..b084e29d3194
--- /dev/null
+++ b/dev-python/rfc3986/Manifest
@@ -0,0 +1 @@
+DIST rfc3986-0.2.0.tar.gz 14522 SHA256 8a7b3f6cfdfb969c2e876513e87c30ebe1e4bdc9fae4a63c701eee88bbec9b22 SHA512 e16a7b690597e1d3bce0869e1bd7aecb60926b61da38e8b7170d920d73130512d4017426461d755792c2ea691b5c01ae8955e0b9818679e795b7338794b66d83 WHIRLPOOL 03bc5ca0d5e2cc06f8bc68029dfccfa71820512b546caeaddfe66f2233a9346d4ae3123c69efaee2b90258acdb3f0cde8f2ee84f4f29c0e1375f4fb9fc56effa
diff --git a/dev-python/rfc3986/metadata.xml b/dev-python/rfc3986/metadata.xml
new file mode 100644
index 000000000000..30fbe982e3bc
--- /dev/null
+++ b/dev-python/rfc3986/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Validating URI References per RFC 3986
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rfc3986</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rfc3986/rfc3986-0.2.0.ebuild b/dev-python/rfc3986/rfc3986-0.2.0.ebuild
new file mode 100644
index 000000000000..b7be2f987615
--- /dev/null
+++ b/dev-python/rfc3986/rfc3986-0.2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Validating URI References per RFC 3986"
+HOMEPAGE="http://tools.ietf.org/html/rfc3986"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND=""
diff --git a/dev-python/rlcompleter2/Manifest b/dev-python/rlcompleter2/Manifest
new file mode 100644
index 000000000000..41e086046e7a
--- /dev/null
+++ b/dev-python/rlcompleter2/Manifest
@@ -0,0 +1 @@
+DIST rlcompleter2-0.98.tar.gz 10581 SHA256 41d00709f4275af49605461cecb935eac5e1d4a39bf0c34f6e0c5a1e00304617 SHA512 577118a8e94fe71a682a1210f5b156f5fa1078ae30efb1913e4b64569adfc44c64eadb993e9180d98243975589555204ede444fdd80d9094d279ede81e9e1801 WHIRLPOOL 03f649df9419e511de417d75294fe39db0ea55a4c09398986c9c59ae93fced6fa9817a0c5f26055c1119a281fbf0355891d5de7ddbd636a361ac72c538a3c929
diff --git a/dev-python/rlcompleter2/metadata.xml b/dev-python/rlcompleter2/metadata.xml
new file mode 100644
index 000000000000..649fc1495ae0
--- /dev/null
+++ b/dev-python/rlcompleter2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">rlcompleter2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rlcompleter2/rlcompleter2-0.98-r1.ebuild b/dev-python/rlcompleter2/rlcompleter2-0.98-r1.ebuild
new file mode 100644
index 000000000000..c418f75527eb
--- /dev/null
+++ b/dev-python/rlcompleter2/rlcompleter2-0.98-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python command line completion"
+HOMEPAGE="http://codespeak.net/rlcompleter2/ http://pypi.python.org/pypi/rlcompleter2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+pkg_postinst() {
+ ewarn "Please read the README, and follow instructions in order to"
+ ewarn "execute and configure rlcompleter2."
+}
diff --git a/dev-python/rlcompleter2/rlcompleter2-0.98.ebuild b/dev-python/rlcompleter2/rlcompleter2-0.98.ebuild
new file mode 100644
index 000000000000..4921fcd19424
--- /dev/null
+++ b/dev-python/rlcompleter2/rlcompleter2-0.98.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython"
+
+inherit distutils
+
+DESCRIPTION="Python command line completion"
+HOMEPAGE="http://codespeak.net/rlcompleter2/ http://pypi.python.org/pypi/rlcompleter2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+PYTHON_MODNAME="rlcompleter2.py"
+
+pkg_postinst() {
+ ewarn "Please read the README, and follow instructions in order to"
+ ewarn "execute and configure rlcompleter2."
+}
diff --git a/dev-python/robotframework-selenium2library/Manifest b/dev-python/robotframework-selenium2library/Manifest
new file mode 100644
index 000000000000..7f660221b32d
--- /dev/null
+++ b/dev-python/robotframework-selenium2library/Manifest
@@ -0,0 +1,2 @@
+DIST robotframework-selenium2library-1.5.0.tar.gz 216937 SHA256 e173cb9a6cc8b831ec9a96a702ea36a450e599fd88a9c9d675581a7352565542 SHA512 a0897abd12655f1a3693cccebe21daa061e40bb94340081d31b587c522a2dfeff04530897f72b05ca41ee93ba8defb71941532cac700293d22051ab583f2bb61 WHIRLPOOL 7fc04c10c3a9eb980cdc482cbcadbee9b9def10912415aeaed386903fc119f577d0459004726ea2b84b86b1a63bcae341e97777631cf4b7ba69ded50376a64fb
+DIST robotframework-selenium2library-1.6.0.tar.gz 220553 SHA256 9e72fba2410e575434d6b5c3614950ebb1e807cc3e10d31702f868b26ee64dab SHA512 bb35490a8b9630451dfed0dc4695df488b177eafe356084d77e636b28240bd26a3dd496a6520e54a0fa01c0c77102e9455f4f612cd8a7ef6327cb05b4d359aee WHIRLPOOL 5c02616d9e8e7ef5653111cb1a85f135655af7126624b0aa94a944c694663edecae515d3286d2109ca4f4081ccc25d7f2352808509899375f483bf947430fd34
diff --git a/dev-python/robotframework-selenium2library/metadata.xml b/dev-python/robotframework-selenium2library/metadata.xml
new file mode 100644
index 000000000000..3be6755f6c6f
--- /dev/null
+++ b/dev-python/robotframework-selenium2library/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">rtomac/robotframework-selenium2library</remote-id>
+ <remote-id type="pypi">robotframework-selenium2library</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.5.0.ebuild b/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.5.0.ebuild
new file mode 100644
index 000000000000..e2fb0fa2d3b1
--- /dev/null
+++ b/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Web testing library for Robot Framework"
+HOMEPAGE="https://github.com/rtomac/robotframework-selenium2library/
+ http://pypi.python.org/pypi/robotframework-selenium2library/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/selenium-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.3.2[${PYTHON_USEDEP}]
+ >=dev-python/robotframework-2.6.0[${PYTHON_USEDEP}]"
+
+DOCS=( BUILD.rst CHANGES.rst README.rst )
+
+src_prepare() {
+ # don't use bundled setuptools
+ sed -e '/use_setuptools()/d' \
+ -e '/ez_setup/d' \
+ -i setup.py || die
+}
diff --git a/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.6.0.ebuild b/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.6.0.ebuild
new file mode 100644
index 000000000000..cebb1befb213
--- /dev/null
+++ b/dev-python/robotframework-selenium2library/robotframework-selenium2library-1.6.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Web testing library for Robot Framework"
+HOMEPAGE="https://github.com/rtomac/robotframework-selenium2library/
+ http://pypi.python.org/pypi/robotframework-selenium2library/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/selenium-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.3.2[${PYTHON_USEDEP}]
+ >=dev-python/robotframework-2.6.0[${PYTHON_USEDEP}]"
+
+DOCS=( BUILD.rst CHANGES.rst README.rst )
+
+src_prepare() {
+ # don't use bundled setuptools
+ sed -e '/use_setuptools()/d' \
+ -e '/ez_setup/d' \
+ -i setup.py || die
+}
diff --git a/dev-python/robotframework-selenium2library/robotframework-selenium2library-9999.ebuild b/dev-python/robotframework-selenium2library/robotframework-selenium2library-9999.ebuild
new file mode 100644
index 000000000000..08ae556578d8
--- /dev/null
+++ b/dev-python/robotframework-selenium2library/robotframework-selenium2library-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-r3
+
+EGIT_REPO_URI="git://github.com/rtomac/robotframework-selenium2library.git"
+
+DESCRIPTION="Web testing library for Robot Framework"
+HOMEPAGE="https://github.com/rtomac/robotframework-selenium2library/
+ http://pypi.python.org/pypi/robotframework-selenium2library/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/selenium-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.3.2[${PYTHON_USEDEP}]
+ >=dev-python/robotframework-2.6.0[${PYTHON_USEDEP}]"
+
+DOCS=( BUILD.rst CHANGES.rst README.rst )
+
+src_prepare() {
+ # don't use bundled setuptools
+ sed -e '/use_setuptools()/d' \
+ -e '/ez_setup/d' \
+ -i setup.py || die
+}
diff --git a/dev-python/robotframework-sshlibrary/Manifest b/dev-python/robotframework-sshlibrary/Manifest
new file mode 100644
index 000000000000..03103df7d64a
--- /dev/null
+++ b/dev-python/robotframework-sshlibrary/Manifest
@@ -0,0 +1,2 @@
+DIST robotframework-sshlibrary-2.0.2.tar.gz 86160 SHA256 e4b96e018459dcd5549586c8df49c2a5befd552fe543887702b67f8be42a324d SHA512 749629f8b6463acb011dd01cc11d1268fadff190b483ccd3545f02752d47c6eff734657e6a0dc64e5d95edcb424aa0506cc68c3b2b5b4d81955ff27efd2a0c8e WHIRLPOOL 4201cfa30db2ec9460a54c24877658311f929163b04b67faf1fc191d0929efec3bfe1e10471705c68467a8c312320b8fc2d6c6d8196adb5dda66845ea3d82c44
+DIST robotframework-sshlibrary-2.1.1.tar.gz 87787 SHA256 9f7c7f1a830363a6756867550903fe4f5324ff57cf95651a59f9298f438776cd SHA512 4ad97ff53c071831a4bdea1f54c281fc4e19903695feee23db9c8a443f95413a56f3c30f4d4decf19cef86986557020ccfde9269cde3b2437d93f549f5f40f4a WHIRLPOOL 59fa6d69805deec19f26c168f26ec1071a0cd6636c83546c28592a964592b79a5add23c125806c85414d392ab696fe4f42479e54a8ee6c7eadab51861bd315e4
diff --git a/dev-python/robotframework-sshlibrary/metadata.xml b/dev-python/robotframework-sshlibrary/metadata.xml
new file mode 100644
index 000000000000..d60a70340f85
--- /dev/null
+++ b/dev-python/robotframework-sshlibrary/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">robotframework-sshlibrary</remote-id>
+ <remote-id type="pypi">robotframework-sshlibrary</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.0.2.ebuild b/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.0.2.ebuild
new file mode 100644
index 000000000000..b9f6018c7310
--- /dev/null
+++ b/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.0.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A test library for Robot Framework that enables SSH and SFTP"
+HOMEPAGE="http://code.google.com/p/robotframework-sshlibrary/ https://pypi.python.org/pypi/robotframework-sshlibrary/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/robotframework[${PYTHON_USEDEP}]"
diff --git a/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.1.1.ebuild b/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.1.1.ebuild
new file mode 100644
index 000000000000..fa453307d8a9
--- /dev/null
+++ b/dev-python/robotframework-sshlibrary/robotframework-sshlibrary-2.1.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A test library for Robot Framework that enables SSH and SFTP"
+HOMEPAGE="http://code.google.com/p/robotframework-sshlibrary/ https://pypi.python.org/pypi/robotframework-sshlibrary/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/robotframework[${PYTHON_USEDEP}]"
diff --git a/dev-python/robotframework/Manifest b/dev-python/robotframework/Manifest
new file mode 100644
index 000000000000..38683cc5d2e3
--- /dev/null
+++ b/dev-python/robotframework/Manifest
@@ -0,0 +1,3 @@
+DIST robotframework-2.8.5.tar.gz 591686 SHA256 ea4d261f97fc4f4421616e10e228d8b748c24b8121d4be9dd03db3ba9fb0ed67 SHA512 194540254d686d70bc3e51b88d4fc3236d7d81910b2a712c71a9936a70d4bf79f36c5b90536339bedc821372830f3549476ba1e9f0a73efe37d3499c4754daee WHIRLPOOL 92e43102f8a3d8532cb5082e5b980de5ec54cc426e341b93832ac9a0f90617e7b84ae508c01c095baadb19149afbc30b25017638c1ac76e54323faab3144db91
+DIST robotframework-2.8.6.tar.gz 378985 SHA256 3bb560a8b1331a96dbdc99704f68c04052eae6021e242d8e28f9a9e9f8258442 SHA512 42e8ca60037b68be5a6f67254c4fb44819e23479fe8713ad2e13c9ea077de627dd4a4a5a06000b7c331be88ca490a5cc91a73bfd22ea06f278587a13a15f76e6 WHIRLPOOL 40c1bdf665a03a8732811a71aa7d9c4b7c40ddb62600fee6b62c9faeb169ad960d4afb84171d65593511248e0c64167257019fcfefd283de1e9f8faa9b1af758
+DIST robotframework-2.8.7.tar.gz 393256 SHA256 a8b0dff36129fa262a393965071940a2072f35278b028ce8cd72c8849206cd55 SHA512 523cc923ec0566f4bb8d4bb4d96627f6d6378b3e9921e0a995addfc80b917719279545b5623df2df9b11027ddb3e72624456918667495d9b413d276090b73c79 WHIRLPOOL 7f888ec719d2c6030a1f1ccb57eae2b56ee440c717544ca8057691fcaa3861a801c11df961a21a5146bddf8c2192d0ad9bb20c1538053335d95738d696a0518c
diff --git a/dev-python/robotframework/metadata.xml b/dev-python/robotframework/metadata.xml
new file mode 100644
index 000000000000..ee063083712e
--- /dev/null
+++ b/dev-python/robotframework/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">robotframework</remote-id>
+ <remote-id type="pypi">robotframework</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/robotframework/robotframework-2.8.5.ebuild b/dev-python/robotframework/robotframework-2.8.5.ebuild
new file mode 100644
index 000000000000..2242c717b0aa
--- /dev/null
+++ b/dev-python/robotframework/robotframework-2.8.5.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A generic test automation framework for acceptance testing and acceptance test-driven development"
+HOMEPAGE="http://robotframework.org/ https://pypi.python.org/pypi/robotframework/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/robotframework/robotframework-2.8.6.ebuild b/dev-python/robotframework/robotframework-2.8.6.ebuild
new file mode 100644
index 000000000000..2242c717b0aa
--- /dev/null
+++ b/dev-python/robotframework/robotframework-2.8.6.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A generic test automation framework for acceptance testing and acceptance test-driven development"
+HOMEPAGE="http://robotframework.org/ https://pypi.python.org/pypi/robotframework/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/robotframework/robotframework-2.8.7.ebuild b/dev-python/robotframework/robotframework-2.8.7.ebuild
new file mode 100644
index 000000000000..b2622095ebfe
--- /dev/null
+++ b/dev-python/robotframework/robotframework-2.8.7.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A generic test automation framework for acceptance testing and acceptance test-driven development"
+HOMEPAGE="http://robotframework.org/ https://pypi.python.org/pypi/robotframework/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/roman/Manifest b/dev-python/roman/Manifest
new file mode 100644
index 000000000000..afefc0115850
--- /dev/null
+++ b/dev-python/roman/Manifest
@@ -0,0 +1 @@
+DIST roman-2.0.0.zip 7590 SHA256 90e83b512b44dd7fc83d67eb45aa5eb707df623e6fc6e66e7f273abd4b2613ae SHA512 d62a95e835232821dbf7a81d0c6b7df63f18c4116cfc7eee0c691a0b31d3d7b69d2dc2e4ea26e0a169a8e24bf080e8bb1e195b853be4adf1491335a5b4d5702c WHIRLPOOL 04a0344a9443597b11a052d98c2d552cbb0d2818cc6b7fdef2e352053a5427b101357837b5128a6fa98765e0f0f708305292b0836a213d02f6f34d31e9538f0d
diff --git a/dev-python/roman/metadata.xml b/dev-python/roman/metadata.xml
new file mode 100644
index 000000000000..4caedadf2ddc
--- /dev/null
+++ b/dev-python/roman/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">roman</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/roman/roman-2.0.0.ebuild b/dev-python/roman/roman-2.0.0.ebuild
new file mode 100644
index 000000000000..2fa6c4d9898e
--- /dev/null
+++ b/dev-python/roman/roman-2.0.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An Integer to Roman numerals converter"
+HOMEPAGE="http://pypi.python.org/pypi/roman/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="!<dev-python/docutils-0.9[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip"
+
+python_test() {
+ cp "${S}/src/tests.py" . || die "copying test file failed"
+ esetup.py test
+}
diff --git a/dev-python/root_numpy/Manifest b/dev-python/root_numpy/Manifest
new file mode 100644
index 000000000000..2682c5608c64
--- /dev/null
+++ b/dev-python/root_numpy/Manifest
@@ -0,0 +1,3 @@
+DIST root_numpy-3.2.0.tar.gz 316240 SHA256 ff64ebd9c4b8e99703bed8541bbd5f69742da0e442f8ab0833319252a0bf8006 SHA512 da08a33eeb225a57053eafc6247e55fec8c56e231455c255d71d3adfb6119d35d0b41fcf54d5d99690743a525e9d5ecfcde7efe53fb0551e38affa10e336485f WHIRLPOOL d0a105dcc4c03f33d3683fcdebcf8d140e9a6b6ea4fa7f7fcf4773b03dffd4972ff571aeb8c6e85caea09cc4df0fe3e73c9853d980cb0fe944dd7255e07a2e7e
+DIST root_numpy-3.3.0.tar.gz 359688 SHA256 f658bdecada912aed0b92ea84a2e5a64660b28f1476c2387d1e208237da34e5a SHA512 97a75ed46cdb25ff6f7c680c359cc84cf1a9b0f6204d5ee9e7cf0d1bd0847910be7d0599e9a38df42593c56842d7cf6ecd982c2f3620db5c9162442af59c1acb WHIRLPOOL f03a0cf935e4e3ca55cc1d8752e29a5477f4e13972caa3cbfd09ef6902bf059d592af381d232a100cd3e25453def6e8b2530a0f5cb29333d5523d0159b315f7d
+DIST root_numpy-3.3.1.tar.gz 361107 SHA256 932de8dea0d1586fe73c07b1a0859032cce4cd122a96c2aa5f4a0d55b8d47097 SHA512 5fe0340c8e0550492b97bde0a75bef4c3b5a302d61090f79e2858b9adf93e0b522dba341a3fb60ca6557d033c429f6c93c1330caf38568a6060ad41e664063e9 WHIRLPOOL 65507c731a53bbc7617a44e2cebb2b6ca11127b6c05d11998b04360fa32ff1cd9f6716bd391331dfdb97307bef08f72bfadf7b65bdc216a8a3090cf505d8a1e6
diff --git a/dev-python/root_numpy/metadata.xml b/dev-python/root_numpy/metadata.xml
new file mode 100644
index 000000000000..de695cc31797
--- /dev/null
+++ b/dev-python/root_numpy/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-physics</herd>
+ <longdescription lang="en">
+ root_numpy is a Python extension for converting ROOT TTrees into
+ NumPy recarrays or structured arrays. With the core internals
+ written in C++, root_numpy can efficiently handle large amounts of
+ data (limited only by the available memory).
+ Now that your ROOT data is in NumPy form, you can make use of the many
+ powerful scientific Python packages or perform quick exploratory data
+ analysis in interactive environments like IPython.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">root_numpy</remote-id>
+ <remote-id type="github">rootpy/root_numpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/root_numpy/root_numpy-3.2.0.ebuild b/dev-python/root_numpy/root_numpy-3.2.0.ebuild
new file mode 100644
index 000000000000..a2a71eee707e
--- /dev/null
+++ b/dev-python/root_numpy/root_numpy-3.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Interface between ROOT and numpy"
+HOMEPAGE="https://github.com/rootpy/root_numpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-physics/root[python,${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( tutorial/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/root_numpy/root_numpy-3.3.0.ebuild b/dev-python/root_numpy/root_numpy-3.3.0.ebuild
new file mode 100644
index 000000000000..a2a71eee707e
--- /dev/null
+++ b/dev-python/root_numpy/root_numpy-3.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Interface between ROOT and numpy"
+HOMEPAGE="https://github.com/rootpy/root_numpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-physics/root[python,${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( tutorial/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/root_numpy/root_numpy-3.3.1.ebuild b/dev-python/root_numpy/root_numpy-3.3.1.ebuild
new file mode 100644
index 000000000000..a2a71eee707e
--- /dev/null
+++ b/dev-python/root_numpy/root_numpy-3.3.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Interface between ROOT and numpy"
+HOMEPAGE="https://github.com/rootpy/root_numpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-physics/root[python,${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( tutorial/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rootpy/Manifest b/dev-python/rootpy/Manifest
new file mode 100644
index 000000000000..de21adb36231
--- /dev/null
+++ b/dev-python/rootpy/Manifest
@@ -0,0 +1 @@
+DIST rootpy-0.7.1.tar.gz 305412 SHA256 d36399125ed8540b9a651e7b5c7ddeba686ef3107830d3d6d840cdae4834751c SHA512 460e5d79da08c141c762a5a92cf50694fe1fee8677a2439b5525b67e7d6a1a6af18a4e6dc91d379b394a97dc973da8f6baa534d46e506e0a7a4d0ee632de1a2a WHIRLPOOL d9663274a36c490bb4c872be83527d3dd414d9cca989cf20a2aca1ac5441532c9b29571d0ff885458fd2e820dc7905a679e1c9873305848ccd1fafa7820a84be
diff --git a/dev-python/rootpy/metadata.xml b/dev-python/rootpy/metadata.xml
new file mode 100644
index 000000000000..e00be2ed2d95
--- /dev/null
+++ b/dev-python/rootpy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-physics</herd>
+<longdescription lang="en">
+ The rootpy project is a community-driven initiative aiming to provide
+ a more pythonic interface with ROOT on top of the existing PyROOT
+ bindings.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">rootpy</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/rootpy/rootpy-0.7.1.ebuild b/dev-python/rootpy/rootpy-0.7.1.ebuild
new file mode 100644
index 000000000000..e221456ea09d
--- /dev/null
+++ b/dev-python/rootpy/rootpy-0.7.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="readline"
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="Pythonic layer on top of the ROOT framework's PyROOT bindings"
+HOMEPAGE="http://rootpy.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples test"
+
+RDEPEND="
+ sci-physics/root[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytables[${PYTHON_USEDEP}]
+ dev-python/root_numpy[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]"
+
+DEPEND="
+ sci-physics/root[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# TOFIX: tests go in an infinite loop error
+RESTRICT=test
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ nosetests -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/rope/Manifest b/dev-python/rope/Manifest
new file mode 100644
index 000000000000..cedad02a835f
--- /dev/null
+++ b/dev-python/rope/Manifest
@@ -0,0 +1,2 @@
+DIST rope-0.10.2.tar.gz 221523 SHA256 fffca108c0d6a711121ce11fed286f4ddc5791c7a6c3f079221a9303d1ddb465 SHA512 9d3c3f2197b8eff87301d90dbf58872070e8c352704f50c942c270a05ba08504aeb2bb8f6d00902954abaa4d721d2a246c720f94547d8d3517cb84c0b31d9bc2 WHIRLPOOL 196587c655e6bffb26bc6498e57a833ddfc5c3ec0ccaa0b0baff9618f0e9fc5d18612fdada1a91e3ca8813b2c3c254691d462f2ff622af371a78b22b2024016f
+DIST rope-0.9.4.tar.gz 221516 SHA256 2dc0342604851d8fbdafa198172eab5da7ed422759016669056181e21c54a6ba SHA512 462ce4fec7decdca67400e01fc08cb924019e71011fa0c50c529ff0ba377b277685f34a78796b5c30c20ac063aaba1b0b61bd9ac5b05625399e9d71ac625e534 WHIRLPOOL 7fcdfcd0d82e869b8008cedb7fc0ecbb8f7da302994129273e342346becde8cbd5915f9e04d2a9de57eb2b42b4487329109c159277f8255e386fc2765213a94b
diff --git a/dev-python/rope/files/rope-0.9.3-fix_tests_results.patch b/dev-python/rope/files/rope-0.9.3-fix_tests_results.patch
new file mode 100644
index 000000000000..5250cc66f948
--- /dev/null
+++ b/dev-python/rope/files/rope-0.9.3-fix_tests_results.patch
@@ -0,0 +1,16 @@
+https://bitbucket.org/agr/rope/issue/7/
+
+--- ropetest/__init__.py
++++ ropetest/__init__.py
+@@ -1,3 +1,4 @@
++import sys
+ import unittest
+
+ import ropetest.projecttest
+@@ -31,4 +32,5 @@
+
+ if __name__ == '__main__':
+ runner = unittest.TextTestRunner()
+- runner.run(suite())
++ result = runner.run(suite())
++ sys.exit(not result.wasSuccessful())
diff --git a/dev-python/rope/files/rope-0.9.3-python2.7.patch b/dev-python/rope/files/rope-0.9.3-python2.7.patch
new file mode 100644
index 000000000000..f1a4fe4d2d32
--- /dev/null
+++ b/dev-python/rope/files/rope-0.9.3-python2.7.patch
@@ -0,0 +1,76 @@
+Apply upstream changesets:
+https://bitbucket.org/agr/rope/changeset/1c100ebabc16
+https://bitbucket.org/agr/rope/changeset/f5eb880e0be2
+
+to fix issues with python 2.7
+
+https://bugs.gentoo.org/show_bug.cgi?id=326401
+https://bitbucket.org/agr/rope/issue/8/
+
+--- a/rope/base/ast.py
++++ b/rope/base/ast.py
+@@ -27,6 +27,10 @@
+ method_name = '_' + node.__class__.__name__
+ method = getattr(walker, method_name, None)
+ if method is not None:
++ if isinstance(node, _ast.ImportFrom) and node.module is None:
++ # In python < 2.7 ``node.module == ''`` for relative imports
++ # but for python 2.7 it is None. Generalizing it to ''.
++ node.module = ''
+ return method(node)
+ for child in get_child_nodes(node):
+ walk(child, walker)
+--- a/rope/base/oi/runmod.py
++++ b/rope/base/oi/runmod.py
+@@ -187,6 +187,7 @@
+
+ def close(self):
+ self.sender.close()
++ sys.settrace(None)
+
+ def _realpath(path):
+ return os.path.realpath(os.path.abspath(os.path.expanduser(path)))
+--- a/rope/refactor/importutils/module_imports.py
++++ b/rope/refactor/importutils/module_imports.py
+@@ -428,7 +428,8 @@
+ if node.level:
+ level = node.level
+ import_info = importinfo.FromImport(
+- node.module, level, self._get_names(node.names))
++ node.module or '', # see comment at rope.base.ast.walk
++ level, self._get_names(node.names))
+ start_line = node.lineno
+ self.imports.append(importinfo.ImportStatement(
+ import_info, node.lineno, end_line,
+--- a/rope/refactor/patchedast.py
++++ b/rope/refactor/patchedast.py
+@@ -350,7 +350,8 @@
+ children = ['from']
+ if node.level:
+ children.append('.' * node.level)
+- children.extend([node.module, 'import'])
++ children.extend([node.module or '', # see comment at rope.base.ast.walk
++ 'import'])
+ children.extend(self._child_nodes(node.names, ','))
+ self._handle(node, children)
+
+--- a/ropetest/refactor/patchedasttest.py
++++ b/ropetest/refactor/patchedasttest.py
+@@ -441,6 +441,17 @@
+ 'import', ' ', 'alias'])
+ checker.check_children('alias', ['y', ' ', 'as', ' ', 'z'])
+
++ @testutils.run_only_for_25
++ def test_from_node_relative_import(self):
++ source = 'from . import y as z\n'
++ ast = patchedast.get_patched_ast(source, True)
++ checker = _ResultChecker(self, ast)
++ checker.check_region('ImportFrom', 0, len(source) - 1)
++ checker.check_children(
++ 'ImportFrom', ['from', ' ', '.', '', '', ' ',
++ 'import', ' ', 'alias'])
++ checker.check_children('alias', ['y', ' ', 'as', ' ', 'z'])
++
+ def test_simple_gen_expr_node(self):
+ source = 'zip(i for i in x)\n'
+ ast = patchedast.get_patched_ast(source, True)
diff --git a/dev-python/rope/metadata.xml b/dev-python/rope/metadata.xml
new file mode 100644
index 000000000000..99ac729c5a3f
--- /dev/null
+++ b/dev-python/rope/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang='en'>
+ Rope is a python refactoring library.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">rope</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/rope/rope-0.10.2.ebuild b/dev-python/rope/rope-0.10.2.ebuild
new file mode 100644
index 000000000000..6c37962b4da4
--- /dev/null
+++ b/dev-python/rope/rope-0.10.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python refactoring library"
+HOMEPAGE="http://rope.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib:." ${EPYTHON} ropetest/__init__.py
+}
+
+src_install() {
+ distutils-r1_src_install
+ docinto docs
+ dodoc docs/*.rst
+}
diff --git a/dev-python/rope/rope-0.9.4-r1.ebuild b/dev-python/rope/rope-0.9.4-r1.ebuild
new file mode 100644
index 000000000000..de458c657ced
--- /dev/null
+++ b/dev-python/rope/rope-0.9.4-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python refactoring library"
+HOMEPAGE="http://rope.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib:." ${EPYTHON} ropetest/__init__.py
+}
+
+src_install() {
+ distutils-r1_src_install
+ docinto docs
+ dodoc docs/*.txt
+}
diff --git a/dev-python/ropeide/Manifest b/dev-python/ropeide/Manifest
new file mode 100644
index 000000000000..de15a18cd2d7
--- /dev/null
+++ b/dev-python/ropeide/Manifest
@@ -0,0 +1 @@
+DIST ropeide-1.5.1.tar.gz 88289 SHA256 a590ec73f806e8409c3b53da7a6345232c9b2c0564800921f8bab61160e87a13 SHA512 fbdfc9519e49440c748c4d9fe5e8a3597b983dcee715f92ce3c9d07eb19b1792623dd3a66ee4f43790887848aa85c17b4596b006c4d1c86859c060af69c32dcb WHIRLPOOL 1efe7596c741b928a979c2aeade2df03532d438f26732f1430547739d5e44d0cae4d4d221e604e5f5464e604d7eb3fcde43e0bfbbe2895c224f2fc508faf0fc9
diff --git a/dev-python/ropeide/metadata.xml b/dev-python/ropeide/metadata.xml
new file mode 100644
index 000000000000..cc44ce4146d8
--- /dev/null
+++ b/dev-python/ropeide/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="sourceforge">rope</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ropeide/ropeide-1.5.1-r2.ebuild b/dev-python/ropeide/ropeide-1.5.1-r2.ebuild
new file mode 100644
index 000000000000..a182565c9735
--- /dev/null
+++ b/dev-python/ropeide/ropeide-1.5.1-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+PYTHON_REQ_USE="tk"
+
+DESCRIPTION="Python refactoring IDE"
+HOMEPAGE="http://rope.sourceforge.net/ropeide.html http://pypi.python.org/pypi/ropeide"
+SRC_URI="mirror://sourceforge/rope/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND=">=dev-python/rope-0.8.4[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ if use doc; then
+ dodoc docs/*.txt || die "dodoc failed"
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ropemacs/Manifest b/dev-python/ropemacs/Manifest
new file mode 100644
index 000000000000..6004dbe37808
--- /dev/null
+++ b/dev-python/ropemacs/Manifest
@@ -0,0 +1,2 @@
+DIST ropemacs-0.7.tar.gz 20744 SHA256 12d7dc9872f20de757610224999e866aac89ff04864d15a393e937965b70b8f4 SHA512 3cc61fe6416a473430ace720caf5516def0166752c8e2d72398e6bb863ee0c40a4b818a2754c60824bd365f20e9f72e5967f0d9ee7fce8851a2f753618c790c5 WHIRLPOOL f3111adc8caa4262379c34add573ccfa46f142c19aea5956219d94600e20985832d1b65cfdd66683b13063ac82885a9d97fb983cffc699d3155900e3727c0fd8
+DIST ropemacs-0.8.tar.gz 22161 SHA256 e1ae9691d402eaa525f56d37f5fefff8b8fe9892188e49600d01063a5acb535f SHA512 3e42ce03758c13d8f6e66b69a4b9ab7620956ed0272ecf770c0cea204ffae8c85f41103b29e507db7d68d6dc006b14e6ca5ce31d8ca17b6a66bf743f1110a9b3 WHIRLPOOL 5632799ace9e3c0a40342b3d7be5da3f5763a290931a84fa464bed214cd18c2968b58ee209868e2977524b3cf9bce48fb32f0aeab0897ad9df1cac80e81f838b
diff --git a/dev-python/ropemacs/metadata.xml b/dev-python/ropemacs/metadata.xml
new file mode 100644
index 000000000000..0cd4d5bd166d
--- /dev/null
+++ b/dev-python/ropemacs/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>emacs</herd>
+ <upstream>
+ <remote-id type="pypi">ropemacs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ropemacs/ropemacs-0.7.ebuild b/dev-python/ropemacs/ropemacs-0.7.ebuild
new file mode 100644
index 000000000000..5940aba3934e
--- /dev/null
+++ b/dev-python/ropemacs/ropemacs-0.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils readme.gentoo
+
+DESCRIPTION="Rope in Emacs"
+HOMEPAGE="http://rope.sourceforge.net/ropemacs.html
+ http://pypi.python.org/pypi/ropemacs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-1+" # GPL without version
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/rope[${PYTHON_USEDEP}]
+ dev-python/ropemode[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DOCS=( README.txt CONTRIBUTORS docs/ropemacs.txt docs/todo.txt )
+
+src_install() {
+ distutils-r1_src_install
+ DOC_CONTENTS="In order to enable ropemacs support in Emacs, install
+ app-emacs/pymacs and add the following line to your ~/.emacs file:
+ \\n\\t(pymacs-load \"ropemacs\" \"rope-\")"
+ readme.gentoo_create_doc
+}
diff --git a/dev-python/ropemacs/ropemacs-0.8.ebuild b/dev-python/ropemacs/ropemacs-0.8.ebuild
new file mode 100644
index 000000000000..c4fc07480316
--- /dev/null
+++ b/dev-python/ropemacs/ropemacs-0.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils readme.gentoo
+
+DESCRIPTION="Rope in Emacs"
+HOMEPAGE="http://rope.sourceforge.net/ropemacs.html
+ http://pypi.python.org/pypi/ropemacs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-1+" # GPL without version
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/rope[${PYTHON_USEDEP}]
+ dev-python/ropemode[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ local DOCS="${DOCS} README.rst docs/*.rst"
+ distutils-r1_src_install
+
+ DOC_CONTENTS="In order to enable ropemacs support in Emacs, install
+ app-emacs/pymacs and add the following line to your ~/.emacs file:
+ \\n\\t(pymacs-load \"ropemacs\" \"rope-\")"
+ readme.gentoo_create_doc
+}
diff --git a/dev-python/ropemode/Manifest b/dev-python/ropemode/Manifest
new file mode 100644
index 000000000000..3a2497927ee8
--- /dev/null
+++ b/dev-python/ropemode/Manifest
@@ -0,0 +1 @@
+DIST ropemode-0.2.tar.gz 12268 SHA256 54b2c7b4a04b22d41aa686942dc521a89ac36fd2c7356c2707939bb97980864b SHA512 59b9a8f8caf03f480994c546b48c0be8bd85ebf44b406e216b6651e254b3fd9c6a532a5bab1be1301b12dcf756d3ad325f38e810fe5ea5bbcc700979cfbd5055 WHIRLPOOL ccf2a99abe7c3cc9634dd118f3f65f3b32a09c7f846f8314d8abcfcd15ae761b43be0fa61089ba682b62f75256bb69d54f11f8cf171cc4586295fceb3189c4f2
diff --git a/dev-python/ropemode/metadata.xml b/dev-python/ropemode/metadata.xml
new file mode 100644
index 000000000000..8aab68f63068
--- /dev/null
+++ b/dev-python/ropemode/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ropemode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ropemode/ropemode-0.2-r1.ebuild b/dev-python/ropemode/ropemode-0.2-r1.ebuild
new file mode 100644
index 000000000000..0b947d9b8404
--- /dev/null
+++ b/dev-python/ropemode/ropemode-0.2-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/_rc/-rc}"
+
+DESCRIPTION="A helper for using rope refactoring library in IDEs"
+HOMEPAGE="http://pypi.python.org/pypi/ropemode"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-python/rope-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/routes/Manifest b/dev-python/routes/Manifest
new file mode 100644
index 000000000000..756d2866ee7a
--- /dev/null
+++ b/dev-python/routes/Manifest
@@ -0,0 +1,3 @@
+DIST Routes-1.13.tar.gz 797539 SHA256 cc03d1a357cdb7af82e3909ee8ff93cb2b2afb48aca23bfde0117d6f49f624a7 SHA512 052b04e0ee803394ffe1675a075fb633e790fdcabf1ee012a73d0c4ef211b4d0b18be13f680537fe5f8424193245d0b4bb2d76a20b9e74707e73b25e076a9f6a WHIRLPOOL 7b83a24719ca2e051f9ba44ca712c10c2eca1590e1fc39afb731777de9c9bd73af4ef99868bf1e3dfa688ff38b9068f30311fe146973d9b55e1c61c501a08ebb
+DIST Routes-2.0.tar.gz 199195 SHA256 6e4eb6437a9def22e1344ee8f766d7795bedfe6f615d3ea138e4035d6fbd33f8 SHA512 a049efc8774ded555f597d165cc536891cf7c008a753cb0d3c44ebb5c763e117b5050c0ef68489e05f7d9bd6009250465cc56ce6954010a84ec9b3416f728e91 WHIRLPOOL b9e5e88071c32c51427cfb16ad16cdea4cdace35579b053ea4fd2e81b27858c163244fd7976e2bdf93ab79e413ba72e48b2db8fc6991a6199ef7ba56c9620e5a
+DIST Routes-2.1.tar.gz 179737 SHA256 ebf4126e244cf11414653b5ba5f27ed4abfad38b906a01e5d4c93d3ce5568ea3 SHA512 6dcea3e20d9883e29d6aea5949eef3b265094f46084234a15530c266930163918c6eb2ad00bb49cd9cbf947a0019c2d91a5455f997bc7a7e5b8c662837a728c2 WHIRLPOOL fbdb8e1a84aa2b1b8bf011aa68a31364f0fd48cabcaaf413274679f34e514283fbd8aac9497444b24f69f7d72393f38aeab5eeeb96659e3aae009ed2eebc4fbf
diff --git a/dev-python/routes/files/routes-2.0-setup.py.patch b/dev-python/routes/files/routes-2.0-setup.py.patch
new file mode 100644
index 000000000000..ec090f42fce5
--- /dev/null
+++ b/dev-python/routes/files/routes-2.0-setup.py.patch
@@ -0,0 +1,38 @@
+From 414ba660bccd3eed60f63cc8a1d117740065126f Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Wed, 25 Dec 2013 10:42:26 -0500
+Subject: [PATCH] Specify encoding when opening files in setup.py
+
+This resolves a UnicodeDecodeError when setup.py is invoked with a
+non-utf8 locale.
+
+https://bugs.gentoo.org/show_bug.cgi?id=495118
+---
+ setup.py | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index c76e869..9191f11 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,12 +1,14 @@
+ __version__ = '2.0'
+
+-import os, sys
++import io, os, sys
+
+ from setuptools import setup, find_packages
+
+ here = os.path.abspath(os.path.dirname(__file__))
+-README = open(os.path.join(here, 'README.rst')).read()
+-CHANGES = open(os.path.join(here, 'CHANGELOG.rst')).read()
++with io.open(os.path.join(here, 'README.rst'), encoding='utf8') as f:
++ README = f.read()
++with io.open(os.path.join(here, 'CHANGELOG.rst'), encoding='utf8') as f:
++ CHANGES = f.read()
+ PY3 = sys.version_info[0] == 3
+
+ extra_options = {
+--
+1.8.5.2
+
diff --git a/dev-python/routes/files/routes-2.0-tests-py3.patch b/dev-python/routes/files/routes-2.0-tests-py3.patch
new file mode 100644
index 000000000000..ec21799ba14f
--- /dev/null
+++ b/dev-python/routes/files/routes-2.0-tests-py3.patch
@@ -0,0 +1,40 @@
+Fix tests to work with random hash dicts.
+
+--- a/tests/test_functional/test_generation.py
++++ b/tests/test_functional/test_generation.py
+@@ -205,13 +205,14 @@ class TestGeneration(unittest.TestCase):
+ requirements={'month':'\d{1,2}','day':'\d{1,2}'})
+ m.connect('viewpost/:id', controller='post', action='view')
+ m.connect(':controller/:action/:id')
+-
+- eq_('/blog/view?year=2004&month=blah', m.generate(controller='blog', action='view', year=2004, month='blah'))
++
++ url = m.generate(controller='blog', action='view', year=2004, month='blah')
++ assert url == '/blog/view?year=2004&month=blah' or url == '/blog/view?month=blah&year=2004'
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month=11))
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month='11'))
+ eq_('/archive/2004', m.generate(controller='blog', action='view', year=2004))
+ eq_('/viewpost/3', m.generate(controller='post', action='view', id=3))
+-
++
+ def test_multiroute_with_splits(self):
+ m = Mapper(explicit=False)
+ m.minimization = True
+@@ -219,13 +220,14 @@ class TestGeneration(unittest.TestCase):
+ requirements={'month':'\d{1,2}','day':'\d{1,2}'})
+ m.connect('viewpost/:(id)', controller='post', action='view')
+ m.connect(':(controller)/:(action)/:(id)')
+-
+- eq_('/blog/view?year=2004&month=blah', m.generate(controller='blog', action='view', year=2004, month='blah'))
++
++ url = m.generate(controller='blog', action='view', year=2004, month='blah')
++ assert url == '/blog/view?year=2004&month=blah' or url == '/blog/view?month=blah&year=2004'
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month=11))
+ eq_('/archive/2004/11', m.generate(controller='blog', action='view', year=2004, month='11'))
+ eq_('/archive/2004', m.generate(controller='blog', action='view', year=2004))
+ eq_('/viewpost/3', m.generate(controller='post', action='view', id=3))
+-
++
+ def test_big_multiroute(self):
+ m = Mapper(explicit=False)
+ m.minimization = True
diff --git a/dev-python/routes/metadata.xml b/dev-python/routes/metadata.xml
new file mode 100644
index 000000000000..2c6bedd73313
--- /dev/null
+++ b/dev-python/routes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Routes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/routes/routes-1.13-r1.ebuild b/dev-python/routes/routes-1.13-r1.ebuild
new file mode 100644
index 000000000000..36483a4792cf
--- /dev/null
+++ b/dev-python/routes/routes-1.13-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="Routes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions"
+HOMEPAGE="http://routes.groovie.org http://pypi.python.org/pypi/Routes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+# Note: although setup.py states that tests require webtest,
+# it isn't used anywhere.
+RDEPEND="dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/repoze-lru[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/routes/routes-2.0.ebuild b/dev-python/routes/routes-2.0.ebuild
new file mode 100644
index 000000000000..5ca16711f526
--- /dev/null
+++ b/dev-python/routes/routes-2.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Routes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python re-implementation of the Rails routes system for mapping URL's to Controllers/Actions"
+HOMEPAGE="http://routes.groovie.org http://pypi.python.org/pypi/Routes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND="dev-python/webob[${PYTHON_USEDEP}]
+ >=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0-tests-py3.patch
+ "${FILESDIR}"/${PN}-2.0-setup.py.patch
+)
+
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cp -r tests "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/routes/routes-2.1-r1.ebuild b/dev-python/routes/routes-2.1-r1.ebuild
new file mode 100644
index 000000000000..55d3d993f8ed
--- /dev/null
+++ b/dev-python/routes/routes-2.1-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Routes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python re-implementation of Rails routes system, mapping URL's to Controllers/Actions"
+HOMEPAGE="http://routes.groovie.org http://pypi.python.org/pypi/Routes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+# It appears there's an epidemic of missing testsuites coming out of github. Restrict for now
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+# Comment out patch for tests for now
+#PATCHES=( "${FILESDIR}"/${PN}-2.0-tests-py3.patch )
+
+# https://github.com/bbangert/routes/issues/42 presents a patch
+# for the faulty docbuild converted to sed stmnts
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ # The default theme in sphinx switched to classic from shpinx-1.3.1
+ if has_version ">=dev-python/sphinx-1.3.1"; then
+ sed -e "s:html_theme_options = {:html_theme = 'classic'\n&:" \
+ -i docs/conf.py || die
+ else
+ sed -e "s:html_theme_options = {:html_theme = 'default'\n&:" \
+ -i docs/conf.py || die
+ fi
+ sed -e "s:changes:changes\n todo:" \
+ -i docs/index.rst || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ cp -r tests "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/routes/routes-2.1.ebuild b/dev-python/routes/routes-2.1.ebuild
new file mode 100644
index 000000000000..9859278ed071
--- /dev/null
+++ b/dev-python/routes/routes-2.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="Routes"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Python re-implementation of Rails routes system, mapping URL's to Controllers/Actions"
+HOMEPAGE="http://routes.groovie.org http://pypi.python.org/pypi/Routes"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND=">=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )"
+# It appears there's an epidemic of missing testsuites coming out of github. Restrict for now
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+# Comment out patch for tests for now
+#PATCHES=( "${FILESDIR}"/${PN}-2.0-tests-py3.patch )
+
+# The doc build possibly never built. Just know that the doc builds in
+# neither the previous nor this
+# https://github.com/bbangert/routes/issues/42
+python_prepare_all() {
+ use test && DISTUTILS_IN_SOURCE_BUILD=1
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp -r tests "${BUILD_DIR}" || die
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/rply/Manifest b/dev-python/rply/Manifest
new file mode 100644
index 000000000000..66cd92cfe6d4
--- /dev/null
+++ b/dev-python/rply/Manifest
@@ -0,0 +1 @@
+DIST rply-0.7.3.tar.gz 27346 SHA256 708f94da2cf5df72b0d0fe73a44a6f2310dd74004b0e7ef6bf812f941dac582a SHA512 45f8b2b9fb84940c1149b43ffda070d7ded47a5b8d8e86cf030603cb0fae78df954e629d9e6722e8f4d5ff2a7a2d516a92cf320d438cb6b1595d110e06dfc351 WHIRLPOOL b1c55fc76f0f6c7afae5dbce336a6a7510ed38ecd3c81ab22f19d9657c9f3547c8297028c35a60931db0197fdc0fee7cb1e7c50bad6769bba413247d759508da
diff --git a/dev-python/rply/metadata.xml b/dev-python/rply/metadata.xml
new file mode 100644
index 000000000000..b1b5e025f67a
--- /dev/null
+++ b/dev-python/rply/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">alex/rply</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rply/rply-0.7.3.ebuild b/dev-python/rply/rply-0.7.3.ebuild
new file mode 100644
index 000000000000..15ec60bebc2d
--- /dev/null
+++ b/dev-python/rply/rply-0.7.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python parser generator that also works with RPython"
+HOMEPAGE="https://github.com/alex/rply"
+SRC_URI="https://github.com/alex/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare() {
+ # https://github.com/alex/rply/issues/26; fail under py[3-4]
+ if python_is_python3; then
+ sed -e s':test_simple:_&:' -e s':test_empty_production:_&:' \
+ -i tests/test_parsergenerator.py
+ fi
+ distutils-r1_python_prepare
+}
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/rpy/Manifest b/dev-python/rpy/Manifest
new file mode 100644
index 000000000000..4abff86e189a
--- /dev/null
+++ b/dev-python/rpy/Manifest
@@ -0,0 +1,3 @@
+DIST rpy2-2.5.4.tar.gz 164830 SHA256 d521ecdd05cd0c31ab017cb63e9f63c29b524e46ec9063a920f640b5875f8a90 SHA512 e40ae81be19acf5008eed088c10fef3824cc712c0175414c1899bf45b24c35e2ef7d8808fae75d156064e82d1cd5939c50d5291c190030ae2050c6dffa9a36db WHIRLPOOL 2769adccaa6a634b964d4712e4bcc4d4161f8aef17d38a235bf5a3646fd166a01749fcc1852954996a00b695617597617f0dfb43f73744948a55f2eba07d9ba2
+DIST rpy2-2.6.0.tar.gz 171190 SHA256 53e295f3018a781008bffb97cc0c9a7cd361a3d191939f197157827d21a2e4b6 SHA512 16012a8a634538ba61e392dc811615a870b94b348c7ece885f8c0d146419b9689a08d5901ed2a694754cc220664797d530f75ba35e395f5857a0f25c3170f3ce WHIRLPOOL 1f33e99f1997ffbc1e9711bb667ba07db024099bdf7e460a13efe311419b872095128b2d59ffb732384ca19b77dac97822bbcf8e77ff45b0b093d7b5cfbc83e5
+DIST rpy2-2.6.1.tar.gz 171635 SHA256 39f15d7f5d51646a6cbf9d5cd1c817d2880301dbb95141947f93361685453e28 SHA512 14c6c47d6ace40ac26bf89d3efdbf5c5a68f74096fec74897877be312d3ffb03c30f4ca13ed1531ccf094ac33672fa550264fe980788bc4eca12d02089475f63 WHIRLPOOL dda6a0a2abe33f8d7e3a489c6bbaa03335a47d5fa474409883773a52be315f0920347a38f76f94e9e16c680e08cd8e7a18d27a6a2ffd4af35a779a305836bdd5
diff --git a/dev-python/rpy/files/2.5.0-setup.patch b/dev-python/rpy/files/2.5.0-setup.patch
new file mode 100644
index 000000000000..2454c313e677
--- /dev/null
+++ b/dev-python/rpy/files/2.5.0-setup.patch
@@ -0,0 +1,45 @@
+https://bitbucket.org/lgautier/rpy2/commits/bf38fa9960aa
+# HG changeset patch
+# User Laurent Gautier <lgautier@gmail.com>
+# Date 1415656651 18000
+# Node ID bf38fa9960aacf7ba24a20cfae631aa695fea986
+# Parent 9c1212066f5c980a211b21943f62fd69743ca4bd
+Should fix issue #234
+
+diff --git a/setup.py b/setup.py
+--- a/setup.py
++++ b/setup.py
+@@ -136,8 +136,6 @@
+ return output
+
+ def getRinterface_ext():
+- #r_libs = [os.path.join(RHOME, 'lib'), os.path.join(RHOME, 'modules')]
+- r_libs = []
+ extra_link_args = []
+ extra_compile_args = []
+ include_dirs = []
+@@ -250,9 +248,9 @@
+ include_dirs = [os.path.join(package_prefix,
+ 'rpy', 'rinterface'),] + include_dirs,
+ libraries = libraries,
+- library_dirs = r_libs,
++ library_dirs = library_dirs,
+ define_macros = define_macros,
+- runtime_library_dirs = r_libs,
++ runtime_library_dirs = library_dirs,
+ extra_compile_args=extra_compile_args,
+ extra_link_args = extra_link_args
+ )
+@@ -266,9 +264,9 @@
+ include_dirs = include_dirs +
+ [os.path.join('rpy', 'rinterface'), ],
+ libraries = libraries,
+- library_dirs = r_libs,
++ library_dirs = library_dirs,
+ define_macros = define_macros,
+- runtime_library_dirs = r_libs,
++ runtime_library_dirs = library_dirs,
+ extra_compile_args=extra_compile_args,
+ extra_link_args = extra_link_args
+ )
+
diff --git a/dev-python/rpy/metadata.xml b/dev-python/rpy/metadata.xml
new file mode 100644
index 000000000000..44f552728e03
--- /dev/null
+++ b/dev-python/rpy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ RPy provides a robust Python interface to the R programming
+ language. It can manage R objects and can execute arbitrary R
+ functions. All the errors from the R language are converted to
+ Python exceptions.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">rpy2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rpy/rpy-2.5.4.ebuild b/dev-python/rpy/rpy-2.5.4.ebuild
new file mode 100644
index 000000000000..fd4fe9abfcd3
--- /dev/null
+++ b/dev-python/rpy/rpy-2.5.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 flag-o-matic
+
+MYSLOT=2
+MY_PN=${PN}${MYSLOT}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the R Programming Language"
+HOMEPAGE="http://rpy.sourceforge.net/ https://pypi.python.org/pypi/rpy2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-lang/R-3
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.13.1[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/singledispatch[${PYTHON_USEDEP}]' python2_7 python3_3) )"
+
+# ggplot2 is an optional test dep but not in portage
+S="${WORKDIR}/${MY_P}"
+
+# Tarball absent of doc files in doc folder
+# https://bitbucket.org/lgautier/rpy2/issue/229/
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ ${PYTHON} -m 'rpy2.tests' || die
+}
diff --git a/dev-python/rpy/rpy-2.6.0.ebuild b/dev-python/rpy/rpy-2.6.0.ebuild
new file mode 100644
index 000000000000..ea9c6e695eec
--- /dev/null
+++ b/dev-python/rpy/rpy-2.6.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 flag-o-matic
+
+MYSLOT=2
+MY_PN=${PN}${MYSLOT}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the R Programming Language"
+HOMEPAGE="http://rpy.sourceforge.net/ https://pypi.python.org/pypi/rpy2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-lang/R-3
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.13.1[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/singledispatch[${PYTHON_USEDEP}]' python2_7 python3_3) )"
+
+# ggplot2 is an optional test dep but not in portage
+S="${WORKDIR}/${MY_P}"
+
+# Tarball absent of doc files in doc folder
+# https://bitbucket.org/lgautier/rpy2/issue/229/
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ ${PYTHON} -m 'rpy2.tests' || die
+}
diff --git a/dev-python/rpy/rpy-2.6.1.ebuild b/dev-python/rpy/rpy-2.6.1.ebuild
new file mode 100644
index 000000000000..de5f7205b05f
--- /dev/null
+++ b/dev-python/rpy/rpy-2.6.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 flag-o-matic
+
+MYSLOT=2
+MY_PN=${PN}${MYSLOT}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the R Programming Language"
+HOMEPAGE="http://rpy.sourceforge.net/ https://pypi.python.org/pypi/rpy2"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-lang/R-3
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.13.1[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( $(python_gen_cond_dep 'dev-python/singledispatch[${PYTHON_USEDEP}]' python2_7 python3_3) )"
+
+# ggplot2 is an optional test dep but not in portage
+S="${WORKDIR}/${MY_P}"
+
+# Tarball absent of doc files in doc folder
+# https://bitbucket.org/rpy2/rpy2/issues/229
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ ${PYTHON} -m 'rpy2.tests' || die
+}
diff --git a/dev-python/rpyc/Manifest b/dev-python/rpyc/Manifest
new file mode 100644
index 000000000000..be397d9c47dd
--- /dev/null
+++ b/dev-python/rpyc/Manifest
@@ -0,0 +1 @@
+DIST rpyc-3.2.3.tar.gz 48371 SHA256 80782d78863bc4f803b2534452dc37c5dcb6e85230af77fe0ce5a0206e37f661 SHA512 b0cc7a9429b062b0b796a7e4f6bc8056041db7e63b04dc8cbc67c5e2f343f1c1299e0e3fc88ff651f484caf5d3305cb4346523dee555e8315c9a1e1141da8b28 WHIRLPOOL 4fc6383571bb84aaed7c6e1b360c2e9b55c40f3ba2a7ca9dfd41527b889f3713003f5286edda625fcfbe4e293854389ddff437f54d18188187b3fd2a83a35cbe
diff --git a/dev-python/rpyc/metadata.xml b/dev-python/rpyc/metadata.xml
new file mode 100644
index 000000000000..f485ab29dd3b
--- /dev/null
+++ b/dev-python/rpyc/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Remote python call</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">rpyc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rpyc/rpyc-3.2.3-r1.ebuild b/dev-python/rpyc/rpyc-3.2.3-r1.ebuild
new file mode 100644
index 000000000000..a542fc7c7ce7
--- /dev/null
+++ b/dev-python/rpyc/rpyc-3.2.3-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Remote Python Call (RPyC), a transparent and symmetric RPC library"
+HOMEPAGE="http://rpyc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/rsa/Manifest b/dev-python/rsa/Manifest
new file mode 100644
index 000000000000..124f0b9ae6a7
--- /dev/null
+++ b/dev-python/rsa/Manifest
@@ -0,0 +1 @@
+DIST rsa-3.1.4.tar.gz 36181 SHA256 e2b0b05936c276b1edd2e1525553233b666df9e29b5c3ba223eed738277c82a0 SHA512 b6ff7b91909b58359bda5da99ca4297337da5985c5430d2e96663c8bcf599b2180d54afa3316d4c3b11a8f79ddcb1f41d6942a0c8db2f0d27221c3aee132f3c1 WHIRLPOOL bc71d736cb72d222243055ac336ed3d42fde680ad0bc8261802926adfc3c9d8f1321351fbd951c495da843cc6c16bde9dbd27cb235a870dc8817ebfd35c55c7b
diff --git a/dev-python/rsa/metadata.xml b/dev-python/rsa/metadata.xml
new file mode 100644
index 000000000000..310d6b44cf36
--- /dev/null
+++ b/dev-python/rsa/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">rsa</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rsa/rsa-3.1.4-r1.ebuild b/dev-python/rsa/rsa-3.1.4-r1.ebuild
new file mode 100644
index 000000000000..d9e2a43530bc
--- /dev/null
+++ b/dev-python/rsa/rsa-3.1.4-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python RSA implementation"
+HOMEPAGE="http://stuvel.eu/rsa http://pypi.python.org/pypi/rsa"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pyasn1-0.0.13[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-0.6.10[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ )
+ "
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/rst2pdf/Manifest b/dev-python/rst2pdf/Manifest
new file mode 100644
index 000000000000..45714eb79ac4
--- /dev/null
+++ b/dev-python/rst2pdf/Manifest
@@ -0,0 +1 @@
+DIST rst2pdf-0.93.tar.gz 1301775 SHA256 3af44283ced19030a8286e8f8d71106ca6c78efe4bc95e9af42d678c363efcbc SHA512 75423b75504d31995d449f4e90fa73ce755bf167d18a38f42f73fe6d76b4d0e5c38bc28cd2cce5a3e485a0a8c5529667d689dc4b41a125c14c9e023b7d6ff7d3 WHIRLPOOL 5203ca75c86440e97af92a5001fc5871308afc662056551797df02356654c9cc6ba08d96a301140fe1cfaf4dd48fefb213bd87b31811143489a1f380dc34bc9d
diff --git a/dev-python/rst2pdf/files/rst2pdf-0.93-fix-logging.patch b/dev-python/rst2pdf/files/rst2pdf-0.93-fix-logging.patch
new file mode 100644
index 000000000000..52acf04171d8
--- /dev/null
+++ b/dev-python/rst2pdf/files/rst2pdf-0.93-fix-logging.patch
@@ -0,0 +1,26 @@
+--- rst2pdf/log.py
++++ rst2pdf/log.py
+@@ -4,11 +4,12 @@
+ import logging
+ import sys
+
+-logging.basicConfig(
+- format='[%(levelname)s] %(filename)s:%(lineno)d %(message)s',
+- level=logging.WARNING)
+-
+ log = logging.getLogger('rst2pdf')
++_fmt = logging.Formatter('[%(levelname)s] %(filename)s:%(lineno)d %(message)s')
++_hdlr = logging.StreamHandler()
++_hdlr.setFormatter(_fmt)
++log.addHandler(_hdlr)
++log.setLevel(logging.WARNING)
+
+ def nodeid(node):
+ """Given a node, tries to return a way to see where it was in the
+@@ -23,4 +24,4 @@
+ if node.source: fname=str(node.source)
+ except:
+ pass
+- return 'near line %s in file %s'%(line,fname)
+\ No newline at end of file
++ return 'near line %s in file %s'%(line,fname)
diff --git a/dev-python/rst2pdf/metadata.xml b/dev-python/rst2pdf/metadata.xml
new file mode 100644
index 000000000000..792f01232426
--- /dev/null
+++ b/dev-python/rst2pdf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">rst2pdf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rst2pdf/rst2pdf-0.93-r2.ebuild b/dev-python/rst2pdf/rst2pdf-0.93-r2.ebuild
new file mode 100644
index 000000000000..5cedc238598a
--- /dev/null
+++ b/dev-python/rst2pdf/rst2pdf-0.93-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool for transforming reStructuredText to PDF using ReportLab"
+HOMEPAGE="http://rst2pdf.ralsina.com.ar/ http://pypi.python.org/pypi/rst2pdf"
+SRC_URI="http://rst2pdf.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc ~ppc64 x86"
+IUSE="svg"
+
+DEPEND="dev-python/docutils[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/pdfrw[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/reportlab-2.6[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ svg? ( media-gfx/svg2rlg )"
+RDEPEND="${DEPEND}"
+# >=reportlab-2.6: https://code.google.com/p/rst2pdf/issues/detail?id=474
+
+python_prepare_all() {
+ epatch "${FILESDIR}/${P}-fix-logging.patch"
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ dodoc doc/*.pdf
+ doman doc/rst2pdf.1
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "rst2pdf can work with the following packages for additional functionality:"
+ elog " dev-python/sphinx - versatile documentation creation"
+ elog " dev-python/pythonmagick - image processing with ImageMagick"
+ elog " dev-python/matplotlib - mathematical formulae"
+ elog "It can also use wordaxe for hyphenation, but this package is not"
+ elog "available in the portage tree yet. Please refer to the manual"
+ elog "installed in /usr/share/doc/${PF}/ for more information."
+ fi
+}
diff --git a/dev-python/rtf2xml/Manifest b/dev-python/rtf2xml/Manifest
new file mode 100644
index 000000000000..5fdcbc0de056
--- /dev/null
+++ b/dev-python/rtf2xml/Manifest
@@ -0,0 +1 @@
+DIST rtf2xml-1.33.tar.gz 421817 SHA256 8dbfd3b8f266568775c2de812620288543771135212a836d1dd43d5dd45575a0 SHA512 ffca0f091319432e7d3f3b94fe8946a4665b026fe91ad90f3b9fa8671e3d7c31b71739df3655e368c44c26ad3b5d0e6a5b80ebd58856fb135253337b6b703031 WHIRLPOOL ebb8f284b0f257b2de2ef89b25e3f6cda320f398a98e47a0ed0a5740537351dbf5cbc4af7a5d4208d5da3c5fbf7c3c0c1ace4e60719e379210d85830532ee04b
diff --git a/dev-python/rtf2xml/metadata.xml b/dev-python/rtf2xml/metadata.xml
new file mode 100644
index 000000000000..9e010f32aff7
--- /dev/null
+++ b/dev-python/rtf2xml/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rtf2xml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rtf2xml/rtf2xml-1.33-r1.ebuild b/dev-python/rtf2xml/rtf2xml-1.33-r1.ebuild
new file mode 100644
index 000000000000..cc42f6d5bfe7
--- /dev/null
+++ b/dev-python/rtf2xml/rtf2xml-1.33-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Converts a Microsoft RTF file to structured XML"
+HOMEPAGE="http://rtf2xml.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND=""
+RDEPEND=""
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rtgraph/Manifest b/dev-python/rtgraph/Manifest
new file mode 100644
index 000000000000..90c5c58331b3
--- /dev/null
+++ b/dev-python/rtgraph/Manifest
@@ -0,0 +1 @@
+DIST rtgraph-0.70.tar.gz 16141 SHA256 e8030cfb63dcd13aa4eca08ea3c5b90f97678fcd5a3be1fecd65e124d93b397a SHA512 73d226ba09a658f6957fa82e4956de967ef7b02ca08ac1e33a16c1c0ffe1426afef35e7c720342524c6389e42d994db9ff3404d413ddec5168980e2e1982ea34 WHIRLPOOL 02bc67d436202be8e772385ddf2146f62c63f600db7186b825c111d2b46feb0ed08f7536653b45d175fbacb8bc59bf668c43d72bbddc4f185ff4ce7db0229a7f
diff --git a/dev-python/rtgraph/metadata.xml b/dev-python/rtgraph/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/rtgraph/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/rtgraph/rtgraph-0.70-r1.ebuild b/dev-python/rtgraph/rtgraph-0.70-r1.ebuild
new file mode 100644
index 000000000000..7f367bdfd7ff
--- /dev/null
+++ b/dev-python/rtgraph/rtgraph-0.70-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Widgets for graphing data in real-time using PyGTK, and UI components for controlling the graphs"
+HOMEPAGE="http://navi.cx/svn/misc/trunk/rtgraph/web/index.html"
+SRC_URI="http://navi.picogui.org/releases/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/pygtk:2[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if use examples; then
+ mkdir examples || die
+ mv ./{cpu_meter.py,graph_ui.py,isometric_graph.py,line_graph.py,polar_graph.py,tweak_graph.py} examples || die
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/rtslib-fb/Manifest b/dev-python/rtslib-fb/Manifest
new file mode 100644
index 000000000000..22ef9aa70793
--- /dev/null
+++ b/dev-python/rtslib-fb/Manifest
@@ -0,0 +1 @@
+DIST rtslib-fb-2.1.47.tar.gz 27131 SHA256 63348b0c88b542caa0729f8d3fa94623c4c616ed8e22757b41acf456928e576a SHA512 ada6a7dba7fe7172389c53f72e9941b715b2c49487acf32a66f247f5d258bc0568b6dae33fcd27f869b910c504ca434e85f8aa0cc670aeefdc4ce76d8bb734f4 WHIRLPOOL c613fb816f016f7867fc105ad0a2722bfb33ae544ec8ebce1adebe654fa2c200cd1ba848db302ab3eb1808705c0f5e9352872ecbfcd66def6ac913fd3269844b
diff --git a/dev-python/rtslib-fb/metadata.xml b/dev-python/rtslib-fb/metadata.xml
new file mode 100644
index 000000000000..42140b4d7f46
--- /dev/null
+++ b/dev-python/rtslib-fb/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A Python object API for managing the Linux LIO kernel target
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">rtslib-fb</remote-id>
+ <remote-id type="github">agrover/rtslib-fb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.1.47.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.1.47.ebuild
new file mode 100644
index 000000000000..c660de9cb9f0
--- /dev/null
+++ b/dev-python/rtslib-fb/rtslib-fb-2.1.47.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python object API for managing the Linux LIO kernel target"
+HOMEPAGE="https://github.com/agrover/rtslib-fb"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/rtslib/metadata.xml b/dev-python/rtslib/metadata.xml
new file mode 100644
index 000000000000..59fc80b97cfa
--- /dev/null
+++ b/dev-python/rtslib/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>cluster</herd>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/rtslib/rtslib-9999.ebuild b/dev-python/rtslib/rtslib-9999.ebuild
new file mode 100644
index 000000000000..4902bf63ed25
--- /dev/null
+++ b/dev-python/rtslib/rtslib-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+EGIT_REPO_URI="git://linux-iscsi.org/${PN}.git"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 git-2
+
+DESCRIPTION="RTSLib Community Edition for target_core_mod/ConfigFS"
+HOMEPAGE="http://linux-iscsi.org/"
+SRC_URI=""
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ dev-python/netifaces[${PYTHON_USEDEP}]
+ "
+RDEPEND="${DEPEND}"
+
+src_install() {
+ distutils-r1_src_install
+ keepdir /var/target/fabric
+ insinto /var/target/fabric
+ doins specs/*.spec
+}
diff --git a/dev-python/ruledispatch/Manifest b/dev-python/ruledispatch/Manifest
new file mode 100644
index 000000000000..61c2aeaf2846
--- /dev/null
+++ b/dev-python/ruledispatch/Manifest
@@ -0,0 +1 @@
+DIST RuleDispatch-0.5a0.dev-r2306.tar.gz 186405 SHA256 0ce33a6ddda379f8a14c12e43286c31b54a24ccb1cf990078a634722c80d01c6 SHA512 5ee5f22b6ba755e79c108925d321ade10c6a2e06c309e753650385d2dfbeb2830eaeccee6b71338ec38598c877625b95acf21b6059faf91e9f6119e533b133b1 WHIRLPOOL 840b2176f61505619cc9fb615577f839523d68fc644b9b0c48b738744c8f20b0e054c23f951541734f52d605eab8967b0488f23145067b15c78c1127db4bbd33
diff --git a/dev-python/ruledispatch/files/ruledispatch_as_syntax_fix.patch b/dev-python/ruledispatch/files/ruledispatch_as_syntax_fix.patch
new file mode 100644
index 000000000000..47960b3c23f5
--- /dev/null
+++ b/dev-python/ruledispatch/files/ruledispatch_as_syntax_fix.patch
@@ -0,0 +1,49 @@
+Added by: Jesus Rivero (Neurogeek)
+On: 25 Jul 2009
+Per Upstream bug: https://bugs.launchpad.net/ubuntu/+source/ruledispatch/+bug/342916
+
+diff -uNr RuleDispatch.orig/src/dispatch/__init__.py RuleDispatch/src/dispatch/__init__.py
+--- RuleDispatch.orig/src/dispatch/__init__.py 2009-07-25 13:25:08.000000000 +0000
++++ RuleDispatch/src/dispatch/__init__.py 2009-07-25 13:27:19.000000000 +0000
+@@ -95,7 +95,7 @@
+ return decorate_assignment(callback)
+
+
+-def as(*decorators):
++def as_(*decorators):
+ """Use Python 2.4 decorators w/Python 2.2+
+
+ Example:
+Files RuleDispatch.orig/src/dispatch/__init__.pyc and RuleDispatch/src/dispatch/__init__.pyc differ
+Files RuleDispatch.orig/src/dispatch/interfaces.pyc and RuleDispatch/src/dispatch/interfaces.pyc differ
+diff -uNr RuleDispatch.orig/src/dispatch/predicates.py RuleDispatch/src/dispatch/predicates.py
+--- RuleDispatch.orig/src/dispatch/predicates.py 2009-07-25 13:25:08.000000000 +0000
++++ RuleDispatch/src/dispatch/predicates.py 2009-07-25 13:27:58.000000000 +0000
+@@ -236,7 +236,7 @@
+
+ return or_, (EXPR_GETTER_ID,)
+
+- [as(classmethod)]
++ [as_(classmethod)]
+ def immediate(klass,seq):
+ for item in seq:
+ if item:
+@@ -260,7 +260,7 @@
+
+ return and_, (EXPR_GETTER_ID,)
+
+- [as(classmethod)]
++ [as_(classmethod)]
+ def immediate(klass,seq):
+ for item in seq:
+ if not item:
+@@ -278,7 +278,7 @@
+ return get(argIds[2])
+ return ifelse, (EXPR_GETTER_ID,)
+
+- [as(classmethod)]
++ [as_(classmethod)]
+ def immediate(klass,seq):
+ if seq[1]: return seq[0]
+ return seq[2]
+
diff --git a/dev-python/ruledispatch/metadata.xml b/dev-python/ruledispatch/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/ruledispatch/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/ruledispatch/ruledispatch-0.5_pre2306-r2.ebuild b/dev-python/ruledispatch/ruledispatch-0.5_pre2306-r2.ebuild
new file mode 100644
index 000000000000..ee6a2828e8e2
--- /dev/null
+++ b/dev-python/ruledispatch/ruledispatch-0.5_pre2306-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils versionator flag-o-matic
+
+MY_PN="RuleDispatch"
+MY_P="${MY_PN}-$(get_version_component_range 1-2)a0.dev-$(get_version_component_range 3-)"
+MY_P="${MY_P/pre/r}"
+
+DESCRIPTION="Rule-based Dispatching and Generic Functions"
+HOMEPAGE="http://peak.telecommunity.com/"
+# http://svn.eby-sarna.com/RuleDispatch/
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
+
+LICENSE="|| ( PSF-2.4 ZPL )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/pyprotocols-1.0_pre2306[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_PN}"
+
+PATCHES=( "${FILESDIR}/${PN}_as_syntax_fix.patch" )
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_test() {
+ cd "${BUILD_DIR}/lib" || die
+ # parallel build makes a salad; einfo msg lets us see what's occuring
+ for test in dispatch/tests/test_*.py; do
+ "${PYTHON}" $test && einfo "Tests $test passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+ done
+ # doctest appears old and unmaintained, left for just in case
+ # "${PYTHON}" dispatch/tests/doctest.py
+ einfo "Tests passed under ${EPYTHON}"
+}
diff --git a/dev-python/runsnakerun/Manifest b/dev-python/runsnakerun/Manifest
new file mode 100644
index 000000000000..ff9a033c761c
--- /dev/null
+++ b/dev-python/runsnakerun/Manifest
@@ -0,0 +1 @@
+DIST RunSnakeRun-2.0.4.tar.gz 447278 SHA256 61d03a13f1dcb3c1829f5a146da1fe0cc0e27947558a51e848b6d469902815ef SHA512 2338d44ea57e7e9610e85dda5b2d806795d259e4e33e57e15f0ff8c938ba3dbcfc6df46d69f2fff3558879dd3b14725fdb7e0da939bf803776dc6bc95618ec24 WHIRLPOOL f8796d96a954b5d1b9556ef4e2113f494520b2a99142677581f1aca131c90bbeb9f1277d7892f6d58a9b750cc5a546e7f4c3b37c4372c31734a23e898a068aed
diff --git a/dev-python/runsnakerun/metadata.xml b/dev-python/runsnakerun/metadata.xml
new file mode 100644
index 000000000000..afc69a780278
--- /dev/null
+++ b/dev-python/runsnakerun/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">RunSnakeRun</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/runsnakerun/runsnakerun-2.0.4.ebuild b/dev-python/runsnakerun/runsnakerun-2.0.4.ebuild
new file mode 100644
index 000000000000..a547cd93a8f2
--- /dev/null
+++ b/dev-python/runsnakerun/runsnakerun-2.0.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_PN="RunSnakeRun"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="GUI Viewer for Python profiling runs"
+HOMEPAGE="http://www.vrplumber.com/programming/runsnakerun/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ dev-python/squaremap
+ dev-python/wxpython"
+
+S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/sampy/Manifest b/dev-python/sampy/Manifest
new file mode 100644
index 000000000000..d4ec221e134f
--- /dev/null
+++ b/dev-python/sampy/Manifest
@@ -0,0 +1 @@
+DIST sampy-1.2.1.tar.gz 63520 SHA256 5c8d913d95cb432c11be29ab42414f05ce13ef16a811b8118d5ff69dceb1fc67 SHA512 a531d797b1ce3539a78cdb6ea9b943adad1537ce4e151925b9ed44513fcff1de625026e2d23abc39cd326f69cf71849124395c3cc874c603ecc60ab14e188d13 WHIRLPOOL 9536e320e983ac1f7e31eb1d4de2ba60834f29dc3000b8b5dd87e70fa6881650b4c2e4cc11478b28046e2cc01974441b1310b4fae76ba550578169cb30ccdf80
diff --git a/dev-python/sampy/metadata.xml b/dev-python/sampy/metadata.xml
new file mode 100644
index 000000000000..0a569a2a9a28
--- /dev/null
+++ b/dev-python/sampy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ SAMPy is a Python implementation of the Internation Virtual
+ Astronomy Organiztion of the Simple Application
+ Messaging Protocol (with Web Profile support).
+</longdescription>
+<upstream>
+ <remote-id type="pypi">sampy</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/sampy/sampy-1.2.1.ebuild b/dev-python/sampy/sampy-1.2.1.ebuild
new file mode 100644
index 000000000000..2b6ec1c54a6a
--- /dev/null
+++ b/dev-python/sampy/sampy-1.2.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Simple Application Messaging Protocol messaging system implementation in Python"
+HOMEPAGE="http://packages.python.org/sampy/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/sancho/Manifest b/dev-python/sancho/Manifest
new file mode 100644
index 000000000000..8c992d59a3e6
--- /dev/null
+++ b/dev-python/sancho/Manifest
@@ -0,0 +1 @@
+DIST Sancho-2.4.tar.gz 7962 SHA256 52fdaa6e13e242d0b3be09bac733595a2d6602e0a975d00c72233505a14f35db SHA512 49230ee8a05dbc5bf3d7b3900504f47a3a47f013878e75f93c277610e4d22f9714b9a58a41a779e25b0ddb9c24ff351508c0b72c78fe146b8371024345629e21 WHIRLPOOL 204db0afe5bae499a985b2c41c5b5939a6817c2251a29c39a0797ee26da99195f2a802647586968464f9307ac63283ca6aa2fa4254f753a440436066f6531703
diff --git a/dev-python/sancho/metadata.xml b/dev-python/sancho/metadata.xml
new file mode 100644
index 000000000000..a816521c48d1
--- /dev/null
+++ b/dev-python/sancho/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/sancho/sancho-2.4-r1.ebuild b/dev-python/sancho/sancho-2.4-r1.ebuild
new file mode 100644
index 000000000000..031675c67a32
--- /dev/null
+++ b/dev-python/sancho/sancho-2.4-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="Sancho-${PV}"
+
+DESCRIPTION="Sancho is a unit testing framework"
+HOMEPAGE="http://www.mems-exchange.org/software/sancho/"
+SRC_URI="http://www.mems-exchange.org/software/files/${PN}/${MY_P}.tar.gz"
+
+LICENSE="CNRI"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ cd test
+ local test test_failure test_failure_count=0
+ for test in *.py; do
+ test_failure="0"
+ ebegin "Testing ${test}"
+ "${PYTHON}" "${test}" > "${test}.output"
+ grep -Eqv "^${test}: .*:$" "${test}.output" && test_failure="1"
+ eend "${test_failure}"
+ if [[ "${test_failure}" == "1" ]]; then
+ ((test_failure_count++))
+ eerror "Failure output for ${test}"
+ cat "${test}.output"
+ fi
+ done
+ if [[ "${test_failure_count}" -gt "0" ]]; then
+ die "${test_failure_count} tests failed"
+ fi
+}
diff --git a/dev-python/sancho/sancho-2.4.ebuild b/dev-python/sancho/sancho-2.4.ebuild
new file mode 100644
index 000000000000..4fb69f347f87
--- /dev/null
+++ b/dev-python/sancho/sancho-2.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils
+
+MY_P="Sancho-${PV}"
+
+DESCRIPTION="Sancho is a unit testing framework"
+HOMEPAGE="http://www.mems-exchange.org/software/sancho/"
+SRC_URI="http://www.mems-exchange.org/software/files/${PN}/${MY_P}.tar.gz"
+
+LICENSE="CNRI"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="CHANGES.txt"
+
+src_test() {
+ cd test
+ testing() {
+ local test test_failure test_failure_count=0
+ for test in *.py; do
+ test_failure="0"
+ ebegin "Testing ${test}"
+ PYTHONPATH="../build-${PYTHON_ABI}/lib" "$(PYTHON)" "${test}" > "${test}.output"
+ grep -Eqv "^${test}: .*:$" "${test}.output" && test_failure="1"
+ eend "${test_failure}"
+ if [[ "${test_failure}" == "1" ]]; then
+ ((test_failure_count++))
+ eerror "Failure output for ${test}"
+ cat "${test}.output"
+ fi
+ done
+ if [[ "${test_failure_count}" -gt "0" ]]; then
+ die "${test_failure_count} tests failed with Python ${PYTHON_ABI}"
+ fi
+ }
+ python_execute_function testing
+}
diff --git a/dev-python/scientificpython/Manifest b/dev-python/scientificpython/Manifest
new file mode 100644
index 000000000000..a3ffbf9380d5
--- /dev/null
+++ b/dev-python/scientificpython/Manifest
@@ -0,0 +1,3 @@
+DIST ScientificPython-2.9.1.tar.gz 595239 SHA256 b45305b03d8238fe1be74d6bbd5541d452d9705ab15069dcd506d38e137e9c5c SHA512 08c609d9204088fa1f9a2563f5321ed7e248469e44c86b5d5bc56dc3f975854c4e2b266a8e750fbdc858ed58a466487da4fe986c15a077319ab1a73d8e9b0305 WHIRLPOOL b731e0aaac972c118519cea9b9076cb449294c3929b4f7baceda69293a1a5c153952b5e46b54e111d1bcdcb2f1ea05162141c8c1f88d284071a7a341218b730d
+DIST ScientificPython-2.9.3.tar.gz 689431 SHA256 a4dfc55c2ec84a0795b0641e5571b79b25a5ef6d92bbb01e934c298ee34b5bc8 SHA512 8633726c8a05f45ac4262dd52213c2dc10148a03b67364d4e50d57953ca410a596f9ba64ee68d3b058dcdc1e7decab21c8b8e9b58e5ac1cf5049cb4588117fa8 WHIRLPOOL 2a7d47770dd1ec7b6eadc85ebdd10ad40f6f3eca873cfc3f4937fdf678d697ac5947e7af9b8caf866b4fe0efb7a2746e684ff8d5775f4f53aafddaed6d110c23
+DIST ScientificPython-2.9.4.tar.gz 688704 SHA256 c397fedf76500dc4c010785a82204a45ee51a04a54fabfb6142d594de14f8639 SHA512 8bd3ce3ead090832582711c25f7d4c7a5a55642ef9a1e845fb68b4b3dba833ba86baf9c444fd9948ce761a5357dbf388a2c1a860a66ee13fdf1f26d1010cc8c8 WHIRLPOOL 7890b534cffa53f258a5db8aa974805055773dc9be5ee9862e9c66f7c07df52e2abb36cc30a07e9bb9c8ee61183f44336643191f41e757ce31fa63773b0df8de
diff --git a/dev-python/scientificpython/files/scientificpython-2.9-mpi.patch b/dev-python/scientificpython/files/scientificpython-2.9-mpi.patch
new file mode 100644
index 000000000000..3140779c74a9
--- /dev/null
+++ b/dev-python/scientificpython/files/scientificpython-2.9-mpi.patch
@@ -0,0 +1,40 @@
+--- Src/MPI/compile.py
++++ Src/MPI/compile.py
+@@ -4,7 +4,7 @@
+ # Normally nothing needs to be changed below
+ import distutils
+ import distutils.sysconfig
+-import os, sys
++import os, subprocess, sys
+ from Scientific import N
+
+ cfgDict = distutils.sysconfig.get_config_vars()
+@@ -32,16 +32,16 @@
+ items[i] = os.path.join(frameworkdir[0], items[i])
+ linkforshared = ' '.join(items)
+
+-cmd = '%s %s -o mpipython -I%s %s %s -L%s -lpython%s %s %s' % \
+- (mpicompiler,
+- linkforshared,
+- cfgDict['INCLUDEPY'],
+- extra_compile_args,
+- sources,
+- cfgDict['LIBPL'],
+- cfgDict['VERSION'],
+- cfgDict['LIBS'],
+- cfgDict['LIBM'])
++cmd = [mpicompiler]
++cmd.extend(linkforshared.split())
++cmd.extend(os.environ.get("CFLAGS", "").split())
++cmd.extend(os.environ.get("LDFLAGS", "").split())
++cmd.extend(["-o", "mpipython"])
++cmd.extend(["-I" + x for x in cfgDict['INCLUDEPY'].split()])
++cmd.extend(["-I../../Include"])
++cmd.extend(extra_compile_args.split())
++cmd.extend(sources.split())
++cmd.extend(["-lpython%s" % cfgDict['VERSION']])
+
+-print 'cmd = ', cmd
+-os.system(cmd)
++print 'cmd =', " ".join(cmd)
++sys.exit(subprocess.call(cmd))
diff --git a/dev-python/scientificpython/files/scientificpython-2.9.1-mpi-netcdf.patch b/dev-python/scientificpython/files/scientificpython-2.9.1-mpi-netcdf.patch
new file mode 100644
index 000000000000..622032d4d174
--- /dev/null
+++ b/dev-python/scientificpython/files/scientificpython-2.9.1-mpi-netcdf.patch
@@ -0,0 +1,29 @@
+--- setup.py
++++ setup.py
+@@ -2,7 +2,7 @@
+
+ from distutils.core import setup, Extension
+ from distutils.command.install_headers import install_headers
+-import os, sys, platform
++import os, sys, platform, subprocess
+ from glob import glob
+
+ class Dummy:
+@@ -103,13 +103,16 @@
+ netcdf_include = os.path.join(netcdf_prefix, 'include')
+ netcdf_h_file = os.path.join(netcdf_prefix, 'include', 'netcdf.h')
+ netcdf_lib = os.path.join(netcdf_prefix, 'lib')
++ mpi_cflags = subprocess.Popen(["mpicc", "-showme:compile"], stdout=subprocess.PIPE).communicate()[0].rstrip().split()
++ mpi_ldflags = subprocess.Popen(["mpicc", "-showme:link"], stdout=subprocess.PIPE).communicate()[0].rstrip().split()
+ ext_modules = [Extension('Scientific_netcdf',
+ ['Src/Scientific_netcdf.c'],
+ include_dirs=['Include', netcdf_include]
+ + arrayobject_h_include,
+ library_dirs=[netcdf_lib],
+ libraries = ['netcdf'],
+- extra_compile_args=extra_compile_args)]
++ extra_compile_args=extra_compile_args + mpi_cflags,
++ extra_link_args=mpi_ldflags)]
+
+ try:
+ # Add code for including documentation in Mac packages
diff --git a/dev-python/scientificpython/files/scientificpython-2.9.3-mpi-netcdf.patch b/dev-python/scientificpython/files/scientificpython-2.9.3-mpi-netcdf.patch
new file mode 100644
index 000000000000..c9672948f2f8
--- /dev/null
+++ b/dev-python/scientificpython/files/scientificpython-2.9.3-mpi-netcdf.patch
@@ -0,0 +1,43 @@
+From 71a5e881290c1cec2506a346e2740a1b821c36aa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 13 Mar 2014 15:29:33 +0100
+Subject: [PATCH] Include MPI cflags/ldflags for netcdf.
+
+---
+ setup.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 7f01656..71ac92a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -2,7 +2,7 @@
+
+ from distutils.core import setup, Extension
+ from distutils.command.install_headers import install_headers
+-import os, sys, platform
++import os, sys, platform, subprocess
+ from glob import glob
+
+ class Dummy:
+@@ -92,13 +92,16 @@ else:
+ netcdf_include = os.path.join(netcdf_prefix, 'include')
+ netcdf_h_file = os.path.join(netcdf_prefix, 'include', 'netcdf.h')
+ netcdf_lib = os.path.join(netcdf_prefix, 'lib')
++ mpi_cflags = subprocess.Popen(["mpicc", "-showme:compile"], stdout=subprocess.PIPE).communicate()[0].rstrip().split()
++ mpi_ldflags = subprocess.Popen(["mpicc", "-showme:link"], stdout=subprocess.PIPE).communicate()[0].rstrip().split()
+ ext_modules = [Extension('Scientific._netcdf',
+ ['Scientific/_netcdf.c'],
+ include_dirs=['Include', netcdf_include]
+ + numpy_include,
+ library_dirs=[netcdf_lib],
+ libraries = ['netcdf'],
+- extra_compile_args=extra_compile_args)]
++ extra_compile_args=extra_compile_args + mpi_cflags,
++ extra_link_args=mpi_ldflags)]
+
+ try:
+ # Add code for including documentation in Mac packages
+--
+1.9.0
+
diff --git a/dev-python/scientificpython/metadata.xml b/dev-python/scientificpython/metadata.xml
new file mode 100644
index 000000000000..60d277ea12fa
--- /dev/null
+++ b/dev-python/scientificpython/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>python</herd>
+ <longdescription lang="en">
+ ScientificPython is a collection of Python modules that are useful for
+ scientific computing. In this collection you will find modules that
+ cover basic geometry (vectors, tensors, transformations, vector and
+ tensor fields), quaternions, automatic derivatives, linear
+ interpolation, polynomials, elementary statistics, nonlinear
+ least-squares fits, unit calculations, Fortran-compatible text
+ formatting, 3D visualization via VRML, and two Tk widgets for simple
+ line plots and 3D wireframe models.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/scientificpython/scientificpython-2.9.1.ebuild b/dev-python/scientificpython/scientificpython-2.9.1.ebuild
new file mode 100644
index 000000000000..b8619890c09f
--- /dev/null
+++ b/dev-python/scientificpython/scientificpython-2.9.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+inherit distutils eutils
+
+MY_PN="ScientificPython"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Scientific Module for Python"
+DOWNLOAD_NUMBER="3420"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${DOWNLOAD_NUMBER}/${MY_P}.tar.gz"
+HOMEPAGE="http://sourcesup.cru.fr/projects/scientific-py/"
+
+LICENSE="CeCILL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc mpi test"
+
+RDEPEND="
+ <dev-python/numpy-1.9
+ dev-python/pyro:3
+ sci-libs/netcdf
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose )"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+PYTHON_MODNAME="Scientific"
+
+src_prepare() {
+ distutils_src_prepare
+ epatch "${FILESDIR}/${PN}-2.9-mpi.patch"
+ use mpi && epatch "${FILESDIR}/${P}-mpi-netcdf.patch"
+}
+
+src_compile() {
+ distutils_src_compile
+
+ if use mpi; then
+ cd Src/MPI
+ building_of_mpipython() {
+ PYTHONPATH="$(ls -d ../../build-${PYTHON_ABI}/lib*)" "$(PYTHON)" compile.py
+ mv -f mpipython mpipython-${PYTHON_ABI}
+ }
+ python_execute_function \
+ --action-message 'Building of mpipython with $(python_get_implementation) $(python_get_version)' \
+ --failure-message 'Building of mpipython failed with $(python_get_implementation) $(python_get_version)' \
+ building_of_mpipython
+ fi
+}
+
+src_test() {
+ cd Tests
+ python_execute_nosetests -P '$(ls -d ../build-${PYTHON_ABI}/lib.*)'
+}
+
+src_install() {
+ distutils_src_install
+ # do not install bsp related stuff, since we don't compile the interface
+ dodoc README README.MPI Doc/CHANGELOG || die "dodoc failed"
+ insinto /usr/share/doc/${PF}
+ doins Examples/{demomodule.c,netcdf_demo.py} || die "doins examples failed"
+
+ if use mpi; then
+ installation_of_mpipython() {
+ dobin Src/MPI/mpipython-${PYTHON_ABI}
+ }
+ python_execute_function -q installation_of_mpipython
+ python_generate_wrapper_scripts "${ED}usr/bin/mpipython"
+ doins Examples/mpi.py || die "doins mpi example failed failed"
+ fi
+
+ if use doc; then
+ dohtml Doc/Reference/* || die "dohtml failed"
+ fi
+}
diff --git a/dev-python/scientificpython/scientificpython-2.9.3.ebuild b/dev-python/scientificpython/scientificpython-2.9.3.ebuild
new file mode 100644
index 000000000000..805e26d45d4b
--- /dev/null
+++ b/dev-python/scientificpython/scientificpython-2.9.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="ScientificPython"
+MY_P="${MY_PN}-${PV}"
+DOWNLOAD_NUMBER=4425
+
+DESCRIPTION="Scientific Module for Python"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${DOWNLOAD_NUMBER}/${MY_P}.tar.gz"
+HOMEPAGE="http://sourcesup.cru.fr/projects/scientific-py/"
+
+LICENSE="CeCILL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc mpi test"
+
+RDEPEND="
+ <dev-python/numpy-1.9[${PYTHON_USEDEP}]
+ dev-python/pyro:3[${PYTHON_USEDEP}]
+ sci-libs/netcdf
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.9-mpi.patch )
+DOCS=( README README.MPI Doc/CHANGELOG Examples/demomodule.c Examples/netcdf_demo.py )
+
+python_prepare_all() {
+ use mpi && PATCHES+=( "${FILESDIR}"/${PN}-2.9.3-mpi-netcdf.patch )
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use mpi; then
+ cd Src/MPI || die
+ ${PYTHON} compile.py || die
+ mv -f mpipython mpipython-${EPYTHON} || die
+ fi
+}
+
+python_test() {
+ cd "${S}"/Tests || die
+ python_foreach_impl nosetests
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if use mpi; then
+ cd Src/MPI || die
+ python_newexe mpipython-${EPYTHON} mpipython
+ fi
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( Doc/Reference/. )
+ use mpi && EXAMPLES=( Examples/mpi.py )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scientificpython/scientificpython-2.9.4.ebuild b/dev-python/scientificpython/scientificpython-2.9.4.ebuild
new file mode 100644
index 000000000000..93af0d21a04a
--- /dev/null
+++ b/dev-python/scientificpython/scientificpython-2.9.4.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="ScientificPython"
+MY_P="${MY_PN}-${PV}"
+DOWNLOAD_NUMBER=4570
+
+DESCRIPTION="Scientific Module for Python"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${DOWNLOAD_NUMBER}/${MY_P}.tar.gz"
+HOMEPAGE="http://sourcesup.cru.fr/projects/scientific-py/"
+
+LICENSE="CeCILL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc mpi test"
+
+RDEPEND="
+ <dev-python/numpy-1.9[${PYTHON_USEDEP}]
+ dev-python/pyro:3[${PYTHON_USEDEP}]
+ sci-libs/netcdf
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.9-mpi.patch )
+DOCS=( README README.MPI Doc/CHANGELOG Examples/demomodule.c Examples/netcdf_demo.py )
+
+python_prepare_all() {
+ use mpi && PATCHES+=( "${FILESDIR}"/${PN}-2.9.3-mpi-netcdf.patch )
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use mpi; then
+ cd Src/MPI || die
+ ${PYTHON} compile.py || die
+ mv -f mpipython mpipython-${EPYTHON} || die
+ fi
+}
+
+python_test() {
+ cd "${S}"/Tests || die
+ python_foreach_impl nosetests
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if use mpi; then
+ cd Src/MPI || die
+ python_newexe mpipython-${EPYTHON} mpipython
+ fi
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( Doc/Reference/. )
+ use mpi && EXAMPLES=( Examples/mpi.py )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scimath/Manifest b/dev-python/scimath/Manifest
new file mode 100644
index 000000000000..cca091b11201
--- /dev/null
+++ b/dev-python/scimath/Manifest
@@ -0,0 +1 @@
+DIST scimath-4.1.2.tar.gz 119399 SHA256 f175ba482dbd4fa8154c6cb44ce8a582b0724c174b401642319f2316af70147e SHA512 2ceeeca5402da2b8745e0af5dac6a470c47b80529ec56aeb758cea815785be8a38b4ee3a052780c532b474acc4bf36474dd67c802a94971f3010148987c24257 WHIRLPOOL 3e5ef8135086a323429994d1831124d3912b1e765ef65610bd6bdd94ee18a170fd90bc4a3f6f8fa9cc026c635ce368a6c8eb79a3a47bb58db03df6507cc58c5b
diff --git a/dev-python/scimath/metadata.xml b/dev-python/scimath/metadata.xml
new file mode 100644
index 000000000000..67f15cfd0d03
--- /dev/null
+++ b/dev-python/scimath/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The SciMath project from the Enthought Tool Suite includes
+ packages to support scientific and mathematical calculations,
+ beyond the capabilities offered by SciPy:
+ * enthought.interpolate
+ * enthought.mathematics
+ * enthought.units
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/scimath/scimath-4.1.2-r1.ebuild b/dev-python/scimath/scimath-4.1.2-r1.ebuild
new file mode 100644
index 000000000000..f7702d617793
--- /dev/null
+++ b/dev-python/scimath/scimath-4.1.2-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Scientific and mathematical tools"
+HOMEPAGE="http://code.enthought.com/projects/sci_math/ http://pypi.python.org/pypi/scimath"
+SRC_URI="http://www.enthought.com/repo/ets/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+RDEPEND=">=dev-python/traits-4.1[${PYTHON_USEDEP}]
+ >=dev-python/traitsui-4.1[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ x11-apps/xhost
+ )"
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # ONE test assumes PYTHONPATH in its own dir!!!
+ PYTHONPATH=build/lib/:build/lib/scimath/interpolate/
+ VIRTUALX_COMMAND="nosetests" virtualmake
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/sclapp/Manifest b/dev-python/sclapp/Manifest
new file mode 100644
index 000000000000..aa7e7a823da7
--- /dev/null
+++ b/dev-python/sclapp/Manifest
@@ -0,0 +1 @@
+DIST sclapp-0.5.3.tar.gz 47646 SHA256 e8e8b60cea9b09acc08f237e92c8b86057bdfd735412aa88cc993fea29031768 SHA512 e615310b2ede517717cf8ef70aca02c070676d71fb8880e381e3cc66d5c6006e47b4dd7c4355dbcb34e76898ce7a7a2e4522454490353970ac185c5d1963e49f WHIRLPOOL 49b940319e4f87dbc973081ec2ec7ad3b445d79a56ab23bf1ba58950ca3010eb5b2fb8666fe26677214bc07cb5bb2a8d7faeec0878e55c27e3644a19cf46d49f
diff --git a/dev-python/sclapp/files/sclapp-0.5.3-testsuite-fix-from-r235.patch b/dev-python/sclapp/files/sclapp-0.5.3-testsuite-fix-from-r235.patch
new file mode 100644
index 000000000000..45965f01b1de
--- /dev/null
+++ b/dev-python/sclapp/files/sclapp-0.5.3-testsuite-fix-from-r235.patch
@@ -0,0 +1,40 @@
+=== modified file 'NEWS'
+--- NEWS 2009-01-14 11:11:28 +0000
++++ NEWS 2009-12-21 14:12:02 +0000
+@@ -25,6 +25,9 @@
+
+ (Forest Bond)
+
++ * Fixed output protection test that was failing on some systems.
++ (Forest Bond)
++
+
+ sclapp 0.5.3 2008-07-21
+ =======================
+
+=== modified file 'tests/output_protection.py'
+--- tests/output_protection.py 2008-05-18 21:46:03 +0000
++++ tests/output_protection.py 2009-12-21 14:12:02 +0000
+@@ -109,8 +109,10 @@
+ exceptions = ()):
+ def test_fn():
+ pid = failure_fn(main_fn)
+- assertLogFileContainsExactly('foo', foos)
+- assertLogFileContainsExactly('bar', bars)
++ if foos is not None:
++ assertLogFileContainsExactly('foo', foos)
++ if bars is not None:
++ assertLogFileContainsExactly('bar', bars)
+ for signal in signals:
+ assertSignalCaught(signal, pid)
+ for exception in exceptions:
+@@ -171,7 +173,7 @@
+ 'test_stdout_fails_without_signal_handling_without_output_protection',
+ _stdout_fails,
+ main_without_signal_handling_without_output_protection,
+- 2, 2, ()
++ 2, None, ()
+ )))
+ test_stdout_stderr_fail_without_signal_handling_without_output_protection = (
+ staticmethod(_make_test_fn(
+
diff --git a/dev-python/sclapp/metadata.xml b/dev-python/sclapp/metadata.xml
new file mode 100644
index 000000000000..16bcc9f800a2
--- /dev/null
+++ b/dev-python/sclapp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/sclapp/sclapp-0.5.3-r1.ebuild b/dev-python/sclapp/sclapp-0.5.3-r1.ebuild
new file mode 100644
index 000000000000..41d8de2c9966
--- /dev/null
+++ b/dev-python/sclapp/sclapp-0.5.3-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Framework for writing simple command-line applications"
+HOMEPAGE="http://forestbond.com/media/docs/${P}.html"
+SRC_URI="http://www.alittletooquiet.net/media/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/pexpect[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-testsuite-fix-from-r235.patch"
+)
+
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/scoop/Manifest b/dev-python/scoop/Manifest
new file mode 100644
index 000000000000..b6a81e4464db
--- /dev/null
+++ b/dev-python/scoop/Manifest
@@ -0,0 +1 @@
+DIST scoop-0.7.0.release.tar.gz 598566 SHA256 5f4630884bc4e2821f79766e57c07b19c5cb1f6a2440bb8f427f0ef2532be908 SHA512 4e8378b6c73ef7d3d2d6ad8387220e0659b12eed008d834fb99a661ff1ff5f6b842e897156cec41119f5c392e341c3e8e5b912f01f0728b585daab46aa07d270 WHIRLPOOL 48427059868c3fe6cc662c40cfb0cd5c11e34c440084d2b3fb0aab951a41c4d43f67a4b78ef3ba2b2ef29a9584587b3767a6b1469d8313df572cf8188a74b300
diff --git a/dev-python/scoop/metadata.xml b/dev-python/scoop/metadata.xml
new file mode 100644
index 000000000000..c699c152e1bc
--- /dev/null
+++ b/dev-python/scoop/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ SCOOP (Scalable COncurrent Operations in Python) is a distributed task module
+ allowing concurrent parallel programming on various environments, from
+ heterogeneous grids to supercomputers.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">scoop</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scoop/scoop-0.7.0-r1.ebuild b/dev-python/scoop/scoop-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..978e3e8d352e
--- /dev/null
+++ b/dev-python/scoop/scoop-0.7.0-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Distributed Evolutionary Algorithms in Python"
+HOMEPAGE="https://code.google.com/p/scoop/ http://pypi.python.org/pypi/scoop"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.release.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/greenlet-0.3.4
+ >=dev-python/pyzmq-13.1.0"
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
+
+S="${WORKDIR}/${P}.release"
diff --git a/dev-python/scrapy/Manifest b/dev-python/scrapy/Manifest
new file mode 100644
index 000000000000..1856c8064f62
--- /dev/null
+++ b/dev-python/scrapy/Manifest
@@ -0,0 +1,3 @@
+DIST scrapy-0.25.1.tar.gz 986555 SHA256 11e6496b7196239f395c977c432667466cdef6984dff164337bca7aa37049ed5 SHA512 7c1afbf942c06ab6a849fe609ad8d582de5d42041181bb22b2388bfe13ce23438c3c6ce936953f819e4b897aadbf682cc04f8cd0805f44157b10a583c668f924 WHIRLPOOL 692f0e11065d9b149d7bdcdd9414d718f05986767a5cd3632ad3f5db23904b42a5af5609468f2bc321f827d6e3352eb0ce36cb797d68228c608ae8fa57f940c4
+DIST scrapy-1.0.0.tar.gz 1006570 SHA256 3ae419f876902e376abe6de207f91ea383ce1e385d21784965a90617985fb1d6 SHA512 72bd686da3e4d789ca51b5f90f726ece678f64dcbfe7f25cd2c377536ece9ec8c9cf49fc018ef383a910f190a32e46e7894fd165d34e191249f7bd9ae018499f WHIRLPOOL f9b26256c0d0b0ba4d088538b3f6d967eb6f0294312da61adc2d2a790bc4851555f019b1e139f7c3a83b4922065593a41606f155d9b953ded2124e551af2d194
+DIST scrapy-1.0.1.tar.gz 1006619 SHA256 713ffd19616057d10addea2cba92cb6eee1642f59c803942b029cd02baa1be37 SHA512 99a6c99816c94c936c87c3f282bcc3866786b4d1adc57e00c8812c3761ef05279f0ded6746d3fdc947496549d22090f59a22392b207d56b24ca537b0e1e30372 WHIRLPOOL 3e3aef1d5416c009903a6a37df5e3f33237a50555a6dd09bde4ed6fe303473f1ef44501a04754f3d1ab2fe61668c6f7f56d507a77d89060b6fca7054f05af65c
diff --git a/dev-python/scrapy/files/0.25.1-setup.patch b/dev-python/scrapy/files/0.25.1-setup.patch
new file mode 100644
index 000000000000..05727c6d4724
--- /dev/null
+++ b/dev-python/scrapy/files/0.25.1-setup.patch
@@ -0,0 +1,40 @@
+https://github.com/scrapy/scrapy/commit/480cfa199475d867cb51cb04ce76ed54809514f6
+https://github.com/scrapy/scrapy/commit/3b64b2449ed2afd3bd4a2173c186fd44c6efac86
+diff --git a/setup.py b/setup.py
+index 6efe640..252068c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -124,7 +124,7 @@ def is_not_module(filename):
+ else:
+ setup_args['install_requires'] = [
+ 'Twisted>=10.0.0',
+- 'w3lib>=1.2',
++ 'w3lib>=1.8.0',
+ 'queuelib',
+ 'lxml',
+ 'pyOpenSSL',
+diff --git a/requirements.txt b/requirements.txt
+index 0df9a55..005b8f4 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -2,6 +2,6 @@ Twisted>=10.0.0
+ lxml
+ pyOpenSSL
+ cssselect>=0.9
+-w3lib>=1.2
++w3lib>=1.8.0
+ queuelib
+ six>=1.5.2
+diff --git a/tox.ini b/tox.ini
+index 20d54b6..38ef6c4 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -48,7 +48,7 @@ deps = (re-based)
+ pyOpenSSL>=0.13.1
+ cssselect>=0.9
+ queuelib>=1.1.1
+- w3lib>=1.5
++ w3lib>=1.8.0
+ # tests requirements
+ mock
+ :HPK:pytest>2.5.2
diff --git a/dev-python/scrapy/metadata.xml b/dev-python/scrapy/metadata.xml
new file mode 100644
index 000000000000..4733256d88aa
--- /dev/null
+++ b/dev-python/scrapy/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="boto">Add support for Amazon S3 via <pkg>dev-python/boto</pkg></flag>
+ <flag name="ibl">Use Instace Based Learning alrogirithm for automatic extraction</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">scrapy/scrapy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scrapy/scrapy-0.25.1.ebuild b/dev-python/scrapy/scrapy-0.25.1.ebuild
new file mode 100644
index 000000000000..ac6644a2ffe9
--- /dev/null
+++ b/dev-python/scrapy/scrapy-0.25.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit vcs-snapshot distutils-r1
+
+DESCRIPTION="A high-level Python Screen Scraping framework"
+HOMEPAGE="http://scrapy.org http://pypi.python.org/pypi/Scrapy/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boto doc ibl test ssl"
+
+RDEPEND=">=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ibl? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+ boto? ( dev-python/boto[${PYTHON_USEDEP}] )
+ >=dev-python/twisted-core-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-conch-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-mail-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/w3lib-1.6[${PYTHON_USEDEP}]
+ dev-python/queuelib[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.9[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/boto[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=net-proxy/mitmproxy-0.10[${PYTHON_USEDEP}]
+ net-ftp/vsftpd )"
+# pytest-twisted listed as a test dep but not in portage.
+# Testsuite currently survives without it, so appears optional
+
+REQUIRED_USE="test? ( ssl boto )"
+
+PATCHES=( "${FILESDIR}"/${PV}-setup.patch )
+
+python_compile_all() {
+ if use doc; then
+ PYTHONPATH="${S}" emake -C docs html || die "emake html failed"
+ fi
+}
+
+python_test() {
+ py.test ${PN} || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scrapy/scrapy-1.0.0.ebuild b/dev-python/scrapy/scrapy-1.0.0.ebuild
new file mode 100644
index 000000000000..59ac85121a11
--- /dev/null
+++ b/dev-python/scrapy/scrapy-1.0.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit vcs-snapshot distutils-r1
+
+DESCRIPTION="A high-level Python Screen Scraping framework"
+HOMEPAGE="http://scrapy.org http://pypi.python.org/pypi/Scrapy/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boto doc ibl test ssl"
+
+RDEPEND=">=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ibl? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+ boto? ( dev-python/boto[${PYTHON_USEDEP}] )
+ >=dev-python/twisted-core-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-conch-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-mail-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/w3lib-1.8.0[${PYTHON_USEDEP}]
+ dev-python/queuelib[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.9[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/boto[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=net-proxy/mitmproxy-0.10.1[${PYTHON_USEDEP}]
+ ~dev-python/netlib-0.10.1[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ net-ftp/vsftpd )"
+# pytest-twisted listed as a test dep but not in portage.
+# Testsuite currently survives without it, so appears optional
+
+REQUIRED_USE="test? ( ssl boto )"
+
+python_compile_all() {
+ if use doc; then
+ PYTHONPATH="${S}" emake -C docs html || die "emake html failed"
+ fi
+}
+
+python_test() {
+ py.test ${PN} || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scrapy/scrapy-1.0.1.ebuild b/dev-python/scrapy/scrapy-1.0.1.ebuild
new file mode 100644
index 000000000000..16f55ff21791
--- /dev/null
+++ b/dev-python/scrapy/scrapy-1.0.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit vcs-snapshot distutils-r1
+
+DESCRIPTION="A high-level Python Screen Scraping framework"
+HOMEPAGE="http://scrapy.org http://pypi.python.org/pypi/Scrapy/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boto doc ibl test ssl"
+
+RDEPEND=">=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ibl? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+ boto? ( dev-python/boto[${PYTHON_USEDEP}] )
+ >=dev-python/twisted-core-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-conch-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-mail-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-10.0.0[${PYTHON_USEDEP}]
+ >=dev-python/w3lib-1.8.0[${PYTHON_USEDEP}]
+ dev-python/queuelib[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.9[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/boto[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=net-proxy/mitmproxy-0.10.1[${PYTHON_USEDEP}]
+ dev-python/netlib[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ net-ftp/vsftpd )"
+# pytest-twisted listed as a test dep but not in portage.
+# Testsuite currently survives without it, so appears optional
+
+REQUIRED_USE="test? ( ssl boto )"
+
+python_compile_all() {
+ if use doc; then
+ PYTHONPATH="${S}" emake -C docs html || die "emake html failed"
+ fi
+}
+
+python_test() {
+ py.test ${PN} || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scripttest/Manifest b/dev-python/scripttest/Manifest
new file mode 100644
index 000000000000..7d557ad8321e
--- /dev/null
+++ b/dev-python/scripttest/Manifest
@@ -0,0 +1 @@
+DIST ScriptTest-1.2.tar.gz 7208 SHA256 158c34cfa736288c33177588572c2bb3372b836eb4c90b05222911b4ff976942 SHA512 0dc09e6af5554f38aca6ee45b9afad2fa4c1c53a4d3c43edff95bbd6ea8d57e94bf6b7bdcfd26afff6bf2b10690795bd2816013801911f726c67e8171546cad2 WHIRLPOOL 2d23a9fec63c34bd6cf4a06fa01167a9fc05017950fa05bf39a14b5f44393ca38b11d4c7b6c8285ba49cd1a535520ebd83901fadc41497ce7513899356d935d3
diff --git a/dev-python/scripttest/metadata.xml b/dev-python/scripttest/metadata.xml
new file mode 100644
index 000000000000..7881e9f87271
--- /dev/null
+++ b/dev-python/scripttest/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ScriptTest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scripttest/scripttest-1.2-r1.ebuild b/dev-python/scripttest/scripttest-1.2-r1.ebuild
new file mode 100644
index 000000000000..89c076526da4
--- /dev/null
+++ b/dev-python/scripttest/scripttest-1.2-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="ScriptTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A very small text templating language"
+HOMEPAGE="http://pythonpaste.org/scripttest/ http://pypi.python.org/pypi/ScriptTest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/seaborn/Manifest b/dev-python/seaborn/Manifest
new file mode 100644
index 000000000000..24006cdc7114
--- /dev/null
+++ b/dev-python/seaborn/Manifest
@@ -0,0 +1,2 @@
+DIST seaborn-0.5.1.tar.gz 104426 SHA256 8c8f7f1036cf6155be3d987ee23d2eeeed8c272b0803b32b7d524614f8526688 SHA512 bbcdf0625e096b8f41d56521f3e319a64d82632131d80ed1e81144362fe881d9b5df4d3b5a5fa09363b1782897d9ac68d3fc647d82da4e0017c5dba21c897b8d WHIRLPOOL 682a32f2d40a742e87659f27a675c437875a4b4dfcfd8195b774c49ae38f5ad73ee4b73aa00dabab33ccb6015e5eb5326605c897c8b1cac341cc9db0d6143f73
+DIST seaborn-0.6.0.tar.gz 145188 SHA256 e078399b56ed0d53a4aa8bd4d6bd4a9a9deebc0b4acad259d0ef81830affdb68 SHA512 3b7e7c1b72bd55aba012f312b43920044ea011648b4d855f4acd813ae644a75b4c60aa56c35ea759dcd7683bb6d9ea3b4f1209215950a5014ad46ebe04088fb1 WHIRLPOOL 66c9834f982f4a27c1a884bd4c8f73bb718fe0948bc7b3bde86f7d9bd354bbf783e36c576b8e2b0ded50cdf63244f463b9419e808ab70f6d5c2a24e89c570e99
diff --git a/dev-python/seaborn/metadata.xml b/dev-python/seaborn/metadata.xml
new file mode 100644
index 000000000000..13c0d0709aab
--- /dev/null
+++ b/dev-python/seaborn/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <longdescription lang="en">
+Seaborn is a library for making attractive and informative statistical graphics
+in Python. It is built on top of matplotlib and tightly integrated with the
+PyData stack, including support for numpy and pandas data structures and
+statistical routines from scipy and statsmodels.
+
+Some of the features that seaborn offers are
+
+* Several built-in themes that improve on the default matplotlib aesthetics
+* Tools for choosing color palettes to make beautiful plots that reveal
+ patterns in your data
+* Functions for visualizing univariate and bivariate distributions or for
+ comparing them between subsets of data
+* Tools that fit and visualize linear regression models for different kinds
+ of independent and dependent variables
+* Functions that visualize matrices of data and use clustering algorithms to
+ discover structure in those matrices
+* A function to plot statistical timeseries data with flexible estimation and
+ representation of uncertainty around the estimate
+* High-level abstractions for structuring grids of plots that let you easily
+ build complex visualizations
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">seaborne</remote-id>
+ <remote-id type="github">mwaskom/seaborn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/seaborn/seaborn-0.5.1.ebuild b/dev-python/seaborn/seaborn-0.5.1.ebuild
new file mode 100644
index 000000000000..50675a3099c6
--- /dev/null
+++ b/dev-python/seaborn/seaborn-0.5.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Statistical data visualization"
+HOMEPAGE="http://stanford.edu/~mwaskom/software/seaborn/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/patsy[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests"
+ virtualmake --verbosity=3
+}
diff --git a/dev-python/seaborn/seaborn-0.6.0.ebuild b/dev-python/seaborn/seaborn-0.6.0.ebuild
new file mode 100644
index 000000000000..18e22f1910f8
--- /dev/null
+++ b/dev-python/seaborn/seaborn-0.6.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Statistical data visualization"
+HOMEPAGE="http://stanford.edu/~mwaskom/software/seaborn/ https://github.com/mwaskom/seaborn"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/patsy[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ VIRTUALX_COMMAND="nosetests"
+ virtualmake --verbosity=3
+}
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
new file mode 100644
index 000000000000..8b6505131f1f
--- /dev/null
+++ b/dev-python/selenium/Manifest
@@ -0,0 +1,3 @@
+DIST selenium-2.42.1.tar.gz 2512942 SHA256 96ea31c628f1d908572422c7caba074efba86422005a6d43fd55428d20f960c6 SHA512 78278ea33058527ee402ffab3c101d70df2608549753a935ba940e09ca7fb6d2a725a74984475aa1fb297ab88ad38c2358f8ae02fc247a6db31c6ec5cdff6651 WHIRLPOOL e0ff9572a333af9f72fc4f16885d957b022a6f80d2f11a5039292b591405e66a2da314f98171b4e895cd819eb785f40f9f4f509982c083d7383a675e0365aaa0
+DIST selenium-2.45.0.tar.gz 2622200 SHA256 72394ce72928c87d36501a75fcc535737d16654fefd6c216c315158294bcc126 SHA512 c9943ebf9a4b00ebe2bb68514936444e864849e721a016e924cde08dc28883782de8415ae6524b3cdac240ca547298c113ede646fc1645f3f1e9ead893d21490 WHIRLPOOL eb24294a3860bc599b4126f8bf64ad4a0bdaeac534443386732a2932d232ae12107e2e041cb60961a80ed804e74dcf27359aca3b7594a588c889c1e984ec1d94
+DIST selenium-2.46.0.tar.gz 2621186 SHA256 fffce2696f1dfd64662086aac276e657e33953b32e265e34c4d28f5f1787e62c SHA512 58d2bbc2768ccee7c238ed64c0e73d6e56977581ebda5d71a58dfd262e6b724501b49cac11a56fc79b700810ac8f7e09d968f4135f6aed4abf8147eecdce99ea WHIRLPOOL fb537963360abf0950ee71fff2a6db889800692434f4b98412d52249054cbbf177c8e4bdf19ab1640a825f7bee072af2c4a9fcf8dfc9f9c365de4639bf69c063
diff --git a/dev-python/selenium/metadata.xml b/dev-python/selenium/metadata.xml
new file mode 100644
index 000000000000..db4d8b6b09ac
--- /dev/null
+++ b/dev-python/selenium/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">selenium</remote-id>
+ <remote-id type="github">SeleniumHQ/selenium</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/selenium/selenium-2.42.1.ebuild b/dev-python/selenium/selenium-2.42.1.ebuild
new file mode 100644
index 000000000000..f4a0a93a3e34
--- /dev/null
+++ b/dev-python/selenium/selenium-2.42.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language binding for Selenium Remote Control (version 1.0 and 2.0)"
+HOMEPAGE="http://pypi.python.org/pypi/selenium/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 arm x86"
+IUSE="doc"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DOCS=( py/CHANGES py/README )
+DISTUTILS_IN_SOURCE_BUILD=1
+QA_PREBUILT="/usr/lib*/python*/site-packages/${PN}/webdriver/firefox/*/x_ignore_nofocus.so"
diff --git a/dev-python/selenium/selenium-2.45.0.ebuild b/dev-python/selenium/selenium-2.45.0.ebuild
new file mode 100644
index 000000000000..de354a923e94
--- /dev/null
+++ b/dev-python/selenium/selenium-2.45.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language binding for Selenium Remote Control (version 1.0 and 2.0)"
+HOMEPAGE="http://pypi.python.org/pypi/selenium/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="doc"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( py/CHANGES py/README )
+DISTUTILS_IN_SOURCE_BUILD=1
+QA_PREBUILT="/usr/lib*/python*/site-packages/${PN}/webdriver/firefox/*/x_ignore_nofocus.so"
diff --git a/dev-python/selenium/selenium-2.46.0.ebuild b/dev-python/selenium/selenium-2.46.0.ebuild
new file mode 100644
index 000000000000..d7d0e52d74ac
--- /dev/null
+++ b/dev-python/selenium/selenium-2.46.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python language binding for Selenium Remote Control (version 1.0 and 2.0)"
+HOMEPAGE="http://pypi.python.org/pypi/selenium/ https://github.com/SeleniumHQ/selenium http://www.seleniumhq.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="doc"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( py/CHANGES py/README )
+DISTUTILS_IN_SOURCE_BUILD=1
+QA_PREBUILT="/usr/lib*/python*/site-packages/${PN}/webdriver/firefox/*/x_ignore_nofocus.so"
diff --git a/dev-python/semantic_version/Manifest b/dev-python/semantic_version/Manifest
new file mode 100644
index 000000000000..dfcefcbcd44d
--- /dev/null
+++ b/dev-python/semantic_version/Manifest
@@ -0,0 +1 @@
+DIST semantic_version-2.4.1.tar.gz 32260 SHA256 33018ab2807ba395c418b4633993a7572b8a4b3e924823f5828788023b3c9b30 SHA512 b7a2a7d6e3fe19bc79f1545c1de2f44909e65286e8ff91f856b76db255b205da06657d519d64435c3d0a6dfe3d2f86ee1d3be1a19eccefdc313fbc7e5a09031d WHIRLPOOL a4623125bf662fb4a337a7c98258b6a829ff917293fc45b621adbc28afd406dd08c64fbc6c7f3cfa64da4bc9b5ebdcb996ab758fcc6ffc0c22712e71486f8dbe
diff --git a/dev-python/semantic_version/metadata.xml b/dev-python/semantic_version/metadata.xml
new file mode 100644
index 000000000000..6529a29c0fd6
--- /dev/null
+++ b/dev-python/semantic_version/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This small python library provides a few tools to handle SemVer in Python. It follows strictly the 2.0.0 version of the SemVer scheme.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">semantic_version</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/semantic_version/semantic_version-2.4.1.ebuild b/dev-python/semantic_version/semantic_version-2.4.1.ebuild
new file mode 100644
index 000000000000..8cf23d176d55
--- /dev/null
+++ b/dev-python/semantic_version/semantic_version-2.4.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="This small python library provides a few tools to handle SemVer in Python."
+HOMEPAGE="https://pypi.python.org/pypi/semantic_version"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/send2trash/Manifest b/dev-python/send2trash/Manifest
new file mode 100644
index 000000000000..379e2724505d
--- /dev/null
+++ b/dev-python/send2trash/Manifest
@@ -0,0 +1 @@
+DIST send2trash-1.3.0.tar.gz 5563 SHA256 33f4461eae831eb09a21b70ca202c2a6dfd83db6bafa1e1ca11b5001e22c58fe SHA512 d308dd06ef7a11ad7bcb5d9195fb52aa0c0b8e76590ef11b1576d14815501c32c48b96167eb0a325e4f27d0dbf77f41c012a128d30c8f05d9d5ebec9967e21f3 WHIRLPOOL 15d286964183ad44ae51dfed29aa97456d5460b68fd176dd021f7d093d8e6e213818df2fd4346554601b5f87ea1f95727248544e2e78094f696dd7d50d0e89cf
diff --git a/dev-python/send2trash/metadata.xml b/dev-python/send2trash/metadata.xml
new file mode 100644
index 000000000000..149121d3eff7
--- /dev/null
+++ b/dev-python/send2trash/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Send2Trash</remote-id>
+ <remote-id type="github">hsoft/send2trash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/send2trash/send2trash-1.3.0.ebuild b/dev-python/send2trash/send2trash-1.3.0.ebuild
new file mode 100644
index 000000000000..e27f139a8634
--- /dev/null
+++ b/dev-python/send2trash/send2trash-1.3.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Send2Trash"
+
+DESCRIPTION="Sends files to the Trash (or Recycle Bin)"
+HOMEPAGE="http://hg.hardcoded.net/send2trash https://pypi.python.org/pypi/Send2Trash https://github.com/hsoft/send2trash"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
diff --git a/dev-python/sepolgen/Manifest b/dev-python/sepolgen/Manifest
new file mode 100644
index 000000000000..2d8159aed894
--- /dev/null
+++ b/dev-python/sepolgen/Manifest
@@ -0,0 +1,3 @@
+DIST patchbundle-sepolgen-1.2.1-r1.tar.gz 762 SHA256 f6c83b003df65cd2a11c689cb8a1f37e519bb706de17383fa0d9ff79e80adc11 SHA512 1eb83c118b4c6611c868213b802358c32e6863f2fc68cfed92d32f9e119de1ee9d128c3994bb1b71da1e36f1925d2fb71523498afb63cc3b5d2dd7c9290ebb8d WHIRLPOOL 37dd39a4ef28d8df3d6f2c031df556997ff836d8aa9962d69417dae2dc1ca82bd0d12d21df774231ce28b9f1ec2ecdfff710c452e69ee5de6dc0322b0b24f458
+DIST sepolgen-1.2.1.tar.gz 366214 SHA256 438c246bdc6b3cf1b12116831f4c601aaae6e93decb007dddab212a3c88781b0 SHA512 ec71126eaf6ecb18d989821753c04f3325de2188bafe161deff5733ebb95c3589e06198666f0502169cfa7d3a2b8ec509ff62098dc11b66b4f0883e1d8703a6e WHIRLPOOL efdbbb9771f68921a5fd3824267c7716ca48ab1f40395aea5c27ac4f7f3b8bf71f718da5ada40eed6c1b2de5341f3d5f10c7ad6086b5ac017d4898136ded6fe0
+DIST sepolgen-1.2.2.tar.gz 366343 SHA256 bebda8eeb2d386d26823d724ea320508a02b50828d44aff47c3f907cf54c2324 SHA512 83d56c31a87da8e271d6f436878a61f21c508ed8e26fa71f57ef109f432b10e310520c45bdb027f89a1edae12568d827ce3159bd8b6b9cf07c572b9a7225acee WHIRLPOOL 449f540caf2aa653bf2b2638ef310d2b710503744e1387119a66d3039253f537ea7ba987b0e5887e004f76485b1ae2e4a84c192a2e0e3423c9c8e61d8bb0198b
diff --git a/dev-python/sepolgen/files/0030-default-path-for-tests-also-needed-bug-467264.patch b/dev-python/sepolgen/files/0030-default-path-for-tests-also-needed-bug-467264.patch
new file mode 100644
index 000000000000..c8678604c4fd
--- /dev/null
+++ b/dev-python/sepolgen/files/0030-default-path-for-tests-also-needed-bug-467264.patch
@@ -0,0 +1,12 @@
+diff -uNr sepolgen-1.2.1.orig/src/sepolgen/defaults.py sepolgen-1.2.1/src/sepolgen/defaults.py
+--- sepolgen-1.2.1.orig/src/sepolgen/defaults.py 2013-11-04 22:24:13.620024022 +0100
++++ sepolgen-1.2.1/src/sepolgen/defaults.py 2013-11-04 22:25:05.619024133 +0100
+@@ -27,7 +27,7 @@
+ self.config = dict()
+ if not os.path.exists(pathname):
+ self.config_pathname = "(defaults)"
+- self.config["SELINUX_DEVEL_PATH"] = "/usr/share/selinux/default:/usr/share/selinux/mls:/usr/share/selinux/devel"
++ self.config["SELINUX_DEVEL_PATH"] = "/usr/share/selinux/strict/include:/usr/share/selinux/mcs/include:/usr/share/selinux/targeted/include:/usr/share/selinux/mls/include:/usr/share/selinux/default:/usr/share/selinux/mls:/usr/share/selinux/devel"
+ return
+ self.config_pathname = pathname
+ ignore = re.compile(r"^\s*(?:#.+)?$")
diff --git a/dev-python/sepolgen/files/0040-have-test-run-with-PYTHON-variable-python-bug-467264.patch b/dev-python/sepolgen/files/0040-have-test-run-with-PYTHON-variable-python-bug-467264.patch
new file mode 100644
index 000000000000..a039236bf8c9
--- /dev/null
+++ b/dev-python/sepolgen/files/0040-have-test-run-with-PYTHON-variable-python-bug-467264.patch
@@ -0,0 +1,16 @@
+diff -uNr sepolgen-1.2.1.orig/tests/Makefile sepolgen-1.2.1/tests/Makefile
+--- sepolgen-1.2.1.orig/tests/Makefile 2013-11-04 22:25:44.704024216 +0100
++++ sepolgen-1.2.1/tests/Makefile 2013-11-04 22:26:09.718024270 +0100
+@@ -1,3 +1,5 @@
++PYTHON ?= /usr/bin/python
++
+ clean:
+ rm -f *~ *.pyc
+ rm -f parser.out parsetab.py
+@@ -6,4 +8,4 @@
+ rm -f output
+
+ test:
+- python run-tests.py
+\ No newline at end of file
++ $(PYTHON) run-tests.py
diff --git a/dev-python/sepolgen/metadata.xml b/dev-python/sepolgen/metadata.xml
new file mode 100644
index 000000000000..0e4542860a13
--- /dev/null
+++ b/dev-python/sepolgen/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>selinux</herd>
+ <longdescription>Python module needed for audit2allow</longdescription>
+ <upstream>
+ <remote-id type="github">SELinuxProject/selinux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sepolgen/sepolgen-1.2.1-r1.ebuild b/dev-python/sepolgen/sepolgen-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..aced50b9f03b
--- /dev/null
+++ b/dev-python/sepolgen/sepolgen-1.2.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 eutils
+
+DESCRIPTION="SELinux policy generation library"
+HOMEPAGE="http://userspace.selinuxproject.org"
+SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20140506/${P}.tar.gz
+ http://dev.gentoo.org/~swift/patches/sepolgen/patchbundle-${P}-r1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=sys-libs/libselinux-2.0[python]
+ app-admin/setools[python]
+ ${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ EPATCH_MULTI_MSG="Applying sepolgen patches ... " \
+ EPATCH_SUFFIX="patch" \
+ EPATCH_SOURCE="${WORKDIR}/gentoo-patches" \
+ EPATCH_FORCE="yes" \
+ epatch
+
+ epatch_user
+
+ python_copy_sources
+}
+
+src_compile() {
+ :
+}
+
+src_test() {
+ if has_version sec-policy/selinux-base-policy; then
+ invoke_sepolgen_test() {
+ emake test
+ }
+ python_foreach_impl invoke_sepolgen_test
+ else
+ ewarn "Sepolgen requires sec-policy/selinux-base-policy to run tests."
+ fi
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" PYTHONLIBDIR="$(python_get_sitedir)" install
+ python_optimize
+ }
+ python_foreach_impl installation
+
+ # Create sepolgen.conf with different devel location definition
+ if [[ -f /etc/selinux/config ]];
+ then
+ local selinuxtype=$(awk -F'=' '/^SELINUXTYPE/ {print $2}' /etc/selinux/config);
+ mkdir -p "${D}"/etc/selinux || die "Failed to create selinux directory";
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ local selinuxtype="${POLICY_TYPES%% *}";
+ if [[ -n "${selinuxtype}" ]];
+ then
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/strict/include:/usr/share/selinux/strict" > "${D}"/etc/selinux/sepolgen.conf;
+ fi
+ fi
+}
diff --git a/dev-python/sepolgen/sepolgen-1.2.2.ebuild b/dev-python/sepolgen/sepolgen-1.2.2.ebuild
new file mode 100644
index 000000000000..9484ac359e6c
--- /dev/null
+++ b/dev-python/sepolgen/sepolgen-1.2.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 eutils
+
+MY_P="${P//_/-}"
+
+DESCRIPTION="SELinux policy generation library"
+HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
+SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20150202/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=sys-libs/libselinux-2.0[python]
+ app-admin/setools[python]
+ ${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/0030-default-path-for-tests-also-needed-bug-467264.patch"
+
+ epatch_user
+
+ python_copy_sources
+}
+
+src_compile() {
+ :
+}
+
+src_test() {
+ if has_version sec-policy/selinux-base-policy; then
+ invoke_sepolgen_test() {
+ emake test
+ }
+ python_foreach_impl invoke_sepolgen_test
+ else
+ ewarn "Sepolgen requires sec-policy/selinux-base-policy to run tests."
+ fi
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" PYTHONLIBDIR="$(python_get_sitedir)" install
+ python_optimize
+ }
+ python_foreach_impl installation
+
+ # Create sepolgen.conf with different devel location definition
+ if [[ -f /etc/selinux/config ]];
+ then
+ local selinuxtype=$(awk -F'=' '/^SELINUXTYPE/ {print $2}' /etc/selinux/config);
+ mkdir -p "${D}"/etc/selinux || die "Failed to create selinux directory";
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ local selinuxtype="${POLICY_TYPES%% *}";
+ if [[ -n "${selinuxtype}" ]];
+ then
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/strict/include:/usr/share/selinux/strict" > "${D}"/etc/selinux/sepolgen.conf;
+ fi
+ fi
+}
diff --git a/dev-python/sepolgen/sepolgen-9999.ebuild b/dev-python/sepolgen/sepolgen-9999.ebuild
new file mode 100644
index 000000000000..549d87598e20
--- /dev/null
+++ b/dev-python/sepolgen/sepolgen-9999.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit python-r1 eutils
+
+MY_P="${P//_/-}"
+MY_RELEASEDATE="20150202"
+
+DESCRIPTION="SELinux policy generation library"
+HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
+ S="${WORKDIR}/${MY_P}/${PN}"
+else
+ SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20150202/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+DEPEND=">=sys-libs/libselinux-2.0[python]
+ app-admin/setools[python(+)]
+ ${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]] ; then
+ # If needed for live ebuilds please use /etc/portage/patches
+ epatch "${FILESDIR}/0030-default-path-for-tests-also-needed-bug-467264.patch"
+ fi
+
+ epatch_user
+
+ python_copy_sources
+}
+
+src_compile() {
+ :
+}
+
+src_test() {
+ if has_version sec-policy/selinux-base-policy; then
+ invoke_sepolgen_test() {
+ emake test
+ }
+ python_foreach_impl invoke_sepolgen_test
+ else
+ ewarn "Sepolgen requires sec-policy/selinux-base-policy to run tests."
+ fi
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" PYTHONLIBDIR="$(python_get_sitedir)" install
+ python_optimize
+ }
+ python_foreach_impl installation
+
+ # Create sepolgen.conf with different devel location definition
+ if [[ -f /etc/selinux/config ]];
+ then
+ local selinuxtype=$(awk -F'=' '/^SELINUXTYPE/ {print $2}' /etc/selinux/config);
+ mkdir -p "${D}"/etc/selinux || die "Failed to create selinux directory";
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ local selinuxtype="${POLICY_TYPES%% *}";
+ if [[ -n "${selinuxtype}" ]];
+ then
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/${selinuxtype}/include:/usr/share/selinux/${selinuxtype}" > "${D}"/etc/selinux/sepolgen.conf;
+ else
+ echo "SELINUX_DEVEL_PATH=/usr/share/selinux/strict/include:/usr/share/selinux/strict" > "${D}"/etc/selinux/sepolgen.conf;
+ fi
+ fi
+}
diff --git a/dev-python/serpent/Manifest b/dev-python/serpent/Manifest
new file mode 100644
index 000000000000..d1fae55ebe4f
--- /dev/null
+++ b/dev-python/serpent/Manifest
@@ -0,0 +1,4 @@
+DIST serpent-1.10.tar.gz 10846 SHA256 06f4863c1b2ace6871dcbf69f74d50a08afc8bd427445d1f5c59b03d976e204b SHA512 ff47c9bd6f5dd6bd60f367f3f9215d4f73e13a2156dd4fdd5121d57929aa1826c905ccb0d995b4dedf9a0c94de01dd0e59b144a5c35a5300bf5e6723315b67ce WHIRLPOOL a43cb7f99963ecb4bea16b0c398b59bd87717ad1f455abe48aefd06eed79b9eebbb30cf08ea6884b1981808fd8eba032b9a1cf0a4fd91ac1fdcdf41e5f0a3111
+DIST serpent-1.11.tar.gz 11321 SHA256 ab5df8f28574552bdbaf8d3774e6d0faff62f0aa6d5e6bb33b6b0c46937001ad SHA512 d6c51cc7c5f4f7439dbb134484bef085fc278c1e2f4f84efb35cc7354d862b7522ee5ea7a06280818e6e539e8c4054ba96f4e5779a406cc9780440c0967f0052 WHIRLPOOL 0f479e97f758fba1069abb7643f8379faa60bddf7efc308727aaae3d0cf4e7b52fb316aa959dd52eb8cebb61d554caebe80b4ca9bc0d0a26f8b9f4439425bc16
+DIST serpent-1.7.tar.gz 8799 SHA256 5345587dff787431df668c19de56b74ada02fb893c2d9687572ffecc63d4d33a SHA512 2e885fb06404915506665b2ba6c7fa6dd7a74e31f814fe88f21c847eade5c307f932d45371252d7b690bf95677031a5b5128d9cc5974733dba127e0eab222fa3 WHIRLPOOL 4c3a10fd2519be1ee2d60ae204d949b899e8d77627084ad3ea2eb5b23002a6529cf490ff0503cd5479261ea2fe617b3056518bb6fe838ebc84c008225b9ff10f
+DIST serpent-1.9.tar.gz 9402 SHA256 46311ae0e93c30c3b93e9153ffd6c76e595aaaca9d390f0cda1a750d5957f90f SHA512 27f24f55a2a9af66f7621d1b60b106a6bc76b516faa83b0e995b81ab19ae021e220b96b441d91b31613b82ccba6d64611bbc50356c957bd7c5a701ebf9feba12 WHIRLPOOL 2eeb4e5602674d86be0053f11e9a88c3fc45b5eb232b8acbd67a76047c4d0add102d934fba9aca869e795f066a6a79f0cd5b1de12a25b36e6225e327a88ba69d
diff --git a/dev-python/serpent/metadata.xml b/dev-python/serpent/metadata.xml
new file mode 100644
index 000000000000..cb9922fc2d0a
--- /dev/null
+++ b/dev-python/serpent/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">serpent</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/serpent/serpent-1.10.ebuild b/dev-python/serpent/serpent-1.10.ebuild
new file mode 100644
index 000000000000..483d33ab226a
--- /dev/null
+++ b/dev-python/serpent/serpent-1.10.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple serialization library based on ast.literal_eval"
+HOMEPAGE="https://pypi.python.org/packages/source/s/serpent/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
diff --git a/dev-python/serpent/serpent-1.11.ebuild b/dev-python/serpent/serpent-1.11.ebuild
new file mode 100644
index 000000000000..483d33ab226a
--- /dev/null
+++ b/dev-python/serpent/serpent-1.11.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple serialization library based on ast.literal_eval"
+HOMEPAGE="https://pypi.python.org/packages/source/s/serpent/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
diff --git a/dev-python/serpent/serpent-1.7.ebuild b/dev-python/serpent/serpent-1.7.ebuild
new file mode 100644
index 000000000000..c2e5eb2014d6
--- /dev/null
+++ b/dev-python/serpent/serpent-1.7.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple serialization library based on ast.literal_eval"
+HOMEPAGE="https://pypi.python.org/packages/source/s/serpent/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
diff --git a/dev-python/serpent/serpent-1.9.ebuild b/dev-python/serpent/serpent-1.9.ebuild
new file mode 100644
index 000000000000..483d33ab226a
--- /dev/null
+++ b/dev-python/serpent/serpent-1.9.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple serialization library based on ast.literal_eval"
+HOMEPAGE="https://pypi.python.org/packages/source/s/serpent/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
diff --git a/dev-python/service_identity/Manifest b/dev-python/service_identity/Manifest
new file mode 100644
index 000000000000..4d5625d2214b
--- /dev/null
+++ b/dev-python/service_identity/Manifest
@@ -0,0 +1 @@
+DIST service_identity-14.0.0.tar.gz 26033 SHA256 3105a319a7c558490666694f599be0c377ad54824eefb404cde4ce49e74a4f5a SHA512 d504ad388defb38a86ca82c8ff9582dbb664a929e4b4ee7f6732b2da5326c33b1764384a8d849972f83ae7800c775daf90c1f3fbc61b8d2c29294f44c7cd36d2 WHIRLPOOL bc6f3cba3e3bec83c527df60dc3cd4387d74baab5a88b5c2cb731661804139c78c86074902060b64e402364ac641b4b2617c98448d4a9e6b367dc0f9d6cd5dac
diff --git a/dev-python/service_identity/metadata.xml b/dev-python/service_identity/metadata.xml
new file mode 100644
index 000000000000..9b8cc20e2223
--- /dev/null
+++ b/dev-python/service_identity/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">service_identity</remote-id>
+ <remote-id type="github">pyca/service_identity</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/service_identity/service_identity-14.0.0.ebuild b/dev-python/service_identity/service_identity-14.0.0.ebuild
new file mode 100644
index 000000000000..8857b7b8a506
--- /dev/null
+++ b/dev-python/service_identity/service_identity-14.0.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Service identity verification for pyOpenSSL"
+HOMEPAGE="https://github.com/pyca/service_identity"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE=" MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.12[${PYTHON_USEDEP}]
+ >=dev-python/characteristic-14.0.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # testsuite not supported by py3.2 which is about to become deprecated
+ if ! [[ "${EPYTHON}" == python3.2 ]]; then
+ py.test --cov service_identity --cov-report term-missing || die "tests failed under ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
new file mode 100644
index 000000000000..dc79bcb9f0df
--- /dev/null
+++ b/dev-python/setproctitle/Manifest
@@ -0,0 +1 @@
+DIST setproctitle-1.1.8.tar.gz 23208 SHA256 b564cf6488217c7a4632a9fe646fc3a3bea2f9712b4e667e9632b870d1a58211 SHA512 9d0ab8e65afd7e1ac019ea47995498dae1f82d8aebb333dfc4c953e745441cb9a8db942ad8417522d1f9a805bc50ad680f3a37cb4cbbd4214d261d4fed600b20 WHIRLPOOL 4014739eab6ba3d91a15e2c11d9e91ee6a0254a23be1c2f8a7963bc327559a5a7c6197398d6053743a9479562e76873fe47f11a6c810f2c21d3e462440183166
diff --git a/dev-python/setproctitle/metadata.xml b/dev-python/setproctitle/metadata.xml
new file mode 100644
index 000000000000..4f5a535f3b4b
--- /dev/null
+++ b/dev-python/setproctitle/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">setproctitle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/setproctitle/setproctitle-1.1.8.ebuild b/dev-python/setproctitle/setproctitle-1.1.8.ebuild
new file mode 100644
index 000000000000..d955b403686f
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.1.8.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Allow customization of the process title"
+HOMEPAGE="http://code.google.com/p/py-setproctitle/ http://pypi.python.org/pypi/setproctitle"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+RDEPEND=""
+# on <py2.7 the test suite uses SkipTest from nose,
+# so we need to run it using nose.
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+DOCS=( HISTORY.rst README.rst )
+
+python_prepare_all() {
+ sed -i -e "/pyrun/s:%s'.*):'):" tests/*.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if [[ ${EPYTHON} == python3.* ]]; then
+ # Notes:
+ # -W is not supported by python3.1
+ # -n causes Python to write into hardlinked files
+ 2to3 --no-diffs -w "${BUILD_DIR}"/tests/*.py || die
+ fi
+
+ cd "${BUILD_DIR}" || die
+
+ # prepare embedded executable
+ emake tests/pyrun CC="$(tc-getCC)" \
+ CPPFLAGS="${CPPFLAGS} $(python-config --cflags)" \
+ LDLIBS="${LDLIBS} $(python-config --libs)"
+
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/setuptools-git/Manifest b/dev-python/setuptools-git/Manifest
new file mode 100644
index 000000000000..b0b6f68a1784
--- /dev/null
+++ b/dev-python/setuptools-git/Manifest
@@ -0,0 +1,2 @@
+DIST setuptools-git-1.0.tar.gz 8561 SHA256 eb75844bd56bd33f7c461246cdf99e6fa50b6a8dde2c56c967db54cd47b51af4 SHA512 be83dcbdff84de808a3760710ea2bcffecae2ef1fcccb67598b29e273a47d56d689dc97bd8f0889df5f4181367314a680e03030ef21d7c05dd3126789e344fa8 WHIRLPOOL 6a01a4219bd50d22ab13b4f8c97d8d3e2ebd71319e375f62d98215b62e3809d077d6efb7bb009316f3578b8e91fac888281d6e9e5ec84d3b6118754778078fd0
+DIST setuptools-git-1.1.tar.gz 9450 SHA256 047d7595546635edebef226bc566579d422ccc48a8a91c7d32d8bd174f68f831 SHA512 39e19c107f6398aaa1b78961c3b0d9d7b57b181d8ce0d93780460867fb7535ce45d266b93af43f45aa7afb89299199df22b0fdea61e9090932aeb4bd69c5f1f0 WHIRLPOOL 76a1ff0944c233655c6966fb8e0787d89b8ceb40a09fedb729d67d15905dd82dead4ed88a682db1b4a9ff664f354963b110339f4d96706e19451058dbe870483
diff --git a/dev-python/setuptools-git/metadata.xml b/dev-python/setuptools-git/metadata.xml
new file mode 100644
index 000000000000..cb6a3ae1a4ef
--- /dev/null
+++ b/dev-python/setuptools-git/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Setuptools revision control system plugin for Git
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">setuptools-git</remote-id>
+ <remote-id type="github">wichert/setuptools-git</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/setuptools-git/setuptools-git-1.0.ebuild b/dev-python/setuptools-git/setuptools-git-1.0.ebuild
new file mode 100644
index 000000000000..7463f239fdb0
--- /dev/null
+++ b/dev-python/setuptools-git/setuptools-git-1.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Setuptools revision control system plugin for Git"
+HOMEPAGE="https://github.com/wichert/setuptools-git"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/setuptools-git/setuptools-git-1.1.ebuild b/dev-python/setuptools-git/setuptools-git-1.1.ebuild
new file mode 100644
index 000000000000..548fae8bc799
--- /dev/null
+++ b/dev-python/setuptools-git/setuptools-git-1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Setuptools revision control system plugin for Git"
+HOMEPAGE="https://github.com/wichert/setuptools-git"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ git config --global user.name "test user" || die
+ git config --global user.email "test@email.com" || die
+ esetup.py test
+ retr=$?
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
new file mode 100644
index 000000000000..ebe0236eb426
--- /dev/null
+++ b/dev-python/setuptools/Manifest
@@ -0,0 +1,15 @@
+DIST setuptools-12.0.1.tar.gz 626735 SHA256 35c3d6db79c662f1fc1c5105bc7cd3983d44071ebf5f9e00453792ea1335d5ab SHA512 fd7ce2f50b38e53cfbaa3c7d493f1cb50c7153009221b4b9cf1222ffac784f1c47b3d5da02395b2e5385f62f14c0ce6b6265f538edfe7ff38559f2905f0dc86b WHIRLPOOL 7180885fa3fada912e253c16eb28da6aac607cb1b6a67434888f6e8962eaf7d7e935176f3362182560f4f47547f1acbb7b65e5031ef7851357886d8fc3991069
+DIST setuptools-12.0.3.tar.gz 626842 SHA256 aa995fc91d203d02630bf54f9d898b7b337cbefb3f8d05d33de2b0d64a601ef8 SHA512 5a6e3d9ed6e6a184c40ad850435818157fff76d900300dfe5c5e96ba31f67d9f23098e61b357f76c235b1eec11676038cbbb90e65ba6b0194753acb340eb7e46 WHIRLPOOL bc03b6d8bc6c05568923dcc3498012d8e0f09562b37e7df73d6a48927dbcea3f88046483f47c13be12bb9c82440f73bfa55cb5688f99fda67bb7ee086fe5eb08
+DIST setuptools-12.0.5.tar.gz 626973 SHA256 bda326cad34921060a45004b0dd81f828d471695346e303f4ca53b8ba6f4547f SHA512 d4d3a0decc9e77abf12ee5121df0cbf9863f9f8cf680a728bf581484587bbd1f1abc523a8ce3b35ab0ffce08d8de8728b450aee8738b67d2046460da4122fb7e WHIRLPOOL aa5997fa8360bf23ff2b3f49c376adf4580958dfe5bbfffcfbc107d8fddd2974be1ccddf8e8c3753a36c5ef3202bffa31876836e14ecbcd6b071a1782d23e22a
+DIST setuptools-15.0.tar.gz 627831 SHA256 718d13adf87f99a45835bb20e0a1c4c036de644cd32b3f112639403aa04ebeb5 SHA512 ecefbd90d3733adfcf308b78ddb9490d99bebae30334436e6c0ea19edec27ccb26a159f2957e939e537f2c7ab5572524f32ab74b9e59684f1c5f2ebecf98b551 WHIRLPOOL 64daa854c88c644005dc53e17b1eb698d83aaecce76e591150f368d2633f2f6285612bd33cbdc281d9213c53e2b36a8f1aebdaffa3ab35d6e0bf5262e0e857af
+DIST setuptools-15.2.tar.gz 628101 SHA256 381e78471fb0eff89c4b1a219e8739f48dd87c76ad2d3a790010ca3a62ee29a4 SHA512 32497b9b5d32e9e04a7338227db9d4f0e09606ac547b9d6f1be230e9ba719a30cbdaf51e134f8826347673235db2f77cd33c8974634618696ce3308d278d3fbe WHIRLPOOL b091234de002d6a65e3215695c19a7af8bd8826693dbc43e7fcc0ad4aaca74cb3f607702cdfe2d52bd5ca8ab60e6b42f7351de2abf9c5ae1cbec46a4f217b1cf
+DIST setuptools-16.0.tar.gz 629567 SHA256 aa86255dee2c4a0056509750008007667c29306b7a6c13801468515b2c672845 SHA512 38a89aad89dc9aa682dbfbca623e2f69511f5e20d4a3526c01aabbc7e93ae78f20aac566676b431e111540b41540a1c4f644ce4174e7ecf052318612075e02dc WHIRLPOOL fc2f8c66fdb1329436d491cf62af3c989ec1885ce10ec02f9e1b5cfbab5a8ad6ea86b20c4790848d995b1c5b87838cc1acb24944df84392976eb03bc9eebf325
+DIST setuptools-17.0.tar.gz 629845 SHA256 561b33819ef3da2bff89cc8b05fd9b5ea3caeb31ad588b53fdf06f886ac3d200 SHA512 504ec0bd3ac0f9982da7cdcfb38bd8a54680aa52363b6654273c8ecb8046147b712025d2d3965475c8407b923b0a58e96dabf173a47cf36b1343a0d7a15eb991 WHIRLPOOL 0ddc8cdbb2151f71a9de8fbfe22aca30cd365a399881bff1568926ebe6c771b421a187ac007555447f18a2372195eba070ccf7a130a48f3672025c87553a9888
+DIST setuptools-17.1.1.tar.gz 630390 SHA256 5bf42dbf406fd58a41029f53cffff1c90db5de1c5e0e560b5545cf2ec949c431 SHA512 69b32baaac2954d7a9fb4df8738489c6abec090a69dc44781e60fae302443f28628730d0b72d9fa19a14045df0e512b6830be6bc603b97f73c16e7ba29b3b9c9 WHIRLPOOL 1a8b283a81ddb5cd5e393153db9b7f2a0ebb61c78c991558ae8c64706e17bb9db0597f34f577d1af9e9d4e2ec71eebba79553a3ee84ecada6f536b8d9657120e
+DIST setuptools-18.0.1.tar.gz 630585 SHA256 4d49c99fd51edf22baa997fb6105b07482feaebcb174b7d348a4307c29264b94 SHA512 9b318ce2ee2cf787929dcb886d76c492b433e71024fda9452d8b4927652a298d6bd1bdb7a4c73883a98e100024f89b46ea8aa14b250f896e549e6dd7e10a6b41 WHIRLPOOL 03a8aba7af5980d4e7680af1d7d2df2a16fb015e994e166f9f380119c4af136bad635a8ac90095a086c35dc90cf6872ea1aba190269425267bd844b37f8e50fe
+DIST setuptools-18.1.tar.gz 630700 SHA256 ad52a9d5b3a6f39c2a1c2deb96cc4f6aff29d6511bdea2994322c40b60c9c36a SHA512 1367f3a10c1fef2f8061e430585f1927f6bd7c416e764d65cea1f4255824d549efa77beef8ff784bbd62c307b4b1123502e7b3fd01a243c0cc5b433a841cc8b5 WHIRLPOOL bbd3c540ff4233052be9b46f6b389900513f06aa1f79ad09495aa2c7fbdfa7bdf0e0766257a13fb9be01ce5288fdc1b3573d6411f71beb614fecc8fa72dd9e94
+DIST setuptools-2.2.tar.gz 786831 SHA256 6fb1f21dea64e323e7ad2531a6795eeb6f5e17a85189dee61a86baca60b18984 SHA512 b5472e20f13c62ddc06513a964d8d85230a6cb8f4b0a6bc05c57d42aa3e682a850418246b5c1d769dba0cea18d7b262817f743b49a73383157a6b76d5637c296 WHIRLPOOL 6377efcf56082fdbea79cba7ae7c7d125d2368ea2309c9d655e4a568d40c8a6c9673dc1db63a2cb1f143436da411e664281ba239a058b5dff91b99cd2b5b332d
+DIST setuptools-7.0.tar.gz 793737 SHA256 dd9c1a2a0fdf37a7b142626700e0a0b7a3a0657b735c50d367fca932803be061 SHA512 0c52bf2d22f7bbd7560e8bb3184406426cf759980add0e60a864f15d9bcf10f01a2bfe0eb598c8c965b2e89df8c4159c2b43028b560f04192bba47e67d9cda18 WHIRLPOOL 70c0076960af3c00d49f79d5a0c3e3ec47a0b5009a20377cb7eca1e0747d6249d433ae14a0b86e5ac1f3bcc1efd99b68e48bd741458389c27ea05406af64e55f
+DIST setuptools-8.0.1.tar.gz 801353 SHA256 ab8eb279ca9062efc7e70f74a35f3dd9315835139ecaf3ae5bfdf4a7dc768e30 SHA512 c86a2c6ae5ed8205b9b37911002a8f551f2607ecab8b74b9eae6a7b92713c0d0a3d6aa54c4428df48765c1a2c9e21f53128bb1f138f7753e1f45188b0e357ff2 WHIRLPOOL 0ee70ee0a00118cb41005f77614bade6d5198a9164718bd7bb595b5cea0456ff829ac48cc8113c91d2f7830c4b4e9f4bd73245393621ae87e581b1e9b497f95d
+DIST setuptools-8.2.1.tar.gz 803909 SHA256 c2a0b4e3c980903f587896174c3829dc838f50995990ce93c95f93e70f1250aa SHA512 58325d322dca058865453b18e403f7913e8bdbcb52a908f74ac511c43cf4eeeeef50744471ec5738ced513c50a9947f5bb3eb0b3e9d18ba97b933142e0ca2b3c WHIRLPOOL 19d926512f8c9f4ce793fc590825040ada9321c771bfc0d8bdf843ed320345314586ef8876b566722bf6c98e8c99cb77f552e362cd6ed530d18b6022a81e6247
+DIST setuptools-9.1.tar.gz 808393 SHA256 742409700dc6c367dc3ac2cb9fd3179453e1e6082b63d9563470f779dba38ef7 SHA512 19fbf0ea842cc2a15d3f9f817719219748a10dca7909fe2f5dcd05c00a93a7ea115d75df416148cb9457ffaaa13582302d47af0df7cd1a8deb1f4e27d5031c27 WHIRLPOOL 55b9a59a1758e24527b5a3a6ba20ff323e11e162531eda71f260331c1a9dca57c495018cc1b8390f9ae1d8078e241276cc7339a5f5f8b3b2882a16bb1598a049
diff --git a/dev-python/setuptools/metadata.xml b/dev-python/setuptools/metadata.xml
new file mode 100644
index 000000000000..b05fb95fd33f
--- /dev/null
+++ b/dev-python/setuptools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">setuptools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/setuptools/setuptools-12.0.1.ebuild b/dev-python/setuptools/setuptools-12.0.1.ebuild
new file mode 100644
index 000000000000..a1ccc647a80f
--- /dev/null
+++ b/dev-python/setuptools/setuptools-12.0.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-12.0.3.ebuild b/dev-python/setuptools/setuptools-12.0.3.ebuild
new file mode 100644
index 000000000000..4e0570ed5dcb
--- /dev/null
+++ b/dev-python/setuptools/setuptools-12.0.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-12.0.5.ebuild b/dev-python/setuptools/setuptools-12.0.5.ebuild
new file mode 100644
index 000000000000..4e0570ed5dcb
--- /dev/null
+++ b/dev-python/setuptools/setuptools-12.0.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-15.0.ebuild b/dev-python/setuptools/setuptools-15.0.ebuild
new file mode 100644
index 000000000000..df74a2265517
--- /dev/null
+++ b/dev-python/setuptools/setuptools-15.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-15.2.ebuild b/dev-python/setuptools/setuptools-15.2.ebuild
new file mode 100644
index 000000000000..df74a2265517
--- /dev/null
+++ b/dev-python/setuptools/setuptools-15.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-16.0.ebuild b/dev-python/setuptools/setuptools-16.0.ebuild
new file mode 100644
index 000000000000..df74a2265517
--- /dev/null
+++ b/dev-python/setuptools/setuptools-16.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-17.0.ebuild b/dev-python/setuptools/setuptools-17.0.ebuild
new file mode 100644
index 000000000000..df74a2265517
--- /dev/null
+++ b/dev-python/setuptools/setuptools-17.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-17.1.1.ebuild b/dev-python/setuptools/setuptools-17.1.1.ebuild
new file mode 100644
index 000000000000..b37c7b61a90f
--- /dev/null
+++ b/dev-python/setuptools/setuptools-17.1.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-18.0.1.ebuild b/dev-python/setuptools/setuptools-18.0.1.ebuild
new file mode 100644
index 000000000000..b37c7b61a90f
--- /dev/null
+++ b/dev-python/setuptools/setuptools-18.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-18.1.ebuild b/dev-python/setuptools/setuptools-18.1.ebuild
new file mode 100644
index 000000000000..b37c7b61a90f
--- /dev/null
+++ b/dev-python/setuptools/setuptools-18.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )
+"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # disable tests requiring a network connection
+ rm setuptools/tests/test_packageindex.py || die
+
+ # don't run integration tests
+ rm setuptools/tests/test_integration.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" py.test ${PN} || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-2.2.ebuild b/dev-python/setuptools/setuptools-2.2.ebuild
new file mode 100644
index 000000000000..9f06f5888ea0
--- /dev/null
+++ b/dev-python/setuptools/setuptools-2.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-7.0.ebuild b/dev-python/setuptools/setuptools-7.0.ebuild
new file mode 100644
index 000000000000..aeff423918d1
--- /dev/null
+++ b/dev-python/setuptools/setuptools-7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-8.0.1.ebuild b/dev-python/setuptools/setuptools-8.0.1.ebuild
new file mode 100644
index 000000000000..d21d786db35c
--- /dev/null
+++ b/dev-python/setuptools/setuptools-8.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-8.2.1.ebuild b/dev-python/setuptools/setuptools-8.2.1.ebuild
new file mode 100644
index 000000000000..d21d786db35c
--- /dev/null
+++ b/dev-python/setuptools/setuptools-8.2.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-9.1.ebuild b/dev-python/setuptools/setuptools-9.1.ebuild
new file mode 100644
index 000000000000..d21d786db35c
--- /dev/null
+++ b/dev-python/setuptools/setuptools-9.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools/setuptools-9999.ebuild b/dev-python/setuptools/setuptools-9999.ebuild
new file mode 100644
index 000000000000..eead5ca0b16a
--- /dev/null
+++ b/dev-python/setuptools/setuptools-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+#if LIVE
+inherit mercurial
+#endif
+
+DESCRIPTION="a collection of extensions to Distutils"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+#if LIVE
+SRC_URI=""
+KEYWORDS=""
+EHG_REPO_URI="https://bitbucket.org/pypa/setuptools"
+#endif
+
+DEPEND="test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+# Force in-source build because build system modifies sources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DOCS=( README.txt docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} )
+
+python_prepare_all() {
+ # Disable tests requiring network connection.
+ rm -f setuptools/tests/test_packageindex.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg
+ # It tries to sandbox the test in a tempdir
+ HOME="${PWD}" esetup.py test
+}
+
+python_install() {
+ export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1
+ distutils-r1_python_install
+}
diff --git a/dev-python/setuptools_hg/Manifest b/dev-python/setuptools_hg/Manifest
new file mode 100644
index 000000000000..ddf073b2c9ad
--- /dev/null
+++ b/dev-python/setuptools_hg/Manifest
@@ -0,0 +1 @@
+DIST setuptools_hg-0.4.tar.gz 11059 SHA256 a41c3f9e7e503d760068aefd707ad82297a8d734078f478013b50be0dbe28f4e SHA512 95fd8930a8893b8db3f94ca42e51fb0b417818fc96842b0824318a383f4eff2ca54d8e0d51cacfe856abbcfa386aadb0a9cd05017f4b3b26fe8d634d8b5d3908 WHIRLPOOL 92887e231b906b22358806f1e04ae345a58341182745a70acdca8ce9b1831f55ccab129faf4ade6ad56bebfbea45a6b870ebf3e51315f8c08013de6fc479a997
diff --git a/dev-python/setuptools_hg/metadata.xml b/dev-python/setuptools_hg/metadata.xml
new file mode 100644
index 000000000000..7d3dea218e16
--- /dev/null
+++ b/dev-python/setuptools_hg/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>setuptools_hg is a plugin for setuptools/distribute to enable it to find files under the Mercurial version control system.</longdescription>
+ <upstream>
+ <remote-id type="pypi">setuptools_hg</remote-id>
+ <remote-id type="bitbucket">jezdez/setuptools_hg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/setuptools_hg/setuptools_hg-0.4-r1.ebuild b/dev-python/setuptools_hg/setuptools_hg-0.4-r1.ebuild
new file mode 100644
index 000000000000..7c006ff9793f
--- /dev/null
+++ b/dev-python/setuptools_hg/setuptools_hg-0.4-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Setuptools/distribute plugin for finding files under Mercurial version control"
+HOMEPAGE="http://pypi.python.org/pypi/setuptools_hg http://bitbucket.org/jezdez/setuptools_hg/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-vcs/mercurial"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/setuptools_scm/Manifest b/dev-python/setuptools_scm/Manifest
new file mode 100644
index 000000000000..c40609edd40a
--- /dev/null
+++ b/dev-python/setuptools_scm/Manifest
@@ -0,0 +1,2 @@
+DIST setuptools_scm-1.5.4.tar.gz 15647 SHA256 756fb77b82c5e22818683b838c978537f4894f468ea074f0e8a99d8aaf689022 SHA512 c1e7c6b510761a3dcf3ebfed4988db924f9203c9f919891c94623f07935b101690ff2671ff3e153906a89f05d4002154e671196ba711597d4e3e7c8d0602289e WHIRLPOOL a02209c4c3c8ef6de63463ec163c018906de88abc5e1786b9506c4fc71dfdbe4b576cce94d19d653f1eb6f21f86292a645823b009107a07801056fb1f90a79b0
+DIST setuptools_scm-1.5.5.tar.gz 17442 SHA256 63f56843b9cc18743c843e43d54fd78ab091cb82d01f5acb64655743e8002134 SHA512 39516db6164dc0d6179922fd79b012950c0684c8f6d4dbf71c2fcae661d1a54ef745c48c8d521ed3906c4f74d91b79fe4a94b5e27ab6a84701964494057c2494 WHIRLPOOL 929e5c38aaef9c247a451382842bf16faf44528858981af7c29133d5b3f4693414b85d076ade33c033dfbadb5803bf1b95fa5d8fa942725af2c3b01534d72a72
diff --git a/dev-python/setuptools_scm/metadata.xml b/dev-python/setuptools_scm/metadata.xml
new file mode 100644
index 000000000000..3799991af722
--- /dev/null
+++ b/dev-python/setuptools_scm/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">setuptools_scm</remote-id>
+ <remote-id type="bitbucket">pypa/setuptools_scm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/setuptools_scm/setuptools_scm-1.5.4.ebuild b/dev-python/setuptools_scm/setuptools_scm-1.5.4.ebuild
new file mode 100644
index 000000000000..46e3f9b7fbe1
--- /dev/null
+++ b/dev-python/setuptools_scm/setuptools_scm-1.5.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="package to manage versions by scm tags via setuptools"
+HOMEPAGE="http://bitbucket.org/pypa/setuptools_scm/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/setuptools_scm/setuptools_scm-1.5.5.ebuild b/dev-python/setuptools_scm/setuptools_scm-1.5.5.ebuild
new file mode 100644
index 000000000000..0d9a43c28f99
--- /dev/null
+++ b/dev-python/setuptools_scm/setuptools_scm-1.5.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="package to manage versions by scm tags via setuptools"
+HOMEPAGE="https://github.com/pypa/setuptools_scm"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/sexpdata/Manifest b/dev-python/sexpdata/Manifest
new file mode 100644
index 000000000000..dd704821f6e9
--- /dev/null
+++ b/dev-python/sexpdata/Manifest
@@ -0,0 +1 @@
+DIST sexpdata-0.0.3.tar.gz 13105 SHA256 6cfa0ddfd69410599d143a5b4fe8bf80fafbf325fd10ec86a0ff49eda5cc2afa SHA512 03d4d1557bcc950124e408d6870894c8ee9e72a2ee83c881adf48f8e53bdf3744b4f3e3e133a74a195d236424b434cc690583a68d8395324ca4e84947e548501 WHIRLPOOL 654a37e8352dc947775e9375e929016e9074f17d4625037627e7416637aa38cdefd4d3fed0be4c388b28fc3a22a89122a028896c5d865f3fa54f369aba273390
diff --git a/dev-python/sexpdata/metadata.xml b/dev-python/sexpdata/metadata.xml
new file mode 100644
index 000000000000..aa9397ab302d
--- /dev/null
+++ b/dev-python/sexpdata/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jauhien@gentoo.org</email>
+ <name>Jauhien Piatlicki</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tkf/sexpdata</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sexpdata/sexpdata-0.0.3.ebuild b/dev-python/sexpdata/sexpdata-0.0.3.ebuild
new file mode 100644
index 000000000000..36d1814c28a1
--- /dev/null
+++ b/dev-python/sexpdata/sexpdata-0.0.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_3,3_4})
+
+inherit distutils-r1
+
+DESCRIPTION="a simple S-expression parser/serializer"
+HOMEPAGE="http://github.com/tkf/sexpdata"
+SRC_URI="https://github.com/tkf/sexpdata/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
new file mode 100644
index 000000000000..296eec730af0
--- /dev/null
+++ b/dev-python/sh/Manifest
@@ -0,0 +1,4 @@
+DIST sh-1.07.tar.gz 24554 SHA256 8eb743d1ccf03508022e5b5cd76063320cfe36f039a3625dce703a810a5f57e1 SHA512 922d674c0378fdc13b2934e345d9d0e63b1e9ad1e0fe140cfac981546b50fb5a66f6c423382a60a87c2acd44c625d1d4e6036587015cdbaa682b471678dde185 WHIRLPOOL f649a09433fcb4c7d1d79e6fa39fd137b288f6413c2dec0e092831d063c63dfbd344746a1e4c29ac476b46955989c4eeadce6c26f2a4011d28c696186a3b1587
+DIST sh-1.08.tar.gz 26310 SHA256 4b9700496659e1aa44bb2292ecb6c7d0c5d7763b184fd7eac37df0f2ded4bae8 SHA512 84c8c4f2f5e35ac329e892266e16a9ec23cf363456ba94f43488c0aad8a323ee5881287dea34d1b3b37431e0a6e52c989de0f9296a8eab8434ac22da5b88d8fa WHIRLPOOL 4a4daea1252d3a6b1de8bbeb7ed1831ab90942910c67b28b293133ca844b441376a03becd6ac41420b73d9c85b0aba882bc0e30441f7899e6fc67820bfbe4dd2
+DIST sh-1.09.tar.gz 26382 SHA256 f3d174e2ad25c39f28935bae672be51aa083063d3122405ceeb2a3e7a8239d45 SHA512 a4540a924ff8698c795a618ba8d5ef3dc0dca1880f2f6152393be204008059adda867deb7cc97db361a0011573e5dda6f4daef6cb60f637aa40a710915236771 WHIRLPOOL 9e83d6c231fc24a538544d7920c572f4f5aa3e98e5d82b6b4f478fe828e59ba511685643db31a626bec01751c227a881c93d6f828b35aa3aa7d2b5f5b0c92720
+DIST sh-1.11.tar.gz 36821 SHA256 590fb9b84abf8b1f560df92d73d87965f1e85c6b8330f8a5f6b336b36f0559a4 SHA512 ccaf178384b5a609c00bb44796a6bec088750414385f19b2d8ffcb93cc8f5ddb6bf82fb966d2bf519651f6efed54258a3c6542a9827d01e6be64af8cb8f86d3d WHIRLPOOL 9d13a3364ec467b492fb5818ae00e3a02f81aa779319382450df76a3041efb047dac82bd249cb51bf819664a5e7a8f9def3a672b8eb2edaa24f2a2aa80d66129
diff --git a/dev-python/sh/metadata.xml b/dev-python/sh/metadata.xml
new file mode 100644
index 000000000000..c8283ffb27ea
--- /dev/null
+++ b/dev-python/sh/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <longdescription lang="en">
+ sh (previously pbs) is a full-fledged subprocess interface
+ for Python 2.6 - 3.2 that allows you to call any program
+ as if it were a function:
+
+ from sh import ifconfig
+ print ifconfig("eth0")
+
+ sh is not a collection of system commands implemented in Python.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">sh</remote-id>
+ <remote-id type="github">amoffat/sh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sh/sh-1.07.ebuild b/dev-python/sh/sh-1.07.ebuild
new file mode 100644
index 000000000000..43ed031468f7
--- /dev/null
+++ b/dev-python/sh/sh-1.07.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_3})
+inherit distutils-r1
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="https://github.com/amoffat/sh"
+SRC_URI="https://github.com/amoffat/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sh/sh-1.08.ebuild b/dev-python/sh/sh-1.08.ebuild
new file mode 100644
index 000000000000..e50de463a3df
--- /dev/null
+++ b/dev-python/sh/sh-1.08.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_3})
+
+inherit distutils-r1
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="https://github.com/amoffat/sh"
+SRC_URI="https://github.com/amoffat/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+python_test() {
+ ${PYTHON} test.py || die
+}
diff --git a/dev-python/sh/sh-1.09.ebuild b/dev-python/sh/sh-1.09.ebuild
new file mode 100644
index 000000000000..1a2892d40cb3
--- /dev/null
+++ b/dev-python/sh/sh-1.09.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python{2_7,3_{3,4}})
+
+inherit distutils-r1
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="https://github.com/amoffat/sh"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} test.py || die
+}
diff --git a/dev-python/sh/sh-1.11.ebuild b/dev-python/sh/sh-1.11.ebuild
new file mode 100644
index 000000000000..60adfa6a2832
--- /dev/null
+++ b/dev-python/sh/sh-1.11.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=(python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="https://github.com/amoffat/sh"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} test.py || die
+}
diff --git a/dev-python/shiboken/Manifest b/dev-python/shiboken/Manifest
new file mode 100644
index 000000000000..362dcd50ce2d
--- /dev/null
+++ b/dev-python/shiboken/Manifest
@@ -0,0 +1 @@
+DIST shiboken-1.2.2.tar.bz2 1073776 SHA256 7625bbcf1fe313fd910c6b8c9cf49ac5495499f9d00867115a2f1f2a69fce5c4 SHA512 9f5c1219ce699df6b5ee4bd68cf422cb69476bd062346fcc8b4d34d314001ba60dbd52a73d772aec16285a0aabb600034630beba754ca54f5e6a4b744a720073 WHIRLPOOL 3d585201e88ea969e07595c5364eb630d0a8ce8096104bd0177aae26e549a10eedd8a930ce2bda88fdf3b6a50e0a5eff7494707642032e779a61a8cf110552d2
diff --git a/dev-python/shiboken/files/1.2.2-Fix-tests-with-Python-3.patch b/dev-python/shiboken/files/1.2.2-Fix-tests-with-Python-3.patch
new file mode 100644
index 000000000000..48e401d1be1d
--- /dev/null
+++ b/dev-python/shiboken/files/1.2.2-Fix-tests-with-Python-3.patch
@@ -0,0 +1,49 @@
+From 7f793442316599ca25014a3d39c5de56c384990f Mon Sep 17 00:00:00 2001
+From: Michael Palimaka <kensington@gentoo.org>
+Date: Fri, 23 May 2014 18:10:20 +1000
+Subject: [PATCH] Fix tests with Python 3.
+
+Change-Id: Ibbf54406ba33dd1f645a46d63c04269868288768
+---
+ tests/minimalbinding/typedef_test.py | 2 +-
+ tests/samplebinding/overflow_test.py | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/minimalbinding/typedef_test.py b/tests/minimalbinding/typedef_test.py
+index 089b279..b5535fb 100644
+--- a/tests/minimalbinding/typedef_test.py
++++ b/tests/minimalbinding/typedef_test.py
+@@ -30,7 +30,7 @@ from py3kcompat import IS_PY3K
+
+ try:
+ import numpy as np
+-except ImportError, e:
++except ImportError:
+ np = None
+
+
+diff --git a/tests/samplebinding/overflow_test.py b/tests/samplebinding/overflow_test.py
+index 5020872..c294c13 100644
+--- a/tests/samplebinding/overflow_test.py
++++ b/tests/samplebinding/overflow_test.py
+@@ -45,7 +45,7 @@ class OverflowTest(unittest.TestCase):
+ '''C++ function receives an long long argument and raise OverflowError if the value is negative.'''
+ val = 100
+ self.assertEqual(doubleLongLong(val), 2 * val)
+- val = long(100)
++ val = int(100)
+ self.assertEqual(doubleLongLong(val), 2 * val)
+ val = (2 << 64) + 1
+ self.assertRaises(OverflowError, doubleLongLong, val)
+@@ -54,7 +54,7 @@ class OverflowTest(unittest.TestCase):
+ '''C++ function receives an unsigned long long argument and raise OverflowError if the value is negative.'''
+ val = 100
+ self.assertEqual(doubleUnsignedLongLong(val), 2 * val)
+- val = long(100)
++ val = int(100)
+ self.assertEqual(doubleUnsignedLongLong(val), 2 * val)
+ val *= -1
+ self.assertRaises(OverflowError, doubleUnsignedLongLong, val)
+--
+2.1.0
+
diff --git a/dev-python/shiboken/files/rpath.cmake b/dev-python/shiboken/files/rpath.cmake
new file mode 100644
index 000000000000..b896c8789185
--- /dev/null
+++ b/dev-python/shiboken/files/rpath.cmake
@@ -0,0 +1,10 @@
+# use, i.e. don't skip the full RPATH for the build tree
+SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+
+# when building, don't use the install RPATH already
+# (but later on when installing)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+# add the automatically determined parts of the RPATH
+# which point to directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
diff --git a/dev-python/shiboken/metadata.xml b/dev-python/shiboken/metadata.xml
new file mode 100644
index 000000000000..3cbebd85b7e2
--- /dev/null
+++ b/dev-python/shiboken/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+</pkgmetadata>
diff --git a/dev-python/shiboken/shiboken-1.2.2.ebuild b/dev-python/shiboken/shiboken-1.2.2.ebuild
new file mode 100644
index 000000000000..7fc66eaffcce
--- /dev/null
+++ b/dev-python/shiboken/shiboken-1.2.2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit cmake-utils multilib python-r1
+
+DESCRIPTION="A tool for creating Python bindings for C++ libraries"
+HOMEPAGE="http://qt-project.org/wiki/PySide"
+SRC_URI="http://download.qt-project.org/official_releases/pyside/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-qt/qtcore:4
+ dev-qt/qtxmlpatterns:4
+"
+DEPEND="${RDEPEND}
+ test? (
+ dev-qt/qtgui:4
+ dev-qt/qttest:4
+ )"
+
+DOCS=( AUTHORS ChangeLog )
+PATCHES=(
+ "${FILESDIR}/${PV}-Fix-tests-with-Python-3.patch"
+)
+
+src_prepare() {
+ # Fix inconsistent naming of libshiboken.so and ShibokenConfig.cmake,
+ # caused by the usage of a different version suffix with python >= 3.2
+ sed -i -e "/get_config_var('SOABI')/d" \
+ cmake/Modules/FindPython3InterpWithDebug.cmake || die
+
+ if use prefix; then
+ cp "${FILESDIR}"/rpath.cmake . || die
+ sed -i -e '1iinclude(rpath.cmake)' CMakeLists.txt || die
+ fi
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ configuration() {
+ local mycmakeargs=(
+ $(cmake-utils_use_build test TESTS)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DPYTHON_SUFFIX="-${EPYTHON}"
+ )
+
+ if [[ ${EPYTHON} == python3* ]]; then
+ mycmakeargs+=(
+ -DUSE_PYTHON3=ON
+ -DPYTHON3_EXECUTABLE="${PYTHON}"
+ -DPYTHON3_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON3_LIBRARY="$(python_get_library_path)"
+ )
+ fi
+
+ cmake-utils_src_configure
+ }
+ python_foreach_impl configuration
+}
+
+src_compile() {
+ python_foreach_impl cmake-utils_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake-utils_src_test
+}
+
+src_install() {
+ installation() {
+ cmake-utils_src_install
+ mv "${ED}"usr/$(get_libdir)/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl installation
+}
diff --git a/dev-python/shm/Manifest b/dev-python/shm/Manifest
new file mode 100644
index 000000000000..577a6b995df4
--- /dev/null
+++ b/dev-python/shm/Manifest
@@ -0,0 +1 @@
+DIST shm-1.2.2.tar.gz 25258 SHA256 5d733f61b26c2b71e46add5db6a74b50cb88e7339a30d91931bd10b85ddc8189 SHA512 d3da728d7c314b208b235490ae45b9f9ed4e7ac5c233867844b842ee511e50b684c52e75cc9258d0f65aa93ff2b10bca6a4bebfa6aef9b43d07ab284c0cab2a6 WHIRLPOOL 77c4ceb2e666aa3fa412de80dd25712d81d48cc859e1a2d993a08f82644dbbcee439396dc7a06a53dd408b3d38ee053399e23d8c5e3e82e437bfacd6300bbc1b
diff --git a/dev-python/shm/files/shm-1.2.2-compiler.patch b/dev-python/shm/files/shm-1.2.2-compiler.patch
new file mode 100644
index 000000000000..e9e1bd22a3a1
--- /dev/null
+++ b/dev-python/shm/files/shm-1.2.2-compiler.patch
@@ -0,0 +1,11 @@
+--- setup.py 2010-06-26 03:29:30.000000000 +0200
++++ setup.py 2010-06-26 03:30:10.000000000 +0200
+@@ -84,7 +84,7 @@
+ filename = "%d.c" % i
+ file(path + filename, "w").write(src % ('_' * i))
+
+- cmd = ["cc", "-c", "-o", "/dev/null", "%s" % path + filename]
++ cmd = [os.environ.get("CC", "cc"), "-c", "-o", "/dev/null", "%s" % path + filename]
+
+ po = popen2.Popen4(cmd)
+ if not po.wait(): underscores[i] = True
diff --git a/dev-python/shm/metadata.xml b/dev-python/shm/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/shm/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/shm/shm-1.2.2-r1.ebuild b/dev-python/shm/shm-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..135c96317432
--- /dev/null
+++ b/dev-python/shm/shm-1.2.2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python modules to access System V shared memory and semaphores"
+HOMEPAGE="http://nikitathespider.com/python/shm/"
+SRC_URI="http://nikitathespider.com/python/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-compiler.patch )
+
+python_install_all() {
+ dohtml ReadMe.html
+ use examples && local EXAMPLES=( demo/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/shortuuid/Manifest b/dev-python/shortuuid/Manifest
new file mode 100644
index 000000000000..e1e192058c41
--- /dev/null
+++ b/dev-python/shortuuid/Manifest
@@ -0,0 +1 @@
+DIST shortuuid-0.4.2.tar.gz 5367 SHA256 47fa452b53fcf15427e539efd9fee8e625a9aebeb81db9339df7aeede52c2b61 SHA512 c60122bffdf458fb6aaf8ff4883d15f121ce8e5c0b24b99609171cc7bb103a1dbbf876b39e84129b50cc6ebfc1310740ffe684f7dfd93c750d0ff55d483273a3 WHIRLPOOL 648a63a48ecc2b8609b6d83cff41314b90b78488d85cfa2eed4b363029905d0d0238e52dad4f014dc419a6e8ed72fe1cdfc48f02d6e363aaf0ef1ac5b387a7f9
diff --git a/dev-python/shortuuid/metadata.xml b/dev-python/shortuuid/metadata.xml
new file mode 100644
index 000000000000..89724cd47c30
--- /dev/null
+++ b/dev-python/shortuuid/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <longdescription>A library that generates short, pretty, unambiguous unique IDs by using an extensive, case-sensitive alphabet and omitting similar-looking letters and numbers.</longdescription>
+ <upstream>
+ <remote-id type="pypi">shortuuid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/shortuuid/shortuuid-0.4.2.ebuild b/dev-python/shortuuid/shortuuid-0.4.2.ebuild
new file mode 100644
index 000000000000..b3146ad684e8
--- /dev/null
+++ b/dev-python/shortuuid/shortuuid-0.4.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A generator library for concise, unambiguous and URL-safe UUIDs"
+HOMEPAGE="https://pypi.python.org/pypi/shortuuid"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/simplecv/Manifest b/dev-python/simplecv/Manifest
new file mode 100644
index 000000000000..ecdc747a25db
--- /dev/null
+++ b/dev-python/simplecv/Manifest
@@ -0,0 +1 @@
+DIST simplecv-1.3.tar.gz 42860284 SHA256 3510727fa5e219c811cf89bce21ecf29647bdd4ef48a0a78aa29b10b9f583947 SHA512 47fa3c0bb41057ae17323aeb68711ef4716c4fe6607162218477af9070a1b1a03a7300f38b2c2a5c54ff69b916267504aeeac7c3108d6a45045a1469a93005b8 WHIRLPOOL 0206dfc06627b78e96aa7487b6c3450cde043e1527044e413b6111831aa48b32dd043fbebbb33c61ffb1aab7683187bf76db4f0a641cdcd0c3dbd6c8d36e1b18
diff --git a/dev-python/simplecv/files/new-support-for-opencv-2.4.3-added.patch b/dev-python/simplecv/files/new-support-for-opencv-2.4.3-added.patch
new file mode 100644
index 000000000000..58f8639ea064
--- /dev/null
+++ b/dev-python/simplecv/files/new-support-for-opencv-2.4.3-added.patch
@@ -0,0 +1,111 @@
+From 164d39c1be66eb35b02fb7c30f65b5929c9e407d Mon Sep 17 00:00:00 2001
+From: Vijay Mahantesh SM <vijay@vijay.(none)>
+Date: Sat, 8 Dec 2012 01:55:24 +0530
+Subject: [PATCH] new support for opencv 2.4.3 added
+
+---
+ SimpleCV/ImageClass.py | 52 ++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 33 insertions(+), 19 deletions(-)
+
+diff --git a/SimpleCV/ImageClass.py b/SimpleCV/ImageClass.py
+index a545b50..6fab39a 100644
+--- a/SimpleCV/ImageClass.py
++++ b/SimpleCV/ImageClass.py
+@@ -7610,11 +7610,12 @@ class Image:
+ new_version = 0
+ #For OpenCV versions till 2.4.0, cv2.__versions__ are of the form "$Rev: 4557 $"
+ if not ver.startswith('$Rev:'):
+- if int(ver.replace('.','0'))>=20400 :
+- new_version = 1
+- if int(ver.replace('.','0'))>=20402 :
+- new_version = 2
+-
++ if int(ver.replace('.','0'))>=20400:
++ new_version = 1
++ if int(ver.replace('.','0'))>=20402:
++ new_version = 2
++ if int(ver.replace('.','0'))>=20403:
++ new_version = 3
+ except:
+ logger.warning("Can't run Keypoints without OpenCV >= 2.3.0")
+ return
+@@ -7622,11 +7623,11 @@ class Image:
+ if( forceReset ):
+ self._mKeyPoints = None
+ self._mKPDescriptors = None
+-
+- if( self._mKeyPoints is None or self._mKPFlavor != flavor ):
++
++ if( not(self._mKeyPoints) or self._mKPFlavor != flavor ):
+ if ( new_version == 0):
+ if( flavor == "SURF" ):
+- surfer = cv2.SURF(thresh,_extended=highQuality,_upright=1)
++ surfer = cv2.SURF(thresh,_extended=highQuality,_upright=1)
+ self._mKeyPoints,self._mKPDescriptors = surfer.detect(self.getGrayNumpy(),None,False)
+ if( len(self._mKPDescriptors) == 0 ):
+ return None, None
+@@ -7659,10 +7660,9 @@ class Image:
+ self._mKPDescriptors = None
+ self._mKPFlavor = "STAR"
+ del starer
+-
+-
+- elif( new_version == 2 and flavor in ["SURF", "FAST"] ):
+- if( flavor == "SURF" ):
++
++ elif( new_version >= 2 and flavor in ["SURF", "FAST"] ):
++ if( flavor == "SURF" and new_version==2):
+ surfer = cv2.SURF(hessianThreshold=thresh,extended=highQuality,upright=1)
+ #mask = self.getGrayNumpy()
+ #mask.fill(255)
+@@ -7678,6 +7678,20 @@ class Image:
+ self._mKPFlavor = "SURF"
+ del surfer
+
++ if( flavor == "SURF" and new_version==3):
++ surfer = cv2.SURF(hessianThreshold=thresh,extended=highQuality,upright=1)
++ self._mKeyPoints,self._mKPDescriptors = surfer.detectAndCompute(self.getGrayNumpy(),None,useProvidedKeypoints = False)
++ if( len(self._mKPDescriptors) == 0 ):
++ return None, None
++
++ if( highQuality == 1 ):
++ self._mKPDescriptors = self._mKPDescriptors.reshape((-1,128))
++ else:
++ self._mKPDescriptors = self._mKPDescriptors.reshape((-1,64))
++
++ self._mKPFlavor = "SURF"
++ del surfer
++
+ elif( flavor == "FAST" ):
+ faster = cv2.FastFeatureDetector(threshold=int(thresh),nonmaxSuppression=True)
+ self._mKeyPoints = faster.detect(self.getGrayNumpy())
+@@ -7693,19 +7707,19 @@ class Image:
+ if( len(self._mKPDescriptors) == 0 ):
+ return None, None
+ self._mKPFlavor = flavor
+- del FeatureDetector
++ del FeatureDetector
+
+ elif( new_version >= 1 and flavor in ["FAST", "STAR", "MSER", "Dense"] ):
+ FeatureDetector = cv2.FeatureDetector_create(flavor)
+ self._mKeyPoints = FeatureDetector.detect(self.getGrayNumpy())
+ self._mKPDescriptors = None
+ self._mKPFlavor = flavor
+- del FeatureDetector
+-
+- else:
+- logger.warning("ImageClass.Keypoints: I don't know the method you want to use")
+- return None, None
+-
++ del FeatureDetector
++
++ else:
++ logger.warning("ImageClass.Keypoints: I don't know the method you want to use")
++ return None, None
++
+ return self._mKeyPoints,self._mKPDescriptors
+
+ def _getFLANNMatches(self,sd,td):
+--
+1.8.1.5
+
diff --git a/dev-python/simplecv/files/remove-failing-test.patch b/dev-python/simplecv/files/remove-failing-test.patch
new file mode 100644
index 000000000000..7ee326df02a5
--- /dev/null
+++ b/dev-python/simplecv/files/remove-failing-test.patch
@@ -0,0 +1,57 @@
+From d8abe3346d7aa2b192d384476d5f2c89ca9c70e9 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Fri, 14 Jun 2013 20:35:11 -0400
+Subject: [PATCH] remove failing test
+
+According to the docs, the UserWarning that is raised should not be an
+issue. Ignore the failure during testings.
+---
+ SimpleCV/tests/tests.py | 32 --------------------------------
+ 1 file changed, 32 deletions(-)
+
+diff --git a/SimpleCV/tests/tests.py b/SimpleCV/tests/tests.py
+index 94f4fc7..ce442e3 100644
+--- a/SimpleCV/tests/tests.py
++++ b/SimpleCV/tests/tests.py
+@@ -1731,38 +1731,6 @@ def test_movement_feature():
+
+ pass
+
+-def test_keypoint_extraction():
+- try:
+- import cv2
+- except:
+- pass
+- return
+-
+- img1 = Image("../sampleimages/KeypointTemplate2.png")
+- img2 = Image("../sampleimages/KeypointTemplate2.png")
+- img3 = Image("../sampleimages/KeypointTemplate2.png")
+-
+- kp1 = img1.findKeypoints()
+- kp2 = img2.findKeypoints(highQuality=True)
+- kp3 = img3.findKeypoints(flavor="STAR")
+- kp1.draw()
+- kp2.draw()
+- kp3.draw()
+- #TODO: Fix FAST binding
+- #~ kp4 = img.findKeypoints(flavor="FAST",min_quality=10)
+- if( len(kp1)==190 and
+- len(kp2)==190 and
+- len(kp3)==37
+- #~ and len(kp4)==521
+- ):
+- pass
+- else:
+- assert False
+- results = [img1,img2,img3]
+- name_stem = "test_keypoint_extraction"
+- perform_diff(results,name_stem,tolerance=3.0)
+-
+-
+ def test_keypoint_match():
+ try:
+ import cv2
+--
+1.8.1.5
+
diff --git a/dev-python/simplecv/files/remove-failing-tests.patch b/dev-python/simplecv/files/remove-failing-tests.patch
new file mode 100644
index 000000000000..7b2e60da711e
--- /dev/null
+++ b/dev-python/simplecv/files/remove-failing-tests.patch
@@ -0,0 +1,301 @@
+From 77a76251ac911367e94c3b035e1ec243d2846e38 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Fri, 14 Jun 2013 20:06:49 -0400
+Subject: [PATCH] remove failing tests
+
+---
+ SimpleCV/tests/tests.py | 250 ------------------------------------------------
+ 1 file changed, 250 deletions(-)
+
+diff --git a/SimpleCV/tests/tests.py b/SimpleCV/tests/tests.py
+index 94f4fc7..d8e79d8 100644
+--- a/SimpleCV/tests/tests.py
++++ b/SimpleCV/tests/tests.py
+@@ -1649,39 +1649,6 @@ def test_blob_isa_methods():
+ else:
+ assert False
+
+-def test_findKeypoints():
+- try:
+- import cv2
+- except:
+- pass
+- return
+- img = Image(testimage2)
+- kp = img.findKeypoints()
+- for k in kp:
+- k.getObject()
+- k.descriptor()
+- k.quality()
+- k.octave()
+- k.flavor()
+- k.angle()
+- k.coordinates()
+- k.draw()
+- k.distanceFrom()
+- k.meanColor()
+- k.area()
+- k.perimeter()
+- k.width()
+- k.height()
+- k.radius()
+- k.crop()
+-
+- kp.draw()
+- results = [img]
+- name_stem = "test_findKeypoints"
+- #~ perform_diff(results,name_stem)
+-
+- pass
+-
+ def test_movement_feature():
+ current1 = Image("../sampleimages/flow_simple1.png")
+ prev = Image("../sampleimages/flow_simple2.png")
+@@ -1731,96 +1698,6 @@ def test_movement_feature():
+
+ pass
+
+-def test_keypoint_extraction():
+- try:
+- import cv2
+- except:
+- pass
+- return
+-
+- img1 = Image("../sampleimages/KeypointTemplate2.png")
+- img2 = Image("../sampleimages/KeypointTemplate2.png")
+- img3 = Image("../sampleimages/KeypointTemplate2.png")
+-
+- kp1 = img1.findKeypoints()
+- kp2 = img2.findKeypoints(highQuality=True)
+- kp3 = img3.findKeypoints(flavor="STAR")
+- kp1.draw()
+- kp2.draw()
+- kp3.draw()
+- #TODO: Fix FAST binding
+- #~ kp4 = img.findKeypoints(flavor="FAST",min_quality=10)
+- if( len(kp1)==190 and
+- len(kp2)==190 and
+- len(kp3)==37
+- #~ and len(kp4)==521
+- ):
+- pass
+- else:
+- assert False
+- results = [img1,img2,img3]
+- name_stem = "test_keypoint_extraction"
+- perform_diff(results,name_stem,tolerance=3.0)
+-
+-
+-def test_keypoint_match():
+- try:
+- import cv2
+- except:
+- pass
+- return
+-
+- template = Image("../sampleimages/KeypointTemplate2.png")
+- match0 = Image("../sampleimages/kptest0.png")
+- match1 = Image("../sampleimages/kptest1.png")
+- match3 = Image("../sampleimages/kptest2.png")
+- match2 = Image("../sampleimages/aerospace.jpg")# should be none
+-
+- fs0 = match0.findKeypointMatch(template)#test zero
+- fs1 = match1.findKeypointMatch(template,quality=300.00,minDist=0.5,minMatch=0.2)
+- fs3 = match3.findKeypointMatch(template,quality=300.00,minDist=0.5,minMatch=0.2)
+- print "This should fail"
+- fs2 = match2.findKeypointMatch(template,quality=500.00,minDist=0.2,minMatch=0.1)
+- if( fs0 is not None and fs1 is not None and fs2 is None and fs3 is not None):
+- fs0.draw()
+- fs1.draw()
+- fs3.draw()
+- f = fs0[0]
+- f.drawRect()
+- f.draw()
+- f.getHomography()
+- f.getMinRect()
+- f.meanColor()
+- f.crop()
+- f.x
+- f.y
+- f.coordinates()
+- else:
+- assert False
+-
+- results = [match0,match1,match2,match3]
+- name_stem = "test_find_keypoint_match"
+- perform_diff(results,name_stem)
+-
+-
+-def test_draw_keypoint_matches():
+- try:
+- import cv2
+- except:
+- pass
+- return
+- template = Image("../sampleimages/KeypointTemplate2.png")
+- match0 = Image("../sampleimages/kptest0.png")
+- result = match0.drawKeypointMatches(template,thresh=500.00,minDist=0.15,width=1)
+-
+- results = [result]
+- name_stem = "test_draw_keypoint_matches"
+- perform_diff(results,name_stem,tolerance=4.0)
+-
+-
+- pass
+-
+-
+ def test_basic_palette():
+ img = Image(testimageclr)
+ img._generatePalette(10,False)
+@@ -2303,29 +2180,6 @@ def test_blob_spatial_relationships():
+ if( not center.contains(inside) ):
+ assert False
+
+-def test_get_aspectratio():
+- img = Image("../sampleimages/EdgeTest1.png")
+- img2 = Image("../sampleimages/EdgeTest2.png")
+- b = img.findBlobs()
+- l = img2.findLines()
+- c = img2.findCircle(thresh=200)
+- c2 = img2.findCorners()
+- kp = img2.findKeypoints()
+- bb = b.aspectRatios()
+- ll = l.aspectRatios()
+- cc = c.aspectRatios()
+- c22 = c2.aspectRatios()
+- kp2 = kp.aspectRatios()
+-
+- if( len(bb) > 0 and
+- len(ll) > 0 and
+- len(cc) > 0 and
+- len(c22) > 0 and
+- len(kp2) > 0 ):
+- pass
+- else:
+- assert False
+-
+ def test_line_crop():
+ img = Image("../sampleimages/EdgeTest2.png")
+ l = img.findLines().sortArea()
+@@ -2391,74 +2245,6 @@ def test_save_kwargs():
+ s80 = os.remove(l80)
+ s70 = os.remove(l70)
+
+-def test_on_edge():
+- img1 = "./../sampleimages/EdgeTest1.png"
+- img2 = "./../sampleimages/EdgeTest2.png"
+- imgA = Image(img1)
+- imgB = Image(img2)
+- imgC = Image(img2)
+- imgD = Image(img2)
+- imgE = Image(img2)
+-
+- blobs = imgA.findBlobs()
+- circs = imgB.findCircle(thresh=200)
+- corners = imgC.findCorners()
+- kp = imgD.findKeypoints()
+- lines = imgE.findLines()
+-
+- rim = blobs.onImageEdge()
+- inside = blobs.notOnImageEdge()
+- rim.draw(color=Color.RED)
+- inside.draw(color=Color.BLUE)
+-
+- rim = circs.onImageEdge()
+- inside = circs.notOnImageEdge()
+- rim.draw(color=Color.RED)
+- inside.draw(color=Color.BLUE)
+-
+- #rim = corners.onImageEdge()
+- inside = corners.notOnImageEdge()
+- #rim.draw(color=Color.RED)
+- inside.draw(color=Color.BLUE)
+-
+- #rim = kp.onImageEdge()
+- inside = kp.notOnImageEdge()
+- #rim.draw(color=Color.RED)
+- inside.draw(color=Color.BLUE)
+-
+- rim = lines.onImageEdge()
+- inside = lines.notOnImageEdge()
+- rim.draw(color=Color.RED)
+- inside.draw(color=Color.BLUE)
+-
+- results = [imgA,imgB,imgC,imgD,imgE]
+- name_stem = "test_onEdge_Features"
+- #~ perform_diff(results,name_stem,tolerance=8.0)
+-
+-def test_feature_angles():
+- img = Image("../sampleimages/rotation2.png")
+- img2 = Image("../sampleimages/rotation.jpg")
+- img3 = Image("../sampleimages/rotation.jpg")
+- b = img.findBlobs()
+- l = img2.findLines()
+- k = img3.findKeypoints()
+-
+- for bs in b:
+- tl = bs.topLeftCorner()
+- img.drawText(str(bs.angle()),tl[0],tl[1],color=Color.RED)
+-
+- for ls in l:
+- tl = ls.topLeftCorner()
+- img2.drawText(str(ls.angle()),tl[0],tl[1],color=Color.GREEN)
+-
+- for ks in k:
+- tl = ks.topLeftCorner()
+- img3.drawText(str(ks.angle()),tl[0],tl[1],color=Color.BLUE)
+-
+- results = [img,img2,img3]
+- name_stem = "test_feature_angles"
+- perform_diff(results,name_stem,tolerance=9.0)
+-
+ def test_feature_angles_rotate():
+ img = Image("../sampleimages/rotation2.png")
+ b = img.findBlobs()
+@@ -2740,42 +2526,6 @@ def test_getSkintoneMask():
+ name_stem = 'test_skintone'
+ perform_diff(masks,name_stem,tolerance=17)
+
+-def test_findKeypoints_all():
+- try:
+- import cv2
+- except:
+- pass
+- return
+- img = Image(testimage2)
+- methods = ["ORB", "SIFT", "SURF","FAST", "STAR", "MSER", "Dense"]
+- for i in methods :
+- print i
+- kp = img.findKeypoints(flavor = i)
+- if kp!=None :
+- for k in kp:
+- k.getObject()
+- k.descriptor()
+- k.quality()
+- k.octave()
+- k.flavor()
+- k.angle()
+- k.coordinates()
+- k.draw()
+- k.distanceFrom()
+- k.meanColor()
+- k.area()
+- k.perimeter()
+- k.width()
+- k.height()
+- k.radius()
+- k.crop()
+- kp.draw()
+- results = [img]
+- name_stem = "test_findKeypoints"
+- #~ perform_diff(results,name_stem,tolerance=8)
+- pass
+-
+-
+ def test_upload_flickr():
+ try:
+ import flickrapi
+--
+1.8.1.5
+
diff --git a/dev-python/simplecv/metadata.xml b/dev-python/simplecv/metadata.xml
new file mode 100644
index 000000000000..204edf0c7382
--- /dev/null
+++ b/dev-python/simplecv/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jsbronder@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shell">Enable the iPython SimpleCV shell</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">sightmachine/SimpleCV</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplecv/simplecv-1.3.ebuild b/dev-python/simplecv/simplecv-1.3.ebuild
new file mode 100644
index 000000000000..56988ebb3d8b
--- /dev/null
+++ b/dev-python/simplecv/simplecv-1.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 vcs-snapshot
+
+MY_PN=SimpleCV
+
+DESCRIPTION="Python interface to several powerful open source computer vision libraries"
+HOMEPAGE="http://simplecv.org/"
+SRC_URI="https://github.com/sightmachine/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="shell test"
+
+DEPEND="
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+RDEPEND="
+ >=media-libs/opencv-2.4.8[python,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+ shell? ( dev-python/ipython[${PYTHON_USEDEP}] )"
+
+# 1. FeatureDetector being called with the wrong number of arguments
+# 2. Remove test that according to docs shouldn't be an issue
+PATCHES=(
+ "${FILESDIR}"/new-support-for-opencv-2.4.3-added.patch
+ "${FILESDIR}"/remove-failing-test.patch
+)
+
+src_test() {
+ cd "${S}/SimpleCV/tests"
+ nosetests tests.py || die "tests failed"
+}
+
+src_install() {
+ distutils-r1_src_install
+ if ! use shell; then
+ rm -rf "${D}"/usr/bin
+ fi
+}
diff --git a/dev-python/simpleeval/Manifest b/dev-python/simpleeval/Manifest
new file mode 100644
index 000000000000..59a820c68612
--- /dev/null
+++ b/dev-python/simpleeval/Manifest
@@ -0,0 +1,2 @@
+DIST simpleeval-0.8.2.tar.gz 8282 SHA256 828e79056ae2083ff6091dd8d33855974300241c3dd7d4a173faf901a17c7b09 SHA512 288d597c646ee0c70e3a6e04fd8db112b7b7a00ad53101114cc1724110c2f71d7b5f382f9052ebdb8dbc6b48c1391c870966b72df368701548d513d3053c1759 WHIRLPOOL 88edf67da8cda1bc1ab0c66a908fc12b2e5a4b14db9f6f0e8dc771c53a4c731c38d2dbad3a8d2c2f2d8efc3b3f86ed7be1eceffa5c3d5b8cd5a096ee99c87d5c
+DIST simpleeval-0.8.5.tar.gz 13858 SHA256 76fb692abfc45c57a25540b976ddb4b3029162015e4f13735ac783bc4437a99b SHA512 da913e7dba3af05488e3bfa105c42ecc8d7ee74d3e520e32c362051b8c123b9357876cd23e400e34171042538297f32b1903f40f2b854759c856abd89548093f WHIRLPOOL c28f5e12e2032f4b0c65acefbaf2100d25124c8425c0018d0a1f9160ac082fd6c1f171f2a11b530c7c8aaaa512f21d61f222ce292d792384fd0930b4c9af769b
diff --git a/dev-python/simpleeval/metadata.xml b/dev-python/simpleeval/metadata.xml
new file mode 100644
index 000000000000..235315bac19d
--- /dev/null
+++ b/dev-python/simpleeval/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>cedk@gentoo.org</email>
+ <name>Cédric Krier</name>
+ </maintainer>
+ <longdescription lang="en">
+ A simple, safe single expression evaluator library.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">simpleeval</remote-id>
+ <remote-id type="github">danthedeckie/simpleeval</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simpleeval/simpleeval-0.8.2.ebuild b/dev-python/simpleeval/simpleeval-0.8.2.ebuild
new file mode 100644
index 000000000000..12ddb70ac07b
--- /dev/null
+++ b/dev-python/simpleeval/simpleeval-0.8.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple, safe single expression evaluator library"
+HOMEPAGE="https://github.com/danthedeckie/simpleeval"
+SRC_URI="mirror://pypi/s/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+DOCS="README.rst"
diff --git a/dev-python/simpleeval/simpleeval-0.8.5.ebuild b/dev-python/simpleeval/simpleeval-0.8.5.ebuild
new file mode 100644
index 000000000000..7a8a0953b6f7
--- /dev/null
+++ b/dev-python/simpleeval/simpleeval-0.8.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple, safe single expression evaluator library"
+HOMEPAGE="https://github.com/danthedeckie/simpleeval"
+SRC_URI="mirror://pypi/s/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ ${DEPEND}
+ dev-python/setuptools"
+
+DOCS="README.rst"
+
+python_test() {
+ esetup.py test || die
+}
diff --git a/dev-python/simplegeneric/Manifest b/dev-python/simplegeneric/Manifest
new file mode 100644
index 000000000000..a23c80616f2d
--- /dev/null
+++ b/dev-python/simplegeneric/Manifest
@@ -0,0 +1 @@
+DIST simplegeneric-0.8.1.zip 12663 SHA256 dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173 SHA512 74c25d4e04fe197058cb43fabe3702cc5901989dc0b0bcf7511369f4f3d90fd98e4225174db0680c8f39389914f82824bdbdaf4c302b53998fbabbf0dba393e4 WHIRLPOOL 6aca8477513ce67c97d5e172a1e2445eb89a44c936733b2f6493cf5876b104bcd992617602713dba85d81539ddd1b8670991f482ae0a6ff963753699a047f8e6
diff --git a/dev-python/simplegeneric/metadata.xml b/dev-python/simplegeneric/metadata.xml
new file mode 100644
index 000000000000..81395895b629
--- /dev/null
+++ b/dev-python/simplegeneric/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>The simplegeneric module lets you define simple single-dispatch
+ generic functions, akin to Python's built-in generic functions like len(),
+ iter() and so on. However, instead of using specially-named methods, these
+ generic functions use simple lookup tables, akin to those used by
+ e.g. pickle.dump() and other generic functions found in the Python
+ standard library.</longdescription>
+ <upstream>
+ <remote-id type="pypi">simplegeneric</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..fdb94c7e951c
--- /dev/null
+++ b/dev-python/simplegeneric/simplegeneric-0.8.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple generic functions for Python"
+HOMEPAGE="http://pypi.python.org/pypi/simplegeneric"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/simplegui/Manifest b/dev-python/simplegui/Manifest
new file mode 100644
index 000000000000..d103aad2d885
--- /dev/null
+++ b/dev-python/simplegui/Manifest
@@ -0,0 +1 @@
+DIST simplegui-0.1.0.zip 15821 SHA256 e852bef6a5f799c3f19b78dac6a0a58f3d29773651d0fa26768030ead4d74037 SHA512 b09bad388dfeff4778c4ed1ebaaf9a01a802c023b272a7bce8efe4091e8dbe658a2bcba56663e686cc76cfd907b6b54da7033946ee989b600e4d5269ad43315c WHIRLPOOL 701153e16e540ba8dfc13609cbceb37eac75e061109b9ae7afe677ac60f8ed03c7e2dd8a761a626b786473983f85b822870d9a593b88bc32016d40b0d91d3c17
diff --git a/dev-python/simplegui/metadata.xml b/dev-python/simplegui/metadata.xml
new file mode 100644
index 000000000000..2ccc7474c094
--- /dev/null
+++ b/dev-python/simplegui/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">simplegui</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplegui/simplegui-0.1.0.ebuild b/dev-python/simplegui/simplegui-0.1.0.ebuild
new file mode 100644
index 000000000000..c8929d8580b6
--- /dev/null
+++ b/dev-python/simplegui/simplegui-0.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 )
+PYTHON_REQ_USE="tk"
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="Simplified GUI generation using Tkinter"
+HOMEPAGE="http://florian-berger.de/en/software/simplegui"
+SRC_URI="http://static.florian-berger.de/simplegui-0.1.0.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/cx_Freeze[${PYTHON_USEDEP}]"
+
+python_compile() {
+ if [[ ${EPYTHON} == python3.* ]]; then
+ 2to3 --no-diffs -w *.py || die
+ fi
+
+ distutils-r1_python_compile
+}
diff --git a/dev-python/simplejson/Manifest b/dev-python/simplejson/Manifest
new file mode 100644
index 000000000000..a88198225085
--- /dev/null
+++ b/dev-python/simplejson/Manifest
@@ -0,0 +1,2 @@
+DIST simplejson-3.7.2.tar.gz 74877 SHA256 8358ecc05541be4068109acf26a4ae89ba14450d20e92e0973d0d67bea3d7431 SHA512 5e2874c4d627035b3e205b5208b46beb172ac934742b0cb68f43f70aa2f401ec568c2b69fccdb1d870bf5196df0f6e37b790332a6e4d7969a296c8c104bdfe0b WHIRLPOOL 26f5e23250031d9b20b121a7110a1b623f32128721281b2554f2727f815b03b39b0680d21b41bb8729288f2774d38e92301bcf72188d054aa03497818edefdca
+DIST simplejson-3.8.0.tar.gz 75875 SHA256 217e4797da3a9a4a9fbe6722e0db98070b8443a88212d7acdbd241a7668141d9 SHA512 c985a0f56170f78b6c6e8f0e4b4bf50f258c8f2639524f5b14d8e07b547e336acf96ac55cf562243fff06752ceba4a05f1e6dd43f6c918159a7b3640af0f0c1d WHIRLPOOL 368779f57bc1186d3b30ae80f74d0eca50709dfe6063d52c359d665eaacc9caa751fbbb9f4437e8bf8908f3569f85424632208d8f7c6146ebc8e8cc9c77b723d
diff --git a/dev-python/simplejson/metadata.xml b/dev-python/simplejson/metadata.xml
new file mode 100644
index 000000000000..a53cc93ce1e3
--- /dev/null
+++ b/dev-python/simplejson/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">simplejson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplejson/simplejson-3.7.2.ebuild b/dev-python/simplejson/simplejson-3.7.2.ebuild
new file mode 100644
index 000000000000..958813e009bb
--- /dev/null
+++ b/dev-python/simplejson/simplejson-3.7.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE="http://undefined.org/python/#simplejson http://pypi.python.org/pypi/simplejson"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( MIT AFL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( README.rst CHANGES.txt )
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/simplejson/simplejson-3.8.0.ebuild b/dev-python/simplejson/simplejson-3.8.0.ebuild
new file mode 100644
index 000000000000..2cc471b206b0
--- /dev/null
+++ b/dev-python/simplejson/simplejson-3.8.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE="http://undefined.org/python/#simplejson http://pypi.python.org/pypi/simplejson"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( MIT AFL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( README.rst CHANGES.txt )
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/simplekv/Manifest b/dev-python/simplekv/Manifest
new file mode 100644
index 000000000000..2503d42448bf
--- /dev/null
+++ b/dev-python/simplekv/Manifest
@@ -0,0 +1,2 @@
+DIST simplekv-0.9.2.tar.gz 13750 SHA256 448608199a9f76a25529005b5a28a4e548afd623e2b7109563b9ebe6ef4f3aac SHA512 cfa17cc0920d4a0513c56443c30ed07a77130f689d71130a058e2a46a5b9dbfc22b1fd21d6fee973fc00242c6b9391143a4db91f9c1937ea7f64daa898a8f045 WHIRLPOOL 40f62efaba344aed99b3e6bae80eb22021a93958654a2fe2d881ece808a93f830923fbd2f00d96adb46442d6bcf3c66a71fc805a49f46e331db10df24c1b2621
+DIST simplekv-0.9.3.tar.gz 14585 SHA256 f82e11b42222c13201ff7bc97b4684953287150e8c51c28b0028be489bb214d1 SHA512 1d83c485b4e3d28ce2e0080b6ef424393ea26ae9fcce75a0852b07d66bcf134815e292b590f1a1ff4083b5202633d2cf837a5ebd7b577353ae94a0be5491436b WHIRLPOOL 3793ba874530087854a57613504c6344bcb69c41bb49268f7e92edd02c54979ee5b08308bc9651c4983b756d7057398d837cf8366cef8d37114528630c971340
diff --git a/dev-python/simplekv/metadata.xml b/dev-python/simplekv/metadata.xml
new file mode 100644
index 000000000000..4b9133c78f3b
--- /dev/null
+++ b/dev-python/simplekv/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ <description>Python team can take the package if they wish.</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">simplekv</remote-id>
+ <remote-id type="github">mbr/simplekv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplekv/simplekv-0.9.2.ebuild b/dev-python/simplekv/simplekv-0.9.2.ebuild
new file mode 100644
index 000000000000..5eeab9456446
--- /dev/null
+++ b/dev-python/simplekv/simplekv-0.9.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A key-value storage for binary data, support many backends."
+HOMEPAGE="https://pypi.python.org/pypi/simplekv/ https://github.com/mbr/simplekv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/simplekv/simplekv-0.9.3.ebuild b/dev-python/simplekv/simplekv-0.9.3.ebuild
new file mode 100644
index 000000000000..de2f9537a8ca
--- /dev/null
+++ b/dev-python/simplekv/simplekv-0.9.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A key-value storage for binary data, support many backends."
+HOMEPAGE="https://pypi.python.org/pypi/simplekv/ https://github.com/mbr/simplekv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/simpleparse/Manifest b/dev-python/simpleparse/Manifest
new file mode 100644
index 000000000000..d3a1dfdcf795
--- /dev/null
+++ b/dev-python/simpleparse/Manifest
@@ -0,0 +1 @@
+DIST SimpleParse-2.1.1.tar.gz 207078 SHA256 2f1393790dd7b0af9775bd9c828430ffdd8bccd6227783c09e835e1aced415d9 SHA512 b0a46b8b708ba711c81f739177d7df3814dc7f0ba3a0a7e4ec9b9ade045f1ee90dfdaf76de96306c490238b901275adafbff4efdd2ab46d7a78bf9082c2da0a8 WHIRLPOOL 31a27f533942f07324684969fb8a6d687753b7f105942c7a7e660f670ed11b6009b62c56d4ddc7e2933bbb82f0b1f75a5db1d5748744c45f04f2006696a76e93
diff --git a/dev-python/simpleparse/metadata.xml b/dev-python/simpleparse/metadata.xml
new file mode 100644
index 000000000000..16b5a011d5d1
--- /dev/null
+++ b/dev-python/simpleparse/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SimpleParse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simpleparse/simpleparse-2.1.1-r1.ebuild b/dev-python/simpleparse/simpleparse-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..0dfb017083f2
--- /dev/null
+++ b/dev-python/simpleparse/simpleparse-2.1.1-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python2_7)
+inherit distutils-r1
+
+MY_PN="SimpleParse"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Parser Generator for mxTextTools"
+HOMEPAGE="http://simpleparse.sourceforge.net http://pypi.python.org/pypi/SimpleParse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="eGenixPublic-1.1 HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc examples test"
+
+S="${WORKDIR}/${MY_P}"
+
+# tests segfault, bug #454680
+RESTRICT=test
+
+src_prepare() {
+ distutils-r1_src_prepare
+ rm -f {examples,tests}/__init__.py
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ if use doc ; then
+ dohtml -r doc/*
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
+
+python_test() {
+ PYTHONPATH=${BUILD_DIR}/lib python tests/test.py || die
+}
diff --git a/dev-python/simpleparse/simpleparse-2.1.1.ebuild b/dev-python/simpleparse/simpleparse-2.1.1.ebuild
new file mode 100644
index 000000000000..e1f6aa73d25c
--- /dev/null
+++ b/dev-python/simpleparse/simpleparse-2.1.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+inherit distutils
+
+MY_PN="SimpleParse"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A Parser Generator for mxTextTools"
+HOMEPAGE="http://simpleparse.sourceforge.net http://pypi.python.org/pypi/SimpleParse"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="eGenixPublic-1.1 HPND"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
+
+src_prepare() {
+ distutils_src_prepare
+ rm -f {examples,tests}/__init__.py
+}
+
+src_test() {
+ testing() {
+ PYTHONPATH="$(ls -d build-${PYTHON_ABI}/lib.*):." "$(PYTHON)" tests/test.py
+ }
+ python_execute_function testing
+}
+
+src_install() {
+ distutils_src_install
+
+ if use doc ; then
+ dohtml -r doc/*
+ fi
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/simples3/Manifest b/dev-python/simples3/Manifest
new file mode 100644
index 000000000000..4d927e6e880b
--- /dev/null
+++ b/dev-python/simples3/Manifest
@@ -0,0 +1 @@
+DIST simples3-1.0.tar.gz 14630 SHA256 2f3d3ef5a691741a489971e292cca2fd69bb11937b542bd1838793da2014f0fc SHA512 3f715eb9dc7cae22f0d08e01599d15e33f5f52441d17a85b6017c15bdfeb125d473ef0d0f19de712f7d09d4127f71e423adc6aaeec461c32fd7568e9ed4c7e54 WHIRLPOOL f0a32d367cf3fc208d0cd6b6254c6bba96dcf8d3ec90350595f468d4254429b3c30949643ab0d17ad9d60e80e01a1f0c956deb42d74ea59fe8e7b13a7fb52000
diff --git a/dev-python/simples3/metadata.xml b/dev-python/simples3/metadata.xml
new file mode 100644
index 000000000000..f98bb7f53d6c
--- /dev/null
+++ b/dev-python/simples3/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ <description>Proxy-Maintainer, assign bugs</description>
+ </maintainer>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">simples3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simples3/simples3-1.0.ebuild b/dev-python/simples3/simples3-1.0.ebuild
new file mode 100644
index 000000000000..e0dc24084c65
--- /dev/null
+++ b/dev-python/simples3/simples3-1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A fairly simple, decently quick python interface to Amazon's S3 storage service"
+HOMEPAGE="http://sendapatch.se/projects/simples3/ http://pypi.python.org/pypi/simples3/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+DOCS=( changes.rst README TODO )
+
+python_prepare_all() {
+ sed -i -e "s/setuptools/distutils.core/" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/simplesettings/Manifest b/dev-python/simplesettings/Manifest
new file mode 100644
index 000000000000..1faea947b49c
--- /dev/null
+++ b/dev-python/simplesettings/Manifest
@@ -0,0 +1 @@
+DIST simplesettings-0.5.tar.gz 5998 SHA256 477096c53a6f9a6287232a626cec65011bbc550410b2624f4fe6d80bf241486e SHA512 7d7fdfb827dcf86558560b96594016896b9c62843509acf4fb47b8b669e12bb3cb3093eb65312198978c1ace689b848c251f1943fa9fc9952479618ecc9658b5 WHIRLPOOL 19fd7d581e98e139d63e614c0b02bcab37c774cdee9b0c3fcd05ee88fd0ee3870ba4e0811b2d7fed87151a40d6385c2b9c8647ce2d5b1ac3507532c6a619fe11
diff --git a/dev-python/simplesettings/metadata.xml b/dev-python/simplesettings/metadata.xml
new file mode 100644
index 000000000000..9c4eac8d5bca
--- /dev/null
+++ b/dev-python/simplesettings/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">simplesettings</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simplesettings/simplesettings-0.5-r1.ebuild b/dev-python/simplesettings/simplesettings-0.5-r1.ebuild
new file mode 100644
index 000000000000..e5571525860d
--- /dev/null
+++ b/dev-python/simplesettings/simplesettings-0.5-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple settings initialization"
+HOMEPAGE="http://pypi.python.org/pypi/simplesettings"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/simpletal/Manifest b/dev-python/simpletal/Manifest
new file mode 100644
index 000000000000..201509527bb6
--- /dev/null
+++ b/dev-python/simpletal/Manifest
@@ -0,0 +1,3 @@
+DIST SimpleTAL-4.2.tar.gz 96011 SHA256 3f2983773382491c981e8f621094be4ea4e202336c96f81f9a1f7305e4b2eb08 SHA512 ce816a9c7c66ffa96da0968cea60d838b7e9ed5608a0eae05c40fbbacddec2ca369944f820237d9c3756cd14552d7957c86f8f3e8067cb944ac86529232aa0c8 WHIRLPOOL 6dd675f113d37209a4d10945c0f7116e3d4b45f31bbdfe4488e17150d3969a27e1cb348c3d0136878bae456de646fa8ab086c78d67b8a49046e0b7261261a484
+DIST SimpleTAL-5.1.tar.gz 90604 SHA256 00118ccf7eb74cb3e536a891a1858ad31a2416f63a85cf61fd538bde4c760057 SHA512 51fc5bcfdb4a5ac06b06d7aca20d13cb964a625d0167cc723e8b7352cf154bcde9f14aff96eaa42a5b299c8439336cd35d8fc8f927ae1352be7e7ca5f12aba52 WHIRLPOOL 25e40138a4e53a6f8a6aaa6d607e082ac8ba428ff8b99336d91c5d10e3a6ae8d203e6a49756c96d5357b8605ad4a6eafc3501403a62dce63127eb3ff8ff485bd
+DIST SimpleTAL-5.2.tar.gz 96986 SHA256 ddff80acdebfffc9cb7de2e20761936ea06fcc7cf362678d4b66bd7bbce9e8e2 SHA512 16b46886af50f697e706c6b3f0400707299cfe40a81773fbd094de2f52ca8a87438f3ae7477462d0523570b3e3248d2ad4bb2affd3a7088fc45b1201ed228fbe WHIRLPOOL ea412134f341b572936f0543a944d1d9cae4394be801cf879fdf0859379eb0bc17eda781a62f165e54ce90c511ae7d5dec180f9c718e3ec88fb65fd113c9e284
diff --git a/dev-python/simpletal/metadata.xml b/dev-python/simpletal/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/simpletal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/simpletal/simpletal-4.2-r1.ebuild b/dev-python/simpletal/simpletal-4.2-r1.ebuild
new file mode 100644
index 000000000000..9c0a71a2b695
--- /dev/null
+++ b/dev-python/simpletal/simpletal-4.2-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="SimpleTAL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Stand alone Python implementation of the Zope TAL, TALES and METAL specs for HTML/XML templates"
+HOMEPAGE="http://www.owlfish.com/software/simpleTAL/ http://pypi.python.org/pypi/SimpleTAL"
+SRC_URI="http://www.owlfish.com/software/simpleTAL/downloads/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/pyxml[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s/^TEMP_DIR=.*/TEMP_DIR=os.curdir/" \
+ -i tests/TALUtilsTests/TemplateCacheTestCases.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" runtests.py || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/simpletal/simpletal-5.1-r1.ebuild b/dev-python/simpletal/simpletal-5.1-r1.ebuild
new file mode 100644
index 000000000000..b7e40a3356ce
--- /dev/null
+++ b/dev-python/simpletal/simpletal-5.1-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 )
+
+inherit distutils-r1
+
+MY_PN="SimpleTAL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Stand alone Python implementation of the Zope TAL, TALES and METAL specs for HTML/XML templates"
+HOMEPAGE="http://www.owlfish.com/software/simpleTAL/ http://pypi.python.org/pypi/SimpleTAL"
+SRC_URI="http://www.owlfish.com/software/simpleTAL/downloads/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="5"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s/^TEMP_DIR=.*/TEMP_DIR=os.curdir/" \
+ -i tests/TALUtilsTests/TemplateCacheTestCases.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" runtests.py || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/simpletal/simpletal-5.2.ebuild b/dev-python/simpletal/simpletal-5.2.ebuild
new file mode 100644
index 000000000000..b7e40a3356ce
--- /dev/null
+++ b/dev-python/simpletal/simpletal-5.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 )
+
+inherit distutils-r1
+
+MY_PN="SimpleTAL"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Stand alone Python implementation of the Zope TAL, TALES and METAL specs for HTML/XML templates"
+HOMEPAGE="http://www.owlfish.com/software/simpleTAL/ http://pypi.python.org/pypi/SimpleTAL"
+SRC_URI="http://www.owlfish.com/software/simpleTAL/downloads/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="5"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="doc examples"
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e "s/^TEMP_DIR=.*/TEMP_DIR=os.curdir/" \
+ -i tests/TALUtilsTests/TemplateCacheTestCases.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" runtests.py || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/simpy/Manifest b/dev-python/simpy/Manifest
new file mode 100644
index 000000000000..4e480d088e09
--- /dev/null
+++ b/dev-python/simpy/Manifest
@@ -0,0 +1,3 @@
+DIST SimPy-2.3.1.tar.gz 6296235 SHA256 7f5ab61409b4fa28d08a7ed8b903eda8195dc3220cb64eb177a7bb62be89e387 SHA512 39b003ba29df70a3b1a13917f2439b523c06a4f0491b1421023697adb52d096aadc281812ae97a0e7b9498dcaab6bf7a3cd42a26dcce5ec67265e0f95884a828 WHIRLPOOL 1eb975c15859322ea02c27ce78cdd27ffe5c5ae7e070447660010f1eaeb9ec43d987b0af07376d459a118d8b61003b36e86ac34c9d6a4faa1100f94d5b9f3d23
+DIST simpy-3.0.3.tar.gz 1695886 SHA256 f1ea029a67bcc58ae88f8e3ce90bd86533a92d791684186ba21d9a0499b54bc9 SHA512 ed494596664b104a467a916ef99e4205af93aa7c4dcb3210fc722ae81e199a5421a9f20fea999d68e5b3c029f14c951e7f0659ead7880c760b9c7b2b64dc19cf WHIRLPOOL d52b1ccbe6b1471dc4db28b9a2d1a73d3710f968a56af0f56cf67bacc477c43238fd636feba5a3f0312e99f93117e39abf77a54a90b458d8b127f240c114a87f
+DIST simpy-3.0.8.tar.gz 402664 SHA256 e127921510773f7b6189ab3596362809a37b87b7c2ae298b29ba3a6cca03e677 SHA512 c8c468ab60da1b357a1c62ca516a0cce51c6941f7b7795ee57c905cd8457f5614c5ff1f6d7586c0b9d9148e03251fd4f77b4e2c3c3d438e532e49bc4583fb08b WHIRLPOOL 736b72632cba64f419512fda90565bfe912c120f9bd9647bbe0446d926485819c760c51594e68d6d410f95fbce99ad7a27687cb607030864459cf53ed64036ba
diff --git a/dev-python/simpy/metadata.xml b/dev-python/simpy/metadata.xml
new file mode 100644
index 000000000000..20ac9d1cc7de
--- /dev/null
+++ b/dev-python/simpy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">simpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simpy/simpy-2.3.1-r1.ebuild b/dev-python/simpy/simpy-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..1e8e98eae583
--- /dev/null
+++ b/dev-python/simpy/simpy-2.3.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="${P/simpy/SimPy}"
+
+DESCRIPTION="Simulation in Python is an object-oriented, process-based discrete-event simulation language"
+HOMEPAGE="http://simpy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/SimPy-2.3/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ ${PYTHON} -c "import SimPy; SimPy.test()" || die
+}
+
+python_install_all() {
+ DOCS=( AUTHORS.txt CHANGES.txt README.txt )
+ if use doc; then
+ pushd docs > /dev/null || die
+ PYTHONPATH=.. emake html && HTML_DOCS=( docs/html/. docs/build/doctrees/. )
+ popd > /dev/null || die
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/simpy/simpy-3.0.3.ebuild b/dev-python/simpy/simpy-3.0.3.ebuild
new file mode 100644
index 000000000000..1899aa7e85ce
--- /dev/null
+++ b/dev-python/simpy/simpy-3.0.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="${P/simpy/SimPy}"
+
+DESCRIPTION="Simulation in Python is an object-oriented, process-based discrete-event simulation language"
+HOMEPAGE="http://simpy.readthedocs.org/en/latest/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test -vv || die
+}
+
+python_install_all() {
+ DOCS=( AUTHORS.txt CHANGES.txt README.txt )
+ if use doc; then
+ pushd docs > /dev/null || die
+ PYTHONPATH=.. emake html && HTML_DOCS=( docs/_build/html/. docs/_build/doctrees/. )
+ popd > /dev/null || die
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/simpy/simpy-3.0.8.ebuild b/dev-python/simpy/simpy-3.0.8.ebuild
new file mode 100644
index 000000000000..1899aa7e85ce
--- /dev/null
+++ b/dev-python/simpy/simpy-3.0.8.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1
+
+MY_P="${P/simpy/SimPy}"
+
+DESCRIPTION="Simulation in Python is an object-oriented, process-based discrete-event simulation language"
+HOMEPAGE="http://simpy.readthedocs.org/en/latest/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ py.test -vv || die
+}
+
+python_install_all() {
+ DOCS=( AUTHORS.txt CHANGES.txt README.txt )
+ if use doc; then
+ pushd docs > /dev/null || die
+ PYTHONPATH=.. emake html && HTML_DOCS=( docs/_build/html/. docs/_build/doctrees/. )
+ popd > /dev/null || die
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/singledispatch/Manifest b/dev-python/singledispatch/Manifest
new file mode 100644
index 000000000000..51f7fc8c00bc
--- /dev/null
+++ b/dev-python/singledispatch/Manifest
@@ -0,0 +1 @@
+DIST singledispatch-3.4.0.3.tar.gz 9529 SHA256 5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c SHA512 ba065d36092ddee6527be3d7cb777c51c0949855bf6dd0ffb7c25acaedaa35d36fe6dc096587acddcd1e9e54c6ac5f92c196b11f9ee1270cc0c1cf2f410446cf WHIRLPOOL 183ff853db1743b9a55023a62afc806d60dc095f8a1a32392ad3d48c31f0c9b2b2001dc9bd264c90dbfc7acb92670342a2ff770886aa81afe9b5badde4dbe22a
diff --git a/dev-python/singledispatch/metadata.xml b/dev-python/singledispatch/metadata.xml
new file mode 100644
index 000000000000..b66ef2454278
--- /dev/null
+++ b/dev-python/singledispatch/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <maintainer>
+ <email>timo@rothenpieler.org</email>
+ <name>Timo Rothenpieler</name>
+ <description>proxy maintainer</description>
+ </maintainer>
+ <maintainer>
+ <email>realnc@gmail.com</email>
+ <name>Nikos Chantziaras</name>
+ <description>proxy maintainer</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">singledispatch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/singledispatch/singledispatch-3.4.0.3.ebuild b/dev-python/singledispatch/singledispatch-3.4.0.3.ebuild
new file mode 100644
index 000000000000..3cb00c89e9e4
--- /dev/null
+++ b/dev-python/singledispatch/singledispatch-3.4.0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to bring functools.singledispatch from Python 3.4 to Python 2.6-3.3"
+HOMEPAGE="http://docs.python.org/3/library/functools.html#functools.singledispatch"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${PF}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~ppc64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
new file mode 100644
index 000000000000..97d41cc6d241
--- /dev/null
+++ b/dev-python/sip/Manifest
@@ -0,0 +1,3 @@
+DIST sip-4.16.2.tar.gz 793663 SHA256 a55a2324a46ab42e42ae57c52ef06583b17d25c987973fe2e7ff2e8a649294ce SHA512 07ced0188bd4dc897ddacbce226b33ac9d236455a95018e900fd5f652439c905ddd56688f8bb29f704fcf201a8e668d5cc89ba887065826653087cf0a9f6dbfb WHIRLPOOL 47c741f1b787ba147e7a299e3c93a7537f14f1b192726e39f3679d0b0e0a991df603509c5674f262311259d9ad2e1e845746d215d5ef70eb7b827c1557eb8b82
+DIST sip-4.16.8.tar.gz 957083 SHA256 d3141b65e48a30c9ce36612f8bcd1730ebf02d044757e4d6c5234927e2063e18 SHA512 aa63ab9925d581e929613cfd9c5804489a0702b8380958874cc1bd364030e21b30816493c7f38ceccdffc9da310d2c793ea438ce458ed06511ede7fbb913ef8d WHIRLPOOL 3c84a4de2be0458ec90dc2b266c0435808f0e92db09bae92e7ce1a24b2dd1bdf6037cdcec322a7c92266cf591e95bd36e812434aaf3dbfe8c71cf882dcba72f5
+DIST sip-4.16.9.tar.gz 957858 SHA256 dbe173aa566e26ca0bb5bcbc1d30ef780f416267bb3b5df48149a737ea6b0555 SHA512 f9e7deac3462f71e809fce29aea4b7e7e3d1acb7600252178459cfb9e09d1543e9a189bdc66c946c9d11c4a6f3175a6d6b306481cadab70ed7f17f6e7c328ddc WHIRLPOOL f4cfcb5ecc945332683bdcbd6913b87fc975f8e268e02e6bdeaadebf578e40f1e94a3c76cdb1ea3890ec969d1454560d58df01ba4ad507d914a300076365ade0
diff --git a/dev-python/sip/files/sip-4.15.5-darwin.patch b/dev-python/sip/files/sip-4.15.5-darwin.patch
new file mode 100644
index 000000000000..b625d15c27c5
--- /dev/null
+++ b/dev-python/sip/files/sip-4.15.5-darwin.patch
@@ -0,0 +1,30 @@
+diff -ur sip-4.15.5.orig/siputils.py sip-4.15.5/siputils.py
+--- siputils.py 2014-02-21 18:31:35.000000000 +0800
++++ siputils.py 2014-04-01 23:21:41.895036589 +0800
+@@ -945,8 +945,6 @@
+ """
+ if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
+ plib = clib + ".lib"
+- elif sys.platform == "darwin" and framework:
+- plib = "-framework " + clib
+ else:
+ plib = "-l" + clib
+
+@@ -961,8 +959,6 @@
+ """
+ if self.generator in ("MSVC", "MSVC.NET", "MSBUILD", "BMAKE"):
+ prl_name = os.path.join(self.config.qt_lib_dir, clib + ".prl")
+- elif sys.platform == "darwin" and framework:
+- prl_name = os.path.join(self.config.qt_lib_dir, clib + ".framework", clib + ".prl")
+ else:
+ prl_name = os.path.join(self.config.qt_lib_dir, "lib" + clib + ".prl")
+
+@@ -1633,7 +1629,7 @@
+ if sys.platform == "win32":
+ ext = "pyd"
+ elif sys.platform == "darwin":
+- ext = "so"
++ ext = "bundle"
+ elif sys.platform == "cygwin":
+ ext = "dll"
+ else:
diff --git a/dev-python/sip/metadata.xml b/dev-python/sip/metadata.xml
new file mode 100644
index 000000000000..318329c4c49f
--- /dev/null
+++ b/dev-python/sip/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>qt</herd>
+ <upstream>
+ <maintainer status="active">
+ <email>phil@riverbankcomputing.com</email>
+ <name>Phil Thompson</name>
+ </maintainer>
+ <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <remote-id type="pypi">SIP</remote-id>
+ <remote-id type="sourceforge">pyqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sip/sip-4.16.2.ebuild b/dev-python/sip/sip-4.16.2.ebuild
new file mode 100644
index 000000000000..bc856bfd77a8
--- /dev/null
+++ b/dev-python/sip/sip-4.16.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils python-r1 toolchain-funcs
+
+DESCRIPTION="Python extension module generator for C and C++ libraries"
+HOMEPAGE="http://www.riverbankcomputing.co.uk/software/sip/intro https://pypi.python.org/pypi/SIP"
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+
+if [[ ${PV} == *9999* ]]; then
+ # live version from mercurial repo
+ EHG_REPO_URI="http://www.riverbankcomputing.com/hg/sip"
+ inherit mercurial
+elif [[ ${PV} == *_pre* ]]; then
+ # development snapshot
+ HG_REVISION=
+ MY_P=${PN}-${PV%_pre*}-snapshot-${HG_REVISION}
+ SRC_URI="http://dev.gentoo.org/~hwoarang/distfiles/${MY_P}.tar.gz"
+ S=${WORKDIR}/${MY_P}
+else
+ # official release
+ SRC_URI="mirror://sourceforge/pyqt/${P}.tar.gz"
+fi
+
+# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h.in
+SLOT="0/11"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+[[ ${PV} == *9999* ]] && DEPEND+="
+ =dev-lang/python-2*
+ sys-devel/bison
+ sys-devel/flex
+ doc? ( dev-python/sphinx[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.15.5-darwin.patch
+
+ if [[ ${PV} == *9999* ]]; then
+ python2 build.py prepare || die
+ if use doc; then
+ python2 build.py doc || die
+ fi
+ fi
+
+ # Sub-slot sanity check
+ local sub_slot=${SLOT#*/}
+ local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h.in)
+ if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
+ eerror
+ eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
+ eerror "Please update SLOT variable as follows:"
+ eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
+ eerror
+ die "sub-slot sanity check failed"
+ fi
+
+ python_copy_sources
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}" configure.py
+ --bindir="${EPREFIX}/usr/bin"
+ --destdir="$(python_get_sitedir)"
+ --incdir="$(python_get_includedir)"
+ --sipdir="${EPREFIX}/usr/share/sip"
+ $(use debug && echo --debug)
+ AR="$(tc-getAR) cqs"
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ CFLAGS_RELEASE=
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS_RELEASE=
+ LINK="$(tc-getCXX)"
+ LINK_SHLIB="$(tc-getCXX)"
+ LFLAGS="${LDFLAGS}"
+ LFLAGS_RELEASE=
+ RANLIB=
+ STRIP=
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}"
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc NEWS
+ use doc && dohtml -r doc/html/*
+}
diff --git a/dev-python/sip/sip-4.16.8.ebuild b/dev-python/sip/sip-4.16.8.ebuild
new file mode 100644
index 000000000000..2a55a046e69e
--- /dev/null
+++ b/dev-python/sip/sip-4.16.8.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils python-r1 toolchain-funcs
+
+DESCRIPTION="Python extension module generator for C and C++ libraries"
+HOMEPAGE="http://www.riverbankcomputing.com/software/sip/intro https://pypi.python.org/pypi/SIP"
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+
+if [[ ${PV} == *9999* ]]; then
+ # live version from mercurial repo
+ EHG_REPO_URI="http://www.riverbankcomputing.com/hg/sip"
+ inherit mercurial
+elif [[ ${PV} == *_pre* ]]; then
+ # development snapshot
+ HG_REVISION=
+ MY_P=${PN}-${PV%_pre*}-snapshot-${HG_REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
+ S=${WORKDIR}/${MY_P}
+else
+ # official release
+ SRC_URI="mirror://sourceforge/pyqt/${P}.tar.gz"
+fi
+
+# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h.in
+SLOT="0/11"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+[[ ${PV} == *9999* ]] && DEPEND+="
+ =dev-lang/python-2*
+ sys-devel/bison
+ sys-devel/flex
+ doc? ( dev-python/sphinx[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.15.5-darwin.patch
+
+ if [[ ${PV} == *9999* ]]; then
+ python2 build.py prepare || die
+ if use doc; then
+ python2 build.py doc || die
+ fi
+ fi
+
+ # Sub-slot sanity check
+ local sub_slot=${SLOT#*/}
+ local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h.in)
+ if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
+ eerror
+ eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
+ eerror "Please update SLOT variable as follows:"
+ eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
+ eerror
+ die "sub-slot sanity check failed"
+ fi
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure.py
+ --destdir="$(python_get_sitedir)"
+ --incdir="$(python_get_includedir)"
+ $(use debug && echo --debug)
+ AR="$(tc-getAR) cqs"
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ CFLAGS_RELEASE=
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS_RELEASE=
+ LINK="$(tc-getCXX)"
+ LINK_SHLIB="$(tc-getCXX)"
+ LFLAGS="${LDFLAGS}"
+ LFLAGS_RELEASE=
+ RANLIB=
+ STRIP=
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS
+ use doc && dodoc -r doc/html
+}
diff --git a/dev-python/sip/sip-4.16.9.ebuild b/dev-python/sip/sip-4.16.9.ebuild
new file mode 100644
index 000000000000..e589f78e1a8a
--- /dev/null
+++ b/dev-python/sip/sip-4.16.9.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils python-r1 toolchain-funcs
+
+DESCRIPTION="Python extension module generator for C and C++ libraries"
+HOMEPAGE="http://www.riverbankcomputing.com/software/sip/intro https://pypi.python.org/pypi/SIP"
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+
+if [[ ${PV} == *9999* ]]; then
+ # live version from mercurial repo
+ EHG_REPO_URI="http://www.riverbankcomputing.com/hg/sip"
+ inherit mercurial
+elif [[ ${PV} == *_pre* ]]; then
+ # development snapshot
+ HG_REVISION=
+ MY_P=${PN}-${PV%_pre*}-snapshot-${HG_REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
+ S=${WORKDIR}/${MY_P}
+else
+ # official release
+ SRC_URI="http://www.riverbankcomputing.com/static/Downloads/sip4/${P}.tar.gz"
+fi
+
+# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h.in
+SLOT="0/11"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+[[ ${PV} == *9999* ]] && DEPEND+="
+ sys-devel/bison
+ sys-devel/flex
+ doc? ( dev-python/sphinx[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+[[ ${PV} == *9999* ]] && REQUIRED_USE+="
+ || ( $(python_gen_useflags 'python2*') )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.15.5-darwin.patch
+
+ if [[ ${PV} == *9999* ]]; then
+ python_setup 'python2*'
+ "${PYTHON}" build.py prepare || die
+ if use doc; then
+ "${PYTHON}" build.py doc || die
+ fi
+ fi
+
+ # Sub-slot sanity check
+ local sub_slot=${SLOT#*/}
+ local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h.in)
+ if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
+ eerror
+ eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
+ eerror "Please update SLOT variable as follows:"
+ eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
+ eerror
+ die "sub-slot sanity check failed"
+ fi
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure.py
+ --destdir="$(python_get_sitedir)"
+ --incdir="$(python_get_includedir)"
+ $(use debug && echo --debug)
+ AR="$(tc-getAR) cqs"
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ CFLAGS_RELEASE=
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS_RELEASE=
+ LINK="$(tc-getCXX)"
+ LINK_SHLIB="$(tc-getCXX)"
+ LFLAGS="${LDFLAGS}"
+ LFLAGS_RELEASE=
+ RANLIB=
+ STRIP=
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS
+ use doc && dodoc -r doc/html
+}
diff --git a/dev-python/sip/sip-4.9999.ebuild b/dev-python/sip/sip-4.9999.ebuild
new file mode 100644
index 000000000000..8397da722d1d
--- /dev/null
+++ b/dev-python/sip/sip-4.9999.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils python-r1 toolchain-funcs
+
+DESCRIPTION="Python extension module generator for C and C++ libraries"
+HOMEPAGE="http://www.riverbankcomputing.com/software/sip/intro https://pypi.python.org/pypi/SIP"
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+
+if [[ ${PV} == *9999* ]]; then
+ # live version from mercurial repo
+ EHG_REPO_URI="http://www.riverbankcomputing.com/hg/sip"
+ inherit mercurial
+elif [[ ${PV} == *_pre* ]]; then
+ # development snapshot
+ HG_REVISION=
+ MY_P=${PN}-${PV%_pre*}-snapshot-${HG_REVISION}
+ SRC_URI="http://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
+ S=${WORKDIR}/${MY_P}
+else
+ # official release
+ SRC_URI="mirror://sourceforge/pyqt/${P}.tar.gz"
+fi
+
+# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h.in
+SLOT="0/11"
+KEYWORDS=""
+IUSE="debug doc"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+[[ ${PV} == *9999* ]] && DEPEND+="
+ sys-devel/bison
+ sys-devel/flex
+ doc? ( dev-python/sphinx[$(python_gen_usedep 'python2*')] )
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+[[ ${PV} == *9999* ]] && REQUIRED_USE+="
+ || ( $(python_gen_useflags 'python2*') )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.15.5-darwin.patch
+
+ if [[ ${PV} == *9999* ]]; then
+ python_setup 'python2*'
+ "${PYTHON}" build.py prepare || die
+ if use doc; then
+ "${PYTHON}" build.py doc || die
+ fi
+ fi
+
+ # Sub-slot sanity check
+ local sub_slot=${SLOT#*/}
+ local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h.in)
+ if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then
+ eerror
+ eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})"
+ eerror "Please update SLOT variable as follows:"
+ eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\""
+ eerror
+ die "sub-slot sanity check failed"
+ fi
+}
+
+src_configure() {
+ configuration() {
+ local myconf=(
+ "${PYTHON}"
+ "${S}"/configure.py
+ --destdir="$(python_get_sitedir)"
+ --incdir="$(python_get_includedir)"
+ $(use debug && echo --debug)
+ AR="$(tc-getAR) cqs"
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ CFLAGS_RELEASE=
+ CXX="$(tc-getCXX)"
+ CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS_RELEASE=
+ LINK="$(tc-getCXX)"
+ LINK_SHLIB="$(tc-getCXX)"
+ LFLAGS="${LDFLAGS}"
+ LFLAGS_RELEASE=
+ RANLIB=
+ STRIP=
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+ }
+ python_foreach_impl run_in_build_dir configuration
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake DESTDIR="${D}" install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installation
+
+ dodoc ChangeLog NEWS
+ use doc && dodoc -r doc/html
+}
diff --git a/dev-python/six/Manifest b/dev-python/six/Manifest
new file mode 100644
index 000000000000..db42ca028902
--- /dev/null
+++ b/dev-python/six/Manifest
@@ -0,0 +1,4 @@
+DIST six-1.3.0.tar.gz 17701 SHA256 d59793f9b255bd00de800b97f9a50cce4fc8a44c205f7defa5bb7d691d13b852 SHA512 e8974d4bf62325f98e301e68c237489ca39cfa9ed1066f1cdfa34e18d20d0baf788cb515e44f00f1c823f9f923d2b30f63443dbc5df8c934b1a69b8c68210130 WHIRLPOOL bd259a4e2cd0ae2629a8998a01641874266928d6fe3e65669198a9706cd4f90579902196680932b5c9207db1005376ae8b4cbc7b63f30afabe8993e719df9a5e
+DIST six-1.6.1.tar.gz 24792 SHA256 d4392a7c8d91b005c002568a85faf617c67241c8cd8399cc395e8f1005aff80d SHA512 bd925295964696dc8632eb0b9d6632f25d4b461fefceb470d2bb537e98b0db9dddf9c2abb363657451b950572e91f1ab5973d12739781823f9b845abe5061057 WHIRLPOOL 54ee9309a0433231530962e64f19246cda75b36c191f6b567ccef4bb4c4cd631785d0641bc958b1cf360bc3eedcbc5bb268bc9ddf645b68c5c54bc80e184b3bc
+DIST six-1.8.0.tar.gz 26925 SHA256 047bbbba41bac37c444c75ddfdf0573dd6e2f1fbd824e6247bb26fa7d8fa3830 SHA512 e705c0213396d1220f02f2c6f724ddb9d95eefc38459b6d9bc547be859303bd404969965416f7d1614d2eab416d647d0b53502414cdc46bcb597675cf509b9ff WHIRLPOOL 1a84ecd8635e93f104447b78a6beb577639a5eebef79af40fd8c8e9796ae35c1f49dea64546f46ec31e5589c86c4b36c9fc2e28226e0c9540aabd49ebcf7bf07
+DIST six-1.9.0.tar.gz 29127 SHA256 e24052411fc4fbd1f672635537c3fc2330d9481b18c0317695b46259512c91d5 SHA512 bcd94367a26c326ff9cc884e67cd705077366b6c091ad4ec805791f0ddc05452fe046c0ad843fbd530fa956ef240b951e69a7fedd41f5e7aaaabdc4761e987ea WHIRLPOOL a71ed4a8c7688cf2fee668ea203e767a2ad073797d1a4c651704d3e6ee9070b32cf43b89bace98fd07781af98016bbe2d9ec1b2b7d67de02912cfa30be65052f
diff --git a/dev-python/six/files/1.9.0-mapping.patch b/dev-python/six/files/1.9.0-mapping.patch
new file mode 100644
index 000000000000..96ca9b649c5b
--- /dev/null
+++ b/dev-python/six/files/1.9.0-mapping.patch
@@ -0,0 +1,12 @@
+Patch prevents downloading non essential .inv files during the doc build
+diff -ur six-1.5.2.orig/documentation/conf.py six-1.5.2/documentation/conf.py
+--- documentation/conf.py 2013-09-15 21:52:34.000000000 +0800
++++ documentation/conf.py 2014-01-07 18:19:24.958916446 +0800
+@@ -211,7 +211,3 @@
+ [u"Benjamin Peterson"], 1)
+ ]
+
+-# -- Intersphinx ---------------------------------------------------------------
+-
+-intersphinx_mapping = {"py2" : ("https://docs.python.org/2/", None),
+- "py3" : ("https://docs.python.org/3/", None)}
diff --git a/dev-python/six/files/six-1.5.2-mapping.patch b/dev-python/six/files/six-1.5.2-mapping.patch
new file mode 100644
index 000000000000..44481765c12f
--- /dev/null
+++ b/dev-python/six/files/six-1.5.2-mapping.patch
@@ -0,0 +1,12 @@
+Patch prevents downloading non essential .inv files during the doc build
+diff -ur six-1.5.2.orig/documentation/conf.py six-1.5.2/documentation/conf.py
+--- documentation/conf.py 2013-09-15 21:52:34.000000000 +0800
++++ documentation/conf.py 2014-01-07 18:19:24.958916446 +0800
+@@ -211,7 +211,3 @@
+ [u"Benjamin Peterson"], 1)
+ ]
+
+-# -- Intersphinx ---------------------------------------------------------------
+-
+-intersphinx_mapping = {"py2" : ("http://docs.python.org/2/", None),
+- "py3" : ("http://docs.python.org/3/", None)}
diff --git a/dev-python/six/files/six-1.9.0-winreg.patch b/dev-python/six/files/six-1.9.0-winreg.patch
new file mode 100644
index 000000000000..57e2074c8268
--- /dev/null
+++ b/dev-python/six/files/six-1.9.0-winreg.patch
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User Benjamin Peterson <benjamin@python.org>
+# Date 1426865725 18000
+# Node ID c996ed1dc0064f45e691f1664d06001ae07fff00
+# Parent 7638872a6c760448ed8648d692c8eb702a29c361
+# Parent 24dc6a6f7384712152dd1e881c115fb4805be9ea
+Merged in mrossini/six (pull request #55)
+
+_winreg is added to the moves module under windows only
+
+diff --git a/six.py b/six.py
+--- a/six.py
++++ b/six.py
+@@ -298,8 +298,12 @@
+ MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"),
+ MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"),
+ MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"),
+- MovedModule("winreg", "_winreg"),
+ ]
++#Add windows specific modules if needed
++if sys.platform in ('win32', 'cygwin'):
++ _moved_attributes += [
++ MovedModule("winreg", "_winreg"),
++ ]
+ for attr in _moved_attributes:
+ setattr(_MovedItems, attr.name, attr)
+ if isinstance(attr, MovedModule):
diff --git a/dev-python/six/metadata.xml b/dev-python/six/metadata.xml
new file mode 100644
index 000000000000..ce1e3409b591
--- /dev/null
+++ b/dev-python/six/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">six</remote-id>
+ <remote-id type="bitbucket">gutworth/six</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/six/six-1.3.0.ebuild b/dev-python/six/six-1.3.0.ebuild
new file mode 100644
index 000000000000..80f254d4f870
--- /dev/null
+++ b/dev-python/six/six-1.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/six/six-1.6.1.ebuild b/dev-python/six/six-1.6.1.ebuild
new file mode 100644
index 000000000000..dbace39ef66a
--- /dev/null
+++ b/dev-python/six/six-1.6.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ~ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.5.2-mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/six/six-1.8.0.ebuild b/dev-python/six/six-1.8.0.ebuild
new file mode 100644
index 000000000000..7bec6183129c
--- /dev/null
+++ b/dev-python/six/six-1.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.5.2-mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/six/six-1.9.0-r1.ebuild b/dev-python/six/six-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..c2ee46db9864
--- /dev/null
+++ b/dev-python/six/six-1.9.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-mapping.patch
+ "${FILESDIR}"/${P}-winreg.patch
+ )
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/six/six-1.9.0.ebuild b/dev-python/six/six-1.9.0.ebuild
new file mode 100644
index 000000000000..08cf8137a90d
--- /dev/null
+++ b/dev-python/six/six-1.9.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="doc test"
+
+DEPEND="doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PV}-mapping.patch )
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/six/six-9999.ebuild b/dev-python/six/six-9999.ebuild
new file mode 100644
index 000000000000..f0d81184fb98
--- /dev/null
+++ b/dev-python/six/six-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1 mercurial
+
+DESCRIPTION="Python 2 and 3 compatibility library"
+HOMEPAGE="https://bitbucket.org/gutworth/six http://pypi.python.org/pypi/six"
+SRC_URI=""
+EHG_REPO_URI="https://bitbucket.org/gutworth/six"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C documentation html
+}
+
+python_test() {
+ py.test -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( documentation/_build/html/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/skype4py/Manifest b/dev-python/skype4py/Manifest
new file mode 100644
index 000000000000..8df23a98e3bf
--- /dev/null
+++ b/dev-python/skype4py/Manifest
@@ -0,0 +1 @@
+DIST skype4py-1.0.35.tar.gz 143453 SHA256 47b61664a47d29f3d5d4a3d6f01a7c5c13c1610767b6ed9e48c07439003533b8 SHA512 daf07b08e5a3dda47f1e643ebbf6d8d01175e7f3a23cf6daf852c75f4b2552b8c68f255e27c89ea8773836b2b154193fed1b3b5e28ed07b503b5c2f95ee4314f WHIRLPOOL 567aa5247959881277449a49f3250831fbd3ce416eadb78f3931b6b2a6a6812dbf2bfbf4cff3a1bef2a53791aaecf124ef152146de0f1c1c22f62047ea6da964
diff --git a/dev-python/skype4py/metadata.xml b/dev-python/skype4py/metadata.xml
new file mode 100644
index 000000000000..75a0c402451d
--- /dev/null
+++ b/dev-python/skype4py/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Skype4Py</remote-id>
+ <remote-id type="github">awahlig/skype4py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/skype4py/skype4py-1.0.35-r1.ebuild b/dev-python/skype4py/skype4py-1.0.35-r1.ebuild
new file mode 100644
index 000000000000..fef9178ad731
--- /dev/null
+++ b/dev-python/skype4py/skype4py-1.0.35-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for the Skype API"
+HOMEPAGE="https://github.com/awahlig/skype4py http://pypi.python.org/pypi/Skype4Py/"
+SRC_URI="https://github.com/awahlig/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="net-im/skype
+ dev-python/pygobject:2[${PYTHON_USEDEP}]
+ || ( dev-python/dbus-python[${PYTHON_USEDEP}] x11-libs/libX11 )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=( CHANGES.rst README.rst )
diff --git a/dev-python/sleekxmpp/Manifest b/dev-python/sleekxmpp/Manifest
new file mode 100644
index 000000000000..26d6fd4b66bd
--- /dev/null
+++ b/dev-python/sleekxmpp/Manifest
@@ -0,0 +1,2 @@
+DIST sleekxmpp-1.3.0.tar.gz 1013915 SHA256 1665b42ed489c7f0411b466172b72752a6caeeb19310314763b447d9a31980e8 SHA512 e48a9b8da8bfbcd97ed372b7fafab82727851f1b1a09870c652dbbdbd6d529d6da26c5778e3d23e2f67aa837713ac14475f9c2cbca708153c3d06960e8cbe53b WHIRLPOOL c7e8a771f015f8f1adfa1e15f4799d55d9590db668a8ddd10065353a793ea93dabe1b8f921d31246934d57de24fad12692ec7fbdecf505116efd618fa4c4a078
+DIST sleekxmpp-1.3.1.tar.gz 1014004 SHA256 72f2887ccb29bd53f9bbf09225274d11d75e88507ea3ddee97cef0b289bcb04f SHA512 1f3c68672536da0d20cd8717f7835096003019f03a05fb08ce87f784b0636d781aa78691ee54927d4755e71a57956972af0a653deb6eff0f7eb16b9a236baa65 WHIRLPOOL 464de44bff78c294d35c01b89319b82bb6f782269c0b880ddb2692b85b0e05ed5ab47e0acb3476187c10440f3bb77f1487f6795a6a08dd6f34cdcfdf8a5ff6cb
diff --git a/dev-python/sleekxmpp/metadata.xml b/dev-python/sleekxmpp/metadata.xml
new file mode 100644
index 000000000000..e75375bafac9
--- /dev/null
+++ b/dev-python/sleekxmpp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">fritzy/SleekXMPP</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sleekxmpp/sleekxmpp-1.3.0.ebuild b/dev-python/sleekxmpp/sleekxmpp-1.3.0.ebuild
new file mode 100644
index 000000000000..e92474c9ed19
--- /dev/null
+++ b/dev-python/sleekxmpp/sleekxmpp-1.3.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+MY_PN=SleekXMPP
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python library for XMPP"
+HOMEPAGE="http://sleekxmpp.com/ https://github.com/fritzy/SleekXMPP/"
+SRC_URI="https://github.com/fritzy/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="crypt"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="crypt? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/sleekxmpp/sleekxmpp-1.3.1.ebuild b/dev-python/sleekxmpp/sleekxmpp-1.3.1.ebuild
new file mode 100644
index 000000000000..67b298a0d5d1
--- /dev/null
+++ b/dev-python/sleekxmpp/sleekxmpp-1.3.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit eutils distutils-r1
+
+MY_PN=SleekXMPP
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python library for XMPP"
+HOMEPAGE="http://sleekxmpp.com/ https://github.com/fritzy/SleekXMPP/"
+SRC_URI="https://github.com/fritzy/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="crypt"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="crypt? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/slowaes/Manifest b/dev-python/slowaes/Manifest
new file mode 100644
index 000000000000..a901de7aa009
--- /dev/null
+++ b/dev-python/slowaes/Manifest
@@ -0,0 +1 @@
+DIST slowaes-0.1a1.tar.gz 7017 SHA256 83658ae54cc116b96f7fdb12fdd0efac3a4e8c7c7064e3fac3f4a881aa54bf09 SHA512 09126a6cf2a0da27c45b12d25c3a9147f47448311f9e36b6db2aa62d8b85f3fdf66f10f8f5d84edf48cde7f6c766d9ed384832f9ca0e28f95104149a7f424d95 WHIRLPOOL 85090de0ddb947470bc932ddc80f28316bd193329711c9e4e83982914ab18379b0fbdd986c087ba1ea9929a80bb0975bc09610a92d3b0d3d05d046e561c3f27e
diff --git a/dev-python/slowaes/metadata.xml b/dev-python/slowaes/metadata.xml
new file mode 100644
index 000000000000..8de95c1970cf
--- /dev/null
+++ b/dev-python/slowaes/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <maintainer>
+ <email>maksverver@geocities.com</email>
+ <name>Maks Verver</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">slowaes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/slowaes/slowaes-0.1-r1.ebuild b/dev-python/slowaes/slowaes-0.1-r1.ebuild
new file mode 100644
index 000000000000..91c240785bba
--- /dev/null
+++ b/dev-python/slowaes/slowaes-0.1-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_P=${P}a1
+DESCRIPTION="AES implementation in pure Python"
+HOMEPAGE="http://code.google.com/p/slowaes/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPENDS="dev-python/setuptools"
+
+S=${WORKDIR}/${MY_P}
diff --git a/dev-python/smmap/Manifest b/dev-python/smmap/Manifest
new file mode 100644
index 000000000000..5bb42a07b6f1
--- /dev/null
+++ b/dev-python/smmap/Manifest
@@ -0,0 +1,2 @@
+DIST smmap-0.8.3.tar.gz 21787 SHA256 9b336afff785e8934afe22a520d2c88574ae716aaf3ce8290581af943ba6fdde SHA512 dff14f25487d83ac348d3f4c9556f6e972c4e1166ac70cc9ca0b70a7e210750a67f4ed85203bebdacc6e8f912cabf55135a0da26c7ae2b017caf2f1682b22608 WHIRLPOOL 3eb3979877ff43c1c518b9313228f52627621ac187c416b61e43f1be1dbb1efc5661ba62a4d3088ed8143a780404296d26b729dab9ff6e9432f78069dfb95b1a
+DIST smmap-0.9.0.tar.gz 22082 SHA256 0e2b62b497bd5f0afebc002eda4d90df9d209c30ef257e8673c90a6b5c119d62 SHA512 704e1c67b1f3e1303578cc26d4af8296a11b5f5013e8e8d933d3096e588911b801ddfb162d0e35a49c00256032824386d77e4f38d58704cd57baf21586b40e03 WHIRLPOOL 9fb316ee42e7d0e9ee46cda05659d3abbe1c0b17917d675c774b1b34e35e16497afef97b0575478bf7d795c6242d77e1456630b3d7739ef979ca8d08ba042498
diff --git a/dev-python/smmap/metadata.xml b/dev-python/smmap/metadata.xml
new file mode 100644
index 000000000000..e4c82cb2ad4f
--- /dev/null
+++ b/dev-python/smmap/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">smmap</remote-id>
+ <remote-id type="github">Byron/smmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/smmap/smmap-0.8.3.ebuild b/dev-python/smmap/smmap-0.8.3.ebuild
new file mode 100644
index 000000000000..661af0d7b2b2
--- /dev/null
+++ b/dev-python/smmap/smmap-0.8.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure git implementation of a sliding window memory map manager"
+HOMEPAGE="
+ http://pypi.python.org/pypi/smmap
+ https://github.com/Byron/smmap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nosexcover[${PYTHON_USEDEP}]
+ )
+ "
+RDEPEND=""
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/smmap/smmap-0.9.0.ebuild b/dev-python/smmap/smmap-0.9.0.ebuild
new file mode 100644
index 000000000000..4a804cfb7ad4
--- /dev/null
+++ b/dev-python/smmap/smmap-0.9.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure git implementation of a sliding window memory map manager"
+HOMEPAGE="
+ http://pypi.python.org/pypi/smmap
+ https://github.com/Byron/smmap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nosexcover[${PYTHON_USEDEP}]
+ )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/snakefood/Manifest b/dev-python/snakefood/Manifest
new file mode 100644
index 000000000000..b7b05392ba8e
--- /dev/null
+++ b/dev-python/snakefood/Manifest
@@ -0,0 +1 @@
+DIST snakefood-1.3.1.tar.bz2 1026656 SHA256 3f8dd02c3cd4a5ef3524db9c81f3fe2a6fc10c7355399874213d76832e0a247d SHA512 9609e593e3d0adc946cc78ee1734f6f0ab710205b8fbbbddac9fd25525522c31864b3593476b3f0dd319986238f270e5a1854b9e0abee96f8be3ca2f4bf81a38 WHIRLPOOL 7ab2f0dad2a01e97d363c21ff5463c871ca17f954fb36f928f397291568bf4fcd45b21f261c2cdee9b31a18e983d7565470a614f05a7af19cefd7817feba1a70
diff --git a/dev-python/snakefood/metadata.xml b/dev-python/snakefood/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/snakefood/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/snakefood/snakefood-1.3.1-r1.ebuild b/dev-python/snakefood/snakefood-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..a03c77578985
--- /dev/null
+++ b/dev-python/snakefood/snakefood-1.3.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Generate dependency graphs from Python code"
+HOMEPAGE="http://furius.ca/snakefood/"
+SRC_URI="http://furius.ca/downloads/${PN}/releases/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
new file mode 100644
index 000000000000..cfb1dccb0039
--- /dev/null
+++ b/dev-python/snakeoil/Manifest
@@ -0,0 +1 @@
+DIST snakeoil-0.6.4.tar.gz 192291 SHA256 8636918381db16bf910afcb30a5e8722038afda32fbf41a977fabea75775131e SHA512 c2290801426de1fd6fe3e668edfc36e05cf50a6990f336eb604eece27f56716b5cff672ca7642906636fa1a8afa82f37867e898680f54b154c37cf51ef72eb9e WHIRLPOOL 08c778296f0881c1884eb0c23fc2e4e81b28f406971d84d71641ac4b4b864e8f472c06fad2937d279565b627ef983f89dbe6e6e1a5dbe7b4263ac00b5d76aea5
diff --git a/dev-python/snakeoil/metadata.xml b/dev-python/snakeoil/metadata.xml
new file mode 100644
index 000000000000..d50cede24baf
--- /dev/null
+++ b/dev-python/snakeoil/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>radhermit@gentoo.org</email>
+ <name>Tim Harder</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pkgcore/snakeoil</remote-id>
+ <remote-id type="pypi">snakeoil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/snakeoil/snakeoil-0.6.4.ebuild b/dev-python/snakeoil/snakeoil-0.6.4.ebuild
new file mode 100644
index 000000000000..34870683e28a
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-0.6.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="Miscellaneous python utility code"
+HOMEPAGE="http://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD"
+SLOT="0"
+
+python_configure_all() {
+ # disable snakeoil 2to3 caching
+ unset PY2TO3_CACHEDIR
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/snakeoil/snakeoil-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild
new file mode 100644
index 000000000000..218588cbde63
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="Miscellaneous python utility code"
+HOMEPAGE="http://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD"
+SLOT="0"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_configure_all() {
+ # disable snakeoil 2to3 caching
+ unset PY2TO3_CACHEDIR
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/snappy/Manifest b/dev-python/snappy/Manifest
new file mode 100644
index 000000000000..8177e7ed6d74
--- /dev/null
+++ b/dev-python/snappy/Manifest
@@ -0,0 +1 @@
+DIST python-snappy-0.5.tar.gz 12495 SHA256 c7fe37679ebfc73840c7cc83657a76bc1ac978efa286b8ac3569fd0630d2b80d SHA512 0be15ea133e3a47c6cdb2a340061bf2779d4aae4b34848cd60e6657c168a76970c41f2bae4f57993862bb65c75baa7cf6a562fcbff4c81e22fe7bac69e7d73b1 WHIRLPOOL e0a3afb0d21bd11f6935701fdd7ebc4f0149502d36852c930ea8600cef44f25eb68d3848c96560090d56e4a1c88990d8a3fb9ac6cc854e0b9eb00496501f9759
diff --git a/dev-python/snappy/metadata.xml b/dev-python/snappy/metadata.xml
new file mode 100644
index 000000000000..265fef812185
--- /dev/null
+++ b/dev-python/snappy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">python-snappy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/snappy/snappy-0.5-r2.ebuild b/dev-python/snappy/snappy-0.5-r2.ebuild
new file mode 100644
index 000000000000..671eede3c0e8
--- /dev/null
+++ b/dev-python/snappy/snappy-0.5-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+MY_PN=python-${PN}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python library for the snappy compression library from Google"
+HOMEPAGE="http://pypi.python.org/pypi/python-snappy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="amd64 arm x86"
+SLOT="0"
+
+DEPEND=">=app-arch/snappy-1.0.2"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_test() {
+ "${PYTHON}" test_snappy.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/snowballstemmer/Manifest b/dev-python/snowballstemmer/Manifest
new file mode 100644
index 000000000000..07f34b9d542c
--- /dev/null
+++ b/dev-python/snowballstemmer/Manifest
@@ -0,0 +1 @@
+DIST snowballstemmer-1.2.0.tar.gz 49639 SHA256 6d54f350e7a0e48903a4e3b6b2cabd1b43e23765fbc975065402893692954191 SHA512 3359657867b9478bb58e6cc67a08212a490d5af07fed7098871b1e6a59def0031bd0c2a846cc9a0d70c94c64ba4d2ccb2f41afedde61d4a7235d26f68374bd02 WHIRLPOOL bf84c482c35ef9e121f13865e43bfc4bcc6ed13959069d5da4f047309986795bcaf09a5cecaf16361d8ea8365f9bf26ca6987574b7ad2cc25572d0992946a44b
diff --git a/dev-python/snowballstemmer/metadata.xml b/dev-python/snowballstemmer/metadata.xml
new file mode 100644
index 000000000000..b37f5be03c6f
--- /dev/null
+++ b/dev-python/snowballstemmer/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">snowballstemmer</remote-id>
+ <remote-id type="github">shibukawa/snowball_py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/snowballstemmer/snowballstemmer-1.2.0.ebuild b/dev-python/snowballstemmer/snowballstemmer-1.2.0.ebuild
new file mode 100644
index 000000000000..b4dc132b11b1
--- /dev/null
+++ b/dev-python/snowballstemmer/snowballstemmer-1.2.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Stemmer algorithms generated from Snowball algorithms"
+HOMEPAGE="https://github.com/shibukawa/snowball_py https://pypi.python.org/pypi/snowballstemmer/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-python/soappy/Manifest b/dev-python/soappy/Manifest
new file mode 100644
index 000000000000..51dc30ce7457
--- /dev/null
+++ b/dev-python/soappy/Manifest
@@ -0,0 +1,3 @@
+DIST SOAPpy-0.12.20.zip 172192 SHA256 ed42ee76a1f1c6ce767296d67ef482059e32eb66cdcbc3ed6b6b9c3922444277 SHA512 f4140327295d0d301093aa13ae35ebc1faabd4aafc259b9866072d57da82bc7742fc852904bddc978792f97cb577afc97e35d47f350c9e5f1426a4928aeb8351 WHIRLPOOL a5568ba25f9e3b22310f447c35f612038f32fc60b20b28aa292b4db7239bb9247772a1192eb2ec1e2f51429c1c1f99dc54ac37b6aae9b4d1418841ae07072f28
+DIST SOAPpy-0.12.22.zip 172855 SHA256 e70845906bb625144ae6a8df4534d66d84431ff8e21835d7b401ec6d8eb447a5 SHA512 d75d0bf8e88c8ecae57f51a201f9ab6f24fc41856ee2093e7e2e73e5d8618c9a766a69140df28a24b6d8493b53555c09502684c6d2fd78e90a3c53bba52f388b WHIRLPOOL 8ac248d98f9da45bcbdd9a9bf55bb7fd4b83de097ca641453c7cf18833c4dc5cd5b4e09e3e5bce3cf4be0c6c09e4e10638aa6a5244afc6cc791996b63a1c3d5e
+DIST SOAPpy-0.12.5.tar.gz 153106 SHA256 8d8e3bf304f5669432d58cc0c2870766096ef5e4e89889aa1bce6d7a68994ef7 SHA512 cee6a4556beac20c68c3bcfe14454b9911655f78987c6fe9a6ce5f08090ded7bbf71a067d848368cf20101ff374e0992f34428b48b9a451eb67a925e92a149a9 WHIRLPOOL 2ba4b0a7cacbf132ca824a1703c811ecba19f852c88b9ac994feba10cce5e9f98769f284cc080c4a6dfd1cba3db7c2d1d69a258bdd3c3f1aeadb11b4cbfbc137
diff --git a/dev-python/soappy/files/soappy-0.12.0-python-2.5-compat.patch b/dev-python/soappy/files/soappy-0.12.0-python-2.5-compat.patch
new file mode 100644
index 000000000000..297bcc4b0c23
--- /dev/null
+++ b/dev-python/soappy/files/soappy-0.12.0-python-2.5-compat.patch
@@ -0,0 +1,68 @@
+diff -urN SOAPpy.orig/Client.py SOAPpy/Client.py
+--- SOAPpy.orig/Client.py 2005-02-21 21:27:09.000000000 +0100
++++ SOAPpy/Client.py 2007-01-07 15:46:13.000000000 +0100
+@@ -40,11 +40,11 @@
+ ################################################################################
+ """
+
++from __future__ import nested_scopes
++
+ ident = '$Id: Client.py,v 1.27 2005/02/21 20:27:09 warnes Exp $'
+ from version import __version__
+
+-from __future__ import nested_scopes
+-
+ #import xml.sax
+ import urllib
+ from types import *
+diff -urN SOAPpy.orig/GSIServer.py SOAPpy/GSIServer.py
+--- SOAPpy.orig/GSIServer.py 2005-02-15 17:32:22.000000000 +0100
++++ SOAPpy/GSIServer.py 2007-01-07 15:46:38.000000000 +0100
+@@ -43,11 +43,11 @@
+ ################################################################################
+ """
+
++from __future__ import nested_scopes
++
+ ident = '$Id: GSIServer.py,v 1.5 2005/02/15 16:32:22 warnes Exp $'
+ from version import __version__
+
+-from __future__ import nested_scopes
+-
+ #import xml.sax
+ import re
+ import socket
+diff -urN SOAPpy.orig/Server.py SOAPpy/Server.py
+--- SOAPpy.orig/Server.py 2005-02-15 17:32:22.000000000 +0100
++++ SOAPpy/Server.py 2007-01-07 15:46:59.000000000 +0100
+@@ -40,11 +40,11 @@
+ ################################################################################
+ """
+
++from __future__ import nested_scopes
++
+ ident = '$Id: Server.py,v 1.21 2005/02/15 16:32:22 warnes Exp $'
+ from version import __version__
+
+-from __future__ import nested_scopes
+-
+ #import xml.sax
+ import re
+ import socket
+diff -urN SOAPpy.orig/Types.py SOAPpy/Types.py
+--- SOAPpy.orig/Types.py 2005-02-22 05:29:43.000000000 +0100
++++ SOAPpy/Types.py 2007-01-07 15:47:17.000000000 +0100
+@@ -33,11 +33,11 @@
+ ################################################################################
+ """
+
++from __future__ import nested_scopes
++
+ ident = '$Id: Types.py,v 1.19 2005/02/22 04:29:43 warnes Exp $'
+ from version import __version__
+
+-from __future__ import nested_scopes
+-
+ import UserList
+ import base64
+ import cgi
diff --git a/dev-python/soappy/metadata.xml b/dev-python/soappy/metadata.xml
new file mode 100644
index 000000000000..8ffda60e16d0
--- /dev/null
+++ b/dev-python/soappy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SOAPpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/soappy/soappy-0.12.20.ebuild b/dev-python/soappy/soappy-0.12.20.ebuild
new file mode 100644
index 000000000000..60df7df9ab17
--- /dev/null
+++ b/dev-python/soappy/soappy-0.12.20.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl?,xml"
+
+inherit distutils-r1
+
+MY_PN="SOAPpy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SOAP Services for Python"
+HOMEPAGE="http://pywebsvcs.sourceforge.net/ http://pypi.python.org/pypi/SOAPpy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x64-macos ~x86-macos"
+IUSE="examples ssl"
+
+RDEPEND="dev-python/fpconst[${PYTHON_USEDEP}]
+ dev-python/wstools[${PYTHON_USEDEP}]
+ ssl? ( dev-python/m2crypto[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGES.txt README.txt docs/. )
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r bid contrib tools validate
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/soappy/soappy-0.12.22.ebuild b/dev-python/soappy/soappy-0.12.22.ebuild
new file mode 100644
index 000000000000..530a3659f39b
--- /dev/null
+++ b/dev-python/soappy/soappy-0.12.22.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl?,xml"
+
+inherit distutils-r1
+
+MY_PN="SOAPpy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SOAP Services for Python"
+HOMEPAGE="http://pywebsvcs.sourceforge.net/ http://pypi.python.org/pypi/SOAPpy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64 ~x86"
+
+IUSE="examples ssl"
+
+RDEPEND="dev-python/wstools[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ ssl? ( dev-python/m2crypto[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGES.txt README.txt docs/. )
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r bid contrib tools validate
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/soappy/soappy-0.12.5-r2.ebuild b/dev-python/soappy/soappy-0.12.5-r2.ebuild
new file mode 100644
index 000000000000..f504dd50e283
--- /dev/null
+++ b/dev-python/soappy/soappy-0.12.5-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ssl?,xml"
+
+inherit distutils-r1
+
+MY_PN="SOAPpy"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SOAP Services for Python"
+HOMEPAGE="http://pywebsvcs.sourceforge.net/ http://pypi.python.org/pypi/SOAPpy"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x64-macos ~x86-macos"
+IUSE="examples ssl"
+
+RDEPEND="dev-python/fpconst[${PYTHON_USEDEP}]
+ dev-python/wstools[${PYTHON_USEDEP}]
+ ssl? ( dev-python/m2crypto[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( CHANGES.txt README.txt docs/. )
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r bid contrib tools validate
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/socketio-client/Manifest b/dev-python/socketio-client/Manifest
new file mode 100644
index 000000000000..300887009fed
--- /dev/null
+++ b/dev-python/socketio-client/Manifest
@@ -0,0 +1 @@
+DIST socketio-client-0.5.6.tar.gz 12069 SHA256 540d8ab209154d1d9cdb97c170c589a14f7d7f17e19c14e2f59f0307e6175485 SHA512 2ab316823cce0201b0c3a55b04a04fa39fe97f990b879fd5b45ccf6fa2ee6412d8c08d9892120f9a98fcf438e7e6302cf319a4df6cda061b90e1d802580563b9 WHIRLPOOL 6ba7f776ab0af9ae5efb0aca3d908daa018a83dd69e0a490efcd03c912c1c402d5c9a1381804df8cce333566182c76b321c4dd6bf14c948ede984aa752152dab
diff --git a/dev-python/socketio-client/metadata.xml b/dev-python/socketio-client/metadata.xml
new file mode 100644
index 000000000000..d807809d831b
--- /dev/null
+++ b/dev-python/socketio-client/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">socketIO-client</remote-id>
+ <remote-id type="github">invisibleroads/socketIO-client</remote-id>
+ </upstream>
+ <maintainer>
+ <email>zmedico@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/socketio-client/socketio-client-0.5.6.ebuild b/dev-python/socketio-client/socketio-client-0.5.6.ebuild
new file mode 100644
index 000000000000..0b67809aa159
--- /dev/null
+++ b/dev-python/socketio-client/socketio-client-0.5.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_{3,4}} )
+
+inherit distutils-r1
+
+MY_PN="socketIO-client"
+DESCRIPTION="A socket.io client library for Python"
+HOMEPAGE="https://github.com/invisibleroads/${MY_PN}/ https://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+RESTRICT="test"
+
+python_test() {
+ PYTHONPATH="${PWD}" python -m unittest
+}
diff --git a/dev-python/socketpool/Manifest b/dev-python/socketpool/Manifest
new file mode 100644
index 000000000000..b59a0f745628
--- /dev/null
+++ b/dev-python/socketpool/Manifest
@@ -0,0 +1,2 @@
+DIST socketpool-0.5.2.tar.gz 10351 SHA256 5f381048763e26d59ccd8343c2c349c06117ce09154e24f777d8364a1f5d0036 SHA512 6600719ad8cd70f4085f65b364594f3aa118a8c3b8e2cbfb7af43d09fca9a42858b67d95f0499b74f1f3bf7dcb163bf8f3500e705f147a3009accc8c4a44528d WHIRLPOOL 799d424483d090cce1f0cb7392aea755d0aebe5221d731030688d105f5e9efca428eb6d3fa1cc106daa3033ce9bd9a5bcd893d7293bd15120ab8948fa31969df
+DIST socketpool-0.5.3.tar.gz 9793 SHA256 a06733434a56c4b60b8fcaa168102d2386253d36425804d55532a6bbbda6e2ec SHA512 6d16a18927672157703fb5a29f4332241f9ddf743dfee8f2606d600dbb75d547f2e0dcc0398febe55df3319829a80b3f537b5877679e4f674569ef55de78c1b7 WHIRLPOOL 048693619a9813d97a82408ca26c66e847fa4710fc6051379a36e26f32f0310ae33561a6e2529a584e14795de577ce424af5b793fd4fbae9aa53c324c437fa85
diff --git a/dev-python/socketpool/files/socketpool-0.5.2-locale.patch b/dev-python/socketpool/files/socketpool-0.5.2-locale.patch
new file mode 100644
index 000000000000..aa0af681a768
--- /dev/null
+++ b/dev-python/socketpool/files/socketpool-0.5.2-locale.patch
@@ -0,0 +1,21 @@
+diff -ur socketpool-0.5.2.orig/setup.py socketpool-0.5.2/setup.py
+--- socketpool-0.5.2.orig/setup.py 2012-08-05 12:33:47.000000000 +0800
++++ socketpool-0.5.2/setup.py 2013-02-05 00:22:13.685705089 +0800
+@@ -5,7 +5,7 @@
+ # See the NOTICE for more information.
+
+
+-import os
++import os, io
+ from setuptools import setup, find_packages
+
+ CLASSIFIERS = [
+@@ -22,7 +22,7 @@
+
+
+ # read long description
+-with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as f:
++with io.open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding='utf8') as f:
+ long_description = f.read()
+
+ DATA_FILES = [
diff --git a/dev-python/socketpool/files/socketpool-0.5.2-pool.patch b/dev-python/socketpool/files/socketpool-0.5.2-pool.patch
new file mode 100644
index 000000000000..b6ce4965d041
--- /dev/null
+++ b/dev-python/socketpool/files/socketpool-0.5.2-pool.patch
@@ -0,0 +1,35 @@
+patch made from https://github.com/benoitc/socketpool/blob/06d659612f15cb4c207a2fc508b6099e09d3fde7/socketpool/pool.py
+in reply to; size is supposed to be a property. fix #20
+commit 06d659612f15cb4c207a2fc508b6099e09d3fde7.
+file included changes making the first hunk
+diff -ur socketpool-0.5.2.orig/socketpool/pool.py socketpool-0.5.2/socketpool/pool.py
+--- socketpool/pool.py 2012-08-05 12:22:13.000000000 +0800
++++ socketpool/pool.py 2013-02-10 22:51:45.607637365 +0800
+@@ -48,8 +48,12 @@
+ max_size=10, options=None,
+ reap_connections=True, backend="thread"):
+
+- self.backend_mod = load_backend(backend)
+- self.backend = backend
++ if isinstance(backend, str):
++ self.backend_mod = load_backend(backend)
++ self.backend = backend
++ else:
++ self.backend_mod = backend
++ self.backend = str(getattr(backend, '__name__', backend))
+ self.max_size = max_size
+ self.pool = getattr(self.backend_mod, 'PriorityQueue')()
+ self._free_conns = 0
+@@ -97,6 +101,7 @@
+ if conn.is_connected():
+ conn.invalidate()
+
++ @property
+ def size(self):
+ return self.pool.qsize()
+
+@@ -193,3 +198,4 @@
+ finally:
+ self.release_connection(conn)
+
++
diff --git a/dev-python/socketpool/metadata.xml b/dev-python/socketpool/metadata.xml
new file mode 100644
index 000000000000..5d682bb96d18
--- /dev/null
+++ b/dev-python/socketpool/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">socketpool</remote-id>
+ <remote-id type="github">benoitc/socketpool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/socketpool/socketpool-0.5.2-r1.ebuild b/dev-python/socketpool/socketpool-0.5.2-r1.ebuild
new file mode 100644
index 000000000000..df3dbb514d9d
--- /dev/null
+++ b/dev-python/socketpool/socketpool-0.5.2-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A simple Python socket pool"
+HOMEPAGE="http://github.com/benoitc/socketpool/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="examples"
+LICENSE="|| ( MIT public-domain )"
+SLOT="0"
+
+RDEPEND="dev-python/gevent"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${P}-locale.patch
+ "${FILESDIR}"/${P}-pool.patch )
+
+src_install() {
+ distutils-r1_src_install
+ if use examples; then
+ docompress -x usr/share/doc/${P}/examples
+ insinto usr/share/doc/${P}
+ doins -r examples/
+ fi
+}
+
+python_test() {
+ PYTHONPATH=. py.test tests/test_pool_01.py
+}
diff --git a/dev-python/socketpool/socketpool-0.5.2.ebuild b/dev-python/socketpool/socketpool-0.5.2.ebuild
new file mode 100644
index 000000000000..45e2e7bd5084
--- /dev/null
+++ b/dev-python/socketpool/socketpool-0.5.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple Python socket pool"
+HOMEPAGE="http://github.com/benoitc/socketpool/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+LICENSE="|| ( MIT public-domain )"
+SLOT="0"
+
+RDEPEND="dev-python/gevent"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_install() {
+ distutils-r1_src_install
+ if use examples; then
+ docompress -x usr/share/doc/${P}/examples
+ insinto usr/share/doc/${P}
+ doins -r examples/
+ fi
+}
+src_test() {
+ PYTHONPATH=. py.test tests/test_pool_01.py
+}
diff --git a/dev-python/socketpool/socketpool-0.5.3.ebuild b/dev-python/socketpool/socketpool-0.5.3.ebuild
new file mode 100644
index 000000000000..bd6296d61001
--- /dev/null
+++ b/dev-python/socketpool/socketpool-0.5.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple Python socket pool"
+HOMEPAGE="http://github.com/benoitc/socketpool/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="examples test"
+LICENSE="|| ( MIT public-domain )"
+SLOT="0"
+
+RDEPEND="$(python_gen_cond_dep 'dev-python/gevent[${PYTHON_USEDEP}]' 'python2*')"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.5.2-locale.patch )
+
+python_test() {
+ py.test tests || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/socksipy/Manifest b/dev-python/socksipy/Manifest
new file mode 100644
index 000000000000..a90712890dee
--- /dev/null
+++ b/dev-python/socksipy/Manifest
@@ -0,0 +1,2 @@
+DIST SocksiPy-branch-1.02.zip 10650 SHA256 6f0fb4224bf2ed48e2302d3fa226bb94ba1d138dfb03aa0ba88747ad8bdfd471 SHA512 6d17de2bbefac123e447d46dae082e46246132e582ab4f129661c0bfb090df3acf0ee0ea074a80882b835c4fa5346808e530da0170ecf01b610ce6f799aa6234 WHIRLPOOL c98290445311efafa145efd89a16ea2401a20bf3c1bf6a70cd4a245b5ba17ba2b53efcb5e3ec92a7689f08bd03c559218fc7e5afb67f509642f6bf1299e8a46a
+DIST socksipy-1.00.tar.gz 7627 SHA256 4a7dc98f5a39b797e4bbb3db13747954836a3ac94c29880849538effdbce0639 SHA512 21d28ccd0616bf0cef1aa2260e32e5862dfcdd7d2dc83448aa58948144af0134d8371fafea5644d983b2b49d5cce3df6606d77126941b8f36f53be74d6fab479 WHIRLPOOL 31f40e4a8bd3cef0eff80d7061e91e5fb6951cce4ab6f1bb1541542668915ac1e8ce6ddb384c66608d6ddccd3983fd53fb35eed0f034b961665fa8b95ed84703
diff --git a/dev-python/socksipy/metadata.xml b/dev-python/socksipy/metadata.xml
new file mode 100644
index 000000000000..9e396139c968
--- /dev/null
+++ b/dev-python/socksipy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-python/socksipy/socksipy-1.00.ebuild b/dev-python/socksipy/socksipy-1.00.ebuild
new file mode 100644
index 000000000000..df8b15cfae45
--- /dev/null
+++ b/dev-python/socksipy/socksipy-1.00.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1
+
+DESCRIPTION="SOCKS proxy implementation for python"
+HOMEPAGE="http://socksipy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/SocksiPy%20${PV}/SocksiPy.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+src_install() {
+ python_foreach_impl python_domodule socks.py
+}
diff --git a/dev-python/socksipy/socksipy-1.02.ebuild b/dev-python/socksipy/socksipy-1.02.ebuild
new file mode 100644
index 000000000000..bf01e3ce468e
--- /dev/null
+++ b/dev-python/socksipy/socksipy-1.02.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="SocksiPy-branch"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SOCKS proxy implementation for python"
+HOMEPAGE="http://socksipy.sourceforge.net/ http://code.google.com/p/socksipy-branch/"
+SRC_URI="http://socksipy-branch.googlecode.com/files/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( BUGS README )
diff --git a/dev-python/south/Manifest b/dev-python/south/Manifest
new file mode 100644
index 000000000000..5ff5118eb43a
--- /dev/null
+++ b/dev-python/south/Manifest
@@ -0,0 +1 @@
+DIST south-1.0.tar.gz 97890 SHA256 017ecc2d66818580e1131af61b8d96901c4a2d05b051186196d9d4f35bdbb901 SHA512 8f181e8879734ddc3bba4e6f9e0efc3d4db4783fbd629c56c4f72401d161080bed51e3955bc37b7796160145c733321f356c63aece22da752695fc3e24c9b90b WHIRLPOOL 8f7949c96394906a53ecfcedcbe3c9b9fdae32db4c28fb7f507c8529fc586947021eebee259b5caab5a03550a4003b0d8aed9a1f6bcc658fb1b48dbdd64ddf6f
diff --git a/dev-python/south/files/south-0.7.5-tests.patch b/dev-python/south/files/south-0.7.5-tests.patch
new file mode 100644
index 000000000000..2e4da84d975d
--- /dev/null
+++ b/dev-python/south/files/south-0.7.5-tests.patch
@@ -0,0 +1,23 @@
+http://south.aeracode.org/ticket/1256
+diff -ur south-0.7.5.orig/south/tests/db.py south-0.7.5/south/tests/db.py
+--- south/tests/db.py 2012-05-08 18:37:14.000000000 +0800
++++ south/tests/db.py 2013-05-18 15:46:23.920225709 +0800
+@@ -1,5 +1,8 @@
+-import datetime
+-import unittest
++import datetime, sys
++if sys.version_info == (2, 7):
++ import unittest
++else:
++ import unittest2 as unittest
+
+ from south.db import db, generic
+ from django.db import connection, models
+@@ -71,6 +74,7 @@
+ else:
+ self.fail("Just-deleted table could be selected!")
+
++ @unittest.expectedFailure
+ def test_nonexistent_delete(self):
+ """
+ Test deletion of nonexistent tables.
diff --git a/dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch b/dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch
new file mode 100644
index 000000000000..07c50edabce3
--- /dev/null
+++ b/dev-python/south/files/south-1.0-3753b49c-Replace-dict.iteritems-with-six.patch
@@ -0,0 +1,60 @@
+# HG changeset patch
+# User Gary Wilson Jr. <gary@thegarywilson.com>
+# Date 1397849538 18000
+# Branch python3-iteritems
+# Node ID 3753b49ca9f3d34c94156622b380def245d88e80
+# Parent 0e17add9b5e0f30f7cf5acf47961eea6a7f4032c
+Fixed a Python 3 incompatibility by replacing dict.iteritems() usage with an iteritems py3 util function from six.
+
+diff --git a/south/migration/migrators.py b/south/migration/migrators.py
+--- a/south/migration/migrators.py
++++ b/south/migration/migrators.py
+@@ -16,7 +16,7 @@
+ from south.db import DEFAULT_DB_ALIAS
+ from south.models import MigrationHistory
+ from south.signals import ran_migration
+-from south.utils.py3 import StringIO
++from south.utils.py3 import StringIO, iteritems
+
+
+ class Migrator(object):
+@@ -161,7 +161,7 @@
+ if self.verbosity:
+ print(" - Migration '%s' is marked for no-dry-run." % migration)
+ return
+- for name, db in south.db.dbs.iteritems():
++ for name, db in iteritems(south.db.dbs):
+ south.db.dbs[name].dry_run = True
+ # preserve the constraint cache as it can be mutated by the dry run
+ constraint_cache = deepcopy(south.db.db._constraint_cache)
+@@ -181,7 +181,7 @@
+ if self._ignore_fail:
+ south.db.db.debug = old_debug
+ south.db.db.clear_run_data(pending_creates)
+- for name, db in south.db.dbs.iteritems():
++ for name, db in iteritems(south.db.dbs):
+ south.db.dbs[name].dry_run = False
+ # restore the preserved constraint cache from before dry run was
+ # executed
+diff --git a/south/utils/py3.py b/south/utils/py3.py
+--- a/south/utils/py3.py
++++ b/south/utils/py3.py
+@@ -26,3 +26,18 @@
+ def with_metaclass(meta, base=object):
+ """Create a base class with a metaclass."""
+ return meta("NewBase", (base,), {})
++
++
++def _add_doc(func, doc):
++ """Add documentation to a function."""
++ func.__doc__ = doc
++
++if PY3:
++ def iteritems(d, **kw):
++ return iter(d.items(**kw))
++else:
++ def iteritems(d, **kw):
++ return iter(d.iteritems(**kw))
++
++_add_doc(iteritems,
++ "Return an iterator over the (key, value) pairs of a dictionary.")
diff --git a/dev-python/south/metadata.xml b/dev-python/south/metadata.xml
new file mode 100644
index 000000000000..e049460bf258
--- /dev/null
+++ b/dev-python/south/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">south</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/south/south-1.0.ebuild b/dev-python/south/south-1.0.ebuild
new file mode 100644
index 000000000000..c4e66755de1a
--- /dev/null
+++ b/dev-python/south/south-1.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="South"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Intelligent schema migrations for Django apps"
+HOMEPAGE="http://south.aeracode.org/"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="<dev-python/django-1.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/django[sqlite] )"
+
+PATCHES=( "${FILESDIR}"/${P}-3753b49c-Replace-dict.iteritems-with-six.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ django-admin.py startproject southtest || die "setting up test env failed"
+ pushd southtest > /dev/null
+ sed -i \
+ -e "/^INSTALLED_APPS/a\ 'south'," \
+ southtest/settings.py || die "sed failed"
+ echo "SKIP_SOUTH_TESTS=False" >> southtest/settings.py
+ "${EPYTHON}" manage.py test south || die "tests failed for ${EPYTHON}"
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ elog "In order to use the south schema migrations for your Django project,"
+ elog "just add 'south' to your INSTALLED_APPS in the settings.py file."
+ elog "manage.py will now automagically offer the new functions."
+}
diff --git a/dev-python/soya/Manifest b/dev-python/soya/Manifest
new file mode 100644
index 000000000000..a8bd0d0c9196
--- /dev/null
+++ b/dev-python/soya/Manifest
@@ -0,0 +1,2 @@
+DIST Soya-0.14.tar.bz2 905659 SHA256 dcb93206d7154dc575ec6eeb7fa3ecfd6bfb78fa233db639e423857cd2a99590 SHA512 3a6d8d0523cd13d1e9e8e2260612f23dfd2d33526b40d11ea1568a3b3c3eb7172ab94b8c8e9490203128c1fbe0b840d29a04d1c7b9d93bd273eb318ad286b711 WHIRLPOOL 1e0df42cb2a066ed9d5faa043c85844729a8f637051c945ad573c3d9510b8c650583b0e5e4162b8ca4ea098c500181e2d11729e39272c9a2fadecf6b0cb83141
+DIST SoyaTutorial-0.14.tar.bz2 5223674 SHA256 86d5b8189e7f7b4269976a65f23a51291bb99c6272f2884cbd129a6e9cc6cbec SHA512 484bc93c2561aa1f2c8bd7101b75c8ea5d42a2bae7c0431ef1e7719bd86da2f47fb68129d60ce1923b26cce1b7915ab6576d0c5f6c8ee889736971be166b4623 WHIRLPOOL 035bb56a66e231cb2d7600003519c9eeca540a9eae2ccbfd15c7bda09450bc4ad5ef086f8f871d0f8284cd397e26df34a74a74e7323272b972f1789de771a612
diff --git a/dev-python/soya/files/soya-0.14-freetype-2.5.patch b/dev-python/soya/files/soya-0.14-freetype-2.5.patch
new file mode 100644
index 000000000000..a4d568033109
--- /dev/null
+++ b/dev-python/soya/files/soya-0.14-freetype-2.5.patch
@@ -0,0 +1,16 @@
+diff -ru soya.old/include_freetype.h soya/include_freetype.h
+--- soya.old/include_freetype.h 2014-06-01 23:27:17.970830047 +0900
++++ soya/include_freetype.h 2014-06-01 23:27:35.320864678 +0900
+@@ -21,8 +21,8 @@
+
+ #include <ft2build.h>
+ #include FT_FREETYPE_H // this is not do-able in Pyrex
+-#include <freetype/freetype.h>
+-#include <freetype/ftoutln.h>
+-#include <freetype/ftimage.h>
+-#include <freetype/ftglyph.h>
++#include <freetype.h>
++#include <ftoutln.h>
++#include <ftimage.h>
++#include <ftglyph.h>
+
diff --git a/dev-python/soya/files/soya-0.14-glu.patch b/dev-python/soya/files/soya-0.14-glu.patch
new file mode 100644
index 000000000000..606114a22fb7
--- /dev/null
+++ b/dev-python/soya/files/soya-0.14-glu.patch
@@ -0,0 +1,13 @@
+Index: setup.py
+===================================================================
+--- setup.py (revision 550)
++++ setup.py (working copy)
+@@ -130,7 +130,7 @@
+ if sys.platform[:3] == "win":
+ LIBS = ["m", "glew32", "SDL", "SDL_mixer", "freetype", "cal3d", "stdc++", "ode"]
+ else:
+- LIBS = ["m", "GLEW", "SDL", "freetype", "cal3d", "stdc++","ode"]
++ LIBS = ["m", "GLEW", "GLU" , "SDL", "freetype", "cal3d", "stdc++","ode"]
+ FRAMEWORKS=[]
+
+ SOYA_PYREX_SOURCES = ["_soya.pyx", "matrix.c", "chunk.c"]
diff --git a/dev-python/soya/files/soya-pillow.patch b/dev-python/soya/files/soya-pillow.patch
new file mode 100644
index 000000000000..4f8df982ccf2
--- /dev/null
+++ b/dev-python/soya/files/soya-pillow.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/show_bug.cgi?id=471510
+--- a/editor/__init__.py
++++ b/editor/__init__.py
+@@ -52,7 +52,7 @@
+
+ if obj.face.material and obj.face.material.texture:
+ try:
+- import Image, ImageTk
++ from PIL import Image, ImageTk
+
+ self.image = Image.open(os.path.join(soya.path[0], obj.face.material.texture.filename))
+
+@@ -71,7 +71,7 @@
+ self.cancel = self.master.cancel
+
+ def label_conf(self, event = None):
+- import Image, ImageTk
++ from PIL import Image, ImageTk
+
+ if self.image_width != self.label.winfo_width():
+ self.image_width = self.label.winfo_width()
diff --git a/dev-python/soya/metadata.xml b/dev-python/soya/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/soya/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/soya/soya-0.14-r1.ebuild b/dev-python/soya/soya-0.14-r1.ebuild
new file mode 100644
index 000000000000..8191ec0f4265
--- /dev/null
+++ b/dev-python/soya/soya-0.14-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PV="${PV/_}"
+MY_P="Soya-${MY_PV}"
+TUT_P="SoyaTutorial-${MY_PV}"
+
+DESCRIPTION="A high-level 3D engine for Python, designed with games in mind"
+HOMEPAGE="http://oomadness.nekeme.net/Soya/FrontPage"
+SRC_URI="http://download.gna.org/soya/${MY_P}.tar.bz2
+ doc? ( http://download.gna.org/soya/${TUT_P}.tar.bz2 )
+ examples? ( http://download.gna.org/soya/${TUT_P}.tar.bz2 )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc examples"
+
+DEPEND="=dev-games/ode-0.11.1
+ dev-python/editobj
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ >=dev-python/pyopenal-0.1.6[${PYTHON_USEDEP}]
+ media-fonts/freefonts
+ >=media-libs/cal3d-0.10
+ media-libs/freeglut
+ >=media-libs/freetype-2.5
+ >=media-libs/glew-1.3.3
+ >=media-libs/libsdl-1.2.8[opengl]
+ media-libs/openal
+ virtual/opengl"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-glu.patch"
+ "${FILESDIR}/${PN}-pillow.patch"
+ "${FILESDIR}/${P}-freetype-2.5.patch"
+)
+
+python_compile() {
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ distutils-r1_python_compile
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr/share/${PF}
+ if use doc; then
+ cd "${WORKDIR}/${TUT_P}/doc"
+ doins soya_guide.pdf pudding/pudding.pdf || die "doins failed"
+ fi
+ if use examples; then
+ cd "${WORKDIR}/${TUT_P}"
+ doins -r tutorial || die "doins failed"
+ fi
+}
diff --git a/dev-python/sparql-wrapper/Manifest b/dev-python/sparql-wrapper/Manifest
new file mode 100644
index 000000000000..c7ed13b50b24
--- /dev/null
+++ b/dev-python/sparql-wrapper/Manifest
@@ -0,0 +1,5 @@
+DIST SPARQLWrapper-1.5.2.tar.gz 24953 SHA256 65254c7c3cae093fbd5e6b65e2c725db3ad80ab7402c4aa59d18a9cb8f5695b4 SHA512 adb70599d5c67c4cbd5277de30325a993057ff50c72eba89cea6b5ba8daea9bd7717fef4cd62e250b77c818498580d7f26e359fc4a9e344b2ba82c71912fcee3 WHIRLPOOL a8231a0745e798240620f46af625ff325a770f97f100fbfa5cda4f2e8e1dd1f8b8900fae13a8ade9ba0f71a3fc714be14d83e34848479e7a4e93c7993a1b207c
+DIST SPARQLWrapper-1.6.0.tar.gz 20698 SHA256 dadcbf190dd090d90325ca4126e96f262d620c45c4693ee9f168cf39af2fa373 SHA512 e70a003807329602360e0c1ffc4091668e5a7bbce84305ecee5a381759500282abc57f39879a8372a35f7edd36bf7d4f2dc8efad717bb620e430d207c52a4754 WHIRLPOOL f76f9ebc20daac75f0cdbddccd7bb48695289829ab08d9e013ab2e9c0220a7bd770afd5dc1431d520369dd8a1c6cd96034c4452537fb50b58d41b36fa0eb7b20
+DIST SPARQLWrapper-1.6.1.tar.gz 25894 SHA256 809ecc29ca6d3dcfdfd75163173d00b45405ddf5e848edc648b8aec553c765d0 SHA512 2500133ea235c1c91ef0f9479f570ec9376704e2ba39ec9d044bb24dfa56dd8613d4677d473d0694edd7095874c17f2277ccb2ef3c07ffff9c50b5b814f26812 WHIRLPOOL a460d9d82c0b0854a9eadefd242b7cac4daaa870e42ae6b9d5eed94cfc0fe76c914bd68517bec6449c1b614e40a684231b70982f95f2f39e8f8c01f5d56cc579
+DIST SPARQLWrapper-1.6.2.tar.gz 25939 SHA256 1af3dcccf5cfbc0c078f95109138a8be221d29e158a2ae81b239d857f7c3224d SHA512 a75cb881b34fd8963c35b9fb7bb3fb1662257c9a36a03d22227968fc8f23c7813b73d29d3bdc26f362023a871960ce6326d70f8fdfb911ceec88212ed3737831 WHIRLPOOL fe2a29206f0f8730e3046ee67649370f866043dfcaf42416753ec6f3e1795fa4372ef48db9a95b87e116e6f007d3c4d8d7b357622dc40d52448cb5dc8d73848f
+DIST SPARQLWrapper-1.6.4.tar.gz 27467 SHA256 2899dae6baa88d5c3209408e70a1a9de04f0f4dd25f4e9480eb6707a398d1693 SHA512 49e4eea8cf6e0625ee3a259b4314b630eddb30475a786525f94f827353898c6d90b88e6b7b2bb65270cf8baec781b9bafa98df3cdbbb65a722d6f0af07906ce5 WHIRLPOOL 6e8f64a76d24fd864ab830bc86cbf4e97191ca19b3495f5446bd56f76e8cb4d4a8315d7ac38693776f8c063e58c873db3249cbe44aa7822daebc6c85a0893477
diff --git a/dev-python/sparql-wrapper/metadata.xml b/dev-python/sparql-wrapper/metadata.xml
new file mode 100644
index 000000000000..2eb3da498b19
--- /dev/null
+++ b/dev-python/sparql-wrapper/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SPARQLWrapper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sparql-wrapper/sparql-wrapper-1.5.2.ebuild b/dev-python/sparql-wrapper/sparql-wrapper-1.5.2.ebuild
new file mode 100644
index 000000000000..4806d383fb19
--- /dev/null
+++ b/dev-python/sparql-wrapper/sparql-wrapper-1.5.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MY_PN=SPARQLWrapper
+DESCRIPTION="Wrapper around a SPARQL service"
+HOMEPAGE="http://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="W3C"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/rdflib[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/sparql-wrapper/sparql-wrapper-1.6.0.ebuild b/dev-python/sparql-wrapper/sparql-wrapper-1.6.0.ebuild
new file mode 100644
index 000000000000..4806d383fb19
--- /dev/null
+++ b/dev-python/sparql-wrapper/sparql-wrapper-1.6.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MY_PN=SPARQLWrapper
+DESCRIPTION="Wrapper around a SPARQL service"
+HOMEPAGE="http://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="W3C"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/rdflib[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/sparql-wrapper/sparql-wrapper-1.6.1.ebuild b/dev-python/sparql-wrapper/sparql-wrapper-1.6.1.ebuild
new file mode 100644
index 000000000000..b69bd408501a
--- /dev/null
+++ b/dev-python/sparql-wrapper/sparql-wrapper-1.6.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=SPARQLWrapper
+DESCRIPTION="Wrapper around a SPARQL service"
+HOMEPAGE="http://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="W3C"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/rdflib[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/sparql-wrapper/sparql-wrapper-1.6.2.ebuild b/dev-python/sparql-wrapper/sparql-wrapper-1.6.2.ebuild
new file mode 100644
index 000000000000..1e9cf6fafa42
--- /dev/null
+++ b/dev-python/sparql-wrapper/sparql-wrapper-1.6.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=SPARQLWrapper
+DESCRIPTION="Wrapper around a SPARQL service"
+HOMEPAGE="http://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="W3C"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/rdflib[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/sparql-wrapper/sparql-wrapper-1.6.4.ebuild b/dev-python/sparql-wrapper/sparql-wrapper-1.6.4.ebuild
new file mode 100644
index 000000000000..3429970c44e8
--- /dev/null
+++ b/dev-python/sparql-wrapper/sparql-wrapper-1.6.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN=SPARQLWrapper
+DESCRIPTION="Wrapper around a SPARQL service"
+HOMEPAGE="http://pypi.python.org/pypi/${MY_PN}"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="W3C"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/rdflib-2.4.2[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_PN}-${PV}
diff --git a/dev-python/speaklater/Manifest b/dev-python/speaklater/Manifest
new file mode 100644
index 000000000000..fbf9617b6dd1
--- /dev/null
+++ b/dev-python/speaklater/Manifest
@@ -0,0 +1 @@
+DIST speaklater-1.3.tar.gz 3582 SHA256 59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9 SHA512 ae137d94c497cd4214e230c8906f3ba40e092f248206d37b61de2571567e39e27b7f58bcf2145bd0c81c195c3c5ed03fc0428e0a50c657c5c909ec82719454ef WHIRLPOOL 9e9edc0f6b9943f515eb36a13b038402e4093dfeb302f856858000ce87316508d31aafaf85e67e332b8bdfccec518912d87c61b3e45c930bd22bafc3dae8e1f9
diff --git a/dev-python/speaklater/metadata.xml b/dev-python/speaklater/metadata.xml
new file mode 100644
index 000000000000..8ca5f2f0f580
--- /dev/null
+++ b/dev-python/speaklater/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">speaklater</remote-id>
+ <remote-id type="github">mitsuhiko/speaklater</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/speaklater/speaklater-1.3-r1.ebuild b/dev-python/speaklater/speaklater-1.3-r1.ebuild
new file mode 100644
index 000000000000..a02509c16ff5
--- /dev/null
+++ b/dev-python/speaklater/speaklater-1.3-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Lazy strings for Python"
+HOMEPAGE="https://github.com/mitsuhiko/speaklater"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/sphinx-better-theme/Manifest b/dev-python/sphinx-better-theme/Manifest
new file mode 100644
index 000000000000..af95d2913eac
--- /dev/null
+++ b/dev-python/sphinx-better-theme/Manifest
@@ -0,0 +1 @@
+DIST sphinx-better-theme-0.1.5.tar.gz 7276 SHA256 420570d80d8cab25b35cef2b79619104675777dff5a23deebe9ba2191d48c1ce SHA512 06e50079967e166d5daf58a44c18e477cfc71d326ecf2e0a5932200c911e73ee188f720fd5bd15c2e298e14f7e3358e02e94381470bb7958edb0b0aed334ef9c WHIRLPOOL 41d09f5c94d9473af8096896291c2ee464eef5a80c29dd4347b009da43510f31b1859e357b871cc598a3be0c66182e6d213c3755a63c3f9446c8fe6570a8e2a3
diff --git a/dev-python/sphinx-better-theme/metadata.xml b/dev-python/sphinx-better-theme/metadata.xml
new file mode 100644
index 000000000000..3f80e6c2f783
--- /dev/null
+++ b/dev-python/sphinx-better-theme/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">sphinx-better-theme</remote-id>
+ <remote-id type="github">irskep/sphinx-better-theme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinx-better-theme/sphinx-better-theme-0.1.5.ebuild b/dev-python/sphinx-better-theme/sphinx-better-theme-0.1.5.ebuild
new file mode 100644
index 000000000000..8d292a3c8099
--- /dev/null
+++ b/dev-python/sphinx-better-theme/sphinx-better-theme-0.1.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A nice-looking, customizable theme for Sphinx"
+HOMEPAGE="https://github.com/irskep/sphinx-better-theme
+ https://pypi.python.org/pypi/sphinx-better-theme"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE=""
diff --git a/dev-python/sphinx-bootstrap-theme/Manifest b/dev-python/sphinx-bootstrap-theme/Manifest
new file mode 100644
index 000000000000..1922c72c9269
--- /dev/null
+++ b/dev-python/sphinx-bootstrap-theme/Manifest
@@ -0,0 +1,3 @@
+DIST sphinx-bootstrap-theme-0.4.5.tar.gz 1015290 SHA256 f36d32aeeb4d08a1b281e745db4228b5e40ddacf7928a68e26b7f909fa391d85 SHA512 e5696b8fa41d63ce97ee45c622a10bfd812b4179596024895ec2c76a3c79dbc6d7117043b001bb8caeada204052757cfc83815cfc7f1f7f7506a9c0ef4ac7c2d WHIRLPOOL edbe912150a7dbb0f797c742af24e5f9a85b1b4e568925a2d8a123abd8f42f016f32dfa828ddd1200e4b3d2aa49f6773976ee3fa40c45de982df969fa2e5f0c9
+DIST sphinx-bootstrap-theme-0.4.6.tar.gz 1110111 SHA256 27dc1253016d965f0ba0b1ef592c3fbbe1817c55d1400131df422979ace2958c SHA512 b6660a26006d8ad6d97cb1ead339408a875bbbf69101f29d48a16e3b4031bfa0cff78e855851196d23f0a8fd73a32ae1ffc42c763726a6385bb9f61aa1b47851 WHIRLPOOL e93fb36cf98d9efcff7c8a199f182617f9e89a0689c12f9bb9108c4b430efba01fa2dbebd9f4b9b95247a198c62fd72a8fac8ba14d219ac121c06b15f531e328
+DIST sphinx-bootstrap-theme-0.4.7.tar.gz 1108321 SHA256 ee76d8c75f20bccf6dc54df2cd75e7f012cbb82f32edb7b088635d5765519120 SHA512 bf12c4b950b344df6d7c4b4c026389538476f13bc612f5c3deefc4a2ae3a2e8eda7223794e34dc022898e808d90639b3c58e2cfa810eac64790f9c6b11c63113 WHIRLPOOL 1e042f0880de9533b3bdf287b831a125cfab40c67889967ccbe0a4821700958ee29877825f674a7c8557e84309a7df197751d6c67d33928a55e469741f8e009e
diff --git a/dev-python/sphinx-bootstrap-theme/metadata.xml b/dev-python/sphinx-bootstrap-theme/metadata.xml
new file mode 100644
index 000000000000..e8b48e0cf598
--- /dev/null
+++ b/dev-python/sphinx-bootstrap-theme/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<upstream>
+ <remote-id type="pypi">sphinx-bootstrap-theme</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.5.ebuild b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.5.ebuild
new file mode 100644
index 000000000000..064804520268
--- /dev/null
+++ b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx theme integrates the Bootstrap CSS / JavaScript framework"
+HOMEPAGE="http://ryan-roemer.github.com/sphinx-bootstrap-theme/README.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.6.ebuild b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.6.ebuild
new file mode 100644
index 000000000000..3b48aa3f409f
--- /dev/null
+++ b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx theme integrates the Bootstrap CSS / JavaScript framework"
+HOMEPAGE="http://ryan-roemer.github.com/sphinx-bootstrap-theme/README.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.7.ebuild b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.7.ebuild
new file mode 100644
index 000000000000..3b48aa3f409f
--- /dev/null
+++ b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.4.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx theme integrates the Bootstrap CSS / JavaScript framework"
+HOMEPAGE="http://ryan-roemer.github.com/sphinx-bootstrap-theme/README.html"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest
new file mode 100644
index 000000000000..f2db4fd8877f
--- /dev/null
+++ b/dev-python/sphinx/Manifest
@@ -0,0 +1,4 @@
+DIST Sphinx-1.1.3.tar.gz 2632059 SHA256 34dc95b70a2b07a61b5d61034c34b05f82514aab54ad27adedb49cee911bb8e9 SHA512 b8312140d752bf557c8e41728513812aff3e5d0a89af88dea9da0df21bf09c8315f13305d7a724a5596d0192b167d613065ea564c6d92e4ffb23f1f246dbf052 WHIRLPOOL a40c4d0f5c32cf1d4b9b662b0fb2b2b0956e0455abbc88d6b5f95c54f93cc2baae25e8b9196dd0b64090d30a1a796c336ca4b6866243be4198ccdf67a7e18b48
+DIST Sphinx-1.2.2.tar.gz 3143671 SHA256 2d3415f5b3e6b7535877f4c84fe228bdb802a8993c239b2d02c23169d67349bd SHA512 44073c215f9d0e7f6c7bc91cb85b0508a96e5cfff5f940fef86e2fc6f11281d03b54e87e51e5a99a23e96b470a93f3af86a6a3ab7c317c747406c55b4c37791c WHIRLPOOL c5ed15b51682d3be9f8349ab838c6758cb4e25023b6ad13622d748b771594ed75f786709a25fb2d61ad245ecef0925e5bcc1aafb93fc355a0f0ea50df63efcd7
+DIST Sphinx-1.2.3.tar.gz 3200548 SHA256 94933b64e2fe0807da0612c574a021c0dac28c7bd3c4a23723ae5a39ea8f3d04 SHA512 00346516e826a65145a3a7fd25ef7cee569ae7fdcc0c1bec3a7301fc08d5d8730d02eee792c3efedfcac17e712ea7e2ad70ea1fcdedc11720ad54f6bcb51ad05 WHIRLPOOL 0c0e2e21a52829893857939f977e8312c4eac11f5d2aec3b8e4f9c8ffdbf14c4aa46a6c26dac0ad4abfe92b3bdad72a3468e6d2ff2485df6efaf3fccd17ae69b
+DIST Sphinx-1.3.1.tar.gz 3469782 SHA256 1a6e5130c2b42d2de301693c299f78cc4bd3501e78b610c08e45efc70e2b5114 SHA512 8b92b69c4ced242c5e608ea03a7a061b0d2908f34f3150048ff4ce08b5d56be4a642a6aec13fa249ff8208fa8dd2d38d8a10d37ebbcc68385ee51f527ede0b94 WHIRLPOOL f3e442fd1f1c260b21f3e2381f028884b6247758448439e7be4cf784f50ec12494e384c77a0c4ccac473f25d7bb88f5424be937d72bb3fac1b6f6387a5746f66
diff --git a/dev-python/sphinx/files/sphinx-1.1.3-docutils-manpage.patch b/dev-python/sphinx/files/sphinx-1.1.3-docutils-manpage.patch
new file mode 100644
index 000000000000..82609f4afdca
--- /dev/null
+++ b/dev-python/sphinx/files/sphinx-1.1.3-docutils-manpage.patch
@@ -0,0 +1,35 @@
+# HG changeset patch
+# User Georg Brandl <georg@python.org>
+# Date 1351590528 -3600
+# Node ID ffb145b7884fc926d6a68f4aaeede1d4964f727c
+# Parent 2c107bc997e8817c451ba24089766eefb6e60fc3
+Closes #998: fix manpage writer in expectation of docutils 0.10 API change
+
+diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
+--- a/sphinx/writers/manpage.py
++++ b/sphinx/writers/manpage.py
+@@ -72,6 +72,11 @@
+ # since self.append_header() is never called, need to do this here
+ self.body.append(MACRO_DEF)
+
++ # Overwrite admonition label translations with our own
++ for label, translation in admonitionlabels.items():
++ self.language.labels[label] = self.deunicode(translation)
++
++
+ # overwritten -- added quotes around all .TH arguments
+ def header(self):
+ tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\""
+@@ -193,12 +198,6 @@
+ def depart_seealso(self, node):
+ self.depart_admonition(node)
+
+- # overwritten -- use our own label translations
+- def visit_admonition(self, node, name=None):
+- if name:
+- self.body.append('.IP %s\n' %
+- self.deunicode(admonitionlabels.get(name, name)))
+-
+ def visit_productionlist(self, node):
+ self.ensure_eol()
+ names = []
diff --git a/dev-python/sphinx/files/sphinx-1.1.3-python3.patch b/dev-python/sphinx/files/sphinx-1.1.3-python3.patch
new file mode 100644
index 000000000000..4817034eb683
--- /dev/null
+++ b/dev-python/sphinx/files/sphinx-1.1.3-python3.patch
@@ -0,0 +1,45 @@
+# HG changeset patch
+# User Rob Reilink <r.reilink@science-applied.nl>
+# Date 1331657734 -3600
+# Node ID 8aba132b1337fc351fe1464f3a4b61f21f55e64e
+# Parent 4a6d33249418befdf587603fc31db58fb863fee4
+fixed encoding for hashing functions for Python 3
+
+diff -r 4a6d33249418befdf587603fc31db58fb863fee4 -r 8aba132b1337fc351fe1464f3a4b61f21f55e64e sphinx/ext/graphviz.py
+--- a/sphinx/ext/graphviz.py Sat Mar 10 22:24:59 2012 +0100
++++ b/sphinx/ext/graphviz.py Tue Mar 13 17:55:34 2012 +0100
+@@ -121,9 +121,11 @@
+
+ def render_dot(self, code, options, format, prefix='graphviz'):
+ """Render graphviz code into a PNG or PDF output file."""
+- hashkey = code.encode('utf-8') + str(options) + \
++ hashkey = (code + str(options) + \
+ str(self.builder.config.graphviz_dot) + \
+ str(self.builder.config.graphviz_dot_args)
++ ).encode('utf-8')
++
+ fname = '%s-%s.%s' % (prefix, sha(hashkey).hexdigest(), format)
+ if hasattr(self.builder, 'imgpath'):
+ # HTML
+diff -r 4a6d33249418befdf587603fc31db58fb863fee4 -r 8aba132b1337fc351fe1464f3a4b61f21f55e64e sphinx/ext/inheritance_diagram.py
+--- a/sphinx/ext/inheritance_diagram.py Sat Mar 10 22:24:59 2012 +0100
++++ b/sphinx/ext/inheritance_diagram.py Tue Mar 13 17:55:34 2012 +0100
+@@ -39,7 +39,7 @@
+ import re
+ import sys
+ import inspect
+-import __builtin__
++import __builtin__ as __builtin__ # as __builtin__ is for lib2to3 compatibility
+ try:
+ from hashlib import md5
+ except ImportError:
+@@ -314,7 +314,8 @@
+
+
+ def get_graph_hash(node):
+- return md5(node['content'] + str(node['parts'])).hexdigest()[-10:]
++ encoded = (node['content'] + str(node['parts'])).encode('utf-8')
++ return md5(encoded).hexdigest()[-10:]
+
+
+ def html_visit_inheritance_diagram(self, node):
diff --git a/dev-python/sphinx/metadata.xml b/dev-python/sphinx/metadata.xml
new file mode 100644
index 000000000000..647e8ec840ab
--- /dev/null
+++ b/dev-python/sphinx/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Sphinx is a tool to create documentation for Python projects (or
+ other documents consisting of multiple reStructuredText sources).</longdescription>
+ <upstream>
+ <remote-id type="pypi">Sphinx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinx/sphinx-1.1.3-r7.ebuild b/dev-python/sphinx/sphinx-1.1.3-r7.ebuild
new file mode 100644
index 000000000000..0c93ef42d270
--- /dev/null
+++ b/dev-python/sphinx/sphinx-1.1.3-r7.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1 eutils versionator
+
+MY_PN="Sphinx"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="http://sphinx.pocoo.org/ http://pypi.python.org/pypi/Sphinx"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc latex test"
+
+# Split the jinja dep to allow different slots to satisfy it
+RDEPEND=">=dev-python/docutils-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.3[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ app-text/dvipng
+ )"
+DEPEND="${DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python3.patch
+ "${FILESDIR}"/${P}-docutils-manpage.patch
+)
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # Generate the grammar. It will be caught by install somehow.
+ # Note that the tests usually do it for us. However, I don't want
+ # to trust USE=test really running all the tests, especially
+ # with FEATURES=test-fail-continue.
+ cd "${BUILD_DIR}"/lib || die
+ "${PYTHON}" -m sphinx.pycode.__init__ \
+ || die "Grammar generation failed."
+}
+
+python_compile_all() {
+ use doc && emake -C doc SPHINXBUILD="${PYTHON} -m sphinx.__init__" html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if [[ ${EPYTHON} == python3* ]]; then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
+
+replacing_python_eclass() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.1.3-r4 ${pv}; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+pkg_preinst() {
+ if replacing_python_eclass; then
+ # the old python.eclass ebuild will want to remove our pickles...
+ backup_pickle() {
+ # array to enable filename expansion
+ local pickle_name=(
+ "${D}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle
+ )
+
+ local dest=${ROOT}${pickle_name[0]#${D}}.backup
+
+ eumask_push 022
+ mkdir -p "${dest%/*}" || die
+ eumask_pop
+
+ cp -p -v "${pickle_name[0]}" "${dest}" \
+ || die "Unable to backup grammar pickle from overwriting"
+ }
+
+ python_foreach_impl backup_pickle
+ fi
+}
+
+pkg_postinst() {
+ if replacing_python_eclass; then
+ local warned
+
+ restore_pickle() {
+ local backup_name=(
+ "${ROOT}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle.backup
+ )
+ local dest=${backup_name[0]%.backup}
+
+ mv -v "${backup_name[0]}" "${dest}" \
+ || die "Unable to restore grammar pickle backup"
+ }
+
+ python_foreach_impl restore_pickle
+
+ [[ ${warned} ]] && ewarn "Please try rebuilding the package."
+ fi
+}
diff --git a/dev-python/sphinx/sphinx-1.2.2.ebuild b/dev-python/sphinx/sphinx-1.2.2.ebuild
new file mode 100644
index 000000000000..d5ddf6c88984
--- /dev/null
+++ b/dev-python/sphinx/sphinx-1.2.2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils versionator
+
+MY_PN="Sphinx"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="http://sphinx.pocoo.org/ http://pypi.python.org/pypi/Sphinx"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc latex test"
+
+# Split the jinja dep to allow different slots to satisfy it
+RDEPEND="
+ >=dev-python/docutils-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.3[${PYTHON_USEDEP}]
+ >=dev-python/pygments-1.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ app-text/dvipng
+ )"
+DEPEND="${DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # Generate the grammar. It will be caught by install somehow.
+ # Note that the tests usually do it for us. However, I don't want
+ # to trust USE=test really running all the tests, especially
+ # with FEATURES=test-fail-continue.
+ pushd "${BUILD_DIR}"/lib > /dev/null || die
+ "${PYTHON}" -m sphinx.pycode.__init__ || die "Grammar generation failed."
+ popd > /dev/null || die
+}
+
+python_compile_all() {
+ use doc && emake -C doc SPHINXBUILD='"${PYTHON}" "${S}/sphinx-build.py"' html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if $(python_is_python3); then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests -v \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
+
+replacing_python_eclass() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.1.3-r4 ${pv}; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+pkg_preinst() {
+ if replacing_python_eclass; then
+ # the old python.eclass ebuild will want to remove our pickles...
+ backup_pickle() {
+ # array to enable filename expansion
+ local pickle_name=(
+ "${D}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle
+ )
+
+ local dest=${ROOT}${pickle_name[0]#${D}}.backup
+
+ eumask_push 022
+ mkdir -p "${dest%/*}" || die
+ eumask_pop
+
+ cp -p -v "${pickle_name[0]}" "${dest}" \
+ || die "Unable to backup grammar pickle from overwriting"
+ }
+
+ python_foreach_impl backup_pickle
+ fi
+}
+
+pkg_postinst() {
+ if replacing_python_eclass; then
+ local warned
+
+ restore_pickle() {
+ local backup_name=(
+ "${ROOT}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle.backup
+ )
+ local dest=${backup_name[0]%.backup}
+
+ mv -v "${backup_name[0]}" "${dest}" \
+ || die "Unable to restore grammar pickle backup"
+ }
+
+ python_foreach_impl restore_pickle
+
+ [[ ${warned} ]] && ewarn "Please try rebuilding the package."
+ fi
+}
diff --git a/dev-python/sphinx/sphinx-1.2.3.ebuild b/dev-python/sphinx/sphinx-1.2.3.ebuild
new file mode 100644
index 000000000000..5079b677613b
--- /dev/null
+++ b/dev-python/sphinx/sphinx-1.2.3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1 eutils versionator
+
+MY_PN="Sphinx"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="http://sphinx.pocoo.org/ http://pypi.python.org/pypi/Sphinx"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc latex test"
+
+# Portage has only >= minimum required versions of all rdeps making
+# setting of version borders unnecessary
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ app-text/dvipng
+ )"
+DEPEND="${DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # Generate the grammar. It will be caught by install somehow.
+ # Note that the tests usually do it for us. However, I don't want
+ # to trust USE=test really running all the tests, especially
+ # with FEATURES=test-fail-continue.
+ pushd "${BUILD_DIR}"/lib > /dev/null || die
+ "${PYTHON}" -m sphinx.pycode.__init__ \
+ || die "Grammar generation failed."
+ popd > /dev/null || die
+}
+
+python_compile_all() {
+ use doc && emake -C doc SPHINXBUILD='"${PYTHON}" "${S}/sphinx-build.py"' html
+}
+
+python_test() {
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if $(python_is_python3); then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests -v \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
+
+replacing_python_eclass() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.1.3-r4 ${pv}; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+pkg_preinst() {
+ if replacing_python_eclass; then
+ # the old python.eclass ebuild will want to remove our pickles...
+ backup_pickle() {
+ # array to enable filename expansion
+ local pickle_name=(
+ "${D}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle
+ )
+
+ local dest=${ROOT}${pickle_name[0]#${D}}.backup
+
+ eumask_push 022
+ mkdir -p "${dest%/*}" || die
+ eumask_pop
+
+ cp -p -v "${pickle_name[0]}" "${dest}" \
+ || die "Unable to backup grammar pickle from overwriting"
+ }
+
+ python_foreach_impl backup_pickle
+ fi
+}
+
+pkg_postinst() {
+ if replacing_python_eclass; then
+ local warned
+
+ restore_pickle() {
+ local backup_name=(
+ "${ROOT}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle.backup
+ )
+ local dest=${backup_name[0]%.backup}
+
+ mv -v "${backup_name[0]}" "${dest}" \
+ || die "Unable to restore grammar pickle backup"
+ }
+
+ python_foreach_impl restore_pickle
+
+ [[ ${warned} ]] && ewarn "Please try rebuilding the package."
+ fi
+}
diff --git a/dev-python/sphinx/sphinx-1.3.1.ebuild b/dev-python/sphinx/sphinx-1.3.1.ebuild
new file mode 100644
index 000000000000..c576038fbde0
--- /dev/null
+++ b/dev-python/sphinx/sphinx-1.3.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils versionator
+
+MY_PN="Sphinx"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="http://sphinx.pocoo.org/ http://pypi.python.org/pypi/Sphinx"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86"
+IUSE="doc latex test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.11[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.3[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ =dev-python/alabaster-0.7*[${PYTHON_USEDEP}]
+ =dev-python/sphinx_rtd_theme-0.1*[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-1.1[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ app-text/dvipng
+ )"
+DEPEND="${DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy) )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # Generate the grammar. It will be caught by install somehow.
+ # Note that the tests usually do it for us. However, I don't want
+ # to trust USE=test really running all the tests, especially
+ # with FEATURES=test-fail-continue.
+ pushd "${BUILD_DIR}"/lib > /dev/null || die
+ "${PYTHON}" -m sphinx.pycode.__init__ \
+ || die "Grammar generation failed."
+ popd > /dev/null || die
+}
+
+python_compile_all() {
+ use doc && emake -C doc SPHINXBUILD='"${PYTHON}" "${S}/sphinx-build.py"' html
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir"
+ export SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+ cp -r -l tests "${BUILD_DIR}"/ || die
+
+ if $(python_is_python3); then
+ 2to3 -w --no-diffs "${BUILD_DIR}"/tests || die
+ fi
+
+ nosetests -w "${BUILD_DIR}"/tests -v \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
+
+replacing_python_eclass() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.1.3-r4 ${pv}; then
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+pkg_preinst() {
+ if replacing_python_eclass; then
+ # the old python.eclass ebuild will want to remove our pickles...
+ backup_pickle() {
+ # array to enable filename expansion
+ local pickle_name=(
+ "${D}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle
+ )
+
+ local dest=${ROOT}${pickle_name[0]#${D}}.backup
+
+ eumask_push 022
+ mkdir -p "${dest%/*}" || die
+ eumask_pop
+
+ cp -p -v "${pickle_name[0]}" "${dest}" \
+ || die "Unable to backup grammar pickle from overwriting"
+ }
+
+ python_foreach_impl backup_pickle
+ fi
+}
+
+pkg_postinst() {
+ if replacing_python_eclass; then
+ local warned
+
+ restore_pickle() {
+ local backup_name=(
+ "${ROOT}$(python_get_sitedir)"/sphinx/pycode/Grammar*.pickle.backup
+ )
+ local dest=${backup_name[0]%.backup}
+
+ mv -v "${backup_name[0]}" "${dest}" \
+ || die "Unable to restore grammar pickle backup"
+ }
+
+ python_foreach_impl restore_pickle
+
+ [[ ${warned} ]] && ewarn "Please try rebuilding the package."
+ fi
+}
diff --git a/dev-python/sphinx_rtd_theme/Manifest b/dev-python/sphinx_rtd_theme/Manifest
new file mode 100644
index 000000000000..916db4c3e19a
--- /dev/null
+++ b/dev-python/sphinx_rtd_theme/Manifest
@@ -0,0 +1,3 @@
+DIST sphinx_rtd_theme-0.1.6.tar.gz 217067 SHA256 0f29f544f6d037989fa0c7729a9eab7e4d8ea50d6f0ef37363f472756c1edca6 SHA512 f79e8192264ef01675240853e9be8a5bd0c86808f0e918e60c7c6e0c078caeef87c76421db795149214ef4edc1389e7c2001a98436611292ff826e7b9b9d0f15 WHIRLPOOL 110494f3c9bb6e838557fa4bcb1ac8f33e91b30d2da780720e897cfc4f635c0a14f502d5aac50115495bcc591de79eae83a2e359b81b917e524c9459194420f6
+DIST sphinx_rtd_theme-0.1.7.tar.gz 220230 SHA256 9a490c861f6cf96a0050c29a92d5d1e01eda02ae6f50760ad5c96a327cdf14e8 SHA512 390f007ecba0a59ef92e1aab3457e7c09fa7ff45690f9351857d8aa635371c81329b12e7d4052ba9abaabb82a28a911334c4dc601105ee97cb0eb2b1be0ae426 WHIRLPOOL 00150c49a8e1a56aa378cac795b7ed7a681aef59c7a70294b1b3e582fa1d13ce7abc251567219422fa495c610dfda2a40c1255c2c8306af72188294fa1a84ec2
+DIST sphinx_rtd_theme-0.1.8.tar.gz 424804 SHA256 74f633ed3a61da1d1d59c3185483c81a9d7346bf0e7b5f29ad0764a6f159b68a SHA512 2ade6b86f88fa9e8fa3242b4f5fcf665016098a3819e08400fbe216ccb8ab6e1d0786fba20c1ed722525bc5fd088bc70ceb93c0ed4c5a8ac79ab6499a0a98994 WHIRLPOOL 7bfdd8679d4300a9cef03ca5bbff01cc2cfbc241244f26f08c0356aba8da5bcfdd2bba4603cc687ba5bfbc2b3c7dbf69a5169d88c215173d3dd686fed035704b
diff --git a/dev-python/sphinx_rtd_theme/metadata.xml b/dev-python/sphinx_rtd_theme/metadata.xml
new file mode 100644
index 000000000000..f1054646c761
--- /dev/null
+++ b/dev-python/sphinx_rtd_theme/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">sphinx_rtd_theme</remote-id>
+ <remote-id type="github">snide/sphinx_rtd_theme</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.6.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.6.ebuild
new file mode 100644
index 000000000000..90f36578109a
--- /dev/null
+++ b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ReadTheDocs.org theme for Sphinx"
+HOMEPAGE="https://github.com/snide/sphinx_rtd_theme/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.7.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.7.ebuild
new file mode 100644
index 000000000000..7985fb1c9464
--- /dev/null
+++ b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.7.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ReadTheDocs.org theme for Sphinx"
+HOMEPAGE="https://github.com/snide/sphinx_rtd_theme/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+PDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.8.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.8.ebuild
new file mode 100644
index 000000000000..7985fb1c9464
--- /dev/null
+++ b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.1.8.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ReadTheDocs.org theme for Sphinx"
+HOMEPAGE="https://github.com/snide/sphinx_rtd_theme/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+PDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-cheeseshop/Manifest b/dev-python/sphinxcontrib-cheeseshop/Manifest
new file mode 100644
index 000000000000..a2300ef2a5f5
--- /dev/null
+++ b/dev-python/sphinxcontrib-cheeseshop/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-cheeseshop-0.2.tar.gz 3568 SHA256 d1a3bc4c1842868f959f7e14fa7390e64fa717823144286e7d15a25c3624b1ec SHA512 5d6c88c0c43f37b94ebe6a2a62f795a6f7d5d6c407b808d6b21d54c1775fc4b5f22466c13e61adc16ac7973ba11e99a66da8650c869856f766e6bb3a6e99923b WHIRLPOOL 171762e8e197b54412a48db928395a62a8003eec614584df36d427afb44ee55cbfb8d75534dc38046cfef1a72c1f9eb2e37617afc755ea5b40187f48a493fbf2
diff --git a/dev-python/sphinxcontrib-cheeseshop/metadata.xml b/dev-python/sphinxcontrib-cheeseshop/metadata.xml
new file mode 100644
index 000000000000..0f5079b0d605
--- /dev/null
+++ b/dev-python/sphinxcontrib-cheeseshop/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-cheeseshop</remote-id>
+ <remote-id type="bitbucket">birkenfeld/sphinx-contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-cheeseshop/sphinxcontrib-cheeseshop-0.2.ebuild b/dev-python/sphinxcontrib-cheeseshop/sphinxcontrib-cheeseshop-0.2.ebuild
new file mode 100644
index 000000000000..75a71064dbf6
--- /dev/null
+++ b/dev-python/sphinxcontrib-cheeseshop/sphinxcontrib-cheeseshop-0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy)
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extension cheeseshop"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-python/sphinx-1.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ ebegin 'patching setup.py'
+ sed \
+ -e '5s/file/open/' \
+ -i setup.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/sphinxcontrib-doxylink/Manifest b/dev-python/sphinxcontrib-doxylink/Manifest
new file mode 100644
index 000000000000..b454aaab54e3
--- /dev/null
+++ b/dev-python/sphinxcontrib-doxylink/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-doxylink-1.3.tar.gz 12401 SHA256 95dd12637b2d28aae50f2abbf57dcb339be01f7b829dc435432d314a8f37a9c4 SHA512 5a53061cddda22b682b4b640725d4cd763b54d9dfa3599b666dd55d72660f07fc89318abeab07d114d01313b215e69e421a3b5251125d28c3dd326426830f9ee WHIRLPOOL 6db488051e0b2758182a1be6f21601500f473974a1d780e986a7347dceac8f441744c29ded49312021947bd623421237d36f395aac285ff0acba01b78e715f68
diff --git a/dev-python/sphinxcontrib-doxylink/metadata.xml b/dev-python/sphinxcontrib-doxylink/metadata.xml
new file mode 100644
index 000000000000..229aef6d540e
--- /dev/null
+++ b/dev-python/sphinxcontrib-doxylink/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ <description>Python team can take the package if they wish.</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-doxylink</remote-id>
+ <remote-id type="bitbucket">birkenfeld/sphinx-contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.3.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.3.ebuild
new file mode 100644
index 000000000000..e3096cd5e8e5
--- /dev/null
+++ b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension to link to external Doxygen API documentation"
+HOMEPAGE="https://pypi.python.org/pypi/sphinxcontrib-doxylink https://pythonhosted.org/sphinxcontrib-doxylink/ https://bitbucket.org/birkenfeld/sphinx-contrib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+
+RDEPEND="
+ >=dev-python/sphinx-1.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_prepare() {
+ # any better idea ?
+ rm -rf tests
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/sphinxcontrib-googleanalytics/Manifest b/dev-python/sphinxcontrib-googleanalytics/Manifest
new file mode 100644
index 000000000000..f338270f7eab
--- /dev/null
+++ b/dev-python/sphinxcontrib-googleanalytics/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-googleanalytics-0.1.tar.gz 2892 SHA256 92b7d74a45defb01e7d29e86fd8206eba42c896b2272cbd1b4b4f6a7d178d5a8 SHA512 fdec9108f9c1d86c6c59cd2bcfa55d82cd5cd48aca5b7aecec7734f3cd29b0f6c080aad7b7009148e3d95b7cf80af38ffb6ba230879495f3c1488ddb661fbf48 WHIRLPOOL 32115511eb21cdb7a202b9b63a4568f31f64a9d98d4dfd25cd6d15628cbd7873d8666f9969d25a3db569f25389d43028214d7d805ec07961c9d96f9991f9c10f
diff --git a/dev-python/sphinxcontrib-googleanalytics/files/setup.py.utf-8.patch b/dev-python/sphinxcontrib-googleanalytics/files/setup.py.utf-8.patch
new file mode 100644
index 000000000000..b3b9f58d1b2d
--- /dev/null
+++ b/dev-python/sphinxcontrib-googleanalytics/files/setup.py.utf-8.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/show_bug.cgi?id=429914
+--- setup.py
++++ setup.py
+@@ -1,10 +1,11 @@
+ # -*- coding: utf-8 -*-
+
++import codecs
+ import os
+ from setuptools import setup, find_packages
+
+ HERE = os.path.dirname(os.path.abspath(__file__))
+-long_desc = open(os.path.join(HERE, 'README')).read()
++long_desc = codecs.open(os.path.join(HERE, 'README'), encoding='utf-8').read()
+
+ requires = ['Sphinx>=0.6']
+
diff --git a/dev-python/sphinxcontrib-googleanalytics/metadata.xml b/dev-python/sphinxcontrib-googleanalytics/metadata.xml
new file mode 100644
index 000000000000..f312ebabd5e6
--- /dev/null
+++ b/dev-python/sphinxcontrib-googleanalytics/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-googleanalytics</remote-id>
+ <remote-id type="bitbucket">birkenfeld/sphinx-contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-googleanalytics/sphinxcontrib-googleanalytics-0.1-r1.ebuild b/dev-python/sphinxcontrib-googleanalytics/sphinxcontrib-googleanalytics-0.1-r1.ebuild
new file mode 100644
index 000000000000..e289002df141
--- /dev/null
+++ b/dev-python/sphinxcontrib-googleanalytics/sphinxcontrib-googleanalytics-0.1-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extension googleanalytics"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/sphinx-0.6[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/setup.py.utf-8.patch" )
diff --git a/dev-python/sphinxcontrib-httpdomain/Manifest b/dev-python/sphinxcontrib-httpdomain/Manifest
new file mode 100644
index 000000000000..55a483adccf5
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/Manifest
@@ -0,0 +1,5 @@
+DIST sphinxcontrib-httpdomain-1.1.8.tar.gz 8844 SHA256 29ff90b9e51a8e0cee4372c8f39d85edd0a88747dd0ae5e7734a66f63e256279 SHA512 fa6abe4c6b42844dd0b066c591e8780e01ed006304b31af0ffe6bc89a08c31cca71510d3013b45014409784fce6b0f869d117a34759856b54356d5a4ca7398d1 WHIRLPOOL 95a17f70df2bc51c07432e1966135464b530ca1f9e532bdbf4a07e05fe67eb9a1150d1a13ed4c6e2e2faaefa91fd4915adf701811ad83766cc0b80a6a5b0002f
+DIST sphinxcontrib-httpdomain-1.1.9.tar.gz 9589 SHA256 560eec7b60872cb570dd6a4f29f8d717a2217dfec775919651e8adf0e55a585a SHA512 015ff76b7f6f6639e6b9e228209b8dc06ce435049d08cf513d40914015c17ca21df905f7d505951508e7255ce273c95700e3ae415f54afdebc8ef03fd3707283 WHIRLPOOL 49049c807163ff1496dd777ba4dd439d49dd6ffbdeb1a4fd45d70d8a6167928b342429d03e7b023f192e2580e79b05b9b3de1ad3f58c82fe6f870315415238d6
+DIST sphinxcontrib-httpdomain-1.2.0.tar.gz 10054 SHA256 015e2e4327278a5903a4c060a19bfae821df2d33179c960a301c5383523a4c62 SHA512 d8c2158c81e0b0691c99176dc50d217e69b564d55e72e2878847e032dc60a4097d767bfb717f2425c2e5d37f9462cb95e15b1072b6dbb5191b9f402bc4981fe1 WHIRLPOOL 0c2482047b038f0a14b4b999ce3d24e932d3e7372af17a65fd1bb3a977acaf5a265e5df649eb06765919191181145e6bea69d03cf6b6f4b94fb5364d281b1c1a
+DIST sphinxcontrib-httpdomain-1.2.1.tar.gz 10061 SHA256 68b7cca5910309dcf89b1d7fc978f2bb64c7b7e45e5b67438defed7356d96562 SHA512 0e6605e12312468ebd8d8173ac58e6ceae8823d06c9db13ee6857c9e436f8ddb14241304f1c0632cf15e616eab574107b00c79da9179e530aec099b573ad581e WHIRLPOOL a9f6d8c1a6bda6b97204855fc9809ce3658811dec981b2f7e0c3cb1e95c5a24d83ceca72374a0caa699646fee6a041da2ea77e14a075f8fc52aef0b5fb1971f9
+DIST sphinxcontrib-httpdomain-1.3.0.tar.gz 11486 SHA256 ba8fbe82eddc96cfa9d7b975b0422801a14ace9d7e051b8b2c725b92ea6137b5 SHA512 2f6df6375337d651f4ed26c2aaf20929a4b31fae881ebc68fcab5cd085f52661c00a943872a9e7199d5af893b3f77434346fd493925cd148681da048aead20af WHIRLPOOL 52539d525114a2fc1b0f288cea82918724d7c4ad7af22c27efda3dcdae10ba9f800933ea163f840b12bc78413f06f0ca9bec361e0fb2da8c9430f413b1f89f7a
diff --git a/dev-python/sphinxcontrib-httpdomain/metadata.xml b/dev-python/sphinxcontrib-httpdomain/metadata.xml
new file mode 100644
index 000000000000..3759492bd555
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-httpdomain</remote-id>
+ <remote-id type="bitbucket">birkenfeld/sphinx-contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.8.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.8.ebuild
new file mode 100644
index 000000000000..66ee275c1d95
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.8.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension providing a Sphinx domain for describing RESTful HTTP APIs"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib/ \
+ http://packages.python.org/sphinxcontrib-httpdomain/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.9.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.9.ebuild
new file mode 100644
index 000000000000..66ee275c1d95
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.1.9.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension providing a Sphinx domain for describing RESTful HTTP APIs"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib/ \
+ http://packages.python.org/sphinxcontrib-httpdomain/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.0.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.0.ebuild
new file mode 100644
index 000000000000..66ee275c1d95
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension providing a Sphinx domain for describing RESTful HTTP APIs"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib/ \
+ http://packages.python.org/sphinxcontrib-httpdomain/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.1.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.1.ebuild
new file mode 100644
index 000000000000..764f9297c86a
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.2.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension providing a Sphinx domain for describing RESTful HTTP APIs"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib/ \
+ http://packages.python.org/sphinxcontrib-httpdomain/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.3.0.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.3.0.ebuild
new file mode 100644
index 000000000000..0e105ab838c3
--- /dev/null
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.3.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension providing a Sphinx domain for describing RESTful HTTP APIs"
+HOMEPAGE="http://bitbucket.org/birkenfeld/sphinx-contrib/ \
+ http://packages.python.org/sphinxcontrib-httpdomain/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND=">=dev-python/sphinx-1.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxcontrib-issuetracker/Manifest b/dev-python/sphinxcontrib-issuetracker/Manifest
new file mode 100644
index 000000000000..1098b9c59dbc
--- /dev/null
+++ b/dev-python/sphinxcontrib-issuetracker/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-issuetracker-0.11.tar.gz 30351 SHA256 843753d8b5e989116378ab45ecccb368fb78dc56eaa1554ed25e4fbf22745f4e SHA512 fb4a977bea22451a3d90b16821fc2a38ed53b17913666ca250e9aab8bb1726bbdb52fb2b6dbb2ae512a0ca6cc3d33dcddeba758c02c77b099180443d67e147c9 WHIRLPOOL f49f01b6b9de9bb21473ee810c9bb663ec76e7744c4c58b96c698d1ffb177bdcda08c9de60311d62789a065fd0322336a60930715d362691e74458070df2c7ca
diff --git a/dev-python/sphinxcontrib-issuetracker/metadata.xml b/dev-python/sphinxcontrib-issuetracker/metadata.xml
new file mode 100644
index 000000000000..92945277e202
--- /dev/null
+++ b/dev-python/sphinxcontrib-issuetracker/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>kde</herd>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-issuetracker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11-r1.ebuild b/dev-python/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11-r1.ebuild
new file mode 100644
index 000000000000..61fee2c722fe
--- /dev/null
+++ b/dev-python/sphinxcontrib-issuetracker/sphinxcontrib-issuetracker-0.11-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension to sphinx to create links to issue trackers"
+HOMEPAGE="http://sphinxcontrib-issuetracker.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+
+IUSE="doc test"
+
+RDEPEND=">=dev-python/requests-0.13[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # test requires network access (bug #425694)
+ rm tests/test_builtin_trackers.py || die
+
+ # Tests from tests/test_stylesheet.py require dev-python/PyQt4[X,webkit]
+ # and virtualx.eclass.
+ rm tests/test_stylesheet.py || die
+
+ # Avoid redundant objects.inv from downloading, sed more lightwieght
+ if use doc; then
+ sed -e "s:^intersphinx_mapping:#intersphinx_mapping:" \
+ -e "s:^ 'sphinx':#:" \
+ -i doc/conf.py || die
+ fi
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/sphinxcontrib-plantuml/Manifest b/dev-python/sphinxcontrib-plantuml/Manifest
new file mode 100644
index 000000000000..3549c540e670
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-plantuml-0.4.tar.gz 4944 SHA256 2305cb631f6bea2bdae7c69d841b92c451115433c6b3b8fb1bee5fec323dd857 SHA512 a00760146ab56a96035d511fdf01d5dfbca5ef077b40ac00087267a702d7367d706f9956774af6acd7154d3b425452169d02f98170a765280e4d0b77e14b7438 WHIRLPOOL 7a4e4332b7f488c6e050c84670d1d06afc7b6375aa0b00231134c1fb24b63d8be73216b400c1c1417a1a3302421e045b9495f6906942fb6ebf0321f6c2b8aa1e
diff --git a/dev-python/sphinxcontrib-plantuml/metadata.xml b/dev-python/sphinxcontrib-plantuml/metadata.xml
new file mode 100644
index 000000000000..c58b58dc580b
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>pva@gentoo.org</email>
+ <name>Peter Volkov</name>
+ </maintainer>
+ <longdescription lang="en">
+ This package allows inline plantuml diagrams inside sphinx text files.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">sphinxcontrib-plantuml</remote-id>
+ <remote-id type="bitbucket">birkenfeld/sphinx-contrib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.4.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.4.ebuild
new file mode 100644
index 000000000000..93d63c6294b9
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension to embed UML diagram by using PlantUML"
+HOMEPAGE="https://bitbucket.org/birkenfeld/sphinx-contrib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="
+ >=dev-python/sphinx-1.1[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}
+ media-gfx/plantuml
+"
+
+DOCS="README.rst"
diff --git a/dev-python/sphinxcontrib-programoutput/Manifest b/dev-python/sphinxcontrib-programoutput/Manifest
new file mode 100644
index 000000000000..85bd1a09df40
--- /dev/null
+++ b/dev-python/sphinxcontrib-programoutput/Manifest
@@ -0,0 +1 @@
+DIST sphinxcontrib-programoutput-0.8.tar.gz 14419 SHA256 1776a03124bab87e35576f7f3992fc21d5bb457321b35e6023eb011dbed10a25 SHA512 9ab769f794cf8c47f2d755b343c1326b8335c1f8161294727abada81af189545d549350536d28ac2c5f27cc309330f875b7affef6f997651e3a9f9dfbe6bd174 WHIRLPOOL a6cf5edfd1ba9926af1327e95cc923147cae3c4d297ddb0ae7577f676c6bcb928b396459113cac3226f74446ea38ee9604722da5b4ddeebeb2f6bc6bc0d5fb52
diff --git a/dev-python/sphinxcontrib-programoutput/metadata.xml b/dev-python/sphinxcontrib-programoutput/metadata.xml
new file mode 100644
index 000000000000..16650eae0eb7
--- /dev/null
+++ b/dev-python/sphinxcontrib-programoutput/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+ A Sphinx extension to literally insert the output of arbitrary
+ commands into documents, helping you to keep your command examples
+ up to date.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">sphinxcontrib-programoutput</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.8.ebuild b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.8.ebuild
new file mode 100644
index 000000000000..96543ce78c18
--- /dev/null
+++ b/dev-python/sphinxcontrib-programoutput/sphinxcontrib-programoutput-0.8.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extension to sphinx to include program output"
+HOMEPAGE="http://sphinxcontrib-programoutput.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc test"
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/sphinxtogithub/Manifest b/dev-python/sphinxtogithub/Manifest
new file mode 100644
index 000000000000..bfdf46e485ba
--- /dev/null
+++ b/dev-python/sphinxtogithub/Manifest
@@ -0,0 +1,2 @@
+DIST sphinxtogithub-1.0.0.tar.gz 9872 SHA256 71e191b38defcfcff4acd918190a6322d8b7374fe84b97b6bc17d74c550c5759 SHA512 1eca486fc78715281b1e55fddabe2c161ca15d8b54981618de233e8eba9e14be575c5e3b6b1e4664186fce1414877d501c8f563c8771ff46c2d26ea96810450b WHIRLPOOL 0ac54064fd05e109505444fe9d1d3b8c12b7fa4b00dc5d6f7e713ede81a6ce6d723f2c983aabde5ed180467409234133ea88a4224bcc5248d7b33365c5b044a9
+DIST sphinxtogithub-1.1.0.tar.gz 11103 SHA256 15222b1ea55f83dfdf1e09a76d4ef1b9273a2590b73a5a16c4bff972894eae4e SHA512 190c57535c58f86a84a3e80bde61f99d35b8d3826d18d77d9eaf857be853c84b35e49cbb517fb13d8993934757892cbda4a820ecd24f3e5ff2908e814e53d664 WHIRLPOOL 232d8ecccab473bf690275883eed4e2a8bf6a10b8d3f52da56287fba8aefe9a75aee5ccbae1f70f9746d0732254bf8da7a953c65d10153f72a3a6377f674f7aa
diff --git a/dev-python/sphinxtogithub/metadata.xml b/dev-python/sphinxtogithub/metadata.xml
new file mode 100644
index 000000000000..807e5f4823fb
--- /dev/null
+++ b/dev-python/sphinxtogithub/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">sphinxtogithub</remote-id>
+ <remote-id type="github">michaeljones/sphinx-to-github</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sphinxtogithub/sphinxtogithub-1.0.0.ebuild b/dev-python/sphinxtogithub/sphinxtogithub-1.0.0.ebuild
new file mode 100644
index 000000000000..04f6dc79d8e2
--- /dev/null
+++ b/dev-python/sphinxtogithub/sphinxtogithub-1.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A python script for preparing the html output of Sphinx documentation for github pages"
+HOMEPAGE="http://github.com/michaeljones/sphinx-to-github/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/sphinxtogithub/sphinxtogithub-1.1.0.ebuild b/dev-python/sphinxtogithub/sphinxtogithub-1.1.0.ebuild
new file mode 100644
index 000000000000..3dc0aaf611d1
--- /dev/null
+++ b/dev-python/sphinxtogithub/sphinxtogithub-1.1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A python script for preparing the html output of Sphinx documentation for github pages"
+HOMEPAGE="http://github.com/michaeljones/sphinx-to-github/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+
+IUSE=""
+
+RDEPEND=">=dev-python/sphinx-1.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['tests']):" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
new file mode 100644
index 000000000000..3aad7ffffe69
--- /dev/null
+++ b/dev-python/spyder/Manifest
@@ -0,0 +1,2 @@
+DIST spyder-2.3.4.zip 3707063 SHA256 da4b13d6faed3e8810c0418f8274b26fde4f265ea4f93bee154af128a755c184 SHA512 7a4ea65ea06e9944094fc94db78327f9e23a8fd6dda5d0e9aa0e82ba4cd7d9f50b1eb837395a3fa2fabe814df873ad8ddbcca223144c47af4007b0493575e41e WHIRLPOOL 53e8f42bdafe01072457f27e45a279f92a198f181344f8267be2b3940cbd6d3743685ffe3264b04344f83bcb73b3eb8c9ec0e6bf8ccef26e19901324bfacb682
+DIST spyder-2.3.5.2.zip 3039104 SHA256 40e589467b561af534aac6d8cc2ea0dc244d3ae4457afb41b3aec6db6f8b2336 SHA512 ac8e078991b2889c3359e700bd89d4c8487eeba412512bc9bd7685214f687001bcc411016283bcde4eb73f6186ffc5cadc9614d911acd8b788899ef5aafd66e1 WHIRLPOOL e2b2bca44bd2ec1461875a358868ab34c60f30ac5164ff6312302b495e859000b97afc78ce12c69dbc328fdcbead247a9defce9e29c08de367fc7d3a321ff007
diff --git a/dev-python/spyder/files/spyder-2.3.1-build.patch b/dev-python/spyder/files/spyder-2.3.1-build.patch
new file mode 100644
index 000000000000..4300c3010bdd
--- /dev/null
+++ b/dev-python/spyder/files/spyder-2.3.1-build.patch
@@ -0,0 +1,154 @@
+--- setup.py
++++ setup.py
+@@ -21,8 +21,6 @@
+ import shutil
+
+ from distutils.core import setup
+-from distutils.command.build import build
+-from distutils.command.install_data import install_data
+
+ # Check for Python 3
+ PY3 = sys.version_info[0] == 3
+@@ -66,12 +64,7 @@
+ def get_data_files():
+ """Return data_files in a platform dependent manner"""
+ if sys.platform.startswith('linux'):
+- if PY3:
+- data_files = [('share/applications', ['scripts/spyder3.desktop']),
+- ('share/pixmaps', ['img_src/spyder3.png'])]
+- else:
+- data_files = [('share/applications', ['scripts/spyder.desktop']),
+- ('share/pixmaps', ['img_src/spyder.png'])]
++ data_files = [('share/pixmaps', ['img_src/spyder.png'])]
+ elif os.name == 'nt':
+ data_files = [('scripts', ['img_src/spyder.ico',
+ 'img_src/spyder_light.ico'])]
+@@ -80,97 +73,6 @@
+ return data_files
+
+
+-class MyInstallData(install_data):
+- def run(self):
+- install_data.run(self)
+- if sys.platform.startswith('linux'):
+- try:
+- subprocess.call(['update-desktop-database'])
+- except:
+- print("ERROR: unable to update desktop database",
+- file=sys.stderr)
+-CMDCLASS = {'install_data': MyInstallData}
+-
+-
+-# Sphinx build (documentation)
+-def get_html_help_exe():
+- """Return HTML Help Workshop executable path (Windows only)"""
+- if os.name == 'nt':
+- hhc_base = r'C:\Program Files%s\HTML Help Workshop\hhc.exe'
+- for hhc_exe in (hhc_base % '', hhc_base % ' (x86)'):
+- if osp.isfile(hhc_exe):
+- return hhc_exe
+- else:
+- return
+-
+-try:
+- from sphinx import setup_command
+-
+- class MyBuild(build):
+- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
+- + build.user_options
+- def __init__(self, *args, **kwargs):
+- build.__init__(self, *args, **kwargs)
+- self.no_doc = False
+- def with_doc(self):
+- setup_dir = os.path.dirname(os.path.abspath(__file__))
+- is_doc_dir = os.path.isdir(os.path.join(setup_dir, 'doc'))
+- install_obj = self.distribution.get_command_obj('install')
+- return (is_doc_dir and not self.no_doc and not install_obj.no_doc)
+- sub_commands = build.sub_commands + [('build_doc', with_doc)]
+- CMDCLASS['build'] = MyBuild
+-
+-
+- class MyInstall(install):
+- user_options = [('no-doc', None, "Don't build Spyder documentation")] \
+- + install.user_options
+- def __init__(self, *args, **kwargs):
+- install.__init__(self, *args, **kwargs)
+- self.no_doc = False
+- CMDCLASS['install'] = MyInstall
+-
+-
+- class MyBuildDoc(setup_command.BuildDoc):
+- def run(self):
+- build = self.get_finalized_command('build')
+- sys.path.insert(0, os.path.abspath(build.build_lib))
+- dirname = self.distribution.get_command_obj('build').build_purelib
+- self.builder_target_dir = osp.join(dirname, 'spyderlib', 'doc')
+-
+- if not osp.exists(self.builder_target_dir):
+- os.mkdir(self.builder_target_dir)
+-
+- hhc_exe = get_html_help_exe()
+- self.builder = "html" if hhc_exe is None else "htmlhelp"
+-
+- try:
+- setup_command.BuildDoc.run(self)
+- except UnicodeDecodeError:
+- print("ERROR: unable to build documentation because Sphinx "\
+- "do not handle source path with non-ASCII characters. "\
+- "Please try to move the source package to another "\
+- "location (path with *only* ASCII characters).",
+- file=sys.stderr)
+- sys.path.pop(0)
+-
+- # Building chm doc, if HTML Help Workshop is installed
+- if hhc_exe is not None:
+- fname = osp.join(self.builder_target_dir, 'Spyderdoc.chm')
+- subprocess.call('"%s" %s' % (hhc_exe, fname), shell=True)
+- if osp.isfile(fname):
+- dest = osp.join(dirname, 'spyderlib')
+- try:
+- shutil.move(fname, dest)
+- except shutil.Error:
+- print("Unable to replace %s" % dest)
+- shutil.rmtree(self.builder_target_dir)
+-
+- CMDCLASS['build_doc'] = MyBuildDoc
+-except ImportError:
+- print('WARNING: unable to build documentation because Sphinx '\
+- 'is not installed', file=sys.stderr)
+-
+-
+ NAME = 'spyder'
+ LIBNAME = 'spyderlib'
+ from spyderlib import __version__, __project_url__
+@@ -204,13 +106,7 @@
+ packages = get_subpackages(LIBNAME)+get_subpackages('spyderplugins')
+ return packages
+
+-# NOTE: the '[...]_win_post_install.py' script is installed even on non-Windows
+-# platforms due to a bug in pip installation process (see Issue 1158)
+-SCRIPTS = ['%s_win_post_install.py' % NAME]
+-if PY3 and sys.platform.startswith('linux'):
+- SCRIPTS.append('spyder3')
+-else:
+- SCRIPTS.append('spyder')
++SCRIPTS = ['spyder']
+ EXTLIST = ['.mo', '.svg', '.png', '.css', '.html', '.js', '.chm', '.ini',
+ '.txt', '.rst']
+ if os.name == 'nt':
+@@ -246,7 +142,7 @@
+ package_data={LIBNAME: get_package_data(LIBNAME, EXTLIST),
+ 'spyderplugins':
+ get_package_data('spyderplugins', EXTLIST)},
+- requires=["rope (>=0.9.2)", "sphinx (>=0.6.0)", "PyQt4 (>=4.4)"],
++ requires=["rope (>=0.9.2)", "PyQt4 (>=4.4)"],
+ scripts=[osp.join('scripts', fname) for fname in SCRIPTS],
+ data_files=get_data_files(),
+ options={"bdist_wininst":
+@@ -267,5 +163,4 @@
+ 'Programming Language :: Python :: 3',
+ 'Development Status :: 5 - Production/Stable',
+ 'Topic :: Scientific/Engineering',
+- 'Topic :: Software Development :: Widget Sets'],
+- cmdclass=CMDCLASS)
++ 'Topic :: Software Development :: Widget Sets'])
diff --git a/dev-python/spyder/metadata.xml b/dev-python/spyder/metadata.xml
new file mode 100644
index 000000000000..c4364ce877cf
--- /dev/null
+++ b/dev-python/spyder/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription lang="en">
+ Spyder development environment and its PyQt4-based IDE tools:
+ interactive Python shell, Python code editor, workspace
+ (dict/list/string/array editor), doc viewer, history log,
+ environment variables editor, ...
+</longdescription>
+ <use>
+ <flag name="ipython">Add support for <pkg>dev-python/ipython</pkg></flag>
+ <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
+ <flag name="numpy">Add support for <pkg>dev-python/numpy</pkg></flag>
+ <flag name="pep8">Add support for <pkg>dev-python/pep8</pkg></flag>
+ <flag name="pyflakes">Add support for <pkg>dev-python/pyflakes</pkg></flag>
+ <flag name="pylint">Add support for <pkg>dev-python/pylint</pkg></flag>
+ <flag name="rope">Add support for <pkg>dev-python/rope</pkg></flag>
+ <flag name="scipy">Add support for <pkg>sci-libs/scipy</pkg></flag>
+ <flag name="sphinx">Add support for <pkg>dev-python/sphinx</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">spyder</remote-id>
+ <remote-id type="bitbucket">spyder-ide/spyderlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/spyder/spyder-2.3.4.ebuild b/dev-python/spyder/spyder-2.3.4.ebuild
new file mode 100644
index 000000000000..65b4f1a02fa9
--- /dev/null
+++ b/dev-python/spyder/spyder-2.3.4.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python IDE with matlab-like features"
+HOMEPAGE="http://code.google.com/p/spyderlib/ https://bitbucket.org/spyder-ide/spyderlib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc ipython matplotlib numpy pep8 +pyflakes pylint +rope scipy sphinx"
+
+# rope requires no version bordering since all are >= miniumum version
+RDEPEND="
+ || ( dev-python/PyQt4[${PYTHON_USEDEP},svg,webkit]
+ dev-python/pyside[${PYTHON_USEDEP},svg,webkit] )
+ ipython? ( dev-python/ipython[qt4,${PYTHON_USEDEP}] )
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ pep8? ( dev-python/pep8[${PYTHON_USEDEP}] )
+ pyflakes? ( >=dev-python/pyflakes-0.5[${PYTHON_USEDEP}] )
+ pylint? ( dev-python/pylint[${PYTHON_USEDEP}] )
+ rope? ( $(python_gen_cond_dep 'dev-python/rope[${PYTHON_USEDEP}]' python2_7) )
+ scipy? ( sci-libs/scipy[${PYTHON_USEDEP}] )
+ sphinx? ( >=dev-python/sphinx-0.6.0[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( >=dev-python/sphinx-0.6.0[${PYTHON_USEDEP}] )"
+
+# Courtesy of Arfrever
+PATCHES=( "${FILESDIR}"/${PN}-2.3.1-build.patch )
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ PYTHONPATH="{BUILD_DIR}" \
+ sphinx-build doc doc/html || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doicon spyderlib/images/spyder.svg
+ make_desktop_entry spyder Spyder spyder "Development;IDE"
+ use doc && dohtml -r doc/html/
+}
diff --git a/dev-python/spyder/spyder-2.3.5.2.ebuild b/dev-python/spyder/spyder-2.3.5.2.ebuild
new file mode 100644
index 000000000000..405c654abdc8
--- /dev/null
+++ b/dev-python/spyder/spyder-2.3.5.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python IDE with matlab-like features"
+HOMEPAGE="http://code.google.com/p/spyderlib/ https://bitbucket.org/spyder-ide/spyderlib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc ipython matplotlib numpy pep8 +pyflakes pylint +rope scipy sphinx"
+
+# rope requires no version bordering since all are >= miniumum version
+RDEPEND="
+ || ( dev-python/PyQt4[${PYTHON_USEDEP},svg,webkit]
+ dev-python/pyside[${PYTHON_USEDEP},svg,webkit] )
+ ipython? ( dev-python/ipython[qt4,${PYTHON_USEDEP}] )
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ pep8? ( dev-python/pep8[${PYTHON_USEDEP}] )
+ pyflakes? ( >=dev-python/pyflakes-0.5[${PYTHON_USEDEP}] )
+ pylint? ( dev-python/pylint[${PYTHON_USEDEP}] )
+ rope? ( $(python_gen_cond_dep 'dev-python/rope[${PYTHON_USEDEP}]' python2_7) )
+ scipy? ( sci-libs/scipy[${PYTHON_USEDEP}] )
+ sphinx? ( >=dev-python/sphinx-0.6.0[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( >=dev-python/sphinx-0.6.0[${PYTHON_USEDEP}] )"
+
+# Courtesy of Arfrever
+PATCHES=( "${FILESDIR}"/${PN}-2.3.1-build.patch )
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build doc doc/html || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doicon spyderlib/images/spyder.svg
+ make_desktop_entry spyder Spyder spyder "Development;IDE"
+ use doc && dodoc -r doc/html/
+}
diff --git a/dev-python/sqlalchemy-migrate/Manifest b/dev-python/sqlalchemy-migrate/Manifest
new file mode 100644
index 000000000000..caa4fbd8a2bb
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/Manifest
@@ -0,0 +1,5 @@
+DIST sqlalchemy-migrate-0.7.2.tar.gz 105862 SHA256 7f55c768ee26f143fedb11b365a4c57c3bbdb5211e049c7f04b8ae8107c28333 SHA512 31c56da755ccccdc0aa5eacddcb097a4bd6431ab72a5b964689b0943b50ae4b23e034ae84d8dad4707d4cf9bea5b538e015ff755318685cc17dd82497a4cb4a9 WHIRLPOOL 51a058edea0b48db8377a69366f2b30a44e0ed9621d662fa347df3b2a6b9605ee8866ee21e86153c649f5e4e627fef39dc1a68d333c5f334e96be2cf20aceee1
+DIST sqlalchemy-migrate-0.9.1.tar.gz 123104 SHA256 16e327c9642ca4c99a70dcac3b39aeb821edaf5214834b47fb0a89bac44af23b SHA512 8b1e87238a4993c2abf61cc554afe0369bf34006a01237b0667d4b7fe4b85cca4f8a26968e2c20f7ed09a1f129c300f8f88ce19c61a325925fe56a16f873c627 WHIRLPOOL 110a26f73f3814870e37fb1496cb4419844344e2195db63d633a64899b85d40b6e0acc6d5d11bbe8110410ecb4a4ea7411bc8e54a5223374a0c2c199d75284ec
+DIST sqlalchemy-migrate-0.9.2.tar.gz 124175 SHA256 578fa857615f05f9c73f024147c75019535d3d276ca46f5ec84cc0d606820893 SHA512 25b218ae97e9a99ad126e4185621bff04da2e9d47d2e47620965974a0b865a9dad161c4d284aaf316f01f0241743d11dd6578942ad6673f2843476fbeaaa4688 WHIRLPOOL ca9952c56dafde150126001aa1b58b43cb95fd751c4d2361037424bca8d5b2080f72f7ed3c5b39a2a504fa30f5f310857331b23d9f244b1106858d068c4cbb49
+DIST sqlalchemy-migrate-0.9.5.tar.gz 125820 SHA256 d36ae0879b418c4a7011c081a7b05aa9eaf2f2bc38402cdad4ad64369de31d9c SHA512 2e6e36fe68c5e3c5cb0b2c12c9d00168389461d28606facb34c7d8e6aa2807e4f7c41182140a7b8e933be73ef19af652177687c9af3b9b2e59c318f1e16efb30 WHIRLPOOL eec61bc839c926279452063b31966a6800d0be6bd5bb3654515dcf32a41f0b6dcdf1ac0ef2abdb0d1ccb5bc3f06f4ef272b2b37223a580e9c9b7888c8e8be4a0
+DIST sqlalchemy-migrate-0.9.6.tar.gz 126368 SHA256 c2c73d8dbeb29a96459d8622e3bac2e97cf6f74ed0564469486fe7ffe0ef3d97 SHA512 4f82ae63037803d2f0b270bb597894e58994e2bbc364d6ca4582b979441d936d56d5fe3d15e59ddc810252149866b3dba85c041a17f47cbe2537c3e167b51334 WHIRLPOOL 0b059414221a74c0d71f821398fb9d7db82e68064d947be2d135b7314bf26241df23836a2ef3421b33264dbfae953c337d7b8fd44996b215594dd36e1be34385
diff --git a/dev-python/sqlalchemy-migrate/metadata.xml b/dev-python/sqlalchemy-migrate/metadata.xml
new file mode 100644
index 000000000000..e72e7712b797
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">sqlalchemy-migrate</remote-id>
+ <remote-id type="pypi">sqlalchemy-migrate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.7.2-r1.ebuild b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.7.2-r1.ebuild
new file mode 100644
index 000000000000..d71568fc0faa
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.7.2-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SQLAlchemy Schema Migration Tools"
+HOMEPAGE="http://code.google.com/p/sqlalchemy-migrate/ http://pypi.python.org/pypi/sqlalchemy-migrate"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86"
+IUSE=""
+
+DEPEND="dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.6[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
+ dev-python/tempita[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+# for tests: unittest2 and scripttest
diff --git a/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.1.ebuild b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.1.ebuild
new file mode 100644
index 000000000000..b5f538c77764
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py3 has a syntax errors. On testing it is underdone
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SQLAlchemy Schema Migration Tools"
+HOMEPAGE="http://code.google.com/p/sqlalchemy-migrate/ http://pypi.python.org/pypi/sqlalchemy-migrate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.7.8[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.4[${PYTHON_USEDEP}]
+ dev-python/python-sqlparse[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.2.ebuild b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.2.ebuild
new file mode 100644
index 000000000000..0ea2259193b5
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py3 has a syntax errors. On testing it is underdone
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SQLAlchemy Schema Migration Tools"
+HOMEPAGE="http://code.google.com/p/sqlalchemy-migrate/ http://pypi.python.org/pypi/sqlalchemy-migrate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.21[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.7.8[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.4[${PYTHON_USEDEP}]
+ dev-python/python-sqlparse[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.5.ebuild b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.5.ebuild
new file mode 100644
index 000000000000..1868d13111b4
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py3 has a syntax errors. On testing it is underdone
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SQLAlchemy Schema Migration Tools"
+HOMEPAGE="http://code.google.com/p/sqlalchemy-migrate/ http://pypi.python.org/pypi/sqlalchemy-migrate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-0.7.8[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-0.9.5[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.4[${PYTHON_USEDEP}]
+ dev-python/python-sqlparse[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.6.ebuild b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.6.ebuild
new file mode 100644
index 000000000000..03599b02b223
--- /dev/null
+++ b/dev-python/sqlalchemy-migrate/sqlalchemy-migrate-0.9.6.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py3 has a syntax errors. On testing it is underdone
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="SQLAlchemy Schema Migration Tools"
+HOMEPAGE="http://code.google.com/p/sqlalchemy-migrate/ http://pypi.python.org/pypi/sqlalchemy-migrate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-issuetracker[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/sqlalchemy-0.7.8[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-0.9.5[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tempita-0.4[${PYTHON_USEDEP}]
+ dev-python/python-sqlparse[${PYTHON_USEDEP}]"
+# Testsuite requires a missing dep and errors with poor report output
+
+python_prepare_all() {
+ # Prevent d'loading during the doc build via sphinx.ext.intersphinx
+ sed -e "s: 'sphinx.ext.intersphinx',::" -i doc/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ einfo ""; einfo "The build seeks to import modules from an installed state of the package"
+ einfo "simply ignore all warnings / errors of failure to import module migrate.<module>"; einfo ""
+ emake -C doc/source html || die "Generation of documentation failed"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/source/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
new file mode 100644
index 000000000000..3a8fa138aeb1
--- /dev/null
+++ b/dev-python/sqlalchemy/Manifest
@@ -0,0 +1,7 @@
+DIST SQLAlchemy-0.7.10.tar.gz 3541639 SHA256 77aa39d65c9d043eba6ba329b359ff867424fd6c403b7c0cb112b65e507e1d66 SHA512 631bc4ffb419defa531a66d82449fe48f93c88371ba0b8ab4217d900a0d1d90efe9699d8a9048d5c2ed33948c6d2f7cae46452ee45d442914018f3361e804367 WHIRLPOOL 74ffc17efbcbb2ac67712b9e11aa48431d18970f46ae5985aaa345aa8691f96e4acc4cf6fa37606699fbba83fcb7f74b0360fea2ac5e93a451585019e110f2ed
+DIST SQLAlchemy-0.9.2.tar.gz 4389966 SHA256 1411b6e93446350e533ed0b892ba5cbce9afdfab8ce09f060add8ada8911e1ee SHA512 1d4baa0ea02e4f6ee70ff00dbda77c6c814adab6f45df89765123045ced4d65bceb9c7640aa16b60e45887d4454584d49f4a5b06db0fbd9f7770cf78da5ecda3 WHIRLPOOL 79e06d8987dad3bd12cc412980978f670888595b6e7805e17ccc3f0face39d5500b6299a81f5424fe7a77005e928d88e3eec34300075c03a4d788b19c47be2c3
+DIST SQLAlchemy-0.9.8.tar.gz 4080098 SHA256 de3ac04ecab0a7e0af64eee30a71e723ba5886b958205f7354dd62439da60389 SHA512 3df7d7a64cdfe7b684be98e7e9d6836da54c391343bb047224a11df888041034bcc54cc30d15dc3d56b5d397b35e6aabe5732e7ca8fbf553bd8d98731c249ea5 WHIRLPOOL 2cedf7713753a6cf8838741fcf06c5510387aa4e661ea3c0ecc2bb7bdb5b03fb90f072ccd1a5671f03943952340c6c3525836e1ebe9246506143b055a1ca1991
+DIST SQLAlchemy-0.9.9.tar.gz 4213948 SHA256 72a51f6ae99116ea969381f65fe471aafe14c21f6760f259b46f919f21345f91 SHA512 a28c83645ddddc17825f7d76443350ef22b23be72524aeb22665b4f8b92e0bf7dd79f9628841732973a565f5edb64b687f9e49daa1af11b1778b854b66728fa0 WHIRLPOOL e60a8ef79da0547b58a53c5f567e6abeba7408cd4cc398feaa7c61dcad7fa344dd31691fee25d4738bc25bb956ecf2b20cbeb6caf29114066dfbec26c2f07695
+DIST SQLAlchemy-1.0.5.tar.gz 4600531 SHA256 b57d3a35c39ed956e3002118a51502918b2fd357eca7523a6b50ef8d329a29be SHA512 d898c2b74132a3f1ea9c2aecd761af6788f6dc2c76b471dfed5b0c6f69eb273b6b4602028ad0a142129311be08da97d74d277db2150c169c51385bb7d28f843e WHIRLPOOL 204c8079ca8a2ab43e363f3e8ea0dbc436e12ec9c7dd0bc9201eef85e9d7717084c38e4655def400c19706c9c80f91baed9bee2c206e670ae8de030be27ed167
+DIST SQLAlchemy-1.0.6.tar.gz 4615939 SHA256 99a8a54bec4988f704c54ee9f769aa196db43a5ef7ed655b78a80a129c9c65f3 SHA512 188e2ce1c38819318c7561fa2cc663a8421ea6869abd2b0b355986b8326c481a62cd073a52cb90ad967cbcc7c2bfe64aecee2280423a40b4bc23f779c92bcd63 WHIRLPOOL d5a4035d21c74378e162719ba3b09d5554e218aefe273d9676158e2c02715a827edeb652714a7964d19cacacf45436b4ca1ef490ce6ff9631362f53a6a1c5190
+DIST SQLAlchemy-1.0.8.tar.gz 4627601 SHA256 950c79c0abf9e9f99c43c627c51d40d14a946810a90c35e7cd827bfd0bffe46f SHA512 921f847a20548095cb1f41fe6147b393110e08f8f3ff0aee6081e7811e7c15b3c03583afd41ddf5aacdc1dde090c0512afb94c7cc33d9c27135a5525ed121e74 WHIRLPOOL 757f2a3832c8fefd5789cd981eb1b2028419362ed2714927198df6b91742236896d4ab0131969afa08e5508843e32e018a1361e28df3f22a15f811d78275f8cf
diff --git a/dev-python/sqlalchemy/files/0.9.7-test-fix.patch b/dev-python/sqlalchemy/files/0.9.7-test-fix.patch
new file mode 100644
index 000000000000..ca1809bb832d
--- /dev/null
+++ b/dev-python/sqlalchemy/files/0.9.7-test-fix.patch
@@ -0,0 +1,38 @@
+From 405c223ae50e78dacac08783c414619db20df0b7 Mon Sep 17 00:00:00 2001
+From: Mike Bayer <mike_mp@zzzcomputing.com>
+Date: Tue, 29 Jul 2014 13:32:05 -0400
+Subject: [PATCH] - Fixed 0.9.7 regression caused by :ticket:`3067` in
+ conjunction with a mis-named unit test such that so-called "schema" types
+ like :class:`.Boolean` and :class:`.Enum` could no longer be pickled. fixes
+ #3144
+
+diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py
+index 6114460..6cbf583 100644
+--- a/lib/sqlalchemy/sql/elements.py
++++ b/lib/sqlalchemy/sql/elements.py
+@@ -3276,6 +3276,9 @@ class _defer_name(_truncated_label):
+ else:
+ return super(_defer_name, cls).__new__(cls, value)
+
++ def __reduce__(self):
++ return self.__class__, (util.text_type(self), )
++
+
+ class _defer_none_name(_defer_name):
+ """indicate a 'deferred' name that was ultimately the value None."""
+diff --git a/test/sql/test_types.py b/test/sql/test_types.py
+index 03d3997..efa0f90 100644
+--- a/test/sql/test_types.py
++++ b/test/sql/test_types.py
+@@ -234,9 +234,9 @@ class TypeAffinityTest(fixtures.TestBase):
+ assert t1.dialect_impl(d)._type_affinity is postgresql.UUID
+
+
+-class PickleMetadataTest(fixtures.TestBase):
++class PickleTypesTest(fixtures.TestBase):
+
+- def testmeta(self):
++ def test_pickle_types(self):
+ for loads, dumps in picklers():
+ column_types = [
+ Column('Boo', Boolean()),
diff --git a/dev-python/sqlalchemy/files/lru_cache_timestamping.patch b/dev-python/sqlalchemy/files/lru_cache_timestamping.patch
new file mode 100644
index 000000000000..41cd3915669f
--- /dev/null
+++ b/dev-python/sqlalchemy/files/lru_cache_timestamping.patch
@@ -0,0 +1,33 @@
+diff -r d1c7b3df098a lib/sqlalchemy/util/_collections.py
+
+Index: lib/sqlalchemy/util/_collections.py
+===================================================================
+--- a/lib/sqlalchemy/util/_collections.py Wed Jan 18 12:42:54 2012 -0500
++++ b/lib/sqlalchemy/util/_collections.py Thu Jan 19 10:01:28 2012 -0500
+@@ -769,10 +769,15 @@
+ def __init__(self, capacity=100, threshold=.5):
+ self.capacity = capacity
+ self.threshold = threshold
++ self._counter = 0
++
++ def _inc_counter(self):
++ self._counter += 1
++ return self._counter
+
+ def __getitem__(self, key):
+ item = dict.__getitem__(self, key)
+- item[2] = time_func()
++ item[2] = self._inc_counter()
+ return item[1]
+
+ def values(self):
+@@ -788,7 +793,7 @@
+ def __setitem__(self, key, value):
+ item = dict.get(self, key)
+ if item is None:
+- item = [key, value, time_func()]
++ item = [key, value, self._inc_counter()]
+ dict.__setitem__(self, key, item)
+ else:
+ item[1] = value
+
diff --git a/dev-python/sqlalchemy/files/sqlalchemy-0.7-logging.handlers.patch b/dev-python/sqlalchemy/files/sqlalchemy-0.7-logging.handlers.patch
new file mode 100644
index 000000000000..122ae43fe338
--- /dev/null
+++ b/dev-python/sqlalchemy/files/sqlalchemy-0.7-logging.handlers.patch
@@ -0,0 +1,12 @@
+https://bitbucket.org/sqlalchemy/sqlalchemy/pull-request/41
+--- a/test/engine/test_execute.py
++++ b/test/engine/test_execute.py
+@@ -9,7 +9,7 @@
+ import sqlalchemy as tsa
+ from test.lib import testing, engines
+ from test.lib.engines import testing_engine
+-import logging
++import logging, logging.handlers
+ from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
+ from sqlalchemy.engine import base, default
+ from sqlalchemy.engine.base import Connection, Engine
diff --git a/dev-python/sqlalchemy/files/sqlalchemy-0.8.1-pypy-fixtests.patch b/dev-python/sqlalchemy/files/sqlalchemy-0.8.1-pypy-fixtests.patch
new file mode 100644
index 000000000000..39b0281c98fb
--- /dev/null
+++ b/dev-python/sqlalchemy/files/sqlalchemy-0.8.1-pypy-fixtests.patch
@@ -0,0 +1,50 @@
+# http://www.sqlalchemy.org/trac/ticket/2719
+diff -ur SQLAlchemy-0.8.1.orig/test/ext/test_serializer.py SQLAlchemy-0.8.1/test/ext/test_serializer.py
+--- test/ext/test_serializer.py 2013-04-28 05:24:34.000000000 +0800
++++ test/ext/test_serializer.py 2013-05-02 01:02:25.376203511 +0800
+@@ -114,6 +114,7 @@
+ Address(email='ed@lala.com'),
+ Address(email='ed@bettyboop.com')])
+
++ @testing.skip_if(lambda: util.pypy, "problems with pypy pickle reported")
+ def test_query_two(self):
+ q = \
+ Session.query(User).join(User.addresses).\
+@@ -123,6 +124,7 @@
+ eq_(q2.all(), [User(name='fred')])
+ eq_(list(q2.values(User.id, User.name)), [(9, u'fred')])
+
++ @testing.skip_if(lambda: util.pypy, "problems with pypy pickle reported")
+ def test_query_three(self):
+ ua = aliased(User)
+ q = \
+@@ -136,6 +138,7 @@
+ ua_2 = q2._entities[0].entity_zero.entity
+ eq_(list(q2.values(ua_2.id, ua_2.name)), [(9, u'fred')])
+
++ @testing.skip_if(lambda: util.pypy, "problems with pypy pickle reported")
+ def test_orm_join(self):
+ from sqlalchemy.orm.util import join
+
+diff -ur SQLAlchemy-0.8.1.orig/test/orm/test_manytomany.py SQLAlchemy-0.8.1/test/orm/test_manytomany.py
+--- test/orm/test_manytomany.py 2013-04-28 05:24:34.000000000 +0800
++++ test/orm/test_manytomany.py 2013-05-02 01:05:08.073213015 +0800
+@@ -233,6 +233,9 @@
+ p2 = Place('place2')
+ p3 = Place('place3')
+
++ sess = Session()
++ sess.add_all([p3, p1, t1, t2, p2, t3])
++
+ t1.inputs.append(p1)
+ t1.inputs.append(p2)
+ t1.outputs.append(p3)
+@@ -240,8 +243,6 @@
+ p2.inputs.append(t2)
+ p3.inputs.append(t2)
+ p1.outputs.append(t1)
+- sess = Session()
+- sess.add_all((t1, t2, t3, p1, p2, p3))
+ sess.commit()
+
+ self.assert_result([t1],
diff --git a/dev-python/sqlalchemy/metadata.xml b/dev-python/sqlalchemy/metadata.xml
new file mode 100644
index 000000000000..e289219495da
--- /dev/null
+++ b/dev-python/sqlalchemy/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SQLAlchemy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sqlalchemy/sqlalchemy-0.7.10.ebuild b/dev-python/sqlalchemy/sqlalchemy-0.7.10.ebuild
new file mode 100644
index 000000000000..e198bfc937c8
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-0.7.10.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py3 appears underdone,
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples firebird mssql mysql postgres +sqlite test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ firebird? ( dev-python/kinterbasdb )
+ mssql? ( dev-python/pymssql )
+ mysql? ( dev-python/mysql-python )
+ postgres? ( >=dev-python/psycopg-2 )
+ sqlite? (
+ >=dev-db/sqlite-3.3.13 )"
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-db/sqlite-3.3.13
+ >=dev-python/nose-0.10.4[${PYTHON_USEDEP}]
+ )"
+
+# py26 tests needs
+DISTUTILS_NO_PARALLEL_BUILD=1
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/${PN}-0.7-logging.handlers.patch" )
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -fr test/aaa_profiling
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_test() {
+ "${PYTHON}" sqla_nose.py || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use doc; then
+ pushd doc > /dev/null
+ rm -fr build
+ dohtml -r [a-z]* _images _static
+ popd > /dev/null
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-0.9.2.ebuild b/dev-python/sqlalchemy/sqlalchemy-0.9.2.ebuild
new file mode 100644
index 000000000000..fff487e60965
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-0.9.2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 eutils flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ sqlite? ( >=dev-db/sqlite-3.3.13 )"
+
+DEPEND="${RDEPEND}
+ test? (
+ >=dev-db/sqlite-3.3.13
+ >=dev-python/nose-0.10.4[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ "${PYTHON}" sqla_nose.py -e test_reflect || die "Testsuite failed under ${EPYTHON}"
+ else
+ "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ fi
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-0.9.8.ebuild b/dev-python/sqlalchemy/sqlalchemy-0.9.8.ebuild
new file mode 100644
index 000000000000..abe7371ca7f5
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-0.9.8.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ # https://bitbucket.org/zzzeek/sqlalchemy/issue/3144/
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ # Recently upstream elected to make the testsuite also pytest capable
+ # "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ py.test test || die "Testsuite failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+
+ elog "mysql backend support can be enabled by installing mysql-python for cpython py2.7 only,"
+ elog "or mysql-connector-python for support of cpythons 2.7 3.3 and 3.4"
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-0.9.9.ebuild b/dev-python/sqlalchemy/sqlalchemy-0.9.9.ebuild
new file mode 100644
index 000000000000..463dd600ff69
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-0.9.9.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ # https://bitbucket.org/zzzeek/sqlalchemy/issue/3144/
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ # Recently upstream elected to make the testsuite also pytest capable
+ # "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ py.test test || die "Testsuite failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+
+ elog "mysql backend support can be enabled by installing mysql-python for cpython py2.7 only,"
+ elog "or mysql-connector-python for support of cpythons 2.7 3.3 and 3.4"
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.0.5.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.0.5.ebuild
new file mode 100644
index 000000000000..d291d176d641
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-1.0.5.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ # https://bitbucket.org/zzzeek/sqlalchemy/issue/3144/
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ # Recently upstream elected to make the testsuite also pytest capable
+ # "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ py.test test || die "Testsuite failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+
+ elog "mysql backend support can be enabled by installing mysql-python for cpython py2.7 only,"
+ elog "or mysql-connector-python for support of cpythons 2.7 3.3 and 3.4"
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.0.6.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.0.6.ebuild
new file mode 100644
index 000000000000..d291d176d641
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-1.0.6.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ # https://bitbucket.org/zzzeek/sqlalchemy/issue/3144/
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ # Recently upstream elected to make the testsuite also pytest capable
+ # "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ py.test test || die "Testsuite failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+
+ elog "mysql backend support can be enabled by installing mysql-python for cpython py2.7 only,"
+ elog "or mysql-connector-python for support of cpythons 2.7 3.3 and 3.4"
+}
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.0.8.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.0.8.ebuild
new file mode 100644
index 000000000000..d291d176d641
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-1.0.8.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN="SQLAlchemy"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="http://www.sqlalchemy.org/ http://pypi.python.org/pypi/SQLAlchemy"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc examples +sqlite test"
+REQUIRED_USE="test? ( sqlite )"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}
+ test? ( dev-python/pytest[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable tests hardcoding function call counts specific to Python versions.
+ rm -r test/aaa_profiling || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS=${CFLAGS}
+ append-cflags -fno-strict-aliasing
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # Create copies of necessary files in BUILD_DIR.
+ # https://bitbucket.org/zzzeek/sqlalchemy/issue/3144/
+ cp -pR examples sqla_nose.py setup.cfg test "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null
+ if [[ "${EPYTHON}" == "python3.2" ]]; then
+ 2to3 --no-diffs -w test
+ fi
+ # Recently upstream elected to make the testsuite also pytest capable
+ # "${PYTHON}" sqla_nose.py || die "Testsuite failed under ${EPYTHON}"
+ py.test test || die "Testsuite failed under ${EPYTHON}"
+ popd > /dev/null
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/. )
+
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version dev-python/mysql-python; then
+ elog "For MySQL support, install dev-python/mysql-python"
+ fi
+
+ if ! has_version dev-python/pymssql; then
+ elog "For mssql support, install dev-python/pymssql"
+ fi
+
+ if ! has_version dev-python/psycopg:2; then
+ elog "For postgresql support, install dev-python/psycopg:2"
+ fi
+ fi
+
+ elog "mysql backend support can be enabled by installing mysql-python for cpython py2.7 only,"
+ elog "or mysql-connector-python for support of cpythons 2.7 3.3 and 3.4"
+}
diff --git a/dev-python/sqlite3dbm/Manifest b/dev-python/sqlite3dbm/Manifest
new file mode 100644
index 000000000000..012313d27b0c
--- /dev/null
+++ b/dev-python/sqlite3dbm/Manifest
@@ -0,0 +1 @@
+DIST sqlite3dbm-0.1.4-git.tar.gz 18962 SHA256 635cbf3f554c0cd75d68a6ebff57b2e29686bad1469a283a70f28ae8dd71c905 SHA512 1b420839482cf5881b744855393afa9eaa1cd0ea2195d03c6576f97804851dcfa5b5fe6a80d9d77eb00b9ee49ebb7cdb7ba7b86f57e4c700178a0bf46d598bab WHIRLPOOL 5e7789b042732edd8c4f3b06868582fff4164b4fa461d297f44ba2a3491a71b607f1b0b4b910e2edc1cddd1b86cc3c6a0bec482be7b36185d59d812a78ea7b8c
diff --git a/dev-python/sqlite3dbm/metadata.xml b/dev-python/sqlite3dbm/metadata.xml
new file mode 100644
index 000000000000..a461b42c335d
--- /dev/null
+++ b/dev-python/sqlite3dbm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Yelp/sqlite3dbm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sqlite3dbm/sqlite3dbm-0.1.4-r1.ebuild b/dev-python/sqlite3dbm/sqlite3dbm-0.1.4-r1.ebuild
new file mode 100644
index 000000000000..9d56da483f0a
--- /dev/null
+++ b/dev-python/sqlite3dbm/sqlite3dbm-0.1.4-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+# TODO: strip the -git at some version bump, introduced to avoid clash with
+# earlier tarball
+DESCRIPTION="An sqlite-backed dictionary"
+HOMEPAGE="https://github.com/Yelp/sqlite3dbm http://pypi.python.org/pypi/sqlite3dbm/"
+SRC_URI="https://github.com/Yelp/${PN}/archive/v${PV}.tar.gz -> ${P}-git.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx )
+ test? ( dev-python/testify[${PYTHON_USEDEP}] )"
+
+DOCS=(AUTHORS.txt CHANGES.txt README.md)
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+src_test() {
+ testify tests || die
+}
diff --git a/dev-python/sqlitecachec/Manifest b/dev-python/sqlitecachec/Manifest
new file mode 100644
index 000000000000..86ed6277a621
--- /dev/null
+++ b/dev-python/sqlitecachec/Manifest
@@ -0,0 +1 @@
+DIST yum-metadata-parser-1.1.4.tar.gz 16469 SHA256 f1560a284541feb720c3ae35b6b31f80c2be5cb9ca86b3a1ee9459846f821ada SHA512 51c1c3652171713a6decc165a4f8c4ddb5641f2ad3ee9b84fba3514d5c9afbb0c7ebc7dbb26156194b58c29227ef7b8d40ad760082da1c568254bcbee129d68c WHIRLPOOL ae479b4f93f605b0f19ec7f1c729cac2e19af408e46568209be711aae22b1296b45f77b0eb5309ff855545fdc323dcd64899541156a9f0079ab6afd504b1eb4c
diff --git a/dev-python/sqlitecachec/metadata.xml b/dev-python/sqlitecachec/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/sqlitecachec/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/sqlitecachec/sqlitecachec-1.1.4-r1.ebuild b/dev-python/sqlitecachec/sqlitecachec-1.1.4-r1.ebuild
new file mode 100644
index 000000000000..6cb096a0d2ec
--- /dev/null
+++ b/dev-python/sqlitecachec/sqlitecachec-1.1.4-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P="yum-metadata-parser-${PV}"
+
+DESCRIPTION="sqlite cacher for python applications"
+HOMEPAGE="http://yum.baseurl.org/"
+SRC_URI="http://yum.baseurl.org/download/yum-metadata-parser/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+# glib and libxml2 are used via an extension module written in C.
+# No need to add PYTHON_USEDEP here.
+RDEPEND="dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/libxml2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/sqlobject/Manifest b/dev-python/sqlobject/Manifest
new file mode 100644
index 000000000000..b58c36de2a3a
--- /dev/null
+++ b/dev-python/sqlobject/Manifest
@@ -0,0 +1 @@
+DIST SQLObject-2.1.1.tar.gz 888532 SHA256 35675d9c6c5a373b68c1e597a51c2723e1a8471911f89b7ec9ab3cc380064874 SHA512 9f51452afb728b3eaa0b113aca7086af6cd858d3b6e84c557af56a086d9a04c7e061f1b45179d0c74ef6a175e593376e1ea3ce561a337d71df6eea0f7bd09fee WHIRLPOOL 0526d02b1815281724b1c5ad1fadf16a5dc3e765bb6c9e6b59db83e95a1f3bfa20134acad459e19583694739a38b3dece3bdc328ad7f57f09c95094759143a50
diff --git a/dev-python/sqlobject/metadata.xml b/dev-python/sqlobject/metadata.xml
new file mode 100644
index 000000000000..69b386336afc
--- /dev/null
+++ b/dev-python/sqlobject/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>SQLObject is an object-relational mapper. It allows you to translate RDBMS table rows into Python objects and manipulate
+ those objects to transparently manipulate the database.</longdescription>
+ <longdescription lang="ja">SQLObject ã¯ã‚ªãƒ–ジェクト・リレーショナル・マッパã§ã™ã€‚ã“ã‚Œã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ“作を明瞭ã«ã™ã‚‹ãŸã‚ã€RDBMS ã®ãƒ†ãƒ¼ãƒ–ル列を Python
+ 言語ã®ã‚ªãƒ–ジェクトã¨ã—ã¦æ“作ã§ãるよã†ã«ã—ã¾ã™ã€‚</longdescription>
+ <upstream>
+ <remote-id type="pypi">SQLObject</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sqlobject/sqlobject-2.1.1-r1.ebuild b/dev-python/sqlobject/sqlobject-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..6ec9266805a1
--- /dev/null
+++ b/dev-python/sqlobject/sqlobject-2.1.1-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1
+
+MY_PN="SQLObject"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Object-Relational Manager, aka database wrapper"
+HOMEPAGE="http://sqlobject.org/ http://pypi.python.org/pypi/SQLObject"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc mysql postgres sqlite"
+
+RDEPEND="
+ >=dev-python/formencode-1.1.1[${PYTHON_USEDEP}]
+ mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ postgres? ( dev-python/psycopg[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ sed -e '/..docs/d' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ if use doc; then
+ HTML_DOCS=( docs/html/. )
+ DOCS=( docs/europython/. )
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/squaremap/Manifest b/dev-python/squaremap/Manifest
new file mode 100644
index 000000000000..4127c6a81fe8
--- /dev/null
+++ b/dev-python/squaremap/Manifest
@@ -0,0 +1,2 @@
+DIST SquareMap-1.0.3.tar.gz 7433 SHA256 d56f4d6db4b49a03d66dcdc844507684eacb9f9a5a4b7874753808a158bd82a8 SHA512 a106bb61d5e8b54691b6ea80fc7d3e202346f6ea0a0323a8f3bae3accd9b6fe4f280e2dc4c9ce5b5333c0c0c32f295f3021ed240fa540d4669dd83e31a7dbf48 WHIRLPOOL 266f4eec61c9b83b2c262d3dcdcde0bfb9c4c2805c326c5ab6c21cefee61968f98d16595d3fe64dcaeb208af5bdba1fc2d246fce4ebb6deb46f7c2f9d8c9bc9d
+DIST SquareMap-1.0.4.tar.gz 7439 SHA256 feab6cb3b222993df68440e34825d8a16de2c74fdb290ae3974c86b1d5f3eef8 SHA512 d01e61697571360b58e762787237bb8533b3de238f26323380a8b0b90d72d2f00e2a43e7f6742fbbb3483573493b0d83568e0651cbf9bdd463b911d09bf27e76 WHIRLPOOL 482682b6aff35cbe3c3605266f9b08ba5f4e6fdf8bf41a31843d04a5b280976e8144e61f1e23ce6aa376af9b14658f687e7b89bec77414aed3817a9a53b2a0f5
diff --git a/dev-python/squaremap/metadata.xml b/dev-python/squaremap/metadata.xml
new file mode 100644
index 000000000000..7ca81b3ec348
--- /dev/null
+++ b/dev-python/squaremap/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">SquareMap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/squaremap/squaremap-1.0.3.ebuild b/dev-python/squaremap/squaremap-1.0.3.ebuild
new file mode 100644
index 000000000000..fe5906092f2a
--- /dev/null
+++ b/dev-python/squaremap/squaremap-1.0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_PN="SquareMap"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Hierarchic data-visualisation control for wxPython"
+HOMEPAGE="http://pypi.python.org/pypi/SquareMap"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ <dev-python/wxpython-3"
+
+S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/squaremap/squaremap-1.0.4.ebuild b/dev-python/squaremap/squaremap-1.0.4.ebuild
new file mode 100644
index 000000000000..883695b1147d
--- /dev/null
+++ b/dev-python/squaremap/squaremap-1.0.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_PN="SquareMap"
+MY_P="${MY_PN}-${PV/_beta/b}"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Hierarchic data-visualisation control for wxPython"
+HOMEPAGE="http://pypi.python.org/pypi/SquareMap"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ dev-python/wxpython"
+
+S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/ssh/Manifest b/dev-python/ssh/Manifest
new file mode 100644
index 000000000000..f0a6b456b2b4
--- /dev/null
+++ b/dev-python/ssh/Manifest
@@ -0,0 +1 @@
+DIST ssh-1.8.0.tar.gz 795832 SHA256 b0aca1faf8a12e6aae24ab9cfae90d061a8741b680c8afad21da6ff8b8ae28d7 SHA512 bac32c2cf078c2a06b4b530c905e4b8e0c09b457d9d9feaee163d3a96d71b43c74d159a25ad65bcb4beba692b05b7587e60b4a13be7d049f8493977f9a032da7 WHIRLPOOL 78dd28b1c5a26f4beeca07cb85761dbf1d9b4c17ec656e882163b383b30e6307a2dad34ceafb2ed0500afff0593c908e7da4180955f1fca98d6aa68be710b28d
diff --git a/dev-python/ssh/metadata.xml b/dev-python/ssh/metadata.xml
new file mode 100644
index 000000000000..a1fdb467c668
--- /dev/null
+++ b/dev-python/ssh/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">ssh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ssh/ssh-1.8.0-r1.ebuild b/dev-python/ssh/ssh-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..d8bf53b3666e
--- /dev/null
+++ b/dev-python/ssh/ssh-1.8.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="http://pypi.python.org/pypi/ssh"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
+IUSE="doc examples"
+
+RDEPEND=">=dev-python/pycrypto-2.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test.py --verbose || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ dohtml docs/*
+ fi
+
+ if use examples; then
+ docompress -x usr/share/doc/${PF}/demos/
+ insinto /usr/share/doc/${PF}
+ doins -r demos
+ fi
+}
diff --git a/dev-python/ssl-fetch/Manifest b/dev-python/ssl-fetch/Manifest
new file mode 100644
index 000000000000..cc4a9ac591af
--- /dev/null
+++ b/dev-python/ssl-fetch/Manifest
@@ -0,0 +1,3 @@
+DIST ssl-fetch-0.2.1.tar.gz 10703 SHA256 2905a8301477cf309484e3beef892d68b33910db71be45c08720f70791690b9d SHA512 ca4c4d29463d5761fbcea151f1229152bd0092418254ce614154b012af9a23c0c52bb733f64815499b5ae0ae9325a808ae2157e7ff707345e92352b672c98966 WHIRLPOOL 4bea8540fce0a2bcc0f8d55b4d87e7c544321b14967af95ded400f4ae0af3fd14c8390ed808352aa89c6ba7d267536d2ef8956dcba4b871226e2be9d4e71a2f8
+DIST ssl-fetch-0.2.tar.gz 10945 SHA256 027f63c5797e0fd84d4ed2195e42141316cceeed0b91058dd700b55482e40a78 SHA512 30aa040503eb05d8b0a7775ce843215ebbc198483fba2133e78a5da57f8b998c65018a1241f4f7bb3fbf66045c45bf050b59adb94a68c694aa3aeb6c0b5f726f WHIRLPOOL b4442b55d98741906eb1f3c0fda80cfbb0be42d2d8491c6bf1b86c0833a021ccfbae2887d2f833e9a297556d25c49cb4d617743a338e02299061f6e281d3563c
+DIST ssl-fetch-0.3.tar.gz 11283 SHA256 cee2f05899e729bba8942b26d17b0a97ddfb0a5d0beea4123bf7f2635db088e8 SHA512 82fddbccd3a5da73e81803ce252171d42428d88d301a772127071130ce4336742e46093359f0a996c679cd12ced02d09035af283d4d2f505c67a551283328756 WHIRLPOOL 49938e39c386a83e60caa0260643c31d2c180e93f3be59757dd17c1c9bc05338d5c580e997a96f698d4e1f4cf317bba9f6738044696c6949fcc1a5351e19f6c2
diff --git a/dev-python/ssl-fetch/metadata.xml b/dev-python/ssl-fetch/metadata.xml
new file mode 100644
index 000000000000..8d318a8ca736
--- /dev/null
+++ b/dev-python/ssl-fetch/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tools-portage</herd>
+ <maintainer>
+ <email>dolsen@gentoo.org</email>
+ <name>Brian Dolbec</name>
+ </maintainer>
+ <maintainer>
+ <email>dastergon@gentoo.org</email>
+ <name>Pavlos Ratis</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dol-sen/ssl-fetch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ssl-fetch/ssl-fetch-0.2.1.ebuild b/dev-python/ssl-fetch/ssl-fetch-0.2.1.ebuild
new file mode 100644
index 000000000000..d60ff7ffdaab
--- /dev/null
+++ b/dev-python/ssl-fetch/ssl-fetch-0.2.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A small convenience library for fetching files securely"
+HOMEPAGE="https://github.com/dol-sen/ssl-fetch"
+SRC_URI="https://github.com/dol-sen/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x64-macos ~x86-macos"
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? (
+ dev-python/ndg-httpsclient[python_targets_python2_7]
+ dev-python/pyasn1[python_targets_python2_7]
+ >=dev-python/pyopenssl-0.13[python_targets_python2_7]
+ )
+ "
+
+pkg_postinst() {
+ einfo
+ einfo "This is beta software."
+ einfo "The APIs it installs should be considered unstable"
+ einfo "and are subject to change in these early versions."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/ssl-fetch/issues"
+ einfo "I am also on IRC @ #gentoo-portage, #gentoo-keys,... of the freenode network"
+ einfo
+}
diff --git a/dev-python/ssl-fetch/ssl-fetch-0.2.ebuild b/dev-python/ssl-fetch/ssl-fetch-0.2.ebuild
new file mode 100644
index 000000000000..7daa072c4837
--- /dev/null
+++ b/dev-python/ssl-fetch/ssl-fetch-0.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A small convenience library for fetching files securely"
+HOMEPAGE="https://github.com/dol-sen/ssl-fetch"
+SRC_URI="http://dev.gentoo.org/~dolsen/releases/ssl-fetch/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? (
+ dev-python/ndg-httpsclient[python_targets_python2_7]
+ dev-python/pyasn1[python_targets_python2_7]
+ >=dev-python/pyopenssl-0.13[python_targets_python2_7]
+ )
+ "
+
+pkg_postinst() {
+ einfo
+ einfo "This is beta software."
+ einfo "The APIs it installs should be considered unstable"
+ einfo "and are subject to change in these early versions."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/ssl-fetch/issues"
+ einfo "I am also on IRC @ #gentoo-portage, #gentoo-keys,... of the freenode network"
+ einfo
+}
diff --git a/dev-python/ssl-fetch/ssl-fetch-0.3.ebuild b/dev-python/ssl-fetch/ssl-fetch-0.3.ebuild
new file mode 100644
index 000000000000..955698a7266b
--- /dev/null
+++ b/dev-python/ssl-fetch/ssl-fetch-0.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A small convenience library for fetching files securely"
+HOMEPAGE="https://github.com/dol-sen/ssl-fetch"
+SRC_URI="http://dev.gentoo.org/~dolsen/releases/ssl-fetch/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? (
+ dev-python/ndg-httpsclient[python_targets_python2_7]
+ dev-python/pyasn1[python_targets_python2_7]
+ >=dev-python/pyopenssl-0.13[python_targets_python2_7]
+ )
+ "
+
+pkg_postinst() {
+ einfo
+ einfo "This is beta software."
+ einfo "The APIs it installs should be considered unstable"
+ einfo "and are subject to change in these early versions."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/ssl-fetch/issues"
+ einfo "I am also on IRC @ #gentoo-portage, #gentoo-keys,... of the Freenode network"
+ einfo
+}
diff --git a/dev-python/ssl-fetch/ssl-fetch-9999.ebuild b/dev-python/ssl-fetch/ssl-fetch-9999.ebuild
new file mode 100644
index 000000000000..7fcd986339c8
--- /dev/null
+++ b/dev-python/ssl-fetch/ssl-fetch-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=(python{2_7,3_3,3_4} pypy)
+
+EGIT_BRANCH="master"
+
+inherit distutils-r1 git-2
+
+EGIT_REPO_URI="git://github.com/dol-sen/ssl-fetch.git"
+
+DESCRIPTION="A small convenience library for fetching files securely"
+HOMEPAGE="https://github.com/dol-sen/ssl-fetch"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+KEYWORDS=""
+
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ >=dev-python/requests-1.2.1[${PYTHON_USEDEP}]
+ python_targets_python2_7? (
+ dev-python/ndg-httpsclient[python_targets_python2_7]
+ dev-python/pyasn1[python_targets_python2_7]
+ >=dev-python/pyopenssl-0.13[python_targets_python2_7]
+ )
+ "
+
+pkg_postinst() {
+ einfo
+ einfo "This is experimental software."
+ einfo "The APIs it installs should be considered unstable"
+ einfo "and are subject to change."
+ einfo
+ einfo "Please file any enhancement requests, or bugs"
+ einfo "at https://github.com/dol-sen/ssl-fetch/issues"
+ einfo "I am also on IRC @ #gentoo-portage, #gentoo-keys,... of the freenode network"
+ einfo
+}
diff --git a/dev-python/starcluster/Manifest b/dev-python/starcluster/Manifest
new file mode 100644
index 000000000000..d68905d648ee
--- /dev/null
+++ b/dev-python/starcluster/Manifest
@@ -0,0 +1 @@
+DIST StarCluster-0.93.3.tar.gz 2334885 SHA256 fcda894be33ba309b1c7a94d6c28f1674c3f05ec756133138a39db2138d080d0 SHA512 f81cfc528a00f45f6e720645f44666947f1c51dd3453ac5d78b201d6c3a3cd9f6d97cb7a2802eaf04603d9a19810045ca6071722c9af884ba7e407ffc99078ea WHIRLPOOL b6bfde98f3b660211c5e08965cc6ee31fc9038ec4039ef5aa12ab9c5d474f60f66c1745fb93cce7e05cb361cff6091f60714168ffca81e4033f2fecc5d9d448f
diff --git a/dev-python/starcluster/files/starcluster-0.93.3-requires.patch b/dev-python/starcluster/files/starcluster-0.93.3-requires.patch
new file mode 100644
index 000000000000..fb3f284ecb7a
--- /dev/null
+++ b/dev-python/starcluster/files/starcluster-0.93.3-requires.patch
@@ -0,0 +1,19 @@
+Patch by JT Riley, Bug #437912
+diff --git a/setup.py b/setup.py
+index 241b7ce..3c52c68 100644
+--- a/setup.py
++++ b/setup.py
+@@ -12,9 +12,9 @@ try:
+ console_scripts = ['starcluster = starcluster.cli:main']
+ extra = dict(test_suite="starcluster.tests",
+ tests_require="nose",
+- install_requires=["ssh==1.7.13", "boto==2.3.0",
+- "workerpool==0.9.2", "Jinja2==2.6",
+- "decorator==3.3.1", "pyasn1==0.0.13b"],
++ install_requires=["ssh>=1.7.13", "boto>=2.3.0",
++ "workerpool>=0.9.2", "Jinja2>=2.6",
++ "decorator>=3.3.1", "pyasn1>=0.0.13b"],
+ include_package_data=True,
+ entry_points=dict(console_scripts=console_scripts),
+ zip_safe=False)
+
diff --git a/dev-python/starcluster/metadata.xml b/dev-python/starcluster/metadata.xml
new file mode 100644
index 000000000000..d4c7dbd1c8e6
--- /dev/null
+++ b/dev-python/starcluster/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="epydoc">Enable build of apidocs in html using epydoc</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">StarCluster</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/starcluster/starcluster-0.93.3-r2.ebuild b/dev-python/starcluster/starcluster-0.93.3-r2.ebuild
new file mode 100644
index 000000000000..375f63a262db
--- /dev/null
+++ b/dev-python/starcluster/starcluster-0.93.3-r2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 bash-completion-r1
+MY_PN=StarCluster
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Utility for creating / managing general purpose computing clusters"
+HOMEPAGE="http://web.mit.edu/star/cluster"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="doc epydoc"
+
+RDEPEND=">=dev-python/ssh-1.7.13[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.6-r1[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.0.13_beta[${PYTHON_USEDEP}]
+ >=dev-python/workerpool-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/epydoc[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${P}-requires.patch )
+
+python_compile_all() {
+ use doc && emake -C docs/sphinx html
+ mkdocs() {
+ local exit_status=0
+ local msg="build with epydoc failed"
+ pushd docs/epydoc/
+ PATH=$PATH:./ PYTHONPATH="${BUILD_DIR}/lib" ./build.sh || exit_status=1
+ [[ $exit_status != 0 ]] && eerror "$msg"
+ popd sets
+ return $exit_status
+ }
+ use epydoc && mkdocs
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ newbashcomp "${S}"/completion/${PN}-completion.sh ${PN}
+ use doc && dohtml -r docs/sphinx/_build/html/
+ if use epydoc; then
+ docompress -x usr/share/doc/${PF}/apidocs/api-objects.txt
+ insinto usr/share/doc/${PF}/
+ doins -r "${S}"/docs/apidocs/
+ fi
+}
+
+python_test() {
+ nosetests || die -v ${PN}/tests || die
+}
diff --git a/dev-python/statsmodels/Manifest b/dev-python/statsmodels/Manifest
new file mode 100644
index 000000000000..2e761505dd7d
--- /dev/null
+++ b/dev-python/statsmodels/Manifest
@@ -0,0 +1,2 @@
+DIST statsmodels-0.5.0.tar.gz 5519668 SHA256 65398518bdd414c712362738e61d34ee5ec07b4c084bba17c65af5f20ae109d0 SHA512 24526200f212c1ad4492b84aad65967254d89aecee4c9f5d76ed499aa9b8c7fe619ca7301810ff5e7aec407f2f01b139c9f9c152a4597fe21736d04b24f6dd0a WHIRLPOOL c2719d25873ea949da30c63895c4536c559c0f45923eb885a3f7f664f3b82783d9945b346032513c4e0f1df9b82f9657956885e05d94505207a4c9ddb10a489e
+DIST statsmodels-0.6.1.tar.gz 6980841 SHA256 be4e44374aec9e848b73e5a230dee190ac0c4519e1d40f69a5813190b13ec676 SHA512 9047b8cf4b9d19bd697867cecef1c4608fd86f3d16e67e44d8c152e1e25918f5aff6b4843c58395e71614be401551e3e48d4dcf158480cbdb45d9735b1c5ea77 WHIRLPOOL b14c7f5b734b26190f23edbf4020ace135571d4c0fa45e3e174647879d4c6547273abbab6c8911c346bf85b433a1908bd230fa52a1e09ede0e74c5e5167a8ecf
diff --git a/dev-python/statsmodels/metadata.xml b/dev-python/statsmodels/metadata.xml
new file mode 100644
index 000000000000..81cea1512e61
--- /dev/null
+++ b/dev-python/statsmodels/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ statsmodels is a Python module that allows users to explore data,
+ estimate statistical models, and perform statistical tests. An
+ extensive list of descriptive statistics, statistical tests,
+ plotting functions, and result statistics are available for
+ different types of data and each estimator. Researchers across
+ fields may find that statsmodels fully meets their needs for
+ statistical computing and data analysis in Python.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">statsmodels</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/statsmodels/statsmodels-0.5.0.ebuild b/dev-python/statsmodels/statsmodels-0.5.0.ebuild
new file mode 100644
index 000000000000..7fca799149b4
--- /dev/null
+++ b/dev-python/statsmodels/statsmodels-0.5.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Statistical computations and models for use with SciPy"
+HOMEPAGE="http://statsmodels.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/patsy[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ examples? ( dev-python/matplotlib[${PYTHON_USEDEP}] )"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/patsy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/matplotlib
+ dev-python/sphinx
+ dev-python/ipython )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ export MPLCONFIGDIR="${T}" HOME="${T}"
+}
+
+python_compile_all() {
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts ${EPYTHON} setup.py build_sphinx || die
+ fi
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ VIRTUALX_COMMAND="nosetests"
+ virtualmake --verbosity=3
+}
+
+python_install() {
+ distutils-r1_python_install
+ rm -r "${D}/$(python_get_sitedir)/statsmodels/examples" || die
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( build/sphinx/html/* )
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/statsmodels/statsmodels-0.6.1.ebuild b/dev-python/statsmodels/statsmodels-0.6.1.ebuild
new file mode 100644
index 000000000000..5224bb0efcc1
--- /dev/null
+++ b/dev-python/statsmodels/statsmodels-0.6.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Statistical computations and models for use with SciPy"
+HOMEPAGE="http://statsmodels.sourceforge.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+CDEPEND="
+ >=dev-python/numpy-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/patsy-0.3.0[${PYTHON_USEDEP}]
+ >=sci-libs/scipy-0.9.0[${PYTHON_USEDEP}]
+ "
+RDEPEND="${CDEPEND}
+ examples? ( dev-python/matplotlib[${PYTHON_USEDEP}] )"
+DEPEND="${CDEPEND}
+ >=dev-python/cython-0.20.1[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/matplotlib-1.1[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+pkg_setup() {
+ export MPLCONFIGDIR="${T}" HOME="${T}"
+}
+
+python_compile_all() {
+ if use doc; then
+ VARTEXFONTS="${T}"/fonts ${EPYTHON} setup.py build_sphinx || die
+ fi
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ VIRTUALX_COMMAND="nosetests"
+ virtualmake --verbosity=3
+}
+
+python_install() {
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( build/sphinx/html/* )
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "plotting functionality" ">=dev-python/matplotlib-1.1"
+}
diff --git a/dev-python/steadymark/Manifest b/dev-python/steadymark/Manifest
new file mode 100644
index 000000000000..7d81e3b6aca5
--- /dev/null
+++ b/dev-python/steadymark/Manifest
@@ -0,0 +1 @@
+DIST steadymark-0.5.3.tar.gz 8180 SHA256 1e38274f27516fe337279b41049603e18aa3383980dc2665b836e3e0461b7cae SHA512 c30971675216f2afcb9f59fba5239fd6f37bc0d570b1ab34820f2fb83388330886a53ff3a31bf96e07b455ccfa8df3fda5bcd3d2212360419ec2b7290d1ddbaa WHIRLPOOL 0b48afe16589aeecec5a4622a6e89f47560d4c989b326edf8803549fc86f42cd320e7b01d6682633999ca429ac5b657e22218f316a3fc52a9f567fd0285f70b9
diff --git a/dev-python/steadymark/metadata.xml b/dev-python/steadymark/metadata.xml
new file mode 100644
index 000000000000..8d39b56b2cd1
--- /dev/null
+++ b/dev-python/steadymark/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">steadymark</remote-id>
+ <remote-id type="github">gabrielfalcao/steadymark</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/steadymark/steadymark-0.5.3.ebuild b/dev-python/steadymark/steadymark-0.5.3.ebuild
new file mode 100644
index 000000000000..34041e1363db
--- /dev/null
+++ b/dev-python/steadymark/steadymark-0.5.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Markdown-based test runner for python"
+HOMEPAGE="http://github.com/gabrielfalcao/steadymark"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/misaka[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
new file mode 100644
index 000000000000..a96cb4c53993
--- /dev/null
+++ b/dev-python/stevedore/Manifest
@@ -0,0 +1,4 @@
+DIST stevedore-1.1.0.tar.gz 352294 SHA256 f98381d12a6bfff718328d14d0d26cae6c83e39feb787e7b38acfe1089c3f1d3 SHA512 70f8629fdd455421871753810c14462ba66f81d1478ea45696c400a68f034a77c2a3efaac3c96bebe7293c42f73715681161b7fca8897d545a7ae06d64ad0c44 WHIRLPOOL 1f3e5380792cea8b3ef67fc4a4f8be40fd3cb2f048caa71c0c774990dc45d9981edec599312301b3f7a54955b941a421574e3c23c794fc3f117251e845ea214d
+DIST stevedore-1.3.0.tar.gz 354869 SHA256 beab2b7f91966d259796392c39ed6f260b32851861561dd9f3b9be2fd0c426a5 SHA512 68583c8e7c9c667c4456754a973d344f79ca141d380e6e568d82f8b36fc77e8debc4d77a006eb7b6e580edf017307f748842f1cae8a82ef101114eebdab82c26 WHIRLPOOL 16eb37416b4dccf8606aca2d407eda9060549e014f41db0f54982707f9a9d51cb7bdfcb048b8bac494f707dce042e22a7ff87c210aff8e39d4940717a5f5a6ca
+DIST stevedore-1.4.0.tar.gz 353953 SHA256 4a8d80b0a232746c09e0173bd61d60a18e9864e3dc87e3ebefa3ba3d8a00232f SHA512 a947d13ef15b2a5210da7115de7b49b4297f811a8237f0d205c2e2a676747255a852300ca99dd5279ae0de49f706b380fc8a09921c9a1e9f0bf6ad7ea34023e3 WHIRLPOOL 7c4ab9ce986cec938772ed63094a8f2d6a5072be948845dd324c7c68cae4082781babd36d87d832bae37d30960efa76309350cfafa725555e02ca6354dd7c2aa
+DIST stevedore-1.6.0.tar.gz 500868 SHA256 dab2aa31ec742f651e6a2fe0429560aebbbe0fb7fc462fa0ff565c8f5ff2ec25 SHA512 bdcf3ab8f539ad2df65cb6f1d0eecf77e98a7b579ea50ccb419979ce419632963c199e3e473a36072ba303d3fbdbfea3f0f56a27831c35c65a1874ebc8b6b0b4 WHIRLPOOL 65f6a08f6fa19214725c972bdbc39f605b4a852376ad19c5c29c4bb1a361dea69677e4f7a5061f7ce6201b8da06bd12b8693256cc7b562e4f92b866fcaffd013
diff --git a/dev-python/stevedore/files/1.1.0-requirements.patch b/dev-python/stevedore/files/1.1.0-requirements.patch
new file mode 100644
index 000000000000..cc4649752e3f
--- /dev/null
+++ b/dev-python/stevedore/files/1.1.0-requirements.patch
@@ -0,0 +1,13 @@
+pbr is used only at build time
+argparse is in the standard library
+six is used only in examples
+https://bugs.gentoo.org/show_bug.cgi?id=546776
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -2,6 +2,3 @@
+ # of appearance. Changing the order has an impact on the overall integration
+ # process, which may cause wedges in the gate later.
+
+-pbr>=0.6,!=0.7,<1.0
+-argparse
+-six>=1.7.0
diff --git a/dev-python/stevedore/files/1.4.0-requirements.patch b/dev-python/stevedore/files/1.4.0-requirements.patch
new file mode 100644
index 000000000000..e06ce7bd02d6
--- /dev/null
+++ b/dev-python/stevedore/files/1.4.0-requirements.patch
@@ -0,0 +1,13 @@
+pbr is used only at build time
+argparse is in the standard library
+six is used only in examples
+https://bugs.gentoo.org/show_bug.cgi?id=546776
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -2,6 +2,3 @@
+ # of appearance. Changing the order has an impact on the overall integration
+ # process, which may cause wedges in the gate later.
+
+-pbr>=0.6,!=0.7,<1.0
+-argparse
+-six>=1.9.0
diff --git a/dev-python/stevedore/metadata.xml b/dev-python/stevedore/metadata.xml
new file mode 100644
index 000000000000..a93084d00c4f
--- /dev/null
+++ b/dev-python/stevedore/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">stevedore</remote-id>
+ <remote-id type="github">openstack/stevedore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/stevedore/stevedore-1.1.0-r1.ebuild b/dev-python/stevedore/stevedore-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..e448740a7d52
--- /dev/null
+++ b/dev-python/stevedore/stevedore-1.1.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/dreamhost/stevedore https://pypi.python.org/pypi/stevedore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/pillow-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}/1.1.0-requirements.patch" )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests stevedore || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/stevedore/stevedore-1.3.0.ebuild b/dev-python/stevedore/stevedore-1.3.0.ebuild
new file mode 100644
index 000000000000..6b454f11aafa
--- /dev/null
+++ b/dev-python/stevedore/stevedore-1.3.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.python.org/pypi/stevedore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/pillow-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_compile_all() {
+ use doc && ${EPYTHON} setup.py build_sphinx
+}
+
+python_test() {
+ nosetests stevedore || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/stevedore/stevedore-1.4.0-r1.ebuild b/dev-python/stevedore/stevedore-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..b445f7daf249
--- /dev/null
+++ b/dev-python/stevedore/stevedore-1.4.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.python.org/pypi/stevedore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/pillow-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=( "${FILESDIR}/1.4.0-requirements.patch" )
+
+python_compile_all() {
+ use doc && ${EPYTHON} setup.py build_sphinx
+}
+
+python_test() {
+ nosetests stevedore || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/stevedore/stevedore-1.6.0-r1.ebuild b/dev-python/stevedore/stevedore-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..58656c79c23a
--- /dev/null
+++ b/dev-python/stevedore/stevedore-1.6.0-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.python.org/pypi/stevedore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/pillow-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/^pbr/d' -e '/^argparse/d' \
+ -i requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ esetup.py testr
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/stevedore/stevedore-1.6.0.ebuild b/dev-python/stevedore/stevedore-1.6.0.ebuild
new file mode 100644
index 000000000000..00453d33191e
--- /dev/null
+++ b/dev-python/stevedore/stevedore-1.6.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.python.org/pypi/stevedore"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )
+ doc? (
+ >=dev-python/pillow-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=">=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/pbr<2.0,/d' -e '/argparse/d' \
+ -i requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ esetup.py testr
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/stomper/Manifest b/dev-python/stomper/Manifest
new file mode 100644
index 000000000000..edb32d6fb2eb
--- /dev/null
+++ b/dev-python/stomper/Manifest
@@ -0,0 +1 @@
+DIST stomper-0.3.0.tar.gz 21051 SHA256 ceaacc016c0e8e98c3d3155f22069d18d403637d57492d9cf678813e27c9ecb0 SHA512 ba6feef44bb33a9b63f789043b131a314b903fda847dbb3ad909614a2a6b2b39f2d98dcd5bf19b070f4de9cec9dbce9cd79eb135911f16c1e8dc6d5f52158516 WHIRLPOOL 002bc793f6451ebcea03a1345930ba72df4e34aab288031371ba708daf06e58cb556c333f8c4fc640d129c2754171106679c28f983ceada4c5159208b6c895ff
diff --git a/dev-python/stomper/metadata.xml b/dev-python/stomper/metadata.xml
new file mode 100644
index 000000000000..98087bc50e6b
--- /dev/null
+++ b/dev-python/stomper/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">stomper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/stomper/stomper-0.3.0.ebuild b/dev-python/stomper/stomper-0.3.0.ebuild
new file mode 100644
index 000000000000..e123d4fb6048
--- /dev/null
+++ b/dev-python/stomper/stomper-0.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Supports only py2 pypy
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Transport neutral client implementation of the STOMP protocol"
+HOMEPAGE="http://pypi.python.org/pypi/stomper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+python_prepare_all() {
+ mv lib/${PN}/examples . || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/storm/Manifest b/dev-python/storm/Manifest
new file mode 100644
index 000000000000..3361beec202f
--- /dev/null
+++ b/dev-python/storm/Manifest
@@ -0,0 +1 @@
+DIST storm-0.20.tar.bz2 213069 SHA256 1fe016c9ec40520eafc3cf359f1ec2b7fa86be91e45c9279bfb0ea3b06390a82 SHA512 7a22c6a6fa45f7bbeeb5c6f934d6f889a6d90d78a6d3e3b9c6a6825485ec35301f573d08c619693a2587e795582db633254631c0be7cd8f1fee6b03a88378a8d WHIRLPOOL e18fb39e127eedd0f7691fc9b3c043b79da02beaab8088dc1f461cfdd23c91034ae6dbf3450a778ea2e06b93239463d5813015f5b6b6901f775da38b4188d2b1
diff --git a/dev-python/storm/metadata.xml b/dev-python/storm/metadata.xml
new file mode 100644
index 000000000000..eb2ab1aa0af2
--- /dev/null
+++ b/dev-python/storm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="launchpad">storm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/storm/storm-0.20-r1.ebuild b/dev-python/storm/storm-0.20-r1.ebuild
new file mode 100644
index 000000000000..dc45516f8916
--- /dev/null
+++ b/dev-python/storm/storm-0.20-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1
+
+DESCRIPTION="An object-relational mapper for Python developed at Canonical"
+HOMEPAGE="https://storm.canonical.com/ http://pypi.python.org/pypi/storm"
+SRC_URI="http://launchpad.net/storm/trunk/${PV}/+download/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mysql postgres sqlite test"
+
+RDEPEND="mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
+ postgres? ( =dev-python/psycopg-2*[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/fixtures[${PYTHON_USEDEP}] )"
+
+CFLAGS="${CFLAGS} -fno-strict-aliasing"
+
+DOCS="tests/tutorial.txt"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ sed -e "s:find_packages():find_packages(exclude=['tests','tests.*']):" \
+ -i setup.py || die
+
+ # delete rogue errors in setting exceptions
+ sed -e '/module_exception is not None:/d' \
+ -e '/module_exception.__bases__ += (exception,)/d' \
+ -i storm/exceptions.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ if use mysql; then
+ elog "To run the MySQL-tests, you need:"
+ elog " - a running mysql-server"
+ elog " - an already existing database 'db'"
+ elog " - a user 'user' with full permissions on that database"
+ elog " - and an environment variable STORM_MYSQL_URI=\"mysql://user:password@host:1234/db\""
+ fi
+ if use postgres; then
+ elog "To run the PostgreSQL-tests, you need:"
+ elog " - a running postgresql-server"
+ elog " - an already existing database 'db'"
+ elog " - a user 'user' with full permissions on that database"
+ elog " - and an environment variable STORM_POSTGRES_URI=\"postgres://user:password@host:1234/db\""
+ fi
+
+ # Some tests require a server instance which is absent
+ "${PYTHON}" test --verbose || die
+}
diff --git a/dev-python/stripogram/Manifest b/dev-python/stripogram/Manifest
new file mode 100644
index 000000000000..ad72f42e2cd0
--- /dev/null
+++ b/dev-python/stripogram/Manifest
@@ -0,0 +1 @@
+DIST stripogram-1.5.tar.gz 12195 SHA256 8666a1884b9c356cb69bd307d8e728b3b5a7dbc777c0daa3df99f7491eb2007f SHA512 7973f22492bdc564b8aa6cefd68c3c52cb77a079d97c867cec9e2e69dd495a2f9cd555ef3ea48c4b90897fd21fe0509fbc22a59f4de3f56bfddcb15e803bbf68 WHIRLPOOL fea0eeb6ac16ef4fade469be8b97db743966e869925353181b8422dc04de3ce47314248590404e0f87d1dfe35a04ea46365a639edbcffbe8c61cdc57fb4bd678
diff --git a/dev-python/stripogram/metadata.xml b/dev-python/stripogram/metadata.xml
new file mode 100644
index 000000000000..d3c511b1b70e
--- /dev/null
+++ b/dev-python/stripogram/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">stripogram</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/stripogram/stripogram-1.5-r1.ebuild b/dev-python/stripogram/stripogram-1.5-r1.ebuild
new file mode 100644
index 000000000000..c04c87e524b3
--- /dev/null
+++ b/dev-python/stripogram/stripogram-1.5-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Strip-o-Gram HTML Conversion Library"
+HOMEPAGE="http://pypi.python.org/pypi/stripogram"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/stsci-distutils/Manifest b/dev-python/stsci-distutils/Manifest
new file mode 100644
index 000000000000..f4e44b092a64
--- /dev/null
+++ b/dev-python/stsci-distutils/Manifest
@@ -0,0 +1 @@
+DIST stsci.distutils-0.3.7.tar.gz 48831 SHA256 e0f115126ec1e27b345e338ce9cbca0fe87cd30e409e052acccfea05a9e9783c SHA512 8ef81afe43dc080d28ce7e640c1e03cd0e0a857151ad307af742ef434e3a1abb489213a63a95618bac39a743624510a0d59a2817b6cadb929a2bcf64406ac85e WHIRLPOOL ae63e727add7e8eefb3c38f35f5f9bea7caaf9f75e74cdbfd04135184e5710d35bb3014712c6de0440375dcfa2f86b75ee31324a0108f06fd348882324477b72
diff --git a/dev-python/stsci-distutils/metadata.xml b/dev-python/stsci-distutils/metadata.xml
new file mode 100644
index 000000000000..075a4ef1271d
--- /dev/null
+++ b/dev-python/stsci-distutils/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<herd>sci-astronomy</herd>
+<longdescription>
+ This package contains utilities used to package some of STScI's Python
+ projects; specifically those projects that comprise stsci_python and
+ Astrolib.
+ It currently consists mostly of some setup_hook scripts meant for use with
+ distutils2/packaging and/or d2to1, and a customized easy_install command
+ meant for use with distribute.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">stsci.distutils</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/stsci-distutils/stsci-distutils-0.3.7.ebuild b/dev-python/stsci-distutils/stsci-distutils-0.3.7.ebuild
new file mode 100644
index 000000000000..e984e71f8ab0
--- /dev/null
+++ b/dev-python/stsci-distutils/stsci-distutils-0.3.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Utilities used to package some of STScI's Python projects"
+HOMEPAGE="http://www.stsci.edu/resources/software_hardware/stsci_python"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/d2to1[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/stsci-sphinxext/Manifest b/dev-python/stsci-sphinxext/Manifest
new file mode 100644
index 000000000000..418989f9c9a3
--- /dev/null
+++ b/dev-python/stsci-sphinxext/Manifest
@@ -0,0 +1 @@
+DIST stsci.sphinxext-1.2.1.tar.gz 75591 SHA256 17ae92d3ee683b0ac11a0f9a8b3862207aa7790f188147dd0de6a99721776f5a SHA512 98860d6748a6be00a853b12adb283ec138c8111d7c990c5ae7f493089eb5974943aa9fb101ec8b4f280b77c49d07ce6d44c50384477d57710ded0f3382155943 WHIRLPOOL 7a44b4097e1adb88cd8bbc7c900f42702eb8cc9f100239cbdc902ec0be667085bf639c7bd37ca633e33a873edd570fd3f8b624134dd68213d49173de2e701f9d
diff --git a/dev-python/stsci-sphinxext/metadata.xml b/dev-python/stsci-sphinxext/metadata.xml
new file mode 100644
index 000000000000..fcf407b8d4a2
--- /dev/null
+++ b/dev-python/stsci-sphinxext/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+ This project contains extensions to Sphinx to build documentation
+ from Space Telescope Science Institute.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">stsci.sphinxext</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/stsci-sphinxext/stsci-sphinxext-1.2.1.ebuild b/dev-python/stsci-sphinxext/stsci-sphinxext-1.2.1.ebuild
new file mode 100644
index 000000000000..76fcf0343363
--- /dev/null
+++ b/dev-python/stsci-sphinxext/stsci-sphinxext-1.2.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Tools and templates to customize Sphinx for STScI projects"
+HOMEPAGE="http://www.stsci.edu/resources/software_hardware/stsci_python"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpydoc[$(python_gen_usedep python2_7)]"
+DEPEND="${RDEPEND}
+ >=dev-python/d2to1-0.2.9[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/stsci-distutils-0.3.2[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/subunit/Manifest b/dev-python/subunit/Manifest
new file mode 100644
index 000000000000..bf25c7731d8f
--- /dev/null
+++ b/dev-python/subunit/Manifest
@@ -0,0 +1,8 @@
+DIST subunit-0.0.10.tar.gz 418118 SHA256 94a9837086ff773b00b097dbf877ab5b1d2255a003542f66e5720c867940912f SHA512 a61254a2f80785928c5645e4d88128c76dd4b4c9e1977c81fc356423ada58bd6acf9694894cbaa1e63648cf52c6691eb998b73829e51270a5d418ad639f1482c WHIRLPOOL 89f7352a1518074f05a678548eacb1be06a85178ecc5d28d4be22065fa8f9a27566c4787674ba32957f946b18f200052b0524ebb4599475bac47e677f430d814
+DIST subunit-0.0.16.tar.gz 437895 SHA256 47dbeacd39ada80e52d5db3258fbe40a42f096450ef8a674071166594b0e56c3 SHA512 1e1c75e6df505661ca67ffe7dfacf0cf91399ffd3e383dd873fed9991f1d04959dfef2ca4db03a415bacd9ea5d0267a8504cd0b0e5d532808aa58a20233e13ad WHIRLPOOL cf68385a6f39b048324be1e708254bcc05e9faaa55316f883eb40649e9a2bda746ad22b4f2f51019ce9015cf35ccd6feb43a3cf8e67f36c610c8adbc645ead20
+DIST subunit-0.0.18.tar.gz 439455 SHA256 f4508a83b1206a85f6c1cfc57f83edc2ca13d62cc65be90ec27eadfa792a6eb4 SHA512 d992207398fa29ac61b32b4b671c686c6af4de804bc9ef9b5bde78f5036880cfa670dded10fb272f41f7d57d68f91061c1c7b89039bda0c3c775df329ce912f6 WHIRLPOOL 8730b140dc886a57517d6e5be24e1ddb316761e2e7eae0eeb8f949a09a9312195e503032dabab20172a79d08d93d74ea041a445742adbf81f4e3bf877d2df54f
+DIST subunit-0.0.19.tar.gz 441610 SHA256 cd2921c49b07e1f524582d57f2d3b496ae4557ffe350a47d8f1722311356fdb3 SHA512 0e879046b31076a200fe26ebcca6dd162a90f25b125a757e370b6c0aa95fd4ce351f2f84448c90ba982676468155254e8a29ad03ed98ca472e3e19b93a2a4761 WHIRLPOOL d5a7dfa85cf64d3b079b8caf4d5418c84caad9d1485e3f545650e1414fb1d1ebabbcf372f387a7fbf7ded9017145351bb6b315f0288d6c04cc17a278522f1b9c
+DIST subunit-0.0.21.tar.gz 441691 SHA256 f12565cb0c6efdee4d96e9e640db4bcbfbede734223de940f9f3969c4a8e2f4c SHA512 2bbf312c7d80c3bea02163924a205df5553be3eceab5b2951512f9d71110608f1243440491a22c878d0691b9197dfe19c5c49fbb608883a038fa86626144ab12 WHIRLPOOL 749b0763d568f6a9803de11a59b92b357b41b8ae64e531e6cdefcc6114d6c4f2799c6c36e8372b92f1d173123d7a5847782d1f3ff193c83a7755a95a773204e3
+DIST subunit-0.0.6.tar.gz 388872 SHA256 98f5e72107322dc1c502543384e1ed790671d319a5096eab4f4d20641555de77 SHA512 79aa46a2cbdbe27bb1fcfa02a65bd10ba9ccf5013f9cbd8549d5aad304b8d451ed6a854b1b77415601aab8f6966b7004337634ea5e7bd8387dda8209781b118f WHIRLPOOL fd05cfed6e7cd50df57dfc3dd0c45bf955a033abf7c43849193a9f7515847eb7d2df5819e964407dac253c46ba5073f2bb1499a92a94a072591a4db4d5128c2b
+DIST subunit-1.0.0.tar.gz 441964 SHA256 55dc2c1c22c650ad9f109516a72a9d37b986939de25b6195210724ce79ced0ba SHA512 082990e777667edb7d3666b554a1818a976369742a1ed9bbc47a9c59f97937c0619a315893f532e49c2cd798537b320ca2aa9df916906b85a75db8a7d4f8bc84 WHIRLPOOL e6650f991ecb0c7d0fc6001947cc5f11740c34783e62485bf5e8acebc9369665a8658789c7b7df5608efe8c5931b263952383231e8989f3be98cca2a807ba471
+DIST subunit-1.1.0.tar.gz 441946 SHA256 4869a5bec96b7b4e760d053f842d80548008740cda1a7efbb9053063ee818a51 SHA512 11aaa8f2ae04232623fbfb7b9561aa15bddbc55201a3a16eea1319a076de3417977590c57bb7ab0bbd86b321b203241ba5ea8050932759aeb3f3ed71b723a98b WHIRLPOOL 2705fcb98d0b67b5d2cddff87095a9b65782467f3e9b84f956ac29c85c2995881dcd63468a144277fb76b7adfdbbb2ecdc36eae8413886a72028e3565edbdf47
diff --git a/dev-python/subunit/files/0.0.21-tests.patch b/dev-python/subunit/files/0.0.21-tests.patch
new file mode 100644
index 000000000000..178fc1215d23
--- /dev/null
+++ b/dev-python/subunit/files/0.0.21-tests.patch
@@ -0,0 +1,25 @@
+diff -ur subunit-0.0.21.orig/python/subunit/tests/test_run.py subunit-0.0.21/python/subunit/tests/test_run.py
+--- python/subunit/tests/test_run.py 2014-08-24 13:27:32.000000000 +0800
++++ python/subunit/tests/test_run.py 2014-09-23 14:03:54.731069912 +0800
+@@ -65,21 +65,6 @@
+ exc = self.assertRaises(SystemExit, runner.list, None)
+ self.assertEqual((2,), exc.args)
+
+- class FailingTest(TestCase):
+- def test_fail(self):
+- 1/0
+-
+- def test_exits_zero_when_tests_fail(self):
+- bytestream = io.BytesIO()
+- stream = io.TextIOWrapper(bytestream, encoding="utf8")
+- try:
+- self.assertEqual(None, run.main(
+- argv=["progName", "subunit.tests.test_run.TestSubunitTestRunner.FailingTest"],
+- stdout=stream))
+- except SystemExit:
+- self.fail("SystemExit raised")
+- self.assertThat(bytestream.getvalue(), StartsWith(_b('\xb3')))
+-
+ def test_exits_nonzero_when_execution_errors(self):
+ bytestream = io.BytesIO()
+ stream = io.TextIOWrapper(bytestream, encoding="utf8")
diff --git a/dev-python/subunit/files/1.0.0-tests.patch b/dev-python/subunit/files/1.0.0-tests.patch
new file mode 100644
index 000000000000..d83a1900cbe1
--- /dev/null
+++ b/dev-python/subunit/files/1.0.0-tests.patch
@@ -0,0 +1,25 @@
+diff -ur subunit-1.0.0.orig/python/subunit/tests/test_run.py subunit-1.0.0/python/subunit/tests/test_run.py
+--- python/subunit/tests/test_run.py 2014-11-18 16:59:26.000000000 +0800
++++ python/subunit/tests/test_run.py 2015-03-26 13:25:19.193341069 +0800
+@@ -77,21 +77,6 @@
+ exc = self.assertRaises(SystemExit, runner.list, None, loader=loader)
+ self.assertEqual((2,), exc.args)
+
+- class FailingTest(TestCase):
+- def test_fail(self):
+- 1/0
+-
+- def test_exits_zero_when_tests_fail(self):
+- bytestream = io.BytesIO()
+- stream = io.TextIOWrapper(bytestream, encoding="utf8")
+- try:
+- self.assertEqual(None, run.main(
+- argv=["progName", "subunit.tests.test_run.TestSubunitTestRunner.FailingTest"],
+- stdout=stream))
+- except SystemExit:
+- self.fail("SystemExit raised")
+- self.assertThat(bytestream.getvalue(), StartsWith(_b('\xb3')))
+-
+ class ExitingTest(TestCase):
+ def test_exit(self):
+ raise SystemExit(0)
diff --git a/dev-python/subunit/files/shell-tests.patch b/dev-python/subunit/files/shell-tests.patch
new file mode 100644
index 000000000000..46d72c168fc8
--- /dev/null
+++ b/dev-python/subunit/files/shell-tests.patch
@@ -0,0 +1,24 @@
+diff -ur subunit-0.0.10.orig/shell/tests/test_function_output.sh subunit-0.0.10/shell/tests/test_function_output.sh
+--- shell/tests/test_function_output.sh 2013-06-17 19:02:34.378260908 +0800
++++ tests/test_function_output.sh 2013-06-17 19:03:49.082260928 +0800
+@@ -22,7 +22,7 @@
+ # it is assumed that we are running from the 'shell' tree root in the source
+ # of subunit, and that the library sourcing tests have all passed - if they
+ # have not, this test script may well fail strangely.
+-
++SHELL_SHARE="shell/share/"
+ # import the library.
+ . ${SHELL_SHARE}subunit.sh
+
+diff -ur subunit-0.0.10.orig/shell/tests/test_source_library.sh subunit-0.0.10/shell/tests/test_source_library.sh
+--- shell/tests/test_source_library.sh 2013-06-17 19:03:01.322260915 +0800
++++ shell/tests/test_source_library.sh 2013-06-17 18:53:46.634260762 +0800
+@@ -20,7 +20,7 @@
+ # bindings being complete yet.
+
+ # we expect to be run from the tree root.
+-
++SHELL_SHARE="shell/share/"
+ echo 'test: shell bindings can be sourced'
+ # if any output occurs, this has failed to source cleanly
+ source_output=$(. ${SHELL_SHARE}subunit.sh 2>&1)
diff --git a/dev-python/subunit/metadata.xml b/dev-python/subunit/metadata.xml
new file mode 100644
index 000000000000..77be1e060a18
--- /dev/null
+++ b/dev-python/subunit/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>bazaar</herd>
+ <herd>python</herd>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="launchpad">subunit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/subunit/subunit-0.0.10-r1.ebuild b/dev-python/subunit/subunit-0.0.10-r1.ebuild
new file mode 100644
index 000000000000..77a525a42f4f
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.10-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit autotools-utils python-single-r1
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-python/testtools-0.9.23[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-libs/check
+ dev-util/cppunit
+ >=sys-devel/automake-1.12
+ virtual/pkgconfig"
+
+src_prepare() {
+ # update py-compile to handle py3 properly
+ # XXX: handle it in the eclass?
+ cp "$(automake --print-libdir || die)"/py-compile . || die
+ epatch "${FILESDIR}"/shell-tests.patch
+
+ autotools-utils_src_prepare
+}
+
+src_test() {
+ if ! PYTHONPATH="${S}"/python/ "${PYTHON}" runtests.py; then
+ die "Tests failed under ${EPYTHON}"
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ python_fix_shebang "${D}"/usr/bin
+}
diff --git a/dev-python/subunit/subunit-0.0.16.ebuild b/dev-python/subunit/subunit-0.0.16.ebuild
new file mode 100644
index 000000000000..e0f2e4a0044d
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.16.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 x86 ~x86-fbsd"
+#need to keyword the following in =dev-python/extras-0.0.3 then readd the keywords here
+#ia64 s390 sh sparc amd64-fbsd
+IUSE="static-libs"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ dev-libs/check
+ dev-util/cppunit
+ virtual/pkgconfig"
+
+src_configure() {
+ econf --enable-shared $(use_enable static-libs static)
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ emake
+ distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+ prune_libtool_files
+ distutils-r1_src_install
+}
diff --git a/dev-python/subunit/subunit-0.0.18-r2.ebuild b/dev-python/subunit/subunit-0.0.18-r2.ebuild
new file mode 100644
index 000000000000..36d3150bbf8f
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.18-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils multilib-minimal
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
+#need to keyword the following in =dev-python/extras-0.0.3 then readd the keywords here
+#ia64 s390 sh sparc amd64-fbsd
+IUSE="static-libs"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+# test? ( dev-python/testscenarios[${PYTHON_USEDEP}] )
+#requires keywording first; Bug #506510
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+#requires keywording first; Bug #506510
+RESTRICT="test"
+
+src_prepare() {
+ # needed for perl modules
+ multilib_copy_sources
+ distutils-r1_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-python/subunit/subunit-0.0.19.ebuild b/dev-python/subunit/subunit-0.0.19.ebuild
new file mode 100644
index 000000000000..96dde06b9d3f
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.19.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils multilib-minimal
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
+#need to keyword the following in =dev-python/extras-0.0.3 then readd the keywords here
+#ia64 s390 sh sparc amd64-fbsd
+IUSE="static-libs"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+# test? ( dev-python/testscenarios[${PYTHON_USEDEP}] )
+#requires keywording first; Bug #506510
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+#requires keywording first; Bug #506510
+RESTRICT="test"
+
+src_prepare() {
+ sed -i -e 's/os.chdir(os.path.dirname(__file__))//' setup.py || die
+ # needed for perl modules
+ multilib_copy_sources
+ distutils-r1_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-python/subunit/subunit-0.0.21-r1.ebuild b/dev-python/subunit/subunit-0.0.21-r1.ebuild
new file mode 100644
index 000000000000..7fd6dad87a53
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.21-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils multilib-minimal
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 x86 ~x86-fbsd"
+IUSE="static-libs test"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ test? ( dev-python/testscenarios[${PYTHON_USEDEP}] )"
+
+# Take out rogue & trivial failing tests that exit the suite before it even gets started
+PATCHES=( "${FILESDIR}"/${PV}-tests.patch )
+
+src_prepare() {
+ sed -i -e 's/os.chdir(os.path.dirname(__file__))//' setup.py || die
+
+ # Install perl modules in vendor_perl, bug 534654.
+ export INSTALLDIRS=vendor
+
+ # needed for perl modules
+ distutils-r1_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-python/subunit/subunit-0.0.6.ebuild b/dev-python/subunit/subunit-0.0.6.ebuild
new file mode 100644
index 000000000000..ff5dbf7dc025
--- /dev/null
+++ b/dev-python/subunit/subunit-0.0.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit python
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=dev-python/testtools-0.9.4"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ dev-libs/check
+ dev-util/cppunit
+ virtual/pkgconfig"
+RESTRICT_PYTHON_ABIS="3.*"
+
+pkg_postinst() {
+ python_mod_optimize subunit
+}
+
+pkg_postrm() {
+ python_mod_cleanup subunit
+}
diff --git a/dev-python/subunit/subunit-1.0.0.ebuild b/dev-python/subunit/subunit-1.0.0.ebuild
new file mode 100644
index 000000000000..8c792b85866e
--- /dev/null
+++ b/dev-python/subunit/subunit-1.0.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils multilib-minimal
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE="static-libs test"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ test? ( dev-python/testscenarios[${PYTHON_USEDEP}] )"
+
+# Take out rogue & trivial failing tests that exit the suite before it even gets started
+# The removed class in fact works fine in py3 and fails with py2.7 & pupu
+# The setu to restrict this patch is just those 2 is not worth it.
+PATCHES=( "${FILESDIR}"/${PV}-tests.patch )
+
+src_prepare() {
+ sed -i -e 's/os.chdir(os.path.dirname(__file__))//' setup.py || die
+
+ # Install perl modules in vendor_perl, bug 534654.
+ export INSTALLDIRS=vendor
+
+ # needed for perl modules
+ distutils-r1_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ # Following tests are known to fail in py2.7 & pypy. They pass under py3.
+ # DO NOT re-file
+ # test_add_error test_add_error_details test_add_expected_failure
+ # test_add_expected_failure_details test_add_failure test_add_failure
+ # https://bugs.launchpad.net/subunit/+bug/1436686
+
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-python/subunit/subunit-1.1.0.ebuild b/dev-python/subunit/subunit-1.1.0.ebuild
new file mode 100644
index 000000000000..67a737edf288
--- /dev/null
+++ b/dev-python/subunit/subunit-1.1.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 eutils multilib-minimal
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="https://launchpad.net/subunit http://pypi.python.org/pypi/python-subunit"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE="static-libs test"
+
+RDEPEND=">=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ test? ( dev-python/testscenarios[${PYTHON_USEDEP}] )"
+
+# Take out rogue & trivial failing tests that exit the suite before it even gets started
+# The removed class in fact works fine in py3 and fails with py2.7 & pupu
+# The setu to restrict this patch is just those 2 is not worth it.
+PATCHES=( "${FILESDIR}"/1.0.0-tests.patch )
+
+src_prepare() {
+ sed -i -e 's/os.chdir(os.path.dirname(__file__))//' setup.py || die
+
+ # Install perl modules in vendor_perl, bug 534654.
+ export INSTALLDIRS=vendor
+
+ # needed for perl modules
+ distutils-r1_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ local -x PATH="${PWD}/shell/share:${PATH}"
+ local -x PYTHONPATH=python
+ # Following tests are known to fail in py2.7 & pypy. They pass under py3.
+ # DO NOT re-file
+ # test_add_error test_add_error_details test_add_expected_failure
+ # test_add_expected_failure_details test_add_failure test_add_failure
+ # https://bugs.launchpad.net/subunit/+bug/1436686
+
+ "${PYTHON}" -m testtools.run all_tests.test_suite || die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files
+}
diff --git a/dev-python/subvertpy/Manifest b/dev-python/subvertpy/Manifest
new file mode 100644
index 000000000000..f0eb7b0cf2b2
--- /dev/null
+++ b/dev-python/subvertpy/Manifest
@@ -0,0 +1 @@
+DIST subvertpy-0.9.1.tar.gz 110972 SHA256 8a5bc24f1abf273de22f0caf1d76a63b51ed5cfb6cd62f6ef58807adb9aaf6a7 SHA512 977e291c011e680cff9e26312b4235c0479374076964c7c4a4c3c7ec75bcc44ff7c458513ab89f1aa2b599d3bd8f94cbc6d1000afcf725a9f937a90b39456148 WHIRLPOOL c8dcc98750107110251c51a7d47b073de2ea07200fdc44fad6494be69909563a4ec1a49c085d73d820acc8a6c30c6506eb0844351e43785b0b5d3d74d1027dc0
diff --git a/dev-python/subvertpy/metadata.xml b/dev-python/subvertpy/metadata.xml
new file mode 100644
index 000000000000..a05c0b585be1
--- /dev/null
+++ b/dev-python/subvertpy/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>bazaar</herd>
+</pkgmetadata>
diff --git a/dev-python/subvertpy/subvertpy-0.9.1.ebuild b/dev-python/subvertpy/subvertpy-0.9.1.ebuild
new file mode 100644
index 000000000000..d9f51030eae8
--- /dev/null
+++ b/dev-python/subvertpy/subvertpy-0.9.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Alternative Python bindings for Subversion"
+HOMEPAGE="http://samba.org/~jelmer/subvertpy/ http://pypi.python.org/pypi/subvertpy"
+SRC_URI="http://samba.org/~jelmer/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 LGPL-3 )"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND=">=dev-vcs/subversion-1.4"
+DEPEND="${RDEPEND}
+ test? ( || (
+ dev-python/testtools
+ ) )"
+
+DOCS=( NEWS AUTHORS )
+S=${WORKDIR}
+
+python_compile() {
+ python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ distutils_install_for_testing
+ pushd man > /dev/null
+ # hack: the subvertpy in . has no compiled modules, so cd into any
+ # directory to give the installed version precedence on PYTHONPATH
+ ${PYTHON} -m unittest subvertpy.tests.test_suite
+ popd man > /dev/null
+}
diff --git a/dev-python/suds/Manifest b/dev-python/suds/Manifest
new file mode 100644
index 000000000000..f9fbfb71a012
--- /dev/null
+++ b/dev-python/suds/Manifest
@@ -0,0 +1,2 @@
+DIST suds-0.4.tar.gz 104013 SHA256 d5524ae523bb9e09c57bcdbd1efae2c287d20603688ea31f6020ed180a489af0 SHA512 5ec53c3e834947a394fec8d51b497d6e5824fd5e6e51addce98d552cfa692cac99e159e270d247fff98a0f669506f4c179fad3f43452600bae1db08f851dec1b WHIRLPOOL 84a63b343e96d06f85757b97c51582305ec0d6d634171260723cafc356b76266f0f2ece5f16ea6772a35a76f0587a15871e3801eb53db7171c5761d74b4ecc18
+DIST suds-0.6.tar.bz2 143985 SHA256 29edb72fd21e3044093d86f33c66cf847c5aaab26d64cb90e69e528ef014e57f SHA512 ec078b159bd83c5799e293d9607138ee1da90fdc64da203999555a4324ce7be0235156d3c7ad28e46f84180a6e51e2f3f82228e5e77ae41c61ee20f3db2c916b WHIRLPOOL 9c62762f1c865cf7763d9a7332dfa9927dcb693a99414de063451a11581a7e303b19c3c0f840db339829bd59c116565fba26d98aaa520739a6aa84edaabc90aa
diff --git a/dev-python/suds/metadata.xml b/dev-python/suds/metadata.xml
new file mode 100644
index 000000000000..ec200de66966
--- /dev/null
+++ b/dev-python/suds/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">A lightweight SOAP python client for consuming Web Services.</longdescription>
+ <upstream>
+ <remote-id type="pypi">suds</remote-id>
+ <remote-id type="bitbucket">jurko/suds</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/suds/suds-0.4-r1.ebuild b/dev-python/suds/suds-0.4-r1.ebuild
new file mode 100644
index 000000000000..2a05169a5462
--- /dev/null
+++ b/dev-python/suds/suds-0.4-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight SOAP client"
+HOMEPAGE="https://fedorahosted.org/suds/ http://pypi.python.org/pypi/suds"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_compile_all() {
+ if use doc; then
+ epydoc -n "Suds - ${DESCRIPTION}" -o doc suds || die
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/suds/suds-0.6-r1.ebuild b/dev-python/suds/suds-0.6-r1.ebuild
new file mode 100644
index 000000000000..f38a4629c560
--- /dev/null
+++ b/dev-python/suds/suds-0.6-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight SOAP client (Jurko's fork) (py3 support) (active development)"
+HOMEPAGE="http://bitbucket.org/jurko/suds"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}-jurko/${PN}-jurko-${PV}.tar.bz2 -> ${P}.tar.bz2"
+S="${WORKDIR}/${PN}-jurko-${PV}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+REQUIRED_USE="doc? ( $(python_gen_useflags python2_7) )"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/epydoc[$(python_gen_usedep python2_7)] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+DOCS=( README.rst notes/{argument_parsing.rst,readme.txt,traversing_client_data.rst} )
+
+python_compile_all() {
+ # to say that it's both, because it kinda is...
+ ! use doc || epydoc -n "Suds - ${DESCRIPTION}" -o doc suds || die
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ # test folder makes for file collisions by the eclass
+ sed -i -e '/^tests/d' suds_jurko.egg-info/top_level.txt suds_jurko.egg-info/SOURCES.txt || die
+ cp -r suds_jurko.egg-info suds.egg-info || die
+ sed -i -e 's/Name\:\ suds-jurko/Name:\ suds/g' -e '/^Obsoletes/d' suds.egg-info/PKG-INFO || die
+ rm -rf ./{tests,build/lib/tests,lib/tests}/ || die
+ distutils-r1_python_install
+}
diff --git a/dev-python/suds/suds-0.6.ebuild b/dev-python/suds/suds-0.6.ebuild
new file mode 100644
index 000000000000..accbbcdb4df6
--- /dev/null
+++ b/dev-python/suds/suds-0.6.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight SOAP client (Jurko's fork) (py3 support) (active development)"
+HOMEPAGE="http://bitbucket.org/jurko/suds"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}-jurko/${PN}-jurko-${PV}.tar.bz2 -> ${P}.tar.bz2"
+S="${WORKDIR}/${PN}-jurko-${PV}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare() {
+ rm -R tests
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ mv suds_jurko.egg-info suds.egg-info || die
+ sed -i -e 's/Name\:\ suds-jurko/Name:\ suds/g' -e '/^Obsoletes/d' suds.egg-info/PKG-INFO || die
+}
diff --git a/dev-python/sudsds/Manifest b/dev-python/sudsds/Manifest
new file mode 100644
index 000000000000..0ae8a34dcec3
--- /dev/null
+++ b/dev-python/sudsds/Manifest
@@ -0,0 +1 @@
+DIST sudsds-1.0.1.tar.gz 84196 SHA256 eea36b873a98cce4b5597812f62e2c20eb534dd520a569d6aa250e29ea83ea9c SHA512 11f064702300651dc7f7100698d20946f1ee06c8d08963fcb123620fd8ce34608ffb5a5df9d28f5b241080ead32680a6376ba224253383901a0d81240957be36 WHIRLPOOL 6a5a25129a7b9b0819eb848c312dfc7e0e5b1120be044357124c17cfb09a33953e7d2a17ec651d09d4877141d5aea3f53aaf0515c563798a1a07ca21b14e63b9
diff --git a/dev-python/sudsds/metadata.xml b/dev-python/sudsds/metadata.xml
new file mode 100644
index 000000000000..091da0683b55
--- /dev/null
+++ b/dev-python/sudsds/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ A lightweight SOAP python client for consuming Web Services. Czech NIC labs fork.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/sudsds/sudsds-1.0.1-r1.ebuild b/dev-python/sudsds/sudsds-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..4e550c358f8c
--- /dev/null
+++ b/dev-python/sudsds/sudsds-1.0.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight SOAP client - Czech NIC labs fork"
+HOMEPAGE="https://labs.nic.cz/page/969/"
+SRC_URI="http://www.nic.cz/public_media/datove_schranky/releases/src/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/sure/Manifest b/dev-python/sure/Manifest
new file mode 100644
index 000000000000..051f282e6778
--- /dev/null
+++ b/dev-python/sure/Manifest
@@ -0,0 +1,3 @@
+DIST sure-1.2.3.tar.gz 16921 SHA256 f6200277de5b63094f2d1d384967e19a95be53ba664bb7a748b3b183e5cfadf7 SHA512 79f9e7639e468e61858d70cb3184c44e9de30d1ecefb4701e3a305b9fc231b9a4df27e795f8b31da6ddc221ba002bc83dd59621e7f364598c80b831a4bcc9fa9 WHIRLPOOL 1c2d5d58b2765e1ea89bb27d079083479f4460a01ae735268fbc82148643348a8796ec6142b39e4a188fb6bad16a130578b66ae52bd2ebe112bd2972cd6cc54a
+DIST sure-1.2.5-r1.tar.gz 52128 SHA256 8a77c1372f3bf9784310b3cf0ab66e86190b531a2b68e47616bce0e4e4983fbe SHA512 733df3a9482cc23e5f078b554a80a726ed87f4ac307b00166d5ad7d8d40de47fe7d77a7373b213d75fc78849a2ba0dbea89f71c6f29449f52eab448fdf847c45 WHIRLPOOL d466c9a6016f636f2b388ed001c12f7e050184b2b54507e1ef5ead4899b2ab8433022254645bd7a989f15105d768902e18289c8f23cff82277d422811f1b7cfb
+DIST sure-1.2.5.tar.gz 19048 SHA256 63f9861f607c5a27d090edaf91e6c93421a11ae1c011171f7394f44ccc391cdc SHA512 41f097318093b7e1683c38cae7aad3551bcc4e82918d3005388ce660c81a014b0939d3ad9dc12905c50892c82282c3e90aadb01ca7600b593d09afa2549c7135 WHIRLPOOL ea3bb51d9f0b375656b248c80c0a381fc026347efb0a94c856fb319c1e6f1e7d9e6e5a665f57e835a4fdb50060f3b2fa4c9168e8f61ae01af5a05bfc337a9481
diff --git a/dev-python/sure/metadata.xml b/dev-python/sure/metadata.xml
new file mode 100644
index 000000000000..86a8cab220a9
--- /dev/null
+++ b/dev-python/sure/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">sure</remote-id>
+ <remote-id type="github">gabrielfalcao/sure</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sure/sure-1.2.3.ebuild b/dev-python/sure/sure-1.2.3.ebuild
new file mode 100644
index 000000000000..0aaec82c76fd
--- /dev/null
+++ b/dev-python/sure/sure-1.2.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A utility belt for automated testing in python for python"
+HOMEPAGE="http://github.com/gabrielfalcao/sure"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/sure/sure-1.2.5-r1.ebuild b/dev-python/sure/sure-1.2.5-r1.ebuild
new file mode 100644
index 000000000000..3a67273f032e
--- /dev/null
+++ b/dev-python/sure/sure-1.2.5-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="utility belt for automated testing in python for python"
+HOMEPAGE="http://github.com/gabrielfalcao/sure"
+SRC_URI="https://github.com/gabrielfalcao/${PN}/archive/${PV}.tar.gz -> ${P}-r1.tar.gz"
+
+S="${WORKDIR}/${P}-r1"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+CDEPEND="
+ >=dev-python/nose-1.3.0[${PYTHON_USEDEP}]
+ ~dev-python/rednose-0.4.1[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${CDEPEND} )
+"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ ebegin 'patching setup.py'
+ sed \
+ -e "82s/read_version()/'${PV}'/" \
+ -i setup.py
+ STATUS=$?
+ eend ${STATUS}
+ [[ ${STATUS} -gt 0 ]] && die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -s tests --rednose || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/sure/sure-1.2.5.ebuild b/dev-python/sure/sure-1.2.5.ebuild
new file mode 100644
index 000000000000..0aaec82c76fd
--- /dev/null
+++ b/dev-python/sure/sure-1.2.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A utility belt for automated testing in python for python"
+HOMEPAGE="http://github.com/gabrielfalcao/sure"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/symboltype/Manifest b/dev-python/symboltype/Manifest
new file mode 100644
index 000000000000..a03b78e32dee
--- /dev/null
+++ b/dev-python/symboltype/Manifest
@@ -0,0 +1 @@
+DIST symboltype-1.0.zip 9507 SHA256 bcc311398c7dbcc9cbde9fe68bba89b0efe45103410b5949f3acf484fcb14f39 SHA512 1484adf4bd2df4f6def5cb6dab50e17d21a2baacb12af8a03aa981478deb97d1cfd3620c0e7d0e6e8c631b0c6bfc3912196c20a0feb39a3ddd4cf9e9dc42b6b2 WHIRLPOOL b92f3369f928f0021e6fe44877b2842cba18416cf0c3a0cb95c82a87604c227a927fa59fab28d98acad806eb864d80f9f319f53c965fa7bbfa7b37d4e1aa77a9
diff --git a/dev-python/symboltype/metadata.xml b/dev-python/symboltype/metadata.xml
new file mode 100644
index 000000000000..9258479a4ac6
--- /dev/null
+++ b/dev-python/symboltype/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">SymbolType</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/symboltype/symboltype-1.0.ebuild b/dev-python/symboltype/symboltype-1.0.ebuild
new file mode 100644
index 000000000000..d387df496b87
--- /dev/null
+++ b/dev-python/symboltype/symboltype-1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="SymbolType"
+
+DESCRIPTION="Gives access to the peak.util.symbols module"
+HOMEPAGE=" http://peak.telecommunity.com/DevCenter/SymbolType http://pypi.python.org/pypi/SymbolType"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip -> ${P}.zip"
+
+KEYWORDS="amd64 x86"
+IUSE="doc"
+LICENSE="ZPL"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+python_test() {
+ "${PYTHON}" test_symbols.py && einfo "Tests passed under ${EPYTHON}" \
+ || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
new file mode 100644
index 000000000000..16e28e4563f2
--- /dev/null
+++ b/dev-python/sympy/Manifest
@@ -0,0 +1,4 @@
+DIST sympy-0.7.4.1-system-mpmath.patch.gz 7350 SHA256 d7f2acd0ccfb06eb8c102dd7fae2325b35a5105a5853e01dcb863c0841dedc75 SHA512 761cdc6259101d6023d83cfea311a5547762c192b3c661ab3bc0ded20911ce464d0326a9b16d899ad35280a65046e621670e7de64ec40df740bfeb8bf667fb3d WHIRLPOOL 24693863da03dab6ed67131f46c4e18dfdc8110d0a23f49825dcb835909fa157781791680cfe46092c41c526fe281370aa7ce341f7fbccae02351d34c29bffd3
+DIST sympy-0.7.4.1.tar.gz 6824862 SHA256 51a8c2377c240a2cdb418bc59dac9ab106258196d04ce131d06806dbea2af456 SHA512 8d4d87428c202407ff364ef503634529500c1656cf5ddbb4de19b838499593c58d227f0b619541ce86cdc15157e3a5b48a95c906a5d05d4606ef95f1aa8fa2dc WHIRLPOOL 620d255e0cf289ac392328ad64e93d93489d8664df13498bac8933221c8edb80a45a8ea26da6cb8e1139ec2ca159c8f83ad196d96ee6afceb4fc8bb2a0eccfd7
+DIST sympy-0.7.6-system-mpmath.patch.gz 5030 SHA256 d5ff8ff4f79ed66714486954633d18f865820197081230b82ff8e2093751e073 SHA512 b8475f2a0c1320c7e5e1403476e011fae0997f07afba3fd892ad5e95e89b5cdfa5f92b778eb406b27f2c0edb2a119ee636c57ff32585360c26d38202ea09b075 WHIRLPOOL d03273573237b04c403438a75e4a4c21cf89a6b93e642a71126a136c6e4e9e07db3e5ebc8e5a4724b792e0d4885f38a7d30759e26fa61146f929a1447e16e64c
+DIST sympy-0.7.6.tar.gz 6430549 SHA256 dfa3927e9befdfa7da7a18783ccbc2fe489ce4c46aa335a879e49e48fc03d7a7 SHA512 ce0f1a17ac01eb48aec31fc0ad431d9d7ed9907f0e8584a6d79d0ffe6864fe62e203fe3f2a3c3e4e3d485809750ce07507a6488e776a388a7a9a713110882fcf WHIRLPOOL 850c27ae73f92f224826e5c00e41a0d4644fcb290767963744a947b03b704557423c00ed9a14ad696630c4611c3ed684926d58d7873127de76530325aae08ae2
diff --git a/dev-python/sympy/files/sympy-0.7.6-doc-makefile.patch b/dev-python/sympy/files/sympy-0.7.6-doc-makefile.patch
new file mode 100644
index 000000000000..b4beca8c2a1c
--- /dev/null
+++ b/dev-python/sympy/files/sympy-0.7.6-doc-makefile.patch
@@ -0,0 +1,10 @@
+diff -r -U2 sympy-0.7.6.orig/doc/Makefile sympy-0.7.6/doc/Makefile
+--- sympy-0.7.6.orig/doc/Makefile 2014-11-21 02:00:41.000000000 +0600
++++ sympy-0.7.6/doc/Makefile 2014-12-07 20:49:01.091613474 +0600
+@@ -118,5 +118,5 @@
+ pdflatex -output-directory=_build/cheatsheet cheatsheet/cheatsheet.tex
+
+-_build/cheatsheet/cheatsheet.pdf: cheatsheet/combinatoric_cheatsheet.tex
++_build/cheatsheet/combinatoric_cheatsheet.pdf: cheatsheet/combinatoric_cheatsheet.tex
+ mkdir -p _build/cheatsheet
+ pdflatex -output-directory=_build/cheatsheet cheatsheet/combinatoric_cheatsheet.tex
diff --git a/dev-python/sympy/metadata.xml b/dev-python/sympy/metadata.xml
new file mode 100644
index 000000000000..6a28c74a99d2
--- /dev/null
+++ b/dev-python/sympy/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>
+ SymPy is a Python library for symbolic mathematics (manipulation). It
+ aims to become a full-featured computer algebra system (CAS) while keeping
+ the code as simple as possible in order to be comprehensible and easily
+ extensible. SymPy is written entirely in Python and does not require
+ any external libraries, except optionally for plotting support.
+</longdescription>
+ <use>
+ <flag name="ipython">Add support for <pkg>dev-python/ipython</pkg></flag>
+ <flag name="imaging">Add support for <pkg>dev-python/imaging</pkg></flag>
+ <flag name="mathml">Add support for mathml</flag>
+ <flag name="pyglet">Use <pkg>dev-python/pyglet</pkg> for plots and print preview</flag>
+ <flag name="texmacs">Add <pkg>app-office/texmacs</pkg>
+ interface</flag>
+ <flag name="theano">Add support for <pkg>dev-python/theano</pkg></flag>
+ <flag name="system-mpmath">Use mpmath from portage instead of the bundled one</flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">sympy</remote-id>
+ <remote-id type="github">sympy/sympy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/sympy/sympy-0.7.4.1.ebuild b/dev-python/sympy/sympy-0.7.4.1.ebuild
new file mode 100644
index 000000000000..939beb11baa4
--- /dev/null
+++ b/dev-python/sympy/sympy-0.7.4.1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1 eutils virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="http://sympy.org"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz
+ http://dev.gentoo.org/~bicatali/distfiles/${P}-system-mpmath.patch.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc examples gtk imaging ipython latex mathml opengl pdf png pyglet +system-mpmath test texmacs theano"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/pexpect-2.0[${PYTHON_USEDEP}]' python2_7)
+ imaging? ( virtual/python-imaging[${PYTHON_USEDEP}] )
+ ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? (
+ dev-libs/libxml2:2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-libs/libxslt[${PYTHON_USEDEP}]' python2_7)
+ gtk? ( x11-libs/gtkmathview[gtk] )
+ )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( $(python_gen_cond_dep 'dev-python/pyglet[${PYTHON_USEDEP}]' python2_7) )
+ system-mpmath? ( >=dev-python/mpmath-0.18[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+ theano? ( $(python_gen_cond_dep 'dev-python/theano[${PYTHON_USEDEP}]' python2_7) )
+"
+
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND} dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use system-mpmath; then
+ rm -r sympy/mpmath doc/src/modules/mpmath || die
+ epatch "${WORKDIR}"/${P}-system-mpmath.patch
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ PYTHONPATH="." distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ export XDG_CONFIG_HOME="${T}/config-dir"
+ mkdir "${XDG_CONFIG_HOME}" || die
+ chmod 0700 "${XDG_CONFIG_HOME}" || die
+ emake -C doc html cheatsheet
+ fi
+}
+
+python_test() {
+ VIRTUALX_COMMAND="./setup.py" virtualmake test
+}
+
+python_install() {
+ PYTHONPATH="." distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/. ) && \
+ dodoc doc/_build/cheatsheet/cheatsheet.pdf
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/sympy/sympy-0.7.6.ebuild b/dev-python/sympy/sympy-0.7.6.ebuild
new file mode 100644
index 000000000000..fa8f6053c2b8
--- /dev/null
+++ b/dev-python/sympy/sympy-0.7.6.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="http://sympy.org"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz
+ http://dev.gentoo.org/~grozin/${P}-system-mpmath.patch.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-macos"
+IUSE="doc examples gtk imaging ipython latex mathml opengl pdf png pyglet +system-mpmath test texmacs theano"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ doc? ( python_targets_python2_7 )"
+
+RDEPEND="
+ $(python_gen_cond_dep '>=dev-python/pexpect-2.0[${PYTHON_USEDEP}]' python2_7)
+ imaging? ( virtual/python-imaging[${PYTHON_USEDEP}] )
+ ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? (
+ dev-libs/libxml2:2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-libs/libxslt[${PYTHON_USEDEP}]' python2_7)
+ gtk? ( x11-libs/gtkmathview[gtk] )
+ )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( $(python_gen_cond_dep 'dev-python/pyglet[${PYTHON_USEDEP}]' python2_7) )
+ system-mpmath? ( >=dev-python/mpmath-0.18[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+ theano? ( $(python_gen_cond_dep 'dev-python/theano[${PYTHON_USEDEP}]' python2_7) )
+"
+
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND} dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/${P}-doc-makefile.patch
+ if use system-mpmath; then
+ rm -r sympy/mpmath doc/src/modules/mpmath || die
+ epatch "${WORKDIR}"/${P}-system-mpmath.patch
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ PYTHONPATH="." distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ export XDG_CONFIG_HOME="${T}/config-dir"
+ mkdir "${XDG_CONFIG_HOME}" || die
+ chmod 0700 "${XDG_CONFIG_HOME}" || die
+ emake -j1 -C doc html info cheatsheet
+ fi
+}
+
+python_test() {
+ VIRTUALX_COMMAND="./setup.py" virtualmake test
+}
+
+python_install() {
+ PYTHONPATH="." distutils-r1_python_install
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.rst )
+ use doc &&\
+ DOCS=( ${DOCS[*]} doc/_build/cheatsheet/cheatsheet.pdf doc/_build/cheatsheet/combinatoric_cheatsheet.pdf ) &&\
+ local HTML_DOCS=( doc/_build/html/. ) &&\
+ doinfo doc/_build/texinfo/${PN}.info
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/tablib/Manifest b/dev-python/tablib/Manifest
new file mode 100644
index 000000000000..5812f34a0ffb
--- /dev/null
+++ b/dev-python/tablib/Manifest
@@ -0,0 +1,2 @@
+DIST tablib-0.10.0.tar.gz 724961 SHA256 41c2dad7f491f5557e22783a9af81bed62f7b6fb0d7afd4c2ee301f3eb428c93 SHA512 1582e574297386d20908aee00eeef415258fbcfe5387e6bbcb3a0e497662e7f107c35596624ca31b2b6ad49045a7a388ddb6f64171b9eb2a1b386324a7b29b47 WHIRLPOOL 39b3d792858a9ce08e6f0276a070575c2c3546e3377b15d98b130a288ecdc3c91ea671fa43790928aa4ee641616ee6fc1b3a7c008c0c40d243b2338e1892b0b8
+DIST tablib-0.9.11.tar.gz 571410 SHA256 05d7a1bcf5e723f1051b87bc4a699fce6f5a3fa158d91308c478ec7cd74290fd SHA512 bdc11b8d54c5d9edb7ac980859cdbb932162b1db5161c582a141b2a6a5b8f0742f3d55f248d3e4e5b4173727a5916af385b607ce807f7d2e4402b7ef62c5bad0 WHIRLPOOL 61a5bf5e26d9b2999857597dd4574f76b3fdc0762f86588e539bd6a70109ea464a7ff0f07145592e3ddcf1712df13fd6defbc9fb9a9c5a1ae558c870df0da82a
diff --git a/dev-python/tablib/metadata.xml b/dev-python/tablib/metadata.xml
new file mode 100644
index 000000000000..f253786e7cac
--- /dev/null
+++ b/dev-python/tablib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">tablib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tablib/tablib-0.10.0.ebuild b/dev-python/tablib/tablib-0.10.0.ebuild
new file mode 100644
index 000000000000..e2b109b0dd3d
--- /dev/null
+++ b/dev-python/tablib/tablib-0.10.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A format-agnostic tabular dataset library written in Python"
+HOMEPAGE="http://python-tablib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/tablib/tablib-0.9.11.ebuild b/dev-python/tablib/tablib-0.9.11.ebuild
new file mode 100644
index 000000000000..b0b029efe612
--- /dev/null
+++ b/dev-python/tablib/tablib-0.9.11.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A format-agnostic tabular dataset library written in Python"
+HOMEPAGE="http://python-tablib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/ujson[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/tabulate/Manifest b/dev-python/tabulate/Manifest
new file mode 100644
index 000000000000..b0f127b6942a
--- /dev/null
+++ b/dev-python/tabulate/Manifest
@@ -0,0 +1,3 @@
+DIST tabulate-0.7.2.tar.gz 19792 SHA256 532ccab8d9e4659a5f016d84814df86cc04763785e9de2739e890d956dc82d8f SHA512 49cbaf26004032889743937615a6f27a0728016013d81a3a0dfea0d3b25904aed333e59e697fb5040a61d68dfa6c8f8e7c1dd0b0ac4b470f424a26e62bf0a5d8 WHIRLPOOL 30cf8386c5961e3c0674e1c4b490cc21789644d6ad37e0dd9cdb46608220a26fd377b2ed8c34522c7dd8284692287c713b4bed58b229541cfb7aecc5d74c9ca7
+DIST tabulate-0.7.3.tar.gz 22315 SHA256 8a59a61ed6ddfdb009f15917e0f006cc5842f9daa72c519593b7a095e645532a SHA512 1932627e50f00caa14b8a393dd005cf5cc096c80918c4f943526560c0409561e9f8063e4ca0610b1c7e9006119ba6f56294c3b256d1ba60c1c52ea7da62ad67b WHIRLPOOL 77f8794536ab4a72eb32708296f24c68889877228cc9d4735ec177cf5e82b0bdd17cd46854e2a3ebf84b7295b897b6c171a842faf22538f157b7b681e1124ef0
+DIST tabulate-0.7.5.tar.gz 29844 SHA256 9071aacbd97a9a915096c1aaf0dc684ac2672904cd876db5904085d6dac9810e SHA512 dfc79e5fc2774520c117c4a2ee65ebe38f65430bda19697d443893a6eaad117de56c4b4c5157cdb8b09871c4eb452bc0b040b331602b6ab547b4326eb5c145eb WHIRLPOOL 719d507db5796960535c56e15f472130830715433f620bd92cb8c521a9ea58780286bf0f5f6fc32abe357cc185053d68505381e32b8e75c9334d5b5965ee85f2
diff --git a/dev-python/tabulate/metadata.xml b/dev-python/tabulate/metadata.xml
new file mode 100644
index 000000000000..e503ed4a5b7f
--- /dev/null
+++ b/dev-python/tabulate/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">tabulate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tabulate/tabulate-0.7.2.ebuild b/dev-python/tabulate/tabulate-0.7.2.ebuild
new file mode 100644
index 000000000000..916d1514d585
--- /dev/null
+++ b/dev-python/tabulate/tabulate-0.7.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pretty-print tabular data"
+HOMEPAGE="https://pypi.python.org/pypi/tabulate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( virtual/funcsigs[${PYTHON_USEDEP}] )
+"
+
+# Missing something:
+#
+# from common import assert_equal
+RESTRICT=test
+
+python_test() {
+ local testcase
+ for testcase in test/*py; do
+ ${PYTHON} ${testcase} || die
+ done
+}
diff --git a/dev-python/tabulate/tabulate-0.7.3.ebuild b/dev-python/tabulate/tabulate-0.7.3.ebuild
new file mode 100644
index 000000000000..7776a856ad53
--- /dev/null
+++ b/dev-python/tabulate/tabulate-0.7.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pretty-print tabular data"
+HOMEPAGE="https://pypi.python.org/pypi/tabulate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( virtual/funcsigs[${PYTHON_USEDEP}] )
+"
+
+# Missing something:
+#
+# from common import assert_equal
+RESTRICT=test
+
+python_test() {
+ local testcase
+ for testcase in test/*py; do
+ ${PYTHON} ${testcase} || die
+ done
+}
diff --git a/dev-python/tabulate/tabulate-0.7.5.ebuild b/dev-python/tabulate/tabulate-0.7.5.ebuild
new file mode 100644
index 000000000000..7776a856ad53
--- /dev/null
+++ b/dev-python/tabulate/tabulate-0.7.5.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pretty-print tabular data"
+HOMEPAGE="https://pypi.python.org/pypi/tabulate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ test? ( virtual/funcsigs[${PYTHON_USEDEP}] )
+"
+
+# Missing something:
+#
+# from common import assert_equal
+RESTRICT=test
+
+python_test() {
+ local testcase
+ for testcase in test/*py; do
+ ${PYTHON} ${testcase} || die
+ done
+}
diff --git a/dev-python/tagpy/Manifest b/dev-python/tagpy/Manifest
new file mode 100644
index 000000000000..4eab93223abb
--- /dev/null
+++ b/dev-python/tagpy/Manifest
@@ -0,0 +1,2 @@
+DIST tagpy-0.94.8.tar.gz 151986 SHA256 56eab8dd81510f8af18e19375a0ffd5cd25c8e555104be46a92c3dc08634a0dc SHA512 430ae545065e5358dab6021a47b3b176934bc0901058daace35f98b645f7b087859930566d951c30e0e03d91ad46771a5bddc2a6f48a7196cf66b994699b39f1 WHIRLPOOL 164a2c56f86c7174976c9c5d55cf4097a0b992809812524a63a6c2bf4476d189fdb8dad01431ce2b62337a57d25efea90081a2291bb396345dac15f79a3d3056
+DIST tagpy-2013.1.tar.gz 151463 SHA256 80481c78ce34878e7a1f3231acd781a3bf1b0b569c70ce0e8d63af58061152f4 SHA512 4068b33fcbee2d5037149fda3ad0b256a31187ee35146392d0e187acb1d8e57c249da5356cb396cb9f027ed47ff44016466a1faaea0912494535c631f8271d58 WHIRLPOOL b47f349bc7f328ee4c18856e7f817f35868529afa0b7a820ec614cb003b3f4c4c84fabc4bd6c5a93ce12d0721e9127cf0dc806df4977fbb505934b9ba5233c20
diff --git a/dev-python/tagpy/files/tagpy-0.94.8-taglib-1.8_compat.patch b/dev-python/tagpy/files/tagpy-0.94.8-taglib-1.8_compat.patch
new file mode 100644
index 000000000000..084ea983a6d7
--- /dev/null
+++ b/dev-python/tagpy/files/tagpy-0.94.8-taglib-1.8_compat.patch
@@ -0,0 +1,29 @@
+https://github.com/inducer/tagpy/commit/d0759c0ec7d24ae8d1af395a1032521eb00b4d1f
+https://github.com/inducer/tagpy/commit/813ec4f03bb4411c7ffd15dcb3974da04a3f109c
+
+--- tagpy-0.94.8/src/wrapper/id3.cpp
++++ tagpy-0.94.8/src/wrapper/id3.cpp
+@@ -79,6 +79,10 @@
+ MF_OL(setVolumeAdjustment, 1, 2);
+ MF_OL(setPeakVolume, 1, 2);
+
++ #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10800)
++ MF_OL(render, 0, 1)
++ #endif
++
+ // -------------------------------------------------------------
+ // MPEG
+ // -------------------------------------------------------------
+@@ -212,7 +216,11 @@
+ .DEF_SIMPLE_METHOD(removeFrame)
+ .DEF_SIMPLE_METHOD(removeFrames)
+
+- .DEF_SIMPLE_METHOD(render)
++ #if (TAGPY_TAGLIB_HEX_VERSION >= 0x10800)
++ .DEF_OVERLOADED_METHOD(render, ByteVector (cl::*)(int) const)
++ #else
++ .DEF_SIMPLE_METHOD(render)
++ #endif
+ ;
+ }
+
diff --git a/dev-python/tagpy/metadata.xml b/dev-python/tagpy/metadata.xml
new file mode 100644
index 000000000000..92c517ef03a8
--- /dev/null
+++ b/dev-python/tagpy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">TagPy is a Python crust (or a set of Python bindings) for Scott
+ Wheeler's TagLib. It builds upon Boost.Python, a wrapper generation
+ library which is part of the Boost set of C++ libraries.</longdescription>
+ <upstream>
+ <remote-id type="pypi">tagpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tagpy/tagpy-0.94.8-r1.ebuild b/dev-python/tagpy/tagpy-0.94.8-r1.ebuild
new file mode 100644
index 000000000000..bf0810f2c3a0
--- /dev/null
+++ b/dev-python/tagpy/tagpy-0.94.8-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.5 3.* *-jython 2.7-pypy-*"
+
+inherit distutils eutils
+
+DESCRIPTION="Python Bindings for TagLib"
+HOMEPAGE="http://mathema.tician.de//software/tagpy http://pypi.python.org/pypi/tagpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86"
+IUSE="examples"
+
+RDEPEND=">=dev-libs/boost-1.48[python]
+ >=media-libs/taglib-1.4"
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
+
+DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="1"
+
+src_prepare() {
+ # bug #440740
+ epatch "${FILESDIR}"/${P}-taglib-1.8_compat.patch
+
+ # Disable broken check for Distribute.
+ sed -e "s/if 'distribute' not in setuptools.__file__:/if False:/" -i aksetup_helper.py
+
+ distutils_src_prepare
+}
+
+src_configure() {
+ configuration() {
+ "$(PYTHON)" configure.py \
+ --taglib-inc-dir="${EPREFIX}/usr/include/taglib" \
+ --boost-python-libname="boost_python-${PYTHON_ABI}-mt"
+ }
+ python_execute_function -s configuration
+}
+
+src_install() {
+ distutils_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins test/*
+ fi
+}
diff --git a/dev-python/tagpy/tagpy-2013.1.ebuild b/dev-python/tagpy/tagpy-2013.1.ebuild
new file mode 100644
index 000000000000..ccea56b1bfd9
--- /dev/null
+++ b/dev-python/tagpy/tagpy-2013.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Bindings for TagLib"
+HOMEPAGE="http://mathema.tician.de//software/tagpy http://pypi.python.org/pypi/tagpy"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND=">=dev-libs/boost-1.49.0[python]
+ >=media-libs/taglib-1.7.2"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_configure() {
+ "${PYTHON}" configure.py \
+ --taglib-inc-dir="${EPREFIX}/usr/include/taglib" \
+ --boost-python-libname="boost_python-${EPYTHON#python}"
+ distutils-r1_python_configure
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( test/* )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/taskflow/Manifest b/dev-python/taskflow/Manifest
new file mode 100644
index 000000000000..05f73f617e20
--- /dev/null
+++ b/dev-python/taskflow/Manifest
@@ -0,0 +1,6 @@
+DIST taskflow-0.1.3.tar.gz 144130 SHA256 ab81452748c9fdb84e59525a58acff202b698f467d2d0290bf29c78774bfd796 SHA512 61f445146bf361d47a4519298f9c70ca07c3a644df9ef758a1113eea297caaeed9fe4222ea37dccbfe952f1416d0851501ea43cf6de3cca8f4cc0e37ff4cd30a WHIRLPOOL de6b32ef22384ae0d49c0a1eafa09098ef52a5a8fd12070ff60d85081001674a346b34c61683089f9c41f8f17c75ca15e31e0308a4e2689e9f09f0347cef8864
+DIST taskflow-0.10.0.tar.gz 672492 SHA256 7278b8abb3f359f8ecf3e80bd0ae82c1992679f7f5f0ba1ce0125f18b47e8da7 SHA512 4e0afed3ce7a3ed1b0d3dfbbbd253e3983ed5e1268308809504c2428d8ff7e4870a5bf3950ccc839672fa967560d96bf7908cdfad2efe438f164079d5ef435f5 WHIRLPOOL 6a95e789aade37c47aa3d2fc2877db8278887af90a28e1fc03f5a0d588aa5c83940dda5209176d0c292ce0f98ffa3a5969c6e75060cf9d73630f51a60f58df05
+DIST taskflow-0.10.1.tar.gz 672564 SHA256 717d6666e5dabcce615745d15a89f75f4bebc062b82288ebd54d657a2a15aeea SHA512 62178bc55f0bf3609a540a723c6955a793fbcc0ab5353929ffc4d54e4d3683ba19dd044773554ff3a8dcc145699fed48307c69432e650f08cbb9b207f11c87fd WHIRLPOOL 3c8e37c9d39105aaa3177f6f0ce5b2ef234a9183419d13cfb2bb069a2ec47832ce9d192ee80915082f9a5531f16f364bdb0bfdaa0d838c302fbc2e459e5fdd7f
+DIST taskflow-0.2.tar.gz 238352 SHA256 7cfbf08bfd52b9f652294cc914ad0e6032c209e5ae00a7cdbd2ac7ec2508d147 SHA512 6082ef47617d10157e4f91581dcebcd7f21d2d30ab687545c2c1af0bfa3471b27c96de87adafa7a54fe8bbd168500314f87ddb86db4a36b07d8aaf8e8cccb4eb WHIRLPOOL 9cf24c034b705a1ffc60d6a676d6a1e6aa7d480faf898891a44110a35ddf4bec6f7e0bf94462cefa7a7e4ec5ef2f544f01dcdc21a8e84c17ad8a0eb4762f033b
+DIST taskflow-0.5.0.tar.gz 415045 SHA256 1df392fba696b978be62364abc4d14bec3a4fd9007974631a2405356a43482ce SHA512 d7a0be2cab55c17ed572391bbe8c9d833272897765bb824de1db14f4e056010d736a54098986ea6c07c419b4ca3f62d2d403c884e8fb182bc9b6bf64124ebc74 WHIRLPOOL 82083edb9df4b2c7bb515eedaf6931d0fe83b93bd08fd177c5d0b3cd4dbe6f8946cdfc1f06f37faf61dc3e1394b93630ef739cef2580079feaf677b7b188ed1c
+DIST taskflow-0.7.1.tar.gz 631738 SHA256 bf1f833184c12787d09ab1b587b41d4feec631f2b9d7fc55e63ef3098e74ad5b SHA512 f3e06bec83c5ef963a386dafa80239b48595e1a3ed9857a4dabc3bf41114de49cc1d5282ae11508164b926a16c721be7e9d25bf51be0f86b7f7dda8ec5817f59 WHIRLPOOL d4f3e55c479437a2f373ca6f1c559c474ae7c935e79f9b7c26e6fd978c67bf58c63dccc7c755b33d9ccb7bbeab2ac7440b783222a0291e5ac93d02d972ea0a56
diff --git a/dev-python/taskflow/metadata.xml b/dev-python/taskflow/metadata.xml
new file mode 100644
index 000000000000..1a22092d6b2b
--- /dev/null
+++ b/dev-python/taskflow/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A library to do [jobs, tasks, flows] in a HA manner
+ using different backends to be used with OpenStack projects.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">taskflow</remote-id>
+ <remote-id type="github">openstack/taskflow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/taskflow/taskflow-0.1.3.ebuild b/dev-python/taskflow/taskflow-0.1.3.ebuild
new file mode 100644
index 000000000000..85a7efa30d8a
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.1.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+#not dealing with yet another dep
+RESTRICT="test"
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.3[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/taskflow/taskflow-0.10.0.ebuild b/dev-python/taskflow/taskflow-0.10.0.ebuild
new file mode 100644
index 000000000000..e37823b548a7
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.10.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/kombu-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/zake-0.1.6[${PYTHON_USEDEP}]
+ >=dev-python/kazoo-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ dev-python/psycopg[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7' 'python3_3')]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # this is py2.4-6 only so remove it
+ sed -i '/ordereddict/d' requirements*
+ # only needed by py2.7 and included by the virtual
+ sed -i '/futures/d' requirements*
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "failed testsuite under python2.7"
+}
diff --git a/dev-python/taskflow/taskflow-0.10.1.ebuild b/dev-python/taskflow/taskflow-0.10.1.ebuild
new file mode 100644
index 000000000000..e37823b548a7
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.10.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/kombu-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/zake-0.1.6[${PYTHON_USEDEP}]
+ >=dev-python/kazoo-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ dev-python/psycopg[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7' 'python3_3')]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # this is py2.4-6 only so remove it
+ sed -i '/ordereddict/d' requirements*
+ # only needed by py2.7 and included by the virtual
+ sed -i '/futures/d' requirements*
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "failed testsuite under python2.7"
+}
diff --git a/dev-python/taskflow/taskflow-0.2.ebuild b/dev-python/taskflow/taskflow-0.2.ebuild
new file mode 100644
index 000000000000..d39dd0e5e428
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/keyring-2.1[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.2[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] )"
+RDEPEND=">=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.3[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/taskflow/taskflow-0.5.0.ebuild b/dev-python/taskflow/taskflow-0.5.0.ebuild
new file mode 100644
index 000000000000..472429c42a59
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.6[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/kazoo-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.6.4[${PYTHON_USEDEP}]
+ dev-python/psycopg[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] )"
+RDEPEND="
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/futures-2.1.6[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.0.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ testr init
+ testr run --parallel || die "testsuite failed under python2.7"
+}
diff --git a/dev-python/taskflow/taskflow-0.7.1.ebuild b/dev-python/taskflow/taskflow-0.7.1.ebuild
new file mode 100644
index 000000000000..1b4cb7c3b1ab
--- /dev/null
+++ b/dev-python/taskflow/taskflow-0.7.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.11[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/kombu-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/kazoo-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
+ dev-python/psycopg[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ )"
+RDEPEND="
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/networkx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.1.0[${PYTHON_USEDEP}]
+ virtual/python-futures[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.2.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # this is py2.4-6 only so remove it
+ sed -i '/ordereddict/d' requirements*
+ # only needed by py2.7 and included by the virtual
+ sed -i '/futures/d' requirements*
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ testr init
+ testr run --parallel || die "failed testsuite under python2.7"
+}
diff --git a/dev-python/tdaemon/Manifest b/dev-python/tdaemon/Manifest
new file mode 100644
index 000000000000..c6afc92ea5e6
--- /dev/null
+++ b/dev-python/tdaemon/Manifest
@@ -0,0 +1 @@
+DIST tdaemon-0.1.6.tar.gz 37206 SHA256 9f2ed243f1d4b20bd54da505912c82c65dd3cbaf3e247d17a15f42dd0a3e5d56 SHA512 b0d49cc3ca4acef8bdb38cde4c1d17cd973215a8cedeb5716831ea129e8fc69a0c890eda7740a35a238ce39272278d8a80c3e4fc26099317bd7b86e80b36def5 WHIRLPOOL 39f72d4e381cf836b1d288a4d2807383e095241268b52cc8450c2d118182ee3befda5f9b5138f0f3ed9e3998ef4b1718c1ac02c86529df44bd3c17f8a3771dc4
diff --git a/dev-python/tdaemon/metadata.xml b/dev-python/tdaemon/metadata.xml
new file mode 100644
index 000000000000..75c15f485233
--- /dev/null
+++ b/dev-python/tdaemon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="coverage">Enable code coverage support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">tampakrap/tdaemon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tdaemon/tdaemon-0.1.6.ebuild b/dev-python/tdaemon/tdaemon-0.1.6.ebuild
new file mode 100644
index 000000000000..a8a3d2876d74
--- /dev/null
+++ b/dev-python/tdaemon/tdaemon-0.1.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Test Daemon"
+HOMEPAGE="http://github.com/brunobord/tdaemon"
+SRC_URI="https://github.com/tampakrap/tdaemon/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="coverage"
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="dev-python/notify-python[${PYTHON_USEDEP}]
+ coverage? ( dev-python/coverage[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ if "${PYTHON}" -m test; then
+ einfo "Test passed under ${EPYTHON}"
+ else
+ die "Test failed under ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/tempest-lib/Manifest b/dev-python/tempest-lib/Manifest
new file mode 100644
index 000000000000..8217374defd1
--- /dev/null
+++ b/dev-python/tempest-lib/Manifest
@@ -0,0 +1,3 @@
+DIST tempest-lib-0.3.0.tar.gz 53341 SHA256 0b2fdfe904b6bea12f5572f03307623ad43256694c17a5bd92ee837d8698d3c5 SHA512 e03617bd5e19b5872e4ae1e60c0eef2dfe325646f0b9d1c518f668bd7d054866b79aed494820f6ca99ee3d0735cc807aae7942f5f343e4d6c663368197be0f2c WHIRLPOOL 5f06bbaeeeb95b4724878481ddb500e1f7eaca98110cbcd2fe768917ed986656e64fae2e78e97cb099b776dbe069ad50f5c7717927ee78a5bf54f4638e8c9eec
+DIST tempest-lib-0.4.0.tar.gz 68776 SHA256 b1d00f9da6d14b5ffac87710efd9d533361b8af11003728ee3b47591358f17b0 SHA512 f0f959de4f003971929c015a5a020921f9338805d9f1109e8d42ec9b5eb43702858182c5eaf43bc1b1c4006a01f96243ec6aad9fa9b93823f04b499ad09f5c81 WHIRLPOOL 01b147dd7f5929407c1d01dc8ad10ae2cbd6c0f2f08e628689025cb649dec9446d881245ab81d1370a7ff93c4ab0d5b9fb4c7ac0837b5ba3ad0c8b7b90bf46a8
+DIST tempest-lib-0.5.0.tar.gz 74579 SHA256 696c6ccbbe13236096a94176ba2970e44853962c5ab93186286316696f384b29 SHA512 3408cabec205c6c1b830a20a8e96333b69afeeaad35d5342aae8c13e01b5df177958fe2050eb24a37d572a495411f04675e9d9727f6ae34aed22093c9621cde4 WHIRLPOOL 1b8f138bd45a168e2c203ff31de19ddc0aecda8d377925223798d01de3a0ff16f55fb874b1297b7a80178ae4f8948528a0e58b8d2388d464b8afd56b30d8991c
diff --git a/dev-python/tempest-lib/metadata.xml b/dev-python/tempest-lib/metadata.xml
new file mode 100644
index 000000000000..074404a5ec36
--- /dev/null
+++ b/dev-python/tempest-lib/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+tempest-lib is a library of common functionality that was originally in tempest (or similar in scope to tempest)
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">tempest-lib</remote-id>
+ <remote-id type="github">openstack/tempest-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tempest-lib/tempest-lib-0.3.0.ebuild b/dev-python/tempest-lib/tempest-lib-0.3.0.ebuild
new file mode 100644
index 000000000000..c86837925912
--- /dev/null
+++ b/dev-python/tempest-lib/tempest-lib-0.3.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to assist in creating functional or integrated test suites for OpenStack projects."
+HOMEPAGE="http://pypi.python.org/pypi/tempest-lib https://github.com/openstack/tempest-lib"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-0.1.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests tempest_lib/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/tempest-lib/tempest-lib-0.4.0.ebuild b/dev-python/tempest-lib/tempest-lib-0.4.0.ebuild
new file mode 100644
index 000000000000..a0b6496f727a
--- /dev/null
+++ b/dev-python/tempest-lib/tempest-lib-0.4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to assist in creating functional or integrated test suites for OpenStack projects."
+HOMEPAGE="http://pypi.python.org/pypi/tempest-lib https://github.com/openstack/tempest-lib"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-0.4.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests tempest_lib/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/tempest-lib/tempest-lib-0.5.0.ebuild b/dev-python/tempest-lib/tempest-lib-0.5.0.ebuild
new file mode 100644
index 000000000000..ef71f3147058
--- /dev/null
+++ b/dev-python/tempest-lib/tempest-lib-0.5.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library to assist in creating functional or integrated test suites for OpenStack projects."
+HOMEPAGE="http://pypi.python.org/pypi/tempest-lib https://github.com/openstack/tempest-lib"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
+ <dev-python/pbr-1.0[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.10[${PYTHON_USEDEP}]
+ >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
+ >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
+ !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
+ >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
+ !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ >=dev-python/ddt-0.4.0[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests tempest_lib/tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/tempita/Manifest b/dev-python/tempita/Manifest
new file mode 100644
index 000000000000..b6aaba6aa9cd
--- /dev/null
+++ b/dev-python/tempita/Manifest
@@ -0,0 +1 @@
+DIST tempita-0.5.3.tar.gz 12707 SHA256 38392bb708a10128419f75fa9120a6d2c8d137013b353968e5008a77a5c7a2ca SHA512 43bafd42ab0c07bec636d637bfcd42053559d188e13bccc66527dc5f735fd9c3ec30fcf29f3e650d88315fe8f2eb2c5af280f51d2c64db099e08d8a70969a1c4 WHIRLPOOL 0c78ac7e92b16556e295fb807e87665977ea2df14211c3254efcf3ffade8a1318a89e5887dfa3ce44ac7cb6c608a35a51f70856f5e56c1e07c09a9f0fa9c6388
diff --git a/dev-python/tempita/metadata.xml b/dev-python/tempita/metadata.xml
new file mode 100644
index 000000000000..0a1092e0a2b5
--- /dev/null
+++ b/dev-python/tempita/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Tempita</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tempita/tempita-0.5.3.ebuild b/dev-python/tempita/tempita-0.5.3.ebuild
new file mode 100644
index 000000000000..d8c68e9c414b
--- /dev/null
+++ b/dev-python/tempita/tempita-0.5.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Tempita"
+MY_P="${MY_PN}-${PV}dev"
+
+DESCRIPTION="A very small text templating language"
+HOMEPAGE="http://pythonpaste.org/tempita http://pypi.python.org/pypi/Tempita"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}dev"
+# Source for tests incomplete
diff --git a/dev-python/termcolor/Manifest b/dev-python/termcolor/Manifest
new file mode 100644
index 000000000000..adb65379e9c4
--- /dev/null
+++ b/dev-python/termcolor/Manifest
@@ -0,0 +1 @@
+DIST termcolor-1.1.0.tar.gz 3912 SHA256 1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b SHA512 4bd06bf4405a9ef6c005cd4d159ef602f7fc7fccb3e57586da1187c402f4d0b9051ef930cae423065c51ff4be8a22ceae556a61a6b3c8c519d623c066c340b53 WHIRLPOOL 49b7d1bd89bc1eb579c6f54f176267a547ba687b27899045d3240f93a797a103048e88a40501aa6c52c487312df8e7053811b08791923c4b18cfe7bf964c6640
diff --git a/dev-python/termcolor/metadata.xml b/dev-python/termcolor/metadata.xml
new file mode 100644
index 000000000000..e3fd6420d6d8
--- /dev/null
+++ b/dev-python/termcolor/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ ANSII Color formatting for output in terminal.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">termcolor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/termcolor/termcolor-1.1.0-r1.ebuild b/dev-python/termcolor/termcolor-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..cc11b7b80b7c
--- /dev/null
+++ b/dev-python/termcolor/termcolor-1.1.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="ANSII Color formatting for output in terminal"
+HOMEPAGE="http://pypi.python.org/pypi/termcolor"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/terminado/Manifest b/dev-python/terminado/Manifest
new file mode 100644
index 000000000000..95ea497a5f17
--- /dev/null
+++ b/dev-python/terminado/Manifest
@@ -0,0 +1 @@
+DIST terminado-0.5.tar.gz 10491 SHA256 63e893eff1ba84f1ee7c4bfcca7676ba1de6394538bb9aa80cbbc8866cb875b6 SHA512 8c53e2c8fa837c171a8790744770f41d4fc8fe15fe8abd28af17317950c615e4c75c22ab896fd98984fd9c2bbbc7798e5ffe319827d84eb77889bca63660e421 WHIRLPOOL 0e603e49a754a4c5fa68b1df3416a6355357ab5af6801968385525bb2df2a558ffe73030f1789610b731638b57d9d5c1a5661c86de93984f8e2047bf205925b1
diff --git a/dev-python/terminado/metadata.xml b/dev-python/terminado/metadata.xml
new file mode 100644
index 000000000000..501d5f659b96
--- /dev/null
+++ b/dev-python/terminado/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">terminado</remote-id>
+ <remote-id type="github">takluyver/terminado</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/terminado/terminado-0.5.ebuild b/dev-python/terminado/terminado-0.5.ebuild
new file mode 100644
index 000000000000..1009e17abad5
--- /dev/null
+++ b/dev-python/terminado/terminado-0.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Terminals served to term.js using Tornado websockets"
+HOMEPAGE="https://pypi.python.org/pypi/terminado https://github.com/takluyver/terminado"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/ptyprocess[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests --verbosity=3 || die
+}
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
new file mode 100644
index 000000000000..38267a5ba93c
--- /dev/null
+++ b/dev-python/testfixtures/Manifest
@@ -0,0 +1,3 @@
+DIST testfixtures-3.0.0.tar.gz 75303 SHA256 20e82e23ffc39bd7d55317f2e87e49aa33ac15142f2bd38fedde696ccaa9469f SHA512 9bc7e30cad6a0c932f23de49f9aff099cb4de824f20b4f98bf1fb4a7313d7ac8d763f7c8208bc0f5351dcd899daa3d2fbc18cdc2143c1b65cefbe0f3ba29df0c WHIRLPOOL 5d51daa288f0c31ce0547815b15f7242df4d3309f2c0845cfa36241ba6d16b151caa1924977a35ae9753c1243724d1aac74cda2b7f5e64e981c378fa6696a512
+DIST testfixtures-4.1.1.tar.gz 81356 SHA256 c61b13fd9cac0313e2aafd565a007860d83b218a138117ac421368d2896bc215 SHA512 08785961560218c3a06043158af8364b46b850c159a82e5fd05ccd88133786aed1a0ec9038ef0c0e36430853559e29fefca8f6bfee1b942730010cd3fb8e9ae4 WHIRLPOOL be548f4fa3bf9428cf683d229c9c4569ba2028a05aa284d803a282af293999fd38565f2b9701751c8f84d57faea6efd3a9e1e5ee5375b719957fe6dc7c4cbdf5
+DIST testfixtures-4.1.2.tar.gz 81689 SHA256 bc27063ac9bce80ac99fe315f2b34053b113ca420b6bbbaf0c19c49c09bb286a SHA512 bf5171b1e1918e88dd887a7dbca6c340e1c197224135e4080551d1830187aa868e53d8302751059da478e2452b1f68a49ae5fba206e48fec554e6d5f237ee5a4 WHIRLPOOL 8d10fb590bb31ff4b5f24f941c41349ac606d91bf62679f70356cddfbdedb7b64f9addca1a419432987a78ebd520ae5b7ce5ddfb043f6452c3e364f266854ed8
diff --git a/dev-python/testfixtures/files/docbuild.patch b/dev-python/testfixtures/files/docbuild.patch
new file mode 100644
index 000000000000..dcdef3270545
--- /dev/null
+++ b/dev-python/testfixtures/files/docbuild.patch
@@ -0,0 +1,25 @@
+diff -ur testfixtures-3.0.0.orig/docs/conf.py testfixtures-3.0.0/docs/conf.py
+--- docs/conf.py 2011-09-23 16:55:53.000000000 +0800
++++ docs/conf.py 2014-06-30 15:36:43.591451878 +0800
+@@ -4,8 +4,7 @@
+ pkg_info = pkginfo.Develop(os.path.join(os.path.dirname(__file__),'..'))
+
+ extensions = [
+- 'sphinx.ext.autodoc',
+- 'sphinx.ext.intersphinx'
++ 'sphinx.ext.autodoc'
+ ]
+
+ intersphinx_mapping = {'http://docs.python.org': None}
+diff -ur testfixtures-3.0.0.orig/docs/Makefile testfixtures-3.0.0/docs/Makefile
+--- docs/Makefile 2011-07-19 00:43:59.000000000 +0800
++++ docs/Makefile 2014-06-30 15:36:31.703450934 +0800
+@@ -3,7 +3,7 @@
+
+ # You can set these variables from the command line.
+ SPHINXOPTS =
+-SPHINXBUILD = ../bin/sphinx-build
++SPHINXBUILD = /usr/bin/sphinx-build
+ PAPER =
+
+ # Internal variables.
diff --git a/dev-python/testfixtures/metadata.xml b/dev-python/testfixtures/metadata.xml
new file mode 100644
index 000000000000..740a54631c12
--- /dev/null
+++ b/dev-python/testfixtures/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">testfixtures</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testfixtures/testfixtures-3.0.0.ebuild b/dev-python/testfixtures/testfixtures-3.0.0.ebuild
new file mode 100644
index 000000000000..088b0285f3fd
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-3.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="http://pypi.python.org/pypi/testfixtures/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND=" dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/pkginfo[${PYTHON_USEDEP}]' python2_7) )
+ test? ( dev-python/manuel[${PYTHON_USEDEP}] )"
+
+# Prevent un-needed download during build, fix Makefile for doc build
+PATCHES=( "${FILESDIR}"/docbuild.patch )
+
+python_prepare() {
+ # remove test that tests the stripped zope-component test_components.ComponentsTests
+ rm -f testfixtures/tests/test_components.py || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test -v ${PN}/tests || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testfixtures/testfixtures-4.1.1.ebuild b/dev-python/testfixtures/testfixtures-4.1.1.ebuild
new file mode 100644
index 000000000000..269771843cfd
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-4.1.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="http://pypi.python.org/pypi/testfixtures/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/pkginfo[${PYTHON_USEDEP}]' python2_7 pypy ) )
+ test? ( dev-python/manuel[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/nose_fixes[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ )"
+
+python_prepare_all() {
+ # Makefile comes set pointing at a wrong location
+ sed -e 's:../bin/sphinx-build:/usr/bin/sphinx-build:' -i docs/Makefile || die
+ # Prevent un-needed download during build, fix Makefile for doc build
+ sed -e '/'sphinx.ext.intersphinx'/d' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ # remove test that tests the stripped zope-component test_components.ComponentsTests
+ rm -f testfixtures/tests/test_components.py || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests ${PN}/tests || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testfixtures/testfixtures-4.1.2.ebuild b/dev-python/testfixtures/testfixtures-4.1.2.ebuild
new file mode 100644
index 000000000000..fd1a72d49ec7
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-4.1.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="http://pypi.python.org/pypi/testfixtures/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/pkginfo[${PYTHON_USEDEP}]' python2_7 pypy ) )
+ test? ( dev-python/manuel[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/nose-cover3[${PYTHON_USEDEP}]
+ dev-python/nose_fixes[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7)
+ )"
+
+python_prepare_all() {
+ # Makefile comes set pointing at a wrong location
+ sed -e 's:../bin/sphinx-build:/usr/bin/sphinx-build:' -i docs/Makefile || die
+ # Prevent un-needed download during build, fix Makefile for doc build
+ sed -e '/'sphinx.ext.intersphinx'/d' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_prepare() {
+ # remove test that tests the stripped zope-component test_components.ComponentsTests
+ rm -f testfixtures/tests/test_components.py || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests ${PN}/tests || die
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testify/Manifest b/dev-python/testify/Manifest
new file mode 100644
index 000000000000..884d8e0516c8
--- /dev/null
+++ b/dev-python/testify/Manifest
@@ -0,0 +1,2 @@
+DIST testify-0.5.7.tar.gz 166954 SHA256 153796d3b20b2d8554e52af26a8c891e6f02dfd6cc7be29f9241dad244cff044 SHA512 410ac412306c11bba992b882624fcacdbff00e2865cd986c560d8b50ea8dff0ead8603b18f40414d8dbbe1f3ab9426e0f61170dc450927f6d2282e389800ff21 WHIRLPOOL 2cc958efea71bd475c698cee36e4f1bdb7197c8cb54c38efbf66927d5abc60e769a8995ae7fb4107fab8b74e4b05afcaf16e5c0aec9db3471ddbd771bafa3adf
+DIST testify-0.7.2.tar.gz 102858 SHA256 7c209530fbb67344fe8985012056116d7d8eadd6ff126f91c93aa19208fd3ec9 SHA512 4b470aabe1ada88ddaf89145c77dbc5c2d000c8e0fab431535c08b4ff05a04c12f215d4c05d678ba718fdf3295be74fef23041d01d3c05e0b9e2c43c5ab0ed1e WHIRLPOOL 37ff8d7068ba4569215e3df440186ef3149a5fde0e12ec5efefc5b666adf2958b11f4db18995b46536cbf504dadec48f00b5f38e524ae09eb815c8170b8cf669
diff --git a/dev-python/testify/metadata.xml b/dev-python/testify/metadata.xml
new file mode 100644
index 000000000000..24da195dd289
--- /dev/null
+++ b/dev-python/testify/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">testify</remote-id>
+ <remote-id type="github">Yelp/testify</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testify/testify-0.5.7.ebuild b/dev-python/testify/testify-0.5.7.ebuild
new file mode 100644
index 000000000000..2e5e730293dd
--- /dev/null
+++ b/dev-python/testify/testify-0.5.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Still appears to no support >=py3.3
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="A more pythonic replacement for the unittest module and nose"
+HOMEPAGE="https://github.com/Yelp/testify http://pypi.python.org/pypi/testify/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_prepare_all() {
+ # Correct typo in setup.py
+ sed -e 's:mock,:mock:' -i setup.py || die
+ # Correct use of local importing in test_ file
+ sed -e s':from .test_runner_subdir:from test.test_runner_subdir:' \
+ -e s':from .test_runner_bucketing:from test.test_runner_bucketing:' \
+ -i test/test_runner_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ PYTHONPATH="${PYTHONPATH}:${S}"
+ for test in test/*_test.py;
+ do
+ "${PYTHON}" $test || die "test $test failed under ${EPYTHON}"
+ done
+}
diff --git a/dev-python/testify/testify-0.7.2.ebuild b/dev-python/testify/testify-0.7.2.ebuild
new file mode 100644
index 000000000000..ed7ef7659ce0
--- /dev/null
+++ b/dev-python/testify/testify-0.7.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Still appears to not support >=py3.3
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="A more pythonic replacement for the unittest module and nose"
+HOMEPAGE="https://github.com/Yelp/testify http://pypi.python.org/pypi/testify/"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ www-servers/tornado[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_prepare_all() {
+ # Correct typo in setup.py
+ sed -e 's:mock,:mock:' -i setup.py || die
+
+ # Correct use of local importing in pertinent test_ files
+ sed -e s':from .test:from test:' \
+ -i test/test_runner_test.py || die
+
+ sed -e s':from .discovery:from discovery:' \
+ -i test/test_runner_server_test.py || die
+
+ sed -e s':from .test:from test:' \
+ -i test/test_runner_server_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ einfo; einfo "Output reporting exceptions \"ImportError: No module named <module>\""
+ einfo "are instances of exceptions expected to be raised, similar to xfails by nose"; einfo""
+ for test in test/test_*_test.py;
+ do
+ "${PYTHON}" $test || die "test $test failed under ${EPYTHON}"
+ done
+}
diff --git a/dev-python/testrepository/Manifest b/dev-python/testrepository/Manifest
new file mode 100644
index 000000000000..c040589a9fc9
--- /dev/null
+++ b/dev-python/testrepository/Manifest
@@ -0,0 +1,2 @@
+DIST testrepository-0.0.17.tar.gz 84255 SHA256 70b70e0ba6aacb44036ed5dcbdbe36008816fc7098c2e3e4891734fc09ecd36e SHA512 c5b7a0a0b6494166f85be86a85821d36922e754e02a487605b5e6cf2ae52ff1f9c37b48bd07f7acc1d9dc9450fcf17311f5ffb6bb8bd31d7a26f5c53de88f94d WHIRLPOOL 0fe9a003af396462d9aa73a73da2f0253fd247e4025ae9dc0047e3fdf02d872189eaf96416750206612419d048eeeb49699a54c6cf1b95fa66cc444b5fbd05fe
+DIST testrepository-0.0.18.tar.gz 84886 SHA256 ba15301c6ec6bf1b8e0dad10ac7313b11e17ceb8d28ec4a3625c9aaa766727fd SHA512 4e90db6364f77f464ae063020b016367529588f581af001c2564bf4babb264fc37bb7231413725211c6d483a269360d86201f81d2b24d7eb162dca2463d13c92 WHIRLPOOL c6ced39884ea731173b59a0cbd283d474b3a658e94e2f94a87b5b5e8461d82790cfda2d3e834d51e90b6e57299163cf2dc9ef2cb62440104ac6a046039196abb
diff --git a/dev-python/testrepository/metadata.xml b/dev-python/testrepository/metadata.xml
new file mode 100644
index 000000000000..741bc3417c10
--- /dev/null
+++ b/dev-python/testrepository/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A repository of test results.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">testrepository</remote-id>
+ <remote-id type="launchpad">testscenarios</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testrepository/testrepository-0.0.17-r1.ebuild b/dev-python/testrepository/testrepository-0.0.17-r1.ebuild
new file mode 100644
index 000000000000..54eebcdb8cfe
--- /dev/null
+++ b/dev-python/testrepository/testrepository-0.0.17-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# Although package supports alt. py impls, only works fully under py2.7
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A repository of test results"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.30[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/testresources[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )"
+#bzr is listed but presumably req'd for a live repo test run
+RDEPEND="dev-python/subunit[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.30[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" ./testr init || die
+ "${PYTHON}" ./testr run || die "tests failed under python2.7"
+}
diff --git a/dev-python/testrepository/testrepository-0.0.17-r2.ebuild b/dev-python/testrepository/testrepository-0.0.17-r2.ebuild
new file mode 100644
index 000000000000..78b8870e928c
--- /dev/null
+++ b/dev-python/testrepository/testrepository-0.0.17-r2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="A repository of test results"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/testresources[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )"
+#>=dev-python/subunit-0.0.10[${PYTHON_USEDEP}]
+#>=dev-python/testtools-0.9.30[${PYTHON_USEDEP}]
+#dev-python/fixtures[${PYTHON_USEDEP}]
+#bzr is listed but presumably req'd for a live repo test run
+RDEPEND=">=dev-python/subunit-0.0.10[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.30[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]"
+
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ "${PYTHON}" ./testr init || die
+ "${PYTHON}" setup.py testr --coverage || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/testrepository/testrepository-0.0.18-r1.ebuild b/dev-python/testrepository/testrepository-0.0.18-r1.ebuild
new file mode 100644
index 000000000000..411e30fc462e
--- /dev/null
+++ b/dev-python/testrepository/testrepository-0.0.18-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A repository of test results"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=">=dev-python/subunit-0.0.10[${PYTHON_USEDEP}]
+ >=dev-python/testtools-0.9.30[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]"
+#bzr is listed but presumably req'd for a live repo test run
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/testresources[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )"
+
+# Required for test phase
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_test() {
+ # some errors appear to have crept in the suite undert py3 since addition.
+ # Python2.7 now passes all.
+
+ esetup.py testr --coverage # || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/testresources/Manifest b/dev-python/testresources/Manifest
new file mode 100644
index 000000000000..00ce0840b274
--- /dev/null
+++ b/dev-python/testresources/Manifest
@@ -0,0 +1 @@
+DIST testresources-0.2.7.tar.gz 32050 SHA256 ad0a117383dd463827b199eaa92829b4d6a3147fbd97459820df53bae81d7231 SHA512 29518f7326272c56a5f2f3f1f7741959dde9265ba5ce7e0c7d7afabd91bd44a519d1cad82a11a41944ff12d65e541536476f87afcac9a7cbb4869743a38547b7 WHIRLPOOL c414223960fbd6a1c612d2c79c8b8956ab858aaaa76331ddefb1315dbdd6c6bc1d3a7641c098d7d558b332ee8f4262d8921240adb63f581a3127da6a617dc200
diff --git a/dev-python/testresources/metadata.xml b/dev-python/testresources/metadata.xml
new file mode 100644
index 000000000000..e8c27a4d1dc8
--- /dev/null
+++ b/dev-python/testresources/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Testresources extends unittest with a clean and simple api to provide test
+ optimisation where expensive common resources are needed for test cases
+ for example sample working trees for VCS systems, reference databases for
+ enterprise applications, or web servers ... let imagination run wild.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">testresources</remote-id>
+ <remote-id type="launchpad">testresources</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testresources/testresources-0.2.7-r2.ebuild b/dev-python/testresources/testresources-0.2.7-r2.ebuild
new file mode 100644
index 000000000000..b4f611fc6a06
--- /dev/null
+++ b/dev-python/testresources/testresources-0.2.7-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Testresources, a pyunit extension for managing expensive test resources"
+HOMEPAGE="https://launchpad.net/testresources"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/testscenarios/Manifest b/dev-python/testscenarios/Manifest
new file mode 100644
index 000000000000..0c854c3c337d
--- /dev/null
+++ b/dev-python/testscenarios/Manifest
@@ -0,0 +1,2 @@
+DIST testscenarios-0.4.tar.gz 22768 SHA256 4feeee84f7fd8a6258fc00671e1521f80cb68d2fec1e2908b3ab52bcf396e198 SHA512 1b3fbc11b0a6a9cdd4afd569374cde92c291d925f76295e191b91285e88c17a9e693e10972538d146f97c889c5c1fa4545c79b0e6b9d71265abc82cf2700a3f9 WHIRLPOOL fe8769be1ccbeda81dc8f5f19f0e74a1ab616eac1389dca487427d77ddbf25f5c569445fb4e3f3732c117d61b0c22588ae2b8334cfb5b68afa227ee51bf8dc10
+DIST testscenarios-0.5.0.tar.gz 20951 SHA256 c257cb6b90ea7e6f8fef3158121d430543412c9a87df30b5dde6ec8b9b57a2b6 SHA512 f08b868babf504482369c5cb945d3e95bca1cc00f92d5013f6898c488051be0c26dc49aaabcef362aea45450a8d041d9826fb6b5c848beec013fb102d6935521 WHIRLPOOL 7b02c7a61933a8e603074321e0b4357485dad72ccffca5b28fc423da76159e6c8a4d778a431d607bff43563bc6971d66d38d7e3f89973f9c2838e569a947c0c1
diff --git a/dev-python/testscenarios/metadata.xml b/dev-python/testscenarios/metadata.xml
new file mode 100644
index 000000000000..5c275d80b9bf
--- /dev/null
+++ b/dev-python/testscenarios/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Testscenarios provides clean dependency injection for
+ python unittest style tests. This can be used for interface testing
+ (testing many implementations via a single test suite) or for classic
+ dependency injection (provide tests with dependencies externally to the
+ test code itself, allowing easy testing in different situations).
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">testscenarios</remote-id>
+ <remote-id type="launchpad">testscenarios</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testscenarios/testscenarios-0.4-r2.ebuild b/dev-python/testscenarios/testscenarios-0.4-r2.ebuild
new file mode 100644
index 000000000000..2514e5892cad
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.4-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Testscenarios, a pyunit extension for dependency injection"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}] )"
+# dev-python/testresources[${PYTHON_USEDEP}]
+RDEPEND=""
+
+python_test() {
+ PYTHONPATH=./lib ${EPYTHON} -m testtools.run testscenarios.test_suite
+}
diff --git a/dev-python/testscenarios/testscenarios-0.4-r4.ebuild b/dev-python/testscenarios/testscenarios-0.4-r4.ebuild
new file mode 100644
index 000000000000..85d952d483ba
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.4-r4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Testscenarios, a pyunit extension for dependency injection"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/testtools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ PYTHONPATH=./lib ${EPYTHON} -m testtools.run testscenarios.test_suite
+}
diff --git a/dev-python/testscenarios/testscenarios-0.4-r5.ebuild b/dev-python/testscenarios/testscenarios-0.4-r5.ebuild
new file mode 100644
index 000000000000..fab332d8a577
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.4-r5.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Testscenarios, a pyunit extension for dependency injection"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/testtools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ PYTHONPATH=./lib ${EPYTHON} -m testtools.run testscenarios.test_suite
+}
diff --git a/dev-python/testscenarios/testscenarios-0.4.ebuild b/dev-python/testscenarios/testscenarios-0.4.ebuild
new file mode 100644
index 000000000000..f50754fa736f
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Testscenarios, a pyunit extension for dependency injection"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testresources[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_test() {
+ # https://bugs.launchpad.net/testscenarios/+bug/1260573
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/testscenarios/testscenarios-0.5.0.ebuild b/dev-python/testscenarios/testscenarios-0.5.0.ebuild
new file mode 100644
index 000000000000..5a70e5f2727d
--- /dev/null
+++ b/dev-python/testscenarios/testscenarios-0.5.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Testscenarios, a pyunit extension for dependency injection"
+HOMEPAGE="https://launchpad.net/testscenarios"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-python/testtools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Remove a faulty file from tests, missing a required attribute
+ rm ${PN}/tests/test_testcase.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover
+}
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
new file mode 100644
index 000000000000..9ba454caefb0
--- /dev/null
+++ b/dev-python/testtools/Manifest
@@ -0,0 +1,6 @@
+DIST testtools-0.9.36.tar.gz 201717 SHA256 20a1b0d6325f1303ff8112a272047057b73217aac85424aa4065b87641a04499 SHA512 1cb29deb2fb7cd0eebd9affb06e877487989163d0c4452db8051d75b936b0c4ac6443649d52f83cd3695421b361af7dc75507b037528ac0f7cfde9b4b201ad08 WHIRLPOOL 5561c4ef316c31f5c0099beb93eba307328669e43bef36e8da6b1856bf3f75c6b4d81fc0cb777e8397cb246512203c7951c93a52b2a5877e4764cf2e0a749e22
+DIST testtools-1.2.1.tar.gz 204223 SHA256 83dde6f4d986fc8941906d373543246c84b935a54e9b2db520ae4676857cecfc SHA512 64669b44891bd9203f869fdf08ef06604b93bed519ca0afe38fa0cadf03fdb0dd129de34dedca847e6b416889aa53eba0a50d025660b273fe228821db11dc65e WHIRLPOOL 480c8500b159942e5797567d6c124abff6b87ef668a298a40b97c04aa0001003fd5dea1f5b9903bb008ddc52d7be8e70aaea0818a09bd0ba6b35543f53d773e5
+DIST testtools-1.3.0.tar.gz 204755 SHA256 3bf0be7c76587e8318936462438124ffb74372f3718def71fe8bd5ba28e1e394 SHA512 319cb0630bfd63c5d87061073358be7b0270bb30c5d94156b7c84ad6563a6ac0267503f6c3b31ab18f45b523719ed9dc69a89b175763225fdf6857989f4340fe WHIRLPOOL 41271a1edfa7ed71cab28fc6a766909f49bf4a810302a7d7137d92fcb1b9ec13b4fe5083ff561b9993f42bfa2ce28ef884bffcb432b032f3c14bf1dacb2de599
+DIST testtools-1.5.0.tar.gz 205197 SHA256 8d22a559f15b4540e069df0d69698d5bc70d9c42c8694c5e253595d70283511a SHA512 187a3f65eb3b00382853b8490d598f71990398f5867e985be00d13b87bb3ed155e9ecd3c16a268adf16ddf730b58a7d8849a8ba313668fc10af317e3eb3c825e WHIRLPOOL de91a36d9abc18680dba0f1c2b94133fe07d387093ee70a8f7bed2685faf55bbcbb46b5f9fcab0cdab73de382fabf800e78fa48889a733b9bceee06a61d3cbf9
+DIST testtools-1.7.1.tar.gz 202573 SHA256 e9999eecf002a9fdc499ab82c13cc7b40226ed4b5fc4ed2a2c1cfb08fe23cfea SHA512 ca38d61abf2fa9589177f986f57f15abd3105ed26b834c136cb12592a0aaa1bbe62d5bc3914ec958daad323091e8d88fd3ccad68c5d970a67d84188baa53ba41 WHIRLPOOL b38f00016d82852a58350d1a456b861af9c6a3e1f97d40463b225c7b6349b765680b45af6e18f21e05c88d40ce3c02445b04072c48d0f433176a4d718f907f88
+DIST testtools-1.8.0.tar.gz 207976 SHA256 8afd6400fb4e75adb0b29bd09695ecb2024cd7befab4677a58c147701afadd97 SHA512 b5f0201222d1e8c60fb7c2793bcd38e1c96c6f9fae99e9f3e784d17230c9abbf7325053d501c07e752bad2da36b49e2c79a25d0c20cb9a2f426057f839a77b3a WHIRLPOOL 71d4082197a9c179862fc3c63eadc37d6ff776f0a62e5fb08c296a5bf7109dc5110a2104a1ed15ca97c523aa0afb9e7124805ec6a6ae18f7605d7641abd9c54a
diff --git a/dev-python/testtools/metadata.xml b/dev-python/testtools/metadata.xml
new file mode 100644
index 000000000000..dc83b4a762a6
--- /dev/null
+++ b/dev-python/testtools/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>bazaar</herd>
+ <herd>python</herd>
+ <herd>openstack</herd>
+ <upstream>
+ <remote-id type="pypi">testtools</remote-id>
+ <remote-id type="github">testing-cabal/testtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/testtools/testtools-0.9.36.ebuild b/dev-python/testtools/testtools-0.9.36.ebuild
new file mode 100644
index 000000000000..5c58e68da24a
--- /dev/null
+++ b/dev-python/testtools/testtools-0.9.36.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 versionator
+
+#SERIES="$(get_version_component_range 1-2)"
+SERIES="trunk"
+
+DESCRIPTION="Extensions to the Python unittest library"
+HOMEPAGE="https://launchpad.net/testtools http://pypi.python.org/pypi/testtools"
+SRC_URI="http://launchpad.net/${PN}/${SERIES}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_prepare_all() {
+ # Take out failing tests
+ # https://bugs.launchpad.net/testtools/+bug/1380918
+ sed -e 's:test_test_module:_&:' -e 's:test_test_suite:_&:' \
+ -i testtools/tests/test_distutilscmd.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # Required to allow / ensure all impls to pass run of testsuite
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testtools/testtools-1.2.1.ebuild b/dev-python/testtools/testtools-1.2.1.ebuild
new file mode 100644
index 000000000000..2215d0356833
--- /dev/null
+++ b/dev-python/testtools/testtools-1.2.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 versionator
+
+#SERIES="$(get_version_component_range 1-2)"
+SERIES="trunk"
+
+DESCRIPTION="Extensions to the Python unittest library"
+HOMEPAGE="https://launchpad.net/testtools http://pypi.python.org/pypi/testtools"
+SRC_URI="http://launchpad.net/${PN}/${SERIES}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testtools/testtools-1.3.0.ebuild b/dev-python/testtools/testtools-1.3.0.ebuild
new file mode 100644
index 000000000000..8367169d86df
--- /dev/null
+++ b/dev-python/testtools/testtools-1.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 versionator
+
+#SERIES="$(get_version_component_range 1-2)"
+SERIES="trunk"
+
+DESCRIPTION="Extensions to the Python unittest library"
+HOMEPAGE="https://launchpad.net/testtools http://pypi.python.org/pypi/testtools"
+SRC_URI="http://launchpad.net/${PN}/${SERIES}/${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/mimeparse[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]
+ >=dev-python/unittest2-0.8.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( $(python_gen_cond_dep 'dev-python/twisted-core[${PYTHON_USEDEP}]' python2_7) )"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testtools/testtools-1.5.0.ebuild b/dev-python/testtools/testtools-1.5.0.ebuild
new file mode 100644
index 000000000000..7094cbd3ac28
--- /dev/null
+++ b/dev-python/testtools/testtools-1.5.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="https://github.com/testing-cabal/testtools"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+CDEPEND="
+ dev-python/extras[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ >=dev-python/unittest2-0.8.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testtools/testtools-1.7.1.ebuild b/dev-python/testtools/testtools-1.7.1.ebuild
new file mode 100644
index 000000000000..44d5c42f1941
--- /dev/null
+++ b/dev-python/testtools/testtools-1.7.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="https://github.com/testing-cabal/testtools"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE="doc"
+
+CDEPEND="
+ dev-python/extras[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ >=dev-python/unittest2-1.0.0[${PYTHON_USEDEP}]
+ dev-python/traceback2[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" -m testtools.run testtools.tests.test_suite || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/testtools/testtools-1.8.0.ebuild b/dev-python/testtools/testtools-1.8.0.ebuild
new file mode 100644
index 000000000000..de905ca473d2
--- /dev/null
+++ b/dev-python/testtools/testtools-1.8.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="https://github.com/testing-cabal/testtools"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE="doc test"
+
+CDEPEND="
+ dev-python/extras[${PYTHON_USEDEP}]
+ dev-python/mimeparse[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.11[${PYTHON_USEDEP}]
+ >=dev-python/unittest2-1.0.0[${PYTHON_USEDEP}]
+ dev-python/traceback2[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ "${PYTHON}" -m testtools.run testtools.tests.test_suite || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/texttable/Manifest b/dev-python/texttable/Manifest
new file mode 100644
index 000000000000..a759efbf5612
--- /dev/null
+++ b/dev-python/texttable/Manifest
@@ -0,0 +1,2 @@
+DIST texttable-0.8.1.tar.gz 6033 SHA256 3d143a71c37c38e25c7b5cef3a861d3c2a0fcbfbeefc150483c9ccd999c3ee5e SHA512 f7bada98b993531a4150961e143760b6e34532ea0f49a92964fe7149989164bad6380222e896bc81907ac99ee775e926de543d95f351a66e96ccedf4d081a646 WHIRLPOOL d817fa1d9bebcf0563a558ce1ace8cb2e782de2efb572b63031bf37434e091500fb0b2d81eeb39ce7acc6ea7b5d84e619715aab3c9b6a438828303b6729eb582
+DIST texttable-0.8.2.tar.gz 8538 SHA256 c0c5b2aa4eab132d40aadb7c4e81f98fc93d3a1e6cb44e9be76779d74f32e6be SHA512 af37f9bcbcf59e7887af612c36c93cb1cd98f5e724c2db91a81320d69d77aa662d5c0ed2e3dcd5a5f48c957e14682deae0fa7e026ecbc5f7803cc8bd151aeb28 WHIRLPOOL 44ace160697916abadc2ba30368de12d858255b3e69b4142b7ead90d64c279008f24452039ed3c4e65d2412481a446917721e1c1c54dcb6c830fa14714fb3af2
diff --git a/dev-python/texttable/metadata.xml b/dev-python/texttable/metadata.xml
new file mode 100644
index 000000000000..44d9cd4e6079
--- /dev/null
+++ b/dev-python/texttable/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">texttable</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/texttable/texttable-0.8.1.ebuild b/dev-python/texttable/texttable-0.8.1.ebuild
new file mode 100644
index 000000000000..04d2104d9ca1
--- /dev/null
+++ b/dev-python/texttable/texttable-0.8.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="module for creating simple ASCII tables"
+HOMEPAGE="http://foutaise.org/code/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/texttable/texttable-0.8.2.ebuild b/dev-python/texttable/texttable-0.8.2.ebuild
new file mode 100644
index 000000000000..bf99f6b8f4f5
--- /dev/null
+++ b/dev-python/texttable/texttable-0.8.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="module for creating simple ASCII tables"
+HOMEPAGE="http://foutaise.org/code/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
diff --git a/dev-python/tgmochikit/Manifest b/dev-python/tgmochikit/Manifest
new file mode 100644
index 000000000000..d4d64c207edd
--- /dev/null
+++ b/dev-python/tgmochikit/Manifest
@@ -0,0 +1 @@
+DIST tgMochiKit-1.4.2.tar.gz 686356 SHA256 cc7308115c8cd587bb0ce6a300f7a9b2789eb2b3758610a835e1432bb9bbe89e SHA512 2c384dec39c2da46ab0420d2d672af2eba97c638a3cfe3077ec66a7858ec655c457b99f6b33956e4c70baf3c8dbdd160d1c4c11f05088ff2f6eacbfa244b18fa WHIRLPOOL 4c981c7a0fc0fd0cb1815e9a2e2b1adb10d1d7e7b9200127f507d34d51df121919854cae548b6dda7a9146649aaaf5c3ff2d904d5dd9779c0bcad478c3a7dc13
diff --git a/dev-python/tgmochikit/metadata.xml b/dev-python/tgmochikit/metadata.xml
new file mode 100644
index 000000000000..74549fa84d67
--- /dev/null
+++ b/dev-python/tgmochikit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">tgMochiKit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tgmochikit/tgmochikit-1.4.2-r1.ebuild b/dev-python/tgmochikit/tgmochikit-1.4.2-r1.ebuild
new file mode 100644
index 000000000000..18e4d66ab612
--- /dev/null
+++ b/dev-python/tgmochikit/tgmochikit-1.4.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="tgMochiKit"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MochiKit packaged as TurboGears widgets"
+HOMEPAGE="http://pypi.python.org/pypi/tgMochiKit"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="|| ( AFL-2.1 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "tests failed"
+}
diff --git a/dev-python/theano/Manifest b/dev-python/theano/Manifest
new file mode 100644
index 000000000000..41b7d8ab8dd6
--- /dev/null
+++ b/dev-python/theano/Manifest
@@ -0,0 +1 @@
+DIST Theano-0.6.0.tar.gz 1763756 SHA256 aaa75f9a9b7bf50f09ddcc01fb993cf47513179d0a7bee3d96bfeebd66e76083 SHA512 6333c673df809bed3af952e0759cce4878ed21684367c6eb20e422363c7c5696ea59239ff6a448c6a32771b1069d441b0e3d049f9708ae69d790412303b8ebbd WHIRLPOOL 946fcacb87b7745e72282f5f7e6b67db5fd0e365f55b2c97a8e9e506e30986d90da7c3789636892ca316da33f4f064f99d31fc3771678457dd609fd0c43d9010
diff --git a/dev-python/theano/metadata.xml b/dev-python/theano/metadata.xml
new file mode 100644
index 000000000000..e92a8dee3bd8
--- /dev/null
+++ b/dev-python/theano/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Theano is a numerical computation library for the Python. In Theano,
+ computations are expressed using a NumPy-like syntax and compiled to
+ run efficiently on either CPU or GPU architectures.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">Theano</remote-id>
+ <remote-id type="github">Theano/Theano</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/theano/theano-0.6.0.ebuild b/dev-python/theano/theano-0.6.0.ebuild
new file mode 100644
index 000000000000..148376601c92
--- /dev/null
+++ b/dev-python/theano/theano-0.6.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+MYPN=Theano
+MYP=${MYPN}-$(replace_version_separator 3 '')
+
+DESCRIPTION="Python library to define and optimize multi-dimensional arrays mathematical expressions"
+HOMEPAGE="https://github.com/Theano/Theano"
+LICENSE="BSD"
+
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+SLOT="0"
+IUSE="test"
+
+RDEPEND="sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MYP}"
+
+python_test() {
+ nosetests || die
+}
diff --git a/dev-python/thunarx-python/Manifest b/dev-python/thunarx-python/Manifest
new file mode 100644
index 000000000000..9832d0950476
--- /dev/null
+++ b/dev-python/thunarx-python/Manifest
@@ -0,0 +1 @@
+DIST thunarx-python-0.3.0.tar.bz2 303035 SHA256 5650e045565af82f3a5f67bbecb46182b502a37f94d08c23adac697dbb4ce258 SHA512 9be3e8b50cd668e0b63fbf54da5dec3685dde40528067b35bd1cfa87db7e037962baafce3059818a7de76101472a2b07ae209c590f2f143dbc71646e8addb28f WHIRLPOOL cfcf986b7ca9bc2fd50d4d5bbb80c6df7ac557e3ca15703eada5c71a302d4275cee7972d13cb3d746e064caeb9e90f366819045bc109d761bcc898ce5a70d577
diff --git a/dev-python/thunarx-python/metadata.xml b/dev-python/thunarx-python/metadata.xml
new file mode 100644
index 000000000000..db7cdefa7c62
--- /dev/null
+++ b/dev-python/thunarx-python/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xfce@gentoo.org</email>
+ <name>XFCE Team</name>
+ </maintainer>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/thunarx-python/thunarx-python-0.3.0-r1.ebuild b/dev-python/thunarx-python/thunarx-python-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..d9056e221cd0
--- /dev/null
+++ b/dev-python/thunarx-python/thunarx-python-0.3.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1 xfconf
+
+DESCRIPTION="Python bindings for the Thunar file manager"
+HOMEPAGE="http://goodies.xfce.org/projects/bindings/thunarx-python"
+SRC_URI="mirror://xfce/src/bindings/${PN}/0.3/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug"
+
+RDEPEND="${PYTHON_DEPS}
+ x11-libs/gtk+:2
+ dev-libs/glib:2
+ >=dev-python/pygobject-2.16:2[${PYTHON_USEDEP}]
+ dev-python/pygtk:2[${PYTHON_USEDEP}]
+ >=xfce-base/thunar-1.1.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+pkg_setup() {
+ XFCONF=(
+ --disable-dependency-tracking
+ $(xfconf_use_debug)
+ )
+
+ DOCS=( AUTHORS ChangeLog NEWS README )
+
+ python-single-r1_pkg_setup
+}
+
+src_install() {
+ xfconf_src_install \
+ docsdir=/usr/share/doc/${PF} \
+ examplesdir=/usr/share/doc/${PF}/examples
+}
diff --git a/dev-python/timelib/Manifest b/dev-python/timelib/Manifest
new file mode 100644
index 000000000000..a0da5d42edd9
--- /dev/null
+++ b/dev-python/timelib/Manifest
@@ -0,0 +1 @@
+DIST timelib-0.2.4.zip 281070 SHA256 49142233bdb5971d64a41e05a1f80a408a02be0dc7d9f8c99e7bdd0613ba81cb SHA512 871683756318f8896592e154a6949e6c96f9b9177ecd8694db2a48b16104cf35d11f550355a4723a097e9f17e3b7020d09a23916bd55a3dd463c22bed68991af WHIRLPOOL 941e3bccb1fba22eb54530c111ed0cbad136481e1e4f9c7107ae82625452b3534ad0b218b08eaf542efa159bc5df3afd49346cbc4fa297471998bd4412d3154b
diff --git a/dev-python/timelib/metadata.xml b/dev-python/timelib/metadata.xml
new file mode 100644
index 000000000000..5d5c6fdbe609
--- /dev/null
+++ b/dev-python/timelib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">timelib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/timelib/timelib-0.2.4-r1.ebuild b/dev-python/timelib/timelib-0.2.4-r1.ebuild
new file mode 100644
index 000000000000..cd225a2b075a
--- /dev/null
+++ b/dev-python/timelib/timelib-0.2.4-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="parse english textual date descriptions"
+HOMEPAGE="http://pypi.python.org/pypi/timelib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="PHP-3.01 ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/tinycss/Manifest b/dev-python/tinycss/Manifest
new file mode 100644
index 000000000000..28f31721e822
--- /dev/null
+++ b/dev-python/tinycss/Manifest
@@ -0,0 +1 @@
+DIST tinycss-0.3.tar.gz 72860 SHA256 a4adabd1c417080372c789220f7f9985995e74f2fb612848306872a232862cde SHA512 1fdf29777ee7b3ef39cf2169d8f464a7e5aea850de8a7976acf3ed9e73e831ea0d7ee52b4c8c9979b2263509cbffe1bde85cf6da178ddeaac9009ace7a2b4441 WHIRLPOOL 2fc7433e2410e8641f2c939f2d22ba3ab423908e20213559b34e8fb5002776a9ddfe7640c8a68c59af05b1c0e1493481c315011bef8055afd858e7a4c66ebdd4
diff --git a/dev-python/tinycss/metadata.xml b/dev-python/tinycss/metadata.xml
new file mode 100644
index 000000000000..dbd435291a84
--- /dev/null
+++ b/dev-python/tinycss/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">tinycss</remote-id>
+ <remote-id type="github">SimonSapin/tinycss</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tinycss/tinycss-0.3.ebuild b/dev-python/tinycss/tinycss-0.3.ebuild
new file mode 100644
index 000000000000..a0a41deb439e
--- /dev/null
+++ b/dev-python/tinycss/tinycss-0.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A complete yet simple CSS parser for Python"
+HOMEPAGE="http://github.com/SimonSapin/tinycss/ http://packages.python.org/tinycss/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/lxml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGES README.rst )
+
+python_test() {
+ export TINYCSS_SKIP_SPEEDUPS_TESTS=1
+ local test
+ for test in ${PN}/tests/test_*.py; do
+ py.test $test
+ done
+}
diff --git a/dev-python/tlslite/Manifest b/dev-python/tlslite/Manifest
new file mode 100644
index 000000000000..7b6d1a69e098
--- /dev/null
+++ b/dev-python/tlslite/Manifest
@@ -0,0 +1 @@
+DIST tlslite-0.4.3.tar.gz 562090 SHA256 6a67d8a0bec66183719c19c91f383bc1555545055aae4498af2e91fe9d79f813 SHA512 d1f451ebc2f7bd4d5436f1ca8ecfdbaa403f3dbbae9f9ac3900131e5d168e3267e22fcf23d85f87457f06468997cb01a51683d028a67fde58820b15f97689a0c WHIRLPOOL 555f2659f0bb5080519edd5f4325953e13109367ef21e1595816ab4f3956233bb541940f65f2cfa95c041b7f2cc080b8c4ee10719be79edfa11076a2c834fff6
diff --git a/dev-python/tlslite/metadata.xml b/dev-python/tlslite/metadata.xml
new file mode 100644
index 000000000000..74bb6e1c1a1f
--- /dev/null
+++ b/dev-python/tlslite/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ TLS Lite is a free python library that implements SSL 3.0, TLS 1.0, and
+ TLS 1.1. TLS Lite supports non-traditional authentication methods such
+ as SRP, shared keys, and cryptoIDs in addition to X.509 certificates.
+ TLS Lite is pure Python, however it can access OpenSSL, cryptlib,
+ pycrypto, and GMPY for faster crypto operations. TLS Lite integrates
+ with httplib, xmlrpclib, poplib, imaplib, smtplib, SocketServer,
+ asyncore, and Twisted.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">trevp/tlslite</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tlslite/tlslite-0.4.3-r1.ebuild b/dev-python/tlslite/tlslite-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..423598656251
--- /dev/null
+++ b/dev-python/tlslite/tlslite-0.4.3-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="TLS Lite is a free python library that implements SSL 3.0 and TLS 1.0/1.1"
+HOMEPAGE="http://trevp.net/tlslite/ http://pypi.python.org/pypi/tlslite"
+SRC_URI="http://github.com/trevp/tlslite/downloads/${P}.tar.gz"
+
+LICENSE="BSD public-domain"
+SLOT="0"
+KEYWORDS="amd64 x86"
+#Refrain for now setting IUSE test and deps of test given test restricted.
+IUSE="doc gmp"
+RESTRICT="test"
+
+DEPEND=">=dev-libs/cryptlib-3.3.3[python,${PYTHON_USEDEP}]
+ || (
+ dev-python/m2crypto[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+ )
+ gmp? ( dev-python/gmpy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+# Tests still hang
+python_test() {
+ "${S}"/tests/tlstest.py client localhost:4443 .
+ "${S}"/tests/tlstest.py server localhost:4442 .
+}
+
+python_install_all(){
+ distutils-r1_python_install_all
+ use doc && dohtml -r docs/
+}
diff --git a/dev-python/tmdb3/Manifest b/dev-python/tmdb3/Manifest
new file mode 100644
index 000000000000..89804659a3c8
--- /dev/null
+++ b/dev-python/tmdb3/Manifest
@@ -0,0 +1,2 @@
+DIST tmdb3-0.6.17.zip 38179 SHA256 64a6c3f1a60a9d8bf18f96a5403f3735b334040345ac3646064931c209720972 SHA512 ad2cd838a9127e4839572590d1083a0b1f3f23d5fd52aff2dcdc159ed189b4f73acad0b916d807c8ee77cc434102d7a6e99d4f7a0d560bdcb8fdbd1f9f6f4a72 WHIRLPOOL 4454bf25a4d6c073e4a469a7558deafb50dad2d55649ed2cddd3d40ca0e100fd4df00c89a843a7285103ddd208a1e741513217a10df62a2897d2b2dd8b2f6c29
+DIST tmdb3-0.7.2.tar.gz 39545 SHA256 9b6e043b8a65d159e7fc8f720badc7ffee5109296e38676c107454e03a895983 SHA512 d4294cbc5811776f7514f5dca82421c61538409c6d76704ed22272bbd9b6a362b7887c392526f285d81da29500530e684f1e829722f646d1d3eea4293a748a64 WHIRLPOOL 4cc02bf35891e3a460d205e1eedda365167bd8193b670b65732c5457e2ebfa16822b53a40eeffb62ec65923b047f51596a0b02ae40af5fa61c1aa2e7e34a8e04
diff --git a/dev-python/tmdb3/metadata.xml b/dev-python/tmdb3/metadata.xml
new file mode 100644
index 000000000000..2878da44759a
--- /dev/null
+++ b/dev-python/tmdb3/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">tmdb3</remote-id>
+ <remote-id type="github">wagnerrp/pytmdb3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tmdb3/tmdb3-0.6.17.ebuild b/dev-python/tmdb3/tmdb3-0.6.17.ebuild
new file mode 100644
index 000000000000..be4ca2f26b85
--- /dev/null
+++ b/dev-python/tmdb3/tmdb3-0.6.17.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="TheMovieDB.org APIv3 interface"
+HOMEPAGE="https://github.com/wagnerrp/pytmdb3 https://pypi.python.org/pypi/tmdb3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
diff --git a/dev-python/tmdb3/tmdb3-0.7.2.ebuild b/dev-python/tmdb3/tmdb3-0.7.2.ebuild
new file mode 100644
index 000000000000..67087604f1cf
--- /dev/null
+++ b/dev-python/tmdb3/tmdb3-0.7.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="TheMovieDB.org APIv3 interface"
+HOMEPAGE="https://github.com/wagnerrp/pytmdb3 https://pypi.python.org/pypi/tmdb3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/toolz/Manifest b/dev-python/toolz/Manifest
new file mode 100644
index 000000000000..b4cf9b56fcdc
--- /dev/null
+++ b/dev-python/toolz/Manifest
@@ -0,0 +1,3 @@
+DIST toolz-0.7.0.tar.gz 18692 SHA256 8f88590f960c16db2146b6ecae31f9d048865612b69e197907e886c963fad6f3 SHA512 7542d814d5e749a6dd0599b0af2640dd4c1225655f41c15fdbae1d9e74dc5c46875ac44a77178b9c4f27828077229aada6592fe6f3c80b1d9c8391a17c3089f5 WHIRLPOOL 07dcb967b5787902552fa7bc5dae420322c1c050bcaf5fad55d3326a0a1e4fd3370c2d2172d6db6bb9404dfd1672cec8c5af394b14861888e5f9b845257716c2
+DIST toolz-0.7.1.tar.gz 19283 SHA256 cc71fd92a2f9edbf554c23534150f13f0f589baf2404da4b42686f0b08085db5 SHA512 57362f5f4a24ee4384e474b996d1195e9450c3583068632294f10cc342b9bb11d13ca811c83cc8f75bd845e14869cd1f3b96bf49e98ae677343fa2ab11a9d664 WHIRLPOOL eca4afb9347a99ed8a36b858c23964645740d7cde98109f7f5fd54682d2c6315504b6823cd7c2c8d08cd340b64d78a43e97d76539543bb6775a34ce31d2d1b95
+DIST toolz-0.7.2.tar.gz 27275 SHA256 56b2fc25d48337c39a30545ae28d643df28a2d63be12aae3c1336edc485098b1 SHA512 f7a1433060820c5ce1cd0892e8487b2fb6a49631a9155dbc94fa17601f5951797ef5bc9a9df3bc83c384c45a7965392aa68fd2f43cec0f651edfb011d4bbf458 WHIRLPOOL 121061d9f0a474e7de9adec34c7ede336a700f9769be338a4987cd7bfe7cdf4f66c7f8dbbef15db2db4f68a59f1822b2d134b01be7cb8a90cc632cfed9f96fe9
diff --git a/dev-python/toolz/metadata.xml b/dev-python/toolz/metadata.xml
new file mode 100644
index 000000000000..082526d7d674
--- /dev/null
+++ b/dev-python/toolz/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">toolz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/toolz/toolz-0.7.0.ebuild b/dev-python/toolz/toolz-0.7.0.ebuild
new file mode 100644
index 000000000000..50b411dc3cc3
--- /dev/null
+++ b/dev-python/toolz/toolz-0.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="List processing tools and functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/toolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/toolz/toolz-0.7.1.ebuild b/dev-python/toolz/toolz-0.7.1.ebuild
new file mode 100644
index 000000000000..8fa3d5f2a42d
--- /dev/null
+++ b/dev-python/toolz/toolz-0.7.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="List processing tools and functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/toolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/toolz/toolz-0.7.2.ebuild b/dev-python/toolz/toolz-0.7.2.ebuild
new file mode 100644
index 000000000000..7334537e1604
--- /dev/null
+++ b/dev-python/toolz/toolz-0.7.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="List processing tools and functional utilities"
+HOMEPAGE="https://pypi.python.org/pypi/toolz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/torment/Manifest b/dev-python/torment/Manifest
new file mode 100644
index 000000000000..9bb7cb2c61b5
--- /dev/null
+++ b/dev-python/torment/Manifest
@@ -0,0 +1,3 @@
+DIST torment-2.0.1.tar.gz 23272 SHA256 882f33063ade787ea94ee7b69755632b2a28b26502441732bb381eb6adbe5e6c SHA512 a14645d945c9efe1a84005d098f7ea9a108316295d900c9b78746dc7b2472d9062be6de27f6cfbb4a35e36f118fc768a09a9eab414174fdabd07d895f5fb1a53 WHIRLPOOL e444c27873224751d5fb067c949e27cfcaf54f2ef49b083cc8af6b66ac93485e4f0559c36d6b047896651e04db73a244a7e019b469217acc89c069a0535e5ab6
+DIST torment-2.0.2.tar.gz 23291 SHA256 09950e60289921cd21403f00b1dc5643dd1c143b6e963bd0ca1e7a6928b18425 SHA512 4f0cbfd080053cc7a8f4556012516d8e7647d6f42e232288b24e84fafdcb36a5098f1e24b734ca62d2e4ce34883e25fdc94795b71835ad3863af670edc200853 WHIRLPOOL 1a3b7e352d2e1667d2b513b8810b58cf01cc15d4439b6a3f2b578d88928b1d687d6e60037e061e3dd412a064dca65909a191e93785bbfa5285a023d8d548ba15
+DIST torment-2.0.3.tar.gz 23457 SHA256 577fb8227087100ec1e3c29fc422dfab8813f77881f74b7f68b41a7a9abde9ca SHA512 a112fdd20da24ecf2ac0d8acb50e226bdc60cd78ce2b903333cde20fa78c593e31ff5ef9922c0b9f5cd32ac5c910ee287f2534ff5669cd21b12a66a485d0f409 WHIRLPOOL 060fa7ec2200b7fddddd1fd128ca09ad0f30314707da7cf393e30c614f894169f3724c51ab4e2c2627ba51a1345a6079b804c5ce0f02f2dae54090bbd2b20cb9
diff --git a/dev-python/torment/metadata.xml b/dev-python/torment/metadata.xml
new file mode 100644
index 000000000000..797131eaeeb0
--- /dev/null
+++ b/dev-python/torment/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">torment</remote-id>
+ <remote-id type="github">kumoru/torment</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/torment/torment-2.0.1.ebuild b/dev-python/torment/torment-2.0.1.ebuild
new file mode 100644
index 000000000000..f890bde9a256
--- /dev/null
+++ b/dev-python/torment/torment-2.0.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Study in Fixture Based Testing Frameworking"
+HOMEPAGE="https://github.com/kumoru/torment"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/mypy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests || die "Tests failed on ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/torment/torment-2.0.2.ebuild b/dev-python/torment/torment-2.0.2.ebuild
new file mode 100644
index 000000000000..f890bde9a256
--- /dev/null
+++ b/dev-python/torment/torment-2.0.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Study in Fixture Based Testing Frameworking"
+HOMEPAGE="https://github.com/kumoru/torment"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/mypy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests || die "Tests failed on ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/torment/torment-2.0.3.ebuild b/dev-python/torment/torment-2.0.3.ebuild
new file mode 100644
index 000000000000..f890bde9a256
--- /dev/null
+++ b/dev-python/torment/torment-2.0.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Study in Fixture Based Testing Frameworking"
+HOMEPAGE="https://github.com/kumoru/torment"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+CDEPEND="dev-python/mypy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${CDEPEND}
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx
+}
+
+python_test() {
+ nosetests || die "Tests failed on ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
new file mode 100644
index 000000000000..2110d77f73c3
--- /dev/null
+++ b/dev-python/tox/Manifest
@@ -0,0 +1,4 @@
+DIST tox-1.8.0.tar.gz 89667 SHA256 4583b8340279d8cf080082550f7a5f14ba838bed3b217a37f0ea305c271281c7 SHA512 8ca009406b9d99de01877eb38401534b5185b5c049f51703c7637fa09f58544e74187e001b311b8ef9d0b5f13de27941f242612b9ecc22837f0442fade51aca2 WHIRLPOOL fb8d9f75ad03bddf02565dbc076a87ab76da996e6d228d57f374c0f57bd0ffeaad6f58d41a5a98a707641f98b24d4a957779c18afafe0b50f11a6d81936679b1
+DIST tox-1.8.1.tar.gz 90120 SHA256 44ca1e038cb57fe40ac0dff8b67b258efe05517bf9b4b4b07035f8be830aac01 SHA512 eb669c62e1943462513d66760e6275458e448552ec18a79776bceddeb686deea62280913dfe3d338809b8622dbc3fff24321f68ec6263e447ddf5099a36047bc WHIRLPOOL 240f8ab6df2bce1febb828058b2ba204ba5d48de17ccfa457e66392a9c3c49444439b5cda69e34c94e464f4bab91634104b0f935e5ac465528a2d9cfb7c14d80
+DIST tox-1.9.0.tar.gz 92574 SHA256 817ad1eaeb6b46e68b322d9ff41244be3c15315833df5762216ffe3629a21219 SHA512 71e36b7524662bc751e7260e8a589d73c1a6070e17ca5b51fb8831ad5ea54cff5404b37fb7ff8db9d62a98f496a24b3fb41d93cde9ff723b91ed931760274384 WHIRLPOOL fa4fb9f72261498c56e6489e96aab19e6d1f7418b1b487378230f62851911279afe32c9cef672c05643de1bbac5bc069437cfc53e65aeaff118e1418b91d3e96
+DIST tox-1.9.2.tar.gz 93029 SHA256 3125a15da7381f59f835a25bd259a84acb7a69858c81e386c50027bd842bb91b SHA512 a6521300825ac8b11576a224748aedefb183890bd7e3586c0c7340761e00778d20cff9cb4140ec452e62de5c2d6fc0c014b17bd45a43e45ac6a83e2394ef72b4 WHIRLPOOL 659ac6878fc845f3979d69b7d5a4d9bbd16716bb43dd5a41ac5f603d5172bef475f1da98eb806da0b16df62dd86ea03e978045bab62ccdec563261a34fbdc1a8
diff --git a/dev-python/tox/metadata.xml b/dev-python/tox/metadata.xml
new file mode 100644
index 000000000000..15f2cb67d803
--- /dev/null
+++ b/dev-python/tox/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">tox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tox/tox-1.8.0.ebuild b/dev-python/tox/tox-1.8.0.ebuild
new file mode 100644
index 000000000000..410db2f21f5b
--- /dev/null
+++ b/dev-python/tox/tox-1.8.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="http://tox.testrun.org http://pypi.python.org/pypi/tox"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-1.11.2[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4.17[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Take out failing tests known to pass when run manually
+ # # Run from ebuild interferes in subtle & mysterious ways, inducing these erroroneous fails
+ sed -e 's:test_package_install_fails:_&:' -e 's:test_different_config_cwd:_&:' \
+ -e 's:test_develop:_&:' -e 's:test_usedevelop:_&:' \
+ -e 's:test_usedevelop_mixed:_&:' -e 's:test__test_usedevelop:_&:' \
+ -e 's:test_env_VIRTUALENV_PYTHON:_&:' \
+ -i tests/test_z_cmdline.py || die
+
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test tests || die "Testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tox/tox-1.8.1.ebuild b/dev-python/tox/tox-1.8.1.ebuild
new file mode 100644
index 000000000000..a317d9d7f618
--- /dev/null
+++ b/dev-python/tox/tox-1.8.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="http://tox.testrun.org http://pypi.python.org/pypi/tox"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-1.11.2[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4.17[${PYTHON_USEDEP}]"
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Take out failing tests known to pass when run manually
+ # # Run from ebuild interferes in subtle & mysterious ways, inducing these erroroneous fails
+ sed -e 's:test_package_install_fails:_&:' -e 's:test_different_config_cwd:_&:' \
+ -e 's:test_develop:_&:' -e 's:test_usedevelop:_&:' \
+ -e 's:test_usedevelop_mixed:_&:' -e 's:test__test_usedevelop:_&:' \
+ -e 's:test_env_VIRTUALENV_PYTHON:_&:' \
+ -i tests/test_z_cmdline.py || die
+
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test tests || die "Testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tox/tox-1.9.0.ebuild b/dev-python/tox/tox-1.9.0.ebuild
new file mode 100644
index 000000000000..b592eef3b2fb
--- /dev/null
+++ b/dev-python/tox/tox-1.9.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="http://tox.testrun.org http://pypi.python.org/pypi/tox"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-1.11.2[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4.17[${PYTHON_USEDEP}]"
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Take out failing tests known to pass when run manually
+ # # Run from ebuild interferes in subtle & mysterious ways, inducing these erroroneous fails
+ sed -e 's:test_package_install_fails:_&:' -e 's:test_different_config_cwd:_&:' \
+ -e 's:test_develop:_&:' -e 's:test_usedevelop:_&:' \
+ -e 's:test_usedevelop_mixed:_&:' -e 's:test__test_usedevelop:_&:' \
+ -e 's:test_env_VIRTUALENV_PYTHON:_&:' \
+ -i tests/test_z_cmdline.py || die
+
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test tests || die "Testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tox/tox-1.9.2.ebuild b/dev-python/tox/tox-1.9.2.ebuild
new file mode 100644
index 000000000000..b592eef3b2fb
--- /dev/null
+++ b/dev-python/tox/tox-1.9.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="http://tox.testrun.org http://pypi.python.org/pypi/tox"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-1.11.2[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/py-1.4.17[${PYTHON_USEDEP}]"
+DEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # Take out failing tests known to pass when run manually
+ # # Run from ebuild interferes in subtle & mysterious ways, inducing these erroroneous fails
+ sed -e 's:test_package_install_fails:_&:' -e 's:test_different_config_cwd:_&:' \
+ -e 's:test_develop:_&:' -e 's:test_usedevelop:_&:' \
+ -e 's:test_usedevelop_mixed:_&:' -e 's:test__test_usedevelop:_&:' \
+ -e 's:test_env_VIRTUALENV_PYTHON:_&:' \
+ -i tests/test_z_cmdline.py || die
+
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'http://docs.python.org/': None|'${PYTHON_DOC}': '${PYTHON_DOC_INVENTORY}'|" doc/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test tests || die "Testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tpg/Manifest b/dev-python/tpg/Manifest
new file mode 100644
index 000000000000..5b4903e463e0
--- /dev/null
+++ b/dev-python/tpg/Manifest
@@ -0,0 +1 @@
+DIST TPG-3.2.2.tar.gz 377142 SHA256 f33c6d2cb9e0bae78faa85e852a67437ae7128208812f126f3f01938a594ae33 SHA512 c60a8ff644377abc3edea766d33b911c85a131d0c0ca70175b7614901d316efc4b4d2fba0f17938ab104511fcfe8bd73fb4b6cf295f6465ec08f5c0ccab1d358 WHIRLPOOL 6962eec1e51e5d5d4483171deefbab84c0201816cc50b14ae427d8412028284e00e3e4af187d05297f81692beb34722000e2e34d49fcb6c3453b7426718a30f0
diff --git a/dev-python/tpg/metadata.xml b/dev-python/tpg/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/tpg/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/tpg/tpg-3.2.2-r1.ebuild b/dev-python/tpg/tpg-3.2.2-r1.ebuild
new file mode 100644
index 000000000000..6dc7eebee70c
--- /dev/null
+++ b/dev-python/tpg/tpg-3.2.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+# py2.6 doesn't pass tests
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_P="TPG-${PV}"
+
+DESCRIPTION="Toy Parser Generator for Python"
+HOMEPAGE="http://christophe.delord.free.fr/tpg/index.html"
+SRC_URI="http://christophe.delord.free.fr/tpg/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc x86"
+IUSE="doc examples"
+DOCS=( ChangeLog README THANKS doc/tpg.pdf )
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ "${PYTHON}" tpg_tests.py -v || die
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/traceback2/Manifest b/dev-python/traceback2/Manifest
new file mode 100644
index 000000000000..b3de5ac5dd15
--- /dev/null
+++ b/dev-python/traceback2/Manifest
@@ -0,0 +1 @@
+DIST traceback2-1.4.0.tar.gz 15872 SHA256 05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030 SHA512 84c7fc291c8f2d4cee10441cdef1820aa453e631dfa91ed58e40fc205e97a9dd2101388d5689e4fdf10edfbf06bdb5b895d1635ae7218ba0c9b697d3f95f9342 WHIRLPOOL a2bcc135f1585d777dc94992bfb5bab3ce36f00f84ab3aceefba4a0864a1b51ee523d2095906d57321e8ff22ea534b1b559a192270a154fc7c674ad6725d68d5
diff --git a/dev-python/traceback2/metadata.xml b/dev-python/traceback2/metadata.xml
new file mode 100644
index 000000000000..e1e19aefdeed
--- /dev/null
+++ b/dev-python/traceback2/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">traceback2</remote-id>
+ <remote-id type="github">testing-cabal/traceback2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/traceback2/traceback2-1.4.0.ebuild b/dev-python/traceback2/traceback2-1.4.0.ebuild
new file mode 100644
index 000000000000..7871bfe01581
--- /dev/null
+++ b/dev-python/traceback2/traceback2-1.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Backports of the traceback module"
+HOMEPAGE="https://github.com/testing-cabal/traceback2"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+RDEPEND="dev-python/linecache2[${PYTHON_USEDEP}]"
diff --git a/dev-python/tracing/Manifest b/dev-python/tracing/Manifest
new file mode 100644
index 000000000000..1c4116932d6e
--- /dev/null
+++ b/dev-python/tracing/Manifest
@@ -0,0 +1,2 @@
+DIST python-tracing_0.7.orig.tar.gz 18670 SHA256 9954a1b0cc6b957d15975b048f929bbdd46766d397a6fa51bf8f6498b9459276 SHA512 4d6f2fb6cef9dfa90bcd786d5d32c4974a3e2a60cb616a41931e88e474fe016e72863e4831c88363242cb4daed9e061a5380bf33903e3385ee0eeadd4ec24f93 WHIRLPOOL 221d6812efe8a3a9c6359dad0cd2ec0a4cd79871b9f3dd23b55c5215a19634f796a0f391f58c4e0b0d4c76368cebf7410503bf10c376897bc692ad1008445c6f
+DIST python-tracing_0.8.orig.tar.gz 18796 SHA256 808a064cc5fd1972fb07a7d72b4069cbff284ac7077bcd90eb2ce79d8b5c9ed0 SHA512 9a5262ce63dbcafff83a75586e90be280ff41f902d9f71f4274dac944db4196c6a5777e290ca5e49aa010fb3129d5352d8c10a554918375557525b9a56ac9096 WHIRLPOOL 0dbe1760553177669ce9f43f49ede989f8f51e68efa8d024dc6a862d0f8f1593058d6231b41b2ead1a085a8d771c6528f99d7b77f35145484f911f5fd62d36db
diff --git a/dev-python/tracing/metadata.xml b/dev-python/tracing/metadata.xml
new file mode 100644
index 000000000000..ea7bd021a21e
--- /dev/null
+++ b/dev-python/tracing/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/tracing/tracing-0.7-r1.ebuild b/dev-python/tracing/tracing-0.7-r1.ebuild
new file mode 100644
index 000000000000..cf8eab9aaa12
--- /dev/null
+++ b/dev-python/tracing/tracing-0.7-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+MY_P="python-${P}"
+
+inherit distutils-r1
+
+DESCRIPTION="Debug log/trace messages"
+HOMEPAGE="http://liw.fi/tracing/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ dodoc README
+ use doc && dohtml -r doc/_build/html/
+ if use examples; then
+ docompress -x usr/share/doc/${PF}/examples/
+ insinto usr/share/doc/${PF}/examples/
+ doins example.py
+ fi
+}
diff --git a/dev-python/tracing/tracing-0.8.ebuild b/dev-python/tracing/tracing-0.8.ebuild
new file mode 100644
index 000000000000..af7c703a4f5a
--- /dev/null
+++ b/dev-python/tracing/tracing-0.8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+MY_P="python-${P}"
+
+inherit distutils-r1
+
+DESCRIPTION="Debug log/trace messages"
+HOMEPAGE="http://liw.fi/tracing/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_install_all() {
+ dodoc README
+ use doc && dohtml -r doc/_build/html/
+ if use examples; then
+ docompress -x usr/share/doc/${PF}/examples/
+ insinto usr/share/doc/${PF}/examples/
+ doins example.py
+ fi
+}
diff --git a/dev-python/traits/Manifest b/dev-python/traits/Manifest
new file mode 100644
index 000000000000..7fb3adc76758
--- /dev/null
+++ b/dev-python/traits/Manifest
@@ -0,0 +1 @@
+DIST traits-4.5.0.tar.gz 4853612 SHA256 5293a8786030b0b243e059f52004355b6939d7c0f1be2eb5a605b63cca484c84 SHA512 d506b4395395898eb824896d299bfcde609e100025cf9a55cd7d7c47615545efd3b007e46549e564fbfb2d5882b36ae676843f211f168b2557c504849c5ef582 WHIRLPOOL fc9a1c41d09579df7cbb63ba17696b343bda707f0f95a2a5dd289b36fa4ded8088ea46f03259f616d9f081ff20fbce208adbc7913e0466ee6de56bc7e08718ae
diff --git a/dev-python/traits/metadata.xml b/dev-python/traits/metadata.xml
new file mode 100644
index 000000000000..f5194078267d
--- /dev/null
+++ b/dev-python/traits/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription lang="en">
+ The traits package from the Enthought Tool Suite provides a
+ metaclass with special attributes that are called traits. A trait
+ is a type definition that can be used for normal Python object
+ attributes, giving the attributes some additional characteristics:
+ * Initialization: A trait attribute can have a default value
+ * Validation: A trait attribute is manifestly typed.
+ * Delegation: The value of a trait attribute can be contained in another
+ object
+ * Notification: Setting the value of a trait attribute can fired
+ callbacks
+ * Visualization: With the TraitsUI package, GUIs can be generated
+ automatically from traited objects.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">traits</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/traits/traits-4.5.0.ebuild b/dev-python/traits/traits-4.5.0.ebuild
new file mode 100644
index 000000000000..388d99d83d38
--- /dev/null
+++ b/dev-python/traits/traits-4.5.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Explicitly typed attributes for Python"
+HOMEPAGE="http://code.enthought.com/projects/traits/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND} )"
+
+python_prepare_all() {
+ sed -i -e "s/'-O3'//g" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ nosetests || die
+}
diff --git a/dev-python/traitsui/Manifest b/dev-python/traitsui/Manifest
new file mode 100644
index 000000000000..4ca126957012
--- /dev/null
+++ b/dev-python/traitsui/Manifest
@@ -0,0 +1 @@
+DIST traitsui-4.4.0.tar.gz 598148 SHA256 68a10c4f86cf0f5ba5d9fac5caece73e0a76256a4175efcded5edec03949cf60 SHA512 bd563330aa80acbf4087b54f42ffb94856495cf82da8b9c5ae54bdcda2d2544e4293a427ed3b28de7622c2fe063cd14f969b894735eb81cb4932cc3e2ad27bef WHIRLPOOL f49f6278d1b9ec0cc35af5f5f8b695c34082fd3ae8acdc0990634b15305d09b5f975f8906e568ca8ca25a746822c1d11c0c2c7933ad429856ec614fad51c84b6
diff --git a/dev-python/traitsui/files/traitsui-4.3.0-tests.patch b/dev-python/traitsui/files/traitsui-4.3.0-tests.patch
new file mode 100644
index 000000000000..2712203dfb57
--- /dev/null
+++ b/dev-python/traitsui/files/traitsui-4.3.0-tests.patch
@@ -0,0 +1,34 @@
+https://github.com/enthought/traitsui/issues/74
+diff -ur traitsui-4.3.0.orig/traitsui/qt4/ui_panel.py traitsui-4.3.0/traitsui/qt4/ui_panel.py
+--- traitsui/qt4/ui_panel.py 2013-03-29 04:08:54.000000000 +0800
++++ traitsui/qt4/ui_panel.py 2013-04-12 13:23:09.499989912 +0800
+@@ -977,7 +977,7 @@
+
+ if (label is not None
+ and not is_label_left
+- and item_policy == QtGui.QSizePolicy.Policy.Minimum):
++ and item_policy == QtGui.QSizePolicy.Minimum):
+ # this item cannot be stretched horizontally, and the label
+ # exists and is on the right -> make label stretchable if necessary
+
+@@ -1012,7 +1012,7 @@
+ label_policy = label.sizePolicy()
+ label_policy.setHorizontalStretch(stretch)
+ label_policy.setHorizontalPolicy(
+- QtGui.QSizePolicy.Policy.Expanding)
++ QtGui.QSizePolicy.Expanding)
+ label.setSizePolicy(label_policy)
+
+
+diff -ur traitsui-4.3.0.orig/traitsui/tests/_tools.py traitsui-4.3.0/traitsui/tests/_tools.py
+--- traitsui/tests/_tools.py 2013-03-29 04:08:54.000000000 +0800
++++ traitsui/tests/_tools.py 2013-04-12 13:23:09.502989914 +0800
+@@ -173,7 +173,7 @@
+ return ui_control.GetSizeTuple()
+
+ elif is_current_backend_qt4():
+- return ui_control.size().toTuple()
++ return ui_control.size().width(), ui_control.size().height()
+
+
+ # ######### Debug tools
diff --git a/dev-python/traitsui/metadata.xml b/dev-python/traitsui/metadata.xml
new file mode 100644
index 000000000000..89dc0b657609
--- /dev/null
+++ b/dev-python/traitsui/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ The traitsui project contains a toolkit-independent GUI abstraction
+ layer, which is used to support the "visualization" features of the
+ Traits package. Thus, you can write code in terms of the Traits API
+ (views, items, editors, etc.), and let traitsui and your selected
+ toolkit and back-end take care of the details of displaying them.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">traitsui</remote-id>
+ <remote-id type="github">enthought/traitsui</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/traitsui/traitsui-4.4.0.ebuild b/dev-python/traitsui/traitsui-4.4.0.ebuild
new file mode 100644
index 000000000000..b55644f4c1c5
--- /dev/null
+++ b/dev-python/traitsui/traitsui-4.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Enthought Tool Suite: Traits-capable user interfaces"
+HOMEPAGE="https://github.com/enthought/traitsui"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ dev-python/pyface[${PYTHON_USEDEP}]
+ dev-python/traits[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ media-fonts/font-cursor-misc
+ media-fonts/font-misc-misc
+ )"
+
+python_test() {
+ export ETS_TOOLKIT=qt4
+ export QT_API=pyqt
+ VIRTUALX_COMMAND="nosetests -v" virtualmake
+
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
new file mode 100644
index 000000000000..918c0489cdad
--- /dev/null
+++ b/dev-python/translate-toolkit/Manifest
@@ -0,0 +1 @@
+DIST translate-toolkit-1.12.0.tar.bz2 5329772 SHA256 11e332f2a29d8644364b4ca79b4ac079df328626ec8c27ac0e8cc454696719ca SHA512 c84424790ad66492dec97a5ec5601f5ffa68d23b219836def998847449b902970ac32fcb7d06455365e00c7b06f49d7dedda5257275bf7e845b16100153922dd WHIRLPOOL 866eb62056a30c8042d96a1ec06a23e56c2a5121dd66234a8b0889193548fff962d4c56700bb50a01c793e2443d49e33a02d92d5b53513f6c7b0805af827decf
diff --git a/dev-python/translate-toolkit/metadata.xml b/dev-python/translate-toolkit/metadata.xml
new file mode 100644
index 000000000000..0cb702435e12
--- /dev/null
+++ b/dev-python/translate-toolkit/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="html">Support conversion between po and html files</flag>
+ <flag name="ical">Support conversion between po and ical files</flag>
+ <flag name="ini">Support conversion between po and ini files</flag>
+ <flag name="subtitles">Support conversion between po and sub files</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">translate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/translate-toolkit/translate-toolkit-1.12.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-1.12.0.ebuild
new file mode 100644
index 000000000000..c35718f7d3b1
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-1.12.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="http://translate.sourceforge.net"
+SRC_URI="mirror://sourceforge/translate/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc +html +ical +ini +subtitles"
+
+RDEPEND="
+ app-text/iso-codes
+ sys-devel/gettext
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/python-levenshtein-0.10.2[${PYTHON_USEDEP}]
+ !=dev-python/python-levenshtein-0.11.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/diff-match-patch[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( dev-python/iniparse[${PYTHON_USEDEP}] )"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${RDEPEND}"
+
+python_prepare_all() {
+ # Prevent unwanted d'loading in doc build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
+ distutils-r1_python_install_all
+ rm -Rf docs || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/html2po || die
+ rm "${ED}"/usr/bin/po2html || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/ical2po || die
+ rm "${ED}"/usr/bin/po2ical || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/ini2po || die
+ rm "${ED}"/usr/bin/po2ini || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/sub2po || die
+ rm "${ED}"/usr/bin/po2sub || die
+ fi
+}
diff --git a/dev-python/translationstring/Manifest b/dev-python/translationstring/Manifest
new file mode 100644
index 000000000000..5c92e18b14db
--- /dev/null
+++ b/dev-python/translationstring/Manifest
@@ -0,0 +1 @@
+DIST translationstring-1.3.tar.gz 29259 SHA256 4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d SHA512 deba5b460d9ea640087cff8b5d7b9256708abd4340a54556f1f0542e2e4f9f0ae0a3482b66a176712fcd6925c470da621adbc5e4c4173c0ef29b9cca5fba1102 WHIRLPOOL bfc0f2d469718d6b27083feb10189dcab4e310183604c550314f4ecffaf38a8738bf2213e03eece6ce52dbf914c70b0629a44e5d1d7d1dcc4dfd9faa55b75191
diff --git a/dev-python/translationstring/metadata.xml b/dev-python/translationstring/metadata.xml
new file mode 100644
index 000000000000..fa2a3ed870b2
--- /dev/null
+++ b/dev-python/translationstring/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">translationstring</remote-id>
+ <remote-id type="github">Pylons/translationstring</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/translationstring/translationstring-1.3.ebuild b/dev-python/translationstring/translationstring-1.3.ebuild
new file mode 100644
index 000000000000..735f15f16d51
--- /dev/null
+++ b/dev-python/translationstring/translationstring-1.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Utility library for i18n relied on by various Repoze packages"
+HOMEPAGE="https://github.com/Pylons/translationstring http://pypi.python.org/pypi/translationstring"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+# Include COPYRIGHT.txt because the license seems to require it.
+DOCS=( COPYRIGHT.txt README.rst )
+
+python_test() {
+ esetup.py test || die
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # Install only the .rst source, as sphinx processing requires a
+ # theme only available from git that contains hardcoded references
+ # to files on https://static.pylonsproject.org/ (so the docs would
+ # not actually work offline). Install into a "docs" subdirectory
+ # so the reference in the README remains correct.
+ docinto docs
+ docompress -x usr/share/doc/${PF}/docs
+ dodoc docs/*.rst
+}
diff --git a/dev-python/transmissionrpc/Manifest b/dev-python/transmissionrpc/Manifest
new file mode 100644
index 000000000000..26ba5ce77c01
--- /dev/null
+++ b/dev-python/transmissionrpc/Manifest
@@ -0,0 +1,2 @@
+DIST transmissionrpc-0.11.tar.gz 96091 SHA256 ec43b460f9fde2faedbfa6d663ef495b3fd69df855a135eebe8f8a741c0dde60 SHA512 778c4099264d38deefbcf05c8f9e5d165ce113b4180e3797eb3cf11f0a9ba5393c0b2e6f1f0ae7c2dcfc679bfc1d0d69cb3715b3db6ac90a1a840fbd0775f82f WHIRLPOOL fabee8985ce38d6430aa80fdda1ea90d244a33cd50f1cb8200b10e81b607000e119cb70a9dd7ed5276ed8384e5dc32f1fb47ab50143b4cbec535ed759989ec64
+DIST ubuntu-12.04.2-alternate-amd64.iso.torrent 28541 SHA256 2fe13c38b0b9ab9b1d3d92c53af8f8c0be5e9d36dd270591deee922bdcceaf64 SHA512 a597d9c5258111cb9c42dfcbb0804e093b6c69d4cdf178c961de1d52ec64e75f76d078700b59535e631575e42d3a995844ac0d30c9f7e852ab1ece149ec1f6de WHIRLPOOL 36323cf11643be4fd51b2dc658c0bd96b2dafc5ceffeed71cfdc6603520e78cc52ba19ace46b642e03fb950aae7b6b9ca7e3c0ee2f2790341820cf06ff52f71d
diff --git a/dev-python/transmissionrpc/metadata.xml b/dev-python/transmissionrpc/metadata.xml
new file mode 100644
index 000000000000..ad30f06856c9
--- /dev/null
+++ b/dev-python/transmissionrpc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">transmissionrpc</remote-id>
+ <remote-id type="bitbucket">blueluna/transmissionrpc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/transmissionrpc/transmissionrpc-0.11.ebuild b/dev-python/transmissionrpc/transmissionrpc-0.11.ebuild
new file mode 100644
index 000000000000..cb0bbd3e195b
--- /dev/null
+++ b/dev-python/transmissionrpc/transmissionrpc-0.11.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://bitbucket.org/blueluna/transmissionrpc/src/release-0.10/test/data/ubuntu-12.04.2-alternate-amd64.iso.torrent"
+ KEYWORDS="~amd64 ~x86"
+else
+ inherit mercurial
+ EHG_REPO_URI="https://bitbucket.org/blueluna/${PN}"
+ KEYWORDS=""
+fi
+
+DESCRIPTION="Python module that implements the Transmission bittorrent client RPC protocol"
+HOMEPAGE="https://bitbucket.org/blueluna/transmissionrpc"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND=">=dev-python/six-1.1.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cp "${DISTDIR}/ubuntu-12.04.2-alternate-amd64.iso.torrent" ${P}/test/data/ || die
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/transmissionrpc/transmissionrpc-9999.ebuild b/dev-python/transmissionrpc/transmissionrpc-9999.ebuild
new file mode 100644
index 000000000000..80cf369aedf6
--- /dev/null
+++ b/dev-python/transmissionrpc/transmissionrpc-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+if [[ ${PV} != 9999 ]]; then
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+else
+ inherit mercurial
+ EHG_REPO_URI="https://bitbucket.org/blueluna/${PN}"
+ KEYWORDS=""
+fi
+
+DESCRIPTION="Python module that implements the Transmission bittorrent client RPC protocol"
+HOMEPAGE="https://bitbucket.org/blueluna/transmissionrpc"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND=">=dev-python/six-1.1.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/treq/Manifest b/dev-python/treq/Manifest
new file mode 100644
index 000000000000..b8a8dc8871f1
--- /dev/null
+++ b/dev-python/treq/Manifest
@@ -0,0 +1 @@
+DIST treq-0.2.1.tar.gz 30954 SHA256 487b9a48f15c1bc482b9be694ad436d70ecdc7a9f0fd3aaf02a30b7f547d9b9d SHA512 d9236c395dca66d358fc9bb1b752e02a7d6335195235808452542de33145057c1c2e959658015b3c89c9a20c35b1a8edb752e151230e72edd313dde6cd6a4cac WHIRLPOOL 2d9b4d5bbf6c8a274d43be6c92f26b4158cd4844074f84d5cd1ef09f49e3ee41454b1b7874074ec3a8c8617a299ddf6d8df6a12d41cd660a188811ae92a44573
diff --git a/dev-python/treq/metadata.xml b/dev-python/treq/metadata.xml
new file mode 100644
index 000000000000..061624702a49
--- /dev/null
+++ b/dev-python/treq/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ryao@gentoo.org</email>
+ <name>Richard Yao</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">treq</remote-id>
+ <remote-id type="github">dreid/treq</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/treq/treq-0.2.1.ebuild b/dev-python/treq/treq-0.2.1.ebuild
new file mode 100644
index 000000000000..78bb1bca8f60
--- /dev/null
+++ b/dev-python/treq/treq-0.2.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="Python requests like API built on top of Twisted's HTTP client."
+HOMEPAGE="https://github.com/dreid/${PN}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+COMMON_DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${COMMON_DEPEND}
+ >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-12.1.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-12.1.0[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}]"
+
+DEPEND="${COMMON_DEPEND}
+ doc? ( dev-python/sphinx
+ ${RDEPEND} )
+ test? ( dev-python/mock[${PYTHON_USEDEP}] )"
+
+python_compile_all() {
+ use doc && emake -C "${S}/docs" html
+}
+
+python_install_all() {
+ use doc && dohtml -r "${S}/docs/_build/html/"*
+}
+
+python_test() {
+ trial treq || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/trollius/Manifest b/dev-python/trollius/Manifest
new file mode 100644
index 000000000000..2eb410cc63ef
--- /dev/null
+++ b/dev-python/trollius/Manifest
@@ -0,0 +1 @@
+DIST trollius-1.0.4.tar.gz 259188 SHA256 8884cae4ec6a2d593abcffd5e700626ad4618f42b11beb2b75998f2e8247de76 SHA512 f8df8c9f0034e6075e2a356a0bcfcd7908d98d8d14b07332a71de0115753e17335f5b8030c06c6b2a5b79437392ccf13f92d46155622f789b13c36d04c6d1f9e WHIRLPOOL 0cc57bee6be7a2bd8785decc406792c0d354dfc24f4a51b40d0de9557e212cbda738f9aab0a41fcb1ebe1a4b72986c09db1e243fd6ca3398f1df400e8c4ae6ad
diff --git a/dev-python/trollius/metadata.xml b/dev-python/trollius/metadata.xml
new file mode 100644
index 000000000000..68aa3af684bc
--- /dev/null
+++ b/dev-python/trollius/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">trollius</remote-id>
+ <remote-id type="bitbucket">enovance/trollius</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/trollius/trollius-1.0.4.ebuild b/dev-python/trollius/trollius-1.0.4.ebuild
new file mode 100644
index 000000000000..428f3627efd2
--- /dev/null
+++ b/dev-python/trollius/trollius-1.0.4.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="A port of the Tulip project (asyncio module, PEP3156)"
+HOMEPAGE="https://bitbucket.org/enovance/trollius/ https://pypi.python.org/pypi/trollius/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+
+RDEPEND="virtual/python-futures[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" runtests.py || die "Testing failed under ${EPYTHON}"
+}
diff --git a/dev-python/ttfquery/Manifest b/dev-python/ttfquery/Manifest
new file mode 100644
index 000000000000..221b3c94461d
--- /dev/null
+++ b/dev-python/ttfquery/Manifest
@@ -0,0 +1 @@
+DIST TTFQuery-1.0.5.tar.gz 17850 SHA256 d5b8d369903ee2754541819f27de8ea35486d124484e36a4869503d9a9ac7e4d SHA512 c5bbdd7cb020dd23f20341d53f400f592654293bd923f64a0d33e269cbd3bc44a97a5cf5bb16485a8978e0d35d729edefbdd6c7d2e51dc65820699bb1df0f60b WHIRLPOOL 66fb07b51abf816567b36536980943d6f55f3f8800dfbeb131d0089d53db1daf8740897feacb32b96d4f6b9654812a627bc5cdea8542b48cb14e68750f447f97
diff --git a/dev-python/ttfquery/metadata.xml b/dev-python/ttfquery/metadata.xml
new file mode 100644
index 000000000000..1a601e594b41
--- /dev/null
+++ b/dev-python/ttfquery/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>fonts</herd>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">TTFQuery</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ttfquery/ttfquery-1.0.5-r1.ebuild b/dev-python/ttfquery/ttfquery-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..94c24cd46d03
--- /dev/null
+++ b/dev-python/ttfquery/ttfquery-1.0.5-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="TTFQuery"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Font metadata and glyph outline extraction utility library"
+HOMEPAGE="http://ttfquery.sourceforge.net/ http://pypi.python.org/pypi/TTFQuery"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86"
+IUSE=""
+
+DEPEND="dev-python/fonttools
+ dev-python/numpy"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/ttystatus/Manifest b/dev-python/ttystatus/Manifest
new file mode 100644
index 000000000000..a2c00a8c31eb
--- /dev/null
+++ b/dev-python/ttystatus/Manifest
@@ -0,0 +1,2 @@
+DIST python-ttystatus_0.22.orig.tar.gz 30262 SHA256 ce3c0578364fab86278a694c2a193faf81c8e83df06f489d5395bd9d9706fbc3 SHA512 c6bf2a6dc81842799aecd9cacc0f91ea95cbe0befa80beef454c9f6e819f03180ee4964018c698a39cc2b7e245402a7c1d422fe5e0b750715bb068c22373d90a WHIRLPOOL 203446bfc2886b3a2c562675a6826ed0d8bcd475f77efc3326dbf2d2280cd17c77660d97041e3d3954243a34e1ac0d22f835b0d149c52db726a83783fad5ffe0
+DIST python-ttystatus_0.23.orig.tar.gz 30299 SHA256 1ecd58dff0049fdccedb6cd41ff0ddc51971c943e8d1887f8c027ae9e3aeb17a SHA512 29dd9ee0a063b4f49c72a1f08acfe80f4db9b3a374b1424a98926d25e22c8df0ed89441997322556edaad03a339dafdbf874a1247f095f1f857ef04f90b8a040 WHIRLPOOL 82576ac9346fe025d1ebc6d53e61cdfbcc3cb75f2c17e4bfb365d75088e5cf1bc00c6be6acfb729457324ea8e89d7d554efd2f3ab0c8a76103656a5a516e7172
diff --git a/dev-python/ttystatus/metadata.xml b/dev-python/ttystatus/metadata.xml
new file mode 100644
index 000000000000..ea7bd021a21e
--- /dev/null
+++ b/dev-python/ttystatus/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/ttystatus/ttystatus-0.22.ebuild b/dev-python/ttystatus/ttystatus-0.22.ebuild
new file mode 100644
index 000000000000..17961ccedf7a
--- /dev/null
+++ b/dev-python/ttystatus/ttystatus-0.22.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Terminal progress bar and status output for command line"
+HOMEPAGE="http://liw.fi/ttystatus/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
diff --git a/dev-python/ttystatus/ttystatus-0.23.ebuild b/dev-python/ttystatus/ttystatus-0.23.ebuild
new file mode 100644
index 000000000000..b6a512d499d1
--- /dev/null
+++ b/dev-python/ttystatus/ttystatus-0.23.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Terminal progress bar and status output for command line"
+HOMEPAGE="http://liw.fi/ttystatus/"
+SRC_URI="http://code.liw.fi/debian/pool/main/p/python-${PN}/python-${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
diff --git a/dev-python/turbocheetah/Manifest b/dev-python/turbocheetah/Manifest
new file mode 100644
index 000000000000..6951fb5fecb0
--- /dev/null
+++ b/dev-python/turbocheetah/Manifest
@@ -0,0 +1 @@
+DIST TurboCheetah-1.0.tar.gz 4335 SHA256 9e4c7ecb0d061bfb58281363ee1b09337083f013a8b4d0355326a5d8668f450c SHA512 7f231ee1e9f09c2c73a6a3c3be04643e6a13f2e488329d086cba759a75bfaf6c3f5b1670d21dec54bf3df8f2a449faa365c600ae47705295e13727ea4fccbb92 WHIRLPOOL 3a59280b1e805631043e06766a0df98e47d76d0b6c062c336a4daf205d1b8606f975d37c80e9d6374ca0365b910a67d7ad44e3b4bd8bc6b87e147c2c00033336
diff --git a/dev-python/turbocheetah/metadata.xml b/dev-python/turbocheetah/metadata.xml
new file mode 100644
index 000000000000..d0d144ae606d
--- /dev/null
+++ b/dev-python/turbocheetah/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">TurboCheetah</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/turbocheetah/turbocheetah-1.0-r1.ebuild b/dev-python/turbocheetah/turbocheetah-1.0-r1.ebuild
new file mode 100644
index 000000000000..29dc58fc46a4
--- /dev/null
+++ b/dev-python/turbocheetah/turbocheetah-1.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+#DISTUTILS_SRC_TEST="nosetests"
+
+MY_PN="TurboCheetah"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="TurboGears plugin to support use of Cheetah templates"
+HOMEPAGE="http://docs.turbogears.org/TurboCheetah http://pypi.python.org/pypi/TurboCheetah"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/cheetah-2.0.1[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "test failed"
+}
diff --git a/dev-python/turbojson/Manifest b/dev-python/turbojson/Manifest
new file mode 100644
index 000000000000..d6b321881f99
--- /dev/null
+++ b/dev-python/turbojson/Manifest
@@ -0,0 +1 @@
+DIST TurboJson-1.3.2.tar.gz 6613 SHA256 d517a7bde5346e17867f1eb42721f4d9c600e618e11ab7ad8b3536e66fda7ebe SHA512 5c3a2382f764ad42629b3f992f0fcef61b858a9ade4084b86d96c16efbf398a6ea5f8d04c3cc5618c681fe1a111877aa64777748535e9830495aaf59e53d11b1 WHIRLPOOL fd98bf4afa94b4f5892b09d2f357b3550b5a9bafdb76e638c25b945151cddb428dbc863408fa0e363538b4b561a653959f0672f40318f1c0dff46fe5ed12a4ea
diff --git a/dev-python/turbojson/metadata.xml b/dev-python/turbojson/metadata.xml
new file mode 100644
index 000000000000..7afac5bb2a5a
--- /dev/null
+++ b/dev-python/turbojson/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">TurboJson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/turbojson/turbojson-1.3.2-r1.ebuild b/dev-python/turbojson/turbojson-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..1613740b75c2
--- /dev/null
+++ b/dev-python/turbojson/turbojson-1.3.2-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="TurboJson"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="TurboGears JSON file format support plugin"
+HOMEPAGE="http://pypi.python.org/pypi/TurboJson"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/simplejson-1.9.1[${PYTHON_USEDEP}]
+ >=dev-python/peak-rules-0.5[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+# Testsuite requires a package of peak not present in portage
diff --git a/dev-python/turbokid/Manifest b/dev-python/turbokid/Manifest
new file mode 100644
index 000000000000..a81d42f562cc
--- /dev/null
+++ b/dev-python/turbokid/Manifest
@@ -0,0 +1 @@
+DIST TurboKid-1.0.5.tar.gz 6878 SHA256 25ff2b8a0b8d62c02c188931bb7a51fe6d421ed6db538cc07a9332ce4093c962 SHA512 13a7aba4773ceb5c591c9b5f33b585161a6b6bd92f13169291c20e2cb77b10fe97e3f2d5596d0498add34728a36f6e0968f236fca87f1091a92eee68704222a4 WHIRLPOOL 404a86ce7d3e1034f956e247a9f2c5c8cf02ddae37b5044859b6a48956dc0d6e586943424d5b363ea05abf90fa3d2e223d52cc996f72f4f1dc9096e0cb411841
diff --git a/dev-python/turbokid/metadata.xml b/dev-python/turbokid/metadata.xml
new file mode 100644
index 000000000000..3dd032502ba8
--- /dev/null
+++ b/dev-python/turbokid/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">TurboKid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/turbokid/turbokid-1.0.5-r1.ebuild b/dev-python/turbokid/turbokid-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..60c979c247e4
--- /dev/null
+++ b/dev-python/turbokid/turbokid-1.0.5-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="TurboKid"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python template plugin that supports Kid templates"
+HOMEPAGE="http://pypi.python.org/pypi/TurboKid"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND=">=dev-python/kid-0.9.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/turbolift/Manifest b/dev-python/turbolift/Manifest
new file mode 100644
index 000000000000..186a25695379
--- /dev/null
+++ b/dev-python/turbolift/Manifest
@@ -0,0 +1 @@
+DIST turbolift-2.0.5.tar.gz 47316 SHA256 7ea374122855949481427201327f08198a5b164c59057e7f07f9812b9d0c5e0d SHA512 42b89d4dc1a4699bc4d43863f0d9faeb5cd1442222a7d93a008a8d335bee25112e16c2e0a05d05442e53a5e4e4f7a7012b420bd49d8d0e5668fe1b487b825834 WHIRLPOOL 9199fbdc62d15bd18227cc5deb84870f01ef8569be1f491292aa5c5c6b54afbdc5eedbae23a8eeb02f8bf92ca2694ec649417ea61f13a0fc2762a0790d24b90b
diff --git a/dev-python/turbolift/metadata.xml b/dev-python/turbolift/metadata.xml
new file mode 100644
index 000000000000..a809de117fa1
--- /dev/null
+++ b/dev-python/turbolift/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Openstack Swift sync/backup utility
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">turbolift</remote-id>
+ <remote-id type="github">cloudnull/turbolift</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/turbolift/turbolift-2.0.5.ebuild b/dev-python/turbolift/turbolift-2.0.5.ebuild
new file mode 100644
index 000000000000..97f8c3fa9812
--- /dev/null
+++ b/dev-python/turbolift/turbolift-2.0.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+# tests are not distributed with the release tarball
+RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="Openstack Swift sync/backup utility"
+HOMEPAGE="https://github.com/cloudnull/turbolift/wiki"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools
+ test? (
+ >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/hacking-0.9[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/tox[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND=">=dev-python/prettytable-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${PYTHON} -m unit discover turbolift/tests || die "failed testsuite"
+}
diff --git a/dev-python/tvdb_api/Manifest b/dev-python/tvdb_api/Manifest
new file mode 100644
index 000000000000..81f91771606f
--- /dev/null
+++ b/dev-python/tvdb_api/Manifest
@@ -0,0 +1 @@
+DIST tvdb_api-1.9.tar.gz 32429 SHA256 516bd5f9150f7fcb1df11cd73b2af0e155eb8282e49c197449df295cd0e0f873 SHA512 6ce13f47275eb3f37897da1b9bfb2d101184e3797abeec965c170d9b007661c3e0745396bc93bf365d6a1552fb461a2fd7b33777b4a67e58281c8ac3efb788df WHIRLPOOL 596c680383fe43f4575e968358c6a839d070c1eb1561e7a7f673516d1fb445bc0f9927c22eecf2762be5d0fe5fd63c840ba95ff08779a218c1389b3d66ea8668
diff --git a/dev-python/tvdb_api/metadata.xml b/dev-python/tvdb_api/metadata.xml
new file mode 100644
index 000000000000..7af64a5cd5ce
--- /dev/null
+++ b/dev-python/tvdb_api/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>thev00d00@gentoo.org</email>
+ <name>Ian Whyman</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dbr/tvdb_api</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tvdb_api/tvdb_api-1.9.ebuild b/dev-python/tvdb_api/tvdb_api-1.9.ebuild
new file mode 100644
index 000000000000..c38fe939acbb
--- /dev/null
+++ b/dev-python/tvdb_api/tvdb_api-1.9.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT="python2_7"
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Python interface to thetvdb.com API"
+HOMEPAGE="http://github.com/dbr/tvdb_api"
+SRC_URI="https://github.com/dbr/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools"
+RDEPEND=""
diff --git a/dev-python/tweepy/Manifest b/dev-python/tweepy/Manifest
new file mode 100644
index 000000000000..b05219b94660
--- /dev/null
+++ b/dev-python/tweepy/Manifest
@@ -0,0 +1,2 @@
+DIST tweepy-2.3.tar.gz 52352 SHA256 bce05e6375d03b42ba7fef2a972635be6841dd0f26b86bc5704154d248cd29d7 SHA512 23317a507174e108cf8d13232aa467d892aba1789ee4f610eef4f5503b045841b5c85e8ae63ddcfd1e07178afbf3bf9f4a9fed939426411a8566f1c949b9b831 WHIRLPOOL b9adc746e498a0bde90dcb0b4a3ea5c6817e41c39980436ca42364dab21493b0201de6fb16a196b9f9171150d46cc1ad5e121710aaa62bf16b0875d0c6f73cd7
+DIST tweepy-3.3.0.tar.gz 23624 SHA256 2eb0b1396a9dbb29568bb037e77f2123c504bdc4055ac011f2027f3833b27068 SHA512 ca50fa4989f4fe45850c56b8bf327e8eab4f2b6c00e0dd3ade67f60349861ebfc1daa68b7f55284b527951e321661e15df8c198a2ac35e20d4adf1d24bf9bee3 WHIRLPOOL a07325535089769d9c8c40fd451f46c51439f6b97b4627f0364000487f9742feefd6ae8932f7b80c937274f0e4a88be89475bb03c152e73ddd859ae6c7155b5a
diff --git a/dev-python/tweepy/metadata.xml b/dev-python/tweepy/metadata.xml
new file mode 100644
index 000000000000..49b52e3a49c0
--- /dev/null
+++ b/dev-python/tweepy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">tweepy/tweepy</remote-id>
+ <remote-id type="pypi">tweepy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tweepy/tweepy-2.3.ebuild b/dev-python/tweepy/tweepy-2.3.ebuild
new file mode 100644
index 000000000000..7968f4eeded7
--- /dev/null
+++ b/dev-python/tweepy/tweepy-2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="A Python library for accessing the Twitter API "
+HOMEPAGE="http://tweepy.github.com/"
+SRC_URI="https://github.com/tweepy/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+#RESTRICT="test" #missing a required dep frpm portage
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Required to avoid file collisions at install
+ sed \
+ -e "/find_packages/s:]:,'tests.*','examples']:g" \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m tests || die "Tests failed"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tweepy/tweepy-3.3.0.ebuild b/dev-python/tweepy/tweepy-3.3.0.ebuild
new file mode 100644
index 000000000000..62821186bf7f
--- /dev/null
+++ b/dev-python/tweepy/tweepy-3.3.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python library for accessing the Twitter API "
+HOMEPAGE="http://tweepy.github.com/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples test"
+
+RESTRICT="test" #missing in tarball
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/requests-2.4.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-oauthlib-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.7.3[${PYTHON_USEDEP}]
+"
+python_prepare_all() {
+ # Required to avoid file collisions at install
+ sed \
+ -e "/find_packages/s:]:,'tests.*','examples']:g" \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m tests || die "Tests failed"
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/twilio/Manifest b/dev-python/twilio/Manifest
new file mode 100644
index 000000000000..310a7ffb3e1a
--- /dev/null
+++ b/dev-python/twilio/Manifest
@@ -0,0 +1 @@
+DIST twilio-3.6.9.tar.gz 226151 SHA256 0a6ce201edaf9f79a376f2713e10f3fc9cb8b64c046b1df5d1c87c56e8ec321b SHA512 f4e0f13e3f12ae8e15817a285a4388859b458ba7759acce4d5f6ee425bd6a06742bf271a01e1cc5140d63bc599828b940f1e96a6ed7f5744c1c9eaef2dd65b29 WHIRLPOOL 95fc4864dc63a5f18a3108014aca831da36ebfb4d8ff68cd739b768e6df81c56de8a2e1f4b138f927b4c5645ad0bf2a9d1330b81e34ca0e60bf6041fbd7ddf3f
diff --git a/dev-python/twilio/metadata.xml b/dev-python/twilio/metadata.xml
new file mode 100644
index 000000000000..a38887dd69f0
--- /dev/null
+++ b/dev-python/twilio/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">twilio/twilio-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/twilio/twilio-3.6.9.ebuild b/dev-python/twilio/twilio-3.6.9.ebuild
new file mode 100644
index 000000000000..66bba6f554a0
--- /dev/null
+++ b/dev-python/twilio/twilio-3.6.9.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Helper library for the Twilio API"
+HOMEPAGE="https://github.com/twilio/twilio-python http://www.twilio.com/docs/python/install"
+SRC_URI="https://github.com/twilio/${PN}-python/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test"
+
+CDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/socksipy[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}"
+DEPEND="test? (
+ ${CDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ nosetests tests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/twill/Manifest b/dev-python/twill/Manifest
new file mode 100644
index 000000000000..566d4b10ae82
--- /dev/null
+++ b/dev-python/twill/Manifest
@@ -0,0 +1 @@
+DIST twill-0.9.tar.gz 242291 SHA256 8053c25fd6edf6ddf5e7583224e7b23ad947df1f90175b018af5cf7abeb42a86 SHA512 ea47400e236c4f5a4d38671bbc5690d004c4dbd20b6152c54c2fa64bae3e3ec68d16a5305d42e8631595cac25f5b2a08e0eb287b7e1ed7b90a8368d6063b1f1e WHIRLPOOL ee306acc4434b919119fa103d15f82909490b57440d61dc4193af3d11827759202949a8e568b356fcd52a34ec791f5f5adeedf7848471fe13f53fa7dbebc7ad3
diff --git a/dev-python/twill/metadata.xml b/dev-python/twill/metadata.xml
new file mode 100644
index 000000000000..9d2a9281f413
--- /dev/null
+++ b/dev-python/twill/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ twill is a simple language that allows users to browse the Web from a command-line interface. With twill, you can navigate through Web sites that use forms, cookies, and most standard Web features. twill supports automated Web testing and has a simple Python interface. Check out the examples! twill is open source and written in Python.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/dev-python/twill/twill-0.9-r1.ebuild b/dev-python/twill/twill-0.9-r1.ebuild
new file mode 100644
index 000000000000..1d397df7a63c
--- /dev/null
+++ b/dev-python/twill/twill-0.9-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PV="${PV/_beta/b}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Simple scripting language for web browsing with Python API"
+HOMEPAGE="http://twill.idyll.org/"
+SRC_URI="http://darcs.idyll.org/~t/projects/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86"
+IUSE="doc examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( $(python_gen_cond_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/dnspython[${PYTHON_USEDEP}]' python2_7) )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_compile_all() {
+ if use doc; then
+ pushd doc > /dev/null
+ chmod +x make-epydoc.sh
+ ./make-epydoc.sh
+ popd> /dev/null
+ fi
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/epydoc-html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/twisted-conch/Manifest b/dev-python/twisted-conch/Manifest
new file mode 100644
index 000000000000..1bc41fc597f2
--- /dev/null
+++ b/dev-python/twisted-conch/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedConch-13.0.0.tar.bz2 223663 SHA256 7ebbd2ff600a4ee7da3e683b22be4ad97db79ee3b0af0c2758ca3f3788cf9ef2 SHA512 80fc9e2ca1ebd5477964c0de4d0050f1e8ff81ad5f02f836bfa7dd20be487763add83b4df2a038b9cd6066b82cfee2dad932b0f6f7bcbd67428b6babddc3afb0 WHIRLPOOL 2b4b8599f28c0a5980903d0e678a3e05d4bac99a0bc5aa3db6f2fe0bfb3b6336434678f680fc8e3afeb443c470e10e9b08a28dfc7a02cd2ae0a070e7d4258de5
+DIST TwistedConch-13.2.0.tar.bz2 243977 SHA256 1559f2070e47a8dfb63a387a8d8deb4dae73226429b26bf2983dc7d1df86cc69 SHA512 3e9cfe76b5fdd8e18732d554721d493bed70b757b21029f8e126d486011b41da26a34409062cb5ffe4283a57b6d342434c84959b78b2781f069e22d2da610043 WHIRLPOOL 7ddf201c17f6625cac09197bfc1b532d1f6f8bd01b888668ccb16b5577b235a3379af11e436e0a4ed308218b6fc27e1250841367dc8c191bc420f4a90a7a2a49
+DIST TwistedConch-14.0.0.tar.bz2 219179 SHA256 5d1023bec87d2c1bf4d1e85f62a5fa304d9b3bf13e86c0af74cc8c9fb4916a83 SHA512 24826cad92b2f3b13cf4a3e731cfff9e36d703b45b15404fad2bba91df60bcc60f4cf687a3f2e646457f00d28b4ac3fa019ee1751a538b213a10526ab5aa24b8 WHIRLPOOL 71ddad3e483ccc9780eb2420cc04827d0809eb77e7d2e93ec886e3ccd4369193b34da905bddcc95414037fb27509cf33be334d39be969b7cb3749940263bab6b
+DIST TwistedConch-14.0.1.tar.bz2 219255 SHA256 41303b4f09ca7dcfc0b7e796f5f18f83d16cfde789f86364328a08217c18564e SHA512 a4800c437b15ca51fd9151b39e59771ba0a18ea2e9e07fcab2b26eabee925a272ab3dbed114197c9b52f1985f1dd23afacc91591c58fe9e64080394865a77a25 WHIRLPOOL d3551c7a4b412955f653eb1b004fbbca358523761b21578d7886756e180e791d90ef8240e4d5917d65a714a87e348c9fff6077c285e348517409babda90dff0f
+DIST TwistedConch-14.0.2.tar.bz2 219235 SHA256 6628807246be9dd2bea04222ebe2356f4a4a1accf38863983219df745052ad58 SHA512 dfceb9050ab5f1c9962e6ddc8568d546aea4f5028ba63a181b12b5880e130cfec1886fae5a74cd7e5bb79cf74cbcdae4fa7a4f5d814bd14f767ec9108fe83c19 WHIRLPOOL 99142269f412d82eb8e074dbab7f7d3925881e3d6c8e5823f2c72eff425625cf280ce82655d9f708ddb5db544cea8f4e0b02af3e0026133abe9343cb7c79ada4
+DIST TwistedConch-15.1.0.tar.bz2 222091 SHA256 51dc4d3ab3f13e64a196046e3d722689f87c586f3ebe42e287c2063fdd48bb4c SHA512 912d9a288fcc6bb3e8babee75325ea7a384e364d227f0629bbb5af8c813cff75dbeb38755d2f0eb5bd5ac243c45c4ed5f1c9e01bf0d693b027adeeef59ebd691 WHIRLPOOL 09717988167eaf7ed4ed48262ea344342125deae845b3dce0781a84122446922864d189943011d0be9ddc0711a2236637cb9d6c28e049f5e7c3a59440a65512b
+DIST TwistedConch-15.2.1.tar.bz2 222736 SHA256 77ad3f89fcad8918067e047831c0716a514ff5f9405d6896abf17fd3de05d634 SHA512 d21879801e3cc925345e6528a84fa031f5cc1c8a2b5aebc5d3540fdd356d9743fe827ab8060db13b462a6d8986ac23307feaf78725950cef462f06b4edb93df7 WHIRLPOOL 072a90c66380467354e32af702a0caef71bbd4de469681240e3e91deb74927e5364835d4065a72224433d716763b5eff503adc5205c28a61a07f7ec51c1fb671
diff --git a/dev-python/twisted-conch/metadata.xml b/dev-python/twisted-conch/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-conch/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-conch/twisted-conch-13.0.0-r1.ebuild b/dev-python/twisted-conch/twisted-conch-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..2389e7b781e3
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-13.0.0-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_checkKeyAsRoot/_&/" -i twisted/conch/test/test_checkers.py
+ sed -e "s/test_getPrivateKeysAsRoot/_&/" -i twisted/conch/test/test_openssh_compat.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/twisted-conch/twisted-conch-13.2.0.ebuild b/dev-python/twisted-conch/twisted-conch-13.2.0.ebuild
new file mode 100644
index 000000000000..2389e7b781e3
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-13.2.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_checkKeyAsRoot/_&/" -i twisted/conch/test/test_checkers.py
+ sed -e "s/test_getPrivateKeysAsRoot/_&/" -i twisted/conch/test/test_openssh_compat.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/twisted-conch/twisted-conch-14.0.0.ebuild b/dev-python/twisted-conch/twisted-conch-14.0.0.ebuild
new file mode 100644
index 000000000000..b09c365c71f6
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-14.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_checkKeyAsRoot/_&/" -i twisted/conch/test/test_checkers.py
+ sed -e "s/test_getPrivateKeysAsRoot/_&/" -i twisted/conch/test/test_openssh_compat.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/twisted-conch/twisted-conch-14.0.1.ebuild b/dev-python/twisted-conch/twisted-conch-14.0.1.ebuild
new file mode 100644
index 000000000000..adfda71ba443
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-14.0.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-conch/twisted-conch-14.0.2.ebuild b/dev-python/twisted-conch/twisted-conch-14.0.2.ebuild
new file mode 100644
index 000000000000..adfda71ba443
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-14.0.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-conch/twisted-conch-15.1.0.ebuild b/dev-python/twisted-conch/twisted-conch-15.1.0.ebuild
new file mode 100644
index 000000000000..504d38640e2b
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-15.1.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-conch/twisted-conch-15.2.1.ebuild b/dev-python/twisted-conch/twisted-conch-15.2.1.ebuild
new file mode 100644
index 000000000000..504d38640e2b
--- /dev/null
+++ b/dev-python/twisted-conch/twisted-conch-15.2.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted SSHv2 implementation"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE=""
+
+DEPEND="
+ =dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-core/Manifest b/dev-python/twisted-core/Manifest
new file mode 100644
index 000000000000..311de3c66a7f
--- /dev/null
+++ b/dev-python/twisted-core/Manifest
@@ -0,0 +1,8 @@
+DIST TwistedCore-12.3.0.tar.bz2 1480622 SHA256 343dd7372b05d4aa0805406bcbee7db40514b6bb48aa2840e0e56d88a8970900 SHA512 86e9bbd4b8b0b5f70b62757f9ce93fd03c2766b4cb9722028ec7863d1b9dd19e6d3771472a86f1373a8320a98f5081ac76400ac6bb25a950b6fc50fb241ebeb8 WHIRLPOOL 77cb88bd53a5c489ad8781ebef10987766dfd42d8ad3bcd599b9ba2bbc77cf41bee8507a29727cb6d88590d8cb2ac118b1eeb553c034107513502cf7ae62f6aa
+DIST TwistedCore-13.0.0.tar.bz2 1495753 SHA256 989706fd39c8a28785bdecaa0145b81f7e159b9209d463b5885be7e5c34ff32f SHA512 624d73d267742cb5b97bed2a39e78caeb01ee5fa871a0a2133455809b1d2a695f0d375c022ae21e91ef20f92fdee05a08a11db7b6b1e92ec810d3e097f929972 WHIRLPOOL 02c25eb94ad0aaafea8e1599df387607c6a1323ac55c31b0e98a366f927da2245fc839f5a3509367ed18690694f8599ebb22c0b21b8c90dfbfe2e3727a7846ff
+DIST TwistedCore-13.2.0.tar.bz2 1496299 SHA256 396ee27f0e824772bf26c636c69c2751127738127e283112e72c2de6c28e36be SHA512 90cf2019f0d5b125c7bbb5a9e3e7d2dedcd8efd5f9b2ab057e0b41f899d394b995fe599128223c82b1a634fb881ad7ae8ddc5b86b26adb28a3834c05da45f2c6 WHIRLPOOL 21a90a98b36775db4e6154c30ea697ef53f4b94a30e1be125e420019d5200cbbf31178937c41b12ffb841b028875dbc6b1234cebf8036f4165d2908c431a6de4
+DIST TwistedCore-14.0.0.tar.bz2 1126188 SHA256 41fde42b917ea91c74e9ad15ae45a8104de156bcb32e7bb6a2dfa6c68141a72e SHA512 71294a10fb574d1794b730f11f89a689445ff13cf5553140dbbe049a03afe744bcc342cbff60b6d74714575bf840814fcddb0a7c94f5def1987966e0f1238704 WHIRLPOOL 1c68af280d33d0f6ce431a18f87bfa4f679aeab7f6217b388e8f7c7cb78d1b5e4587f3d3f02ccc0b7f87f6dc359c35aa15b0ee58f86385637a5d2236e7563c39
+DIST TwistedCore-14.0.1.tar.bz2 1126214 SHA256 4d80bb277bff34266fb03989d89f721ae41edfc755f4c0481813c04a759f16dc SHA512 44ef2e66636da1f7c6497cf1a4bacfdfdffd276e5b0f99b22c70f74a016de6f88a263fc549db3f04e09e86142514955bc79662760148680fb8ec823720a57a41 WHIRLPOOL ccd1acaf7f732d02b4fd45ca8285b8bbbcd3066176280b929a65879b4530f5158db8134296a35ffe565d2a8b72299ecf93329752bf5b409b60313a930cb1d876
+DIST TwistedCore-14.0.2.tar.bz2 1125732 SHA256 3d16cc6f432ecda1cc335b9a99592ee18d7eb8650e95d5f17895ab4e5e3a4ff8 SHA512 a361f5c9205eca3eda9bf222ed1894e1c55ff937e9950c0cfca193310a165486abffee529740c2c3cc0231c4ccba4d324e2ec7ef5d1aaa9516960b01e2e81ed9 WHIRLPOOL be3b1f70e616c48944741395e8c22240ea05d7f9c823b3b58ff9bebbe1d7293d0fb054b4820e19873aa1feb8d2c1e19fb84be1f632466b2c1d951900d1705d0b
+DIST TwistedCore-15.1.0.tar.bz2 1139396 SHA256 c769ecc62d65a33f04f932ec727c367eb557610392e9f7bab37eaf169fb1cebf SHA512 3978429d57b7929bd65103f86d5e150950de48d27382d23a08b97be5c62c218e7cbaa06067ba6c1b926fb372cc290baf5d629af91053cf338e331d996bf8c99a WHIRLPOOL 3baa9a5986e415fee15cbdb33263a9c9ba84a4c7c79a2f744acd28881de2043b56f97137acf5b97d243fe5d6b6885eebaae2b90cced5e81ac4bef5176fd6a1f7
+DIST TwistedCore-15.2.1.tar.bz2 1179442 SHA256 42efb31330e09b5ffdb8caf735fdb925692c6cfdc03ab7ad25104c3dc41154bb SHA512 c5923d71903afac7dec15d130ff3bd247dc1a6cdeb35cc642912a43f1e5640088971ddfc7abe3e18ca1853e59ba6a417d4b465fb422aba1a052bc156d7c6e820 WHIRLPOOL 8abb2522447fd2e9ad0d3d2e3e0cac8e17e07cd80695b95f12fda6af6ccd6576f4b808f322731445667d194c2216669ad3d4d58c0bc5f798449f1d0a35bcc638
diff --git a/dev-python/twisted-core/files/twistd.conf b/dev-python/twisted-core/files/twistd.conf
new file mode 100644
index 000000000000..53788cd0017e
--- /dev/null
+++ b/dev-python/twisted-core/files/twistd.conf
@@ -0,0 +1,7 @@
+
+# These are passed to twistd.
+# TWISTD_OPTS="--no_save --logfile=/var/log/twistd -y /etc/twistd.tac"
+# TWISTD_OPTS="--no_save --logfile=/var/log/twistd -f /etc/twistd.tap"
+
+# Make any additions to PYTHONPATH the twistd needs here.
+# PYTHONPATH="/path/to/extra/python/modules"
diff --git a/dev-python/twisted-core/files/twistd.init b/dev-python/twisted-core/files/twistd.init
new file mode 100644
index 000000000000..e7b29f1a7e96
--- /dev/null
+++ b/dev-python/twisted-core/files/twistd.init
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+
+depend() {
+ need net
+}
+
+start() {
+ if [ -z "${TWISTD_OPTS}" ]; then
+ eerror "TWISTD_OPTS is not set!"
+ eerror "You need to configure twistd in /etc/conf.d/twistd."
+ return 1
+ fi
+ export PYTHONPATH
+ ebegin "Starting twistd"
+ start-stop-daemon --start --quiet --pidfile /var/run/twistd.pid \
+ --exec /usr/bin/twistd -- --pidfile /var/run/twistd.pid \
+ ${TWISTD_OPTS}
+ eend $? "Failed to start twistd"
+}
+
+stop() {
+ ebegin "Stopping twistd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/twistd.pid
+ eend $? "Failed to stop twistd"
+}
diff --git a/dev-python/twisted-core/files/twisted-core-12.0.0-fix-test-timeFormatting.patch b/dev-python/twisted-core/files/twisted-core-12.0.0-fix-test-timeFormatting.patch
new file mode 100644
index 000000000000..a466a973f959
--- /dev/null
+++ b/dev-python/twisted-core/files/twisted-core-12.0.0-fix-test-timeFormatting.patch
@@ -0,0 +1,26 @@
+Apply patch: use calendar.timegm instead of manual broken timezone math.
+
+Author: marienz
+Review: itamar
+Fixes: #5583
+
+Index: /trunk/twisted/test/test_log.py
+===================================================================
+--- /trunk/twisted/test/test_log.py (revision 32453)
++++ /trunk/twisted/test/test_log.py (revision 34145)
+@@ -6,5 +6,5 @@
+ """
+
+-import os, sys, time, logging, warnings
++import os, sys, time, logging, warnings, calendar
+ from cStringIO import StringIO
+
+@@ -392,7 +392,5 @@
+ human-readable string.
+ """
+- # There is no function in the time module which converts a UTC time
+- # tuple to a timestamp.
+- when = time.mktime((2001, 2, 3, 4, 5, 6, 7, 8, 0)) - time.timezone
++ when = calendar.timegm((2001, 2, 3, 4, 5, 6, 7, 8, 0))
+
+ # Pretend to be in US/Eastern for a moment
diff --git a/dev-python/twisted-core/files/twisted-core-12.1.0-remove-tests-conch-dependency.patch b/dev-python/twisted-core/files/twisted-core-12.1.0-remove-tests-conch-dependency.patch
new file mode 100644
index 000000000000..db2e2454bbc6
--- /dev/null
+++ b/dev-python/twisted-core/files/twisted-core-12.1.0-remove-tests-conch-dependency.patch
@@ -0,0 +1,15 @@
+Index: twisted/test/test_strcred.py
+===================================================================
+--- twisted/test/test_strcred.py (revision 34525)
++++ twisted/test/test_strcred.py (working copy)
+@@ -352,6 +352,10 @@
+ except ImportError:
+ skip = "PyCrypto is not available"
+
++ try:
++ from twisted import conch
++ except ImportError:
++ skip = "Twisted Conch is not available"
+
+ def test_isChecker(self):
+ """
diff --git a/dev-python/twisted-core/files/twisted-core-2.1.0-echo-less.patch b/dev-python/twisted-core/files/twisted-core-2.1.0-echo-less.patch
new file mode 100644
index 000000000000..c180a111021d
--- /dev/null
+++ b/dev-python/twisted-core/files/twisted-core-2.1.0-echo-less.patch
@@ -0,0 +1,13 @@
+=== modified file 'twisted/test/test_process.py'
+--- twisted/test/test_process.py
++++ twisted/test/test_process.py
+@@ -76,7 +76,7 @@
+
+ class EchoProtocol(protocol.ProcessProtocol):
+
+- s = "1234567" * 1001
++ s = "1234567" * 11
+ n = 10
+ finished = 0
+
+
diff --git a/dev-python/twisted-core/files/twisted-core-2.1.0-zsh-head.patch b/dev-python/twisted-core/files/twisted-core-2.1.0-zsh-head.patch
new file mode 100644
index 000000000000..236610ad9940
--- /dev/null
+++ b/dev-python/twisted-core/files/twisted-core-2.1.0-zsh-head.patch
@@ -0,0 +1,13 @@
+Index: twisted/python/_twisted_zsh_stub
+===================================================================
+--- twisted/python/_twisted_zsh_stub (revision 14988)
++++ twisted/python/_twisted_zsh_stub (working copy)
+@@ -30,7 +30,7 @@
+
+ function load_twisted_completions() {
+ [[ -z $commands[twistd] ]] && echo 'ERROR: test command "twistd" not found in path' && return 1
+- shebang=$(head -1 $commands[twistd])
++ shebang=$(head -n1 $commands[twistd])
+ [[ $shebang != \#\!* ]] && echo 'ERROR: invalid shebang line for test script "twistd"' && return 1
+ PYTHON=$shebang[3,-1]
+
diff --git a/dev-python/twisted-core/files/twisted-core-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch b/dev-python/twisted-core/files/twisted-core-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch
new file mode 100644
index 000000000000..2fe22f1640b1
--- /dev/null
+++ b/dev-python/twisted-core/files/twisted-core-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch
@@ -0,0 +1,11 @@
+--- twisted/plugin.py
++++ twisted/plugin.py
+@@ -174,7 +174,7 @@
+ if pluginKey not in existingKeys:
+ del dropinDotCache[pluginKey]
+ needsWrite = True
+- if needsWrite:
++ if needsWrite and os.environ.get("TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE") is None:
+ try:
+ dropinPath.setContent(pickle.dumps(dropinDotCache))
+ except:
diff --git a/dev-python/twisted-core/metadata.xml b/dev-python/twisted-core/metadata.xml
new file mode 100644
index 000000000000..3215da122b77
--- /dev/null
+++ b/dev-python/twisted-core/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name='serial'>include serial port support</flag>
+ </use>
+ <longdescription>
+ Twisted is an asynchronous networking framework written in Python,
+ supporting TCP, UDP, multicast, SSL/TLS, serial communication and
+ more. It is used by most of the servers, clients and protocols that
+ are part of other Twisted projects.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/twisted-core/twisted-core-12.3.0-r1.ebuild b/dev-python/twisted-core/twisted-core-12.3.0-r1.ebuild
new file mode 100644
index 000000000000..001b712bac98
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-12.3.0-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial"
+
+DEPEND="dev-python/zope-interface[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # NOTE: on pypy a couple of failures (refcounting, version-checking) is
+ # expected
+
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+ sed -e "s/test_buildAllTarballs/_&/" -i twisted/python/test/test_release.py || die "sed failed"
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py || die "sed failed"
+
+ # tap2rpm is already skipped if rpm is not installed, but fails for me on a Gentoo box with it present.
+ # I currently lack the cycles to track this failure down.
+ rm twisted/scripts/test/test_tap2rpm.py
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-13.0.0-r3.ebuild b/dev-python/twisted-core/twisted-core-13.0.0-r3.ebuild
new file mode 100644
index 000000000000..8de246fe45e1
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-13.0.0-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial"
+
+DEPEND="dev-python/zope-interface[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # NOTE: on pypy a couple of failures (refcounting, version-checking) is
+ # expected
+
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+ sed -e "s/test_buildAllTarballs/_&/" -i twisted/python/test/test_release.py || die "sed failed"
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py || die "sed failed"
+
+ # tap2rpm is already skipped if rpm is not installed, but fails for me on a Gentoo box with it present.
+ # I currently lack the cycles to track this failure down.
+ rm twisted/scripts/test/test_tap2rpm.py
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-13.2.0.ebuild b/dev-python/twisted-core/twisted-core-13.2.0.ebuild
new file mode 100644
index 000000000000..d1e11c4330db
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-13.2.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial"
+
+DEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # NOTE: on pypy a couple of failures (refcounting, version-checking) is
+ # expected
+
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # tap2rpm is already skipped if rpm is not installed, but fails for me on a Gentoo box with it present.
+ # I currently lack the cycles to track this failure down.
+ rm twisted/scripts/test/test_tap2rpm.py
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920
+ sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+ sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web creating a cric. dep
+ rm -f twisted/python/test/test_release.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-14.0.0.ebuild b/dev-python/twisted-core/twisted-core-14.0.0.ebuild
new file mode 100644
index 000000000000..6a020c22489a
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-14.0.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial test"
+
+RDEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND} )"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # NOTE: on pypy a couple of failures (refcounting, version-checking) is expected
+
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920
+ sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+ sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web, twisted-lore and twisted-names, creating a circ. dep and fail even if installed.
+ # test_loreDeprecation and test_exist failures appeared in version 14.0.0.
+ rm -f twisted/python/test/test_release.py || die
+ sed -e 's:test_loreDeprecation:_&:' -i twisted/test/test_twisted.py || die
+ sed -e 's:test_exist:_&:' -i twisted/python/test/test_dist3.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ # Appeared in version 14.0.0; https://twistedmatrix.com/trac/ticket/7422
+ sed -e 's:test_dataReceivedThrows:_&:' \
+ -e 's:test_resumeProducingThrows:_&:' \
+ -e 's:test_resumeProducingAbortLater:_&:' \
+ -e 's:test_resumeProducingAbort:_&:' \
+ -e 's:test_fullWriteBufferAfterByteExchange:_&:' \
+ -i twisted/internet/test/test_tcp.py || die
+ sed -e 's:test_logPrefix:_&:' -i twisted/internet/test/connectionmixins.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-14.0.1.ebuild b/dev-python/twisted-core/twisted-core-14.0.1.ebuild
new file mode 100644
index 000000000000..becb46ff1b56
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-14.0.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial test"
+
+RDEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND} )"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920 6921
+ # Just re-exposing them to list a full list of deficits
+# sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+# sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web, twisted-lore and twisted-names, creating a circ. dep and fail even if installed.
+ # test_loreDeprecation and test_exist failures appeared in version 14.0.0.
+ # Possibly due to over taxing of the distutils_install_for_testing function
+ rm -f twisted/python/test/test_release.py || die
+ sed -e 's:test_loreDeprecation:_&:' -i twisted/test/test_twisted.py || die
+ sed -e 's:test_exist:_&:' -i twisted/python/test/test_dist3.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ # Appeared in version 14.0.0; https://twistedmatrix.com/trac/ticket/7422; known failures
+ # Upstream somewhat unreceptive
+ # The last of these invokes a hang or a long delay
+ sed -e 's:test_dataReceivedThrows:_&:' \
+ -e 's:test_resumeProducingThrows:_&:' \
+ -e 's:test_resumeProducingAbortLater:_&:' \
+ -e 's:test_resumeProducingAbort:_&:' \
+ -e 's:test_fullWriteBufferAfterByteExchange:_&:' \
+ -i twisted/internet/test/test_tcp.py || die
+ sed -e 's:test_logPrefix:_&:' -i twisted/internet/test/connectionmixins.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-14.0.2.ebuild b/dev-python/twisted-core/twisted-core-14.0.2.ebuild
new file mode 100644
index 000000000000..becb46ff1b56
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-14.0.2.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial test"
+
+RDEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND} )"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920 6921
+ # Just re-exposing them to list a full list of deficits
+# sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+# sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web, twisted-lore and twisted-names, creating a circ. dep and fail even if installed.
+ # test_loreDeprecation and test_exist failures appeared in version 14.0.0.
+ # Possibly due to over taxing of the distutils_install_for_testing function
+ rm -f twisted/python/test/test_release.py || die
+ sed -e 's:test_loreDeprecation:_&:' -i twisted/test/test_twisted.py || die
+ sed -e 's:test_exist:_&:' -i twisted/python/test/test_dist3.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ # Appeared in version 14.0.0; https://twistedmatrix.com/trac/ticket/7422; known failures
+ # Upstream somewhat unreceptive
+ # The last of these invokes a hang or a long delay
+ sed -e 's:test_dataReceivedThrows:_&:' \
+ -e 's:test_resumeProducingThrows:_&:' \
+ -e 's:test_resumeProducingAbortLater:_&:' \
+ -e 's:test_resumeProducingAbort:_&:' \
+ -e 's:test_fullWriteBufferAfterByteExchange:_&:' \
+ -i twisted/internet/test/test_tcp.py || die
+ sed -e 's:test_logPrefix:_&:' -i twisted/internet/test/connectionmixins.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-15.1.0.ebuild b/dev-python/twisted-core/twisted-core-15.1.0.ebuild
new file mode 100644
index 000000000000..becb46ff1b56
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-15.1.0.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial test"
+
+RDEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND} )"
+
+PATCHES=(
+ # Give a load-sensitive test a better chance of succeeding.
+ "${FILESDIR}/${PN}-2.1.0-echo-less.patch"
+
+ # Skip a test if twisted conch is not available
+ # (see Twisted ticket #5703)
+ "${FILESDIR}/${PN}-12.1.0-remove-tests-conch-dependency.patch"
+
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920 6921
+ # Just re-exposing them to list a full list of deficits
+# sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+# sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web, twisted-lore and twisted-names, creating a circ. dep and fail even if installed.
+ # test_loreDeprecation and test_exist failures appeared in version 14.0.0.
+ # Possibly due to over taxing of the distutils_install_for_testing function
+ rm -f twisted/python/test/test_release.py || die
+ sed -e 's:test_loreDeprecation:_&:' -i twisted/test/test_twisted.py || die
+ sed -e 's:test_exist:_&:' -i twisted/python/test/test_dist3.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ # Appeared in version 14.0.0; https://twistedmatrix.com/trac/ticket/7422; known failures
+ # Upstream somewhat unreceptive
+ # The last of these invokes a hang or a long delay
+ sed -e 's:test_dataReceivedThrows:_&:' \
+ -e 's:test_resumeProducingThrows:_&:' \
+ -e 's:test_resumeProducingAbortLater:_&:' \
+ -e 's:test_resumeProducingAbort:_&:' \
+ -e 's:test_fullWriteBufferAfterByteExchange:_&:' \
+ -i twisted/internet/test/test_tcp.py || die
+ sed -e 's:test_logPrefix:_&:' -i twisted/internet/test/connectionmixins.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-core/twisted-core-15.2.1.ebuild b/dev-python/twisted-core/twisted-core-15.2.1.ebuild
new file mode 100644
index 000000000000..a4424d9c22c0
--- /dev/null
+++ b/dev-python/twisted-core/twisted-core-15.2.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic twisted-r1
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt gtk serial test"
+
+RDEPEND=">=dev-python/zope-interface-3.6.0[${PYTHON_USEDEP}]
+ crypt? ( >=dev-python/pyopenssl-0.10[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}] )
+ gtk? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ serial? ( dev-python/pyserial[${PYTHON_USEDEP}] )"
+DEPEND="test? ( ${RDEPEND} )"
+
+PATCHES=(
+ # Respect TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE variable.
+ "${FILESDIR}/${PN}-9.0.0-respect_TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE.patch"
+)
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed \
+ -e "s/test_newPluginsOnReadOnlyPath/_&/" \
+ -e "s/test_deployedMode/_&/" \
+ -i twisted/test/test_plugin.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ # Needed to make the sendmsg extension work
+ # (see http://twistedmatrix.com/trac/ticket/5701 )
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ distutils_install_for_testing
+
+ pushd "${TEST_DIR}"/lib > /dev/null || die
+
+ # Skip broken tests.
+
+ # http://twistedmatrix.com/trac/ticket/5375
+ sed -e "/class ZshIntegrationTestCase/,/^$/d" -i twisted/scripts/test/test_scripts.py \
+ || die "sed failed"
+
+ # Prevent it from pulling in plugins from already installed twisted packages.
+ rm -f twisted/plugins/__init__.py
+
+ # An empty file doesn't work because the tests check for doc strings in all packages.
+ echo "'''plugins stub'''" > twisted/plugins/__init__.py || die
+
+ # https://twistedmatrix.com/trac/ticket/6920 6921
+ # Just re-exposing them to list a full list of deficits
+# sed -e 's:test_basicOperation:_&:' -i twisted/scripts/test/test_tap2deb.py || die
+# sed -e 's:test_inspectCertificate:_&:' -i twisted/test/test_sslverify.py || die
+
+ # Requires twisted-web, twisted-lore and twisted-names, creating a circ. dep and fail even if installed.
+ # test_loreDeprecation and test_exist failures appeared in version 14.0.0.
+ # Possibly due to over taxing of the distutils_install_for_testing function
+ rm -f twisted/python/test/test_release.py || die
+ sed -e 's:test_loreDeprecation:_&:' -i twisted/test/test_twisted.py || die
+ sed -e 's:test_exist:_&:' -i twisted/python/test/test_dist3.py || die
+
+ # Requires connection to the network
+ sed -e 's:test_multiListen:_&:' -i twisted/test/test_udp.py || die
+
+ # Appeared in version 14.0.0; https://twistedmatrix.com/trac/ticket/7422; known failures
+ # Upstream somewhat unreceptive
+ # The last of these invokes a hang or a long delay
+ sed -e 's:test_dataReceivedThrows:_&:' \
+ -e 's:test_resumeProducingThrows:_&:' \
+ -e 's:test_resumeProducingAbortLater:_&:' \
+ -e 's:test_resumeProducingAbort:_&:' \
+ -e 's:test_fullWriteBufferAfterByteExchange:_&:' \
+ -i twisted/internet/test/test_tcp.py || die
+ sed -e 's:test_logPrefix:_&:' -i twisted/internet/test/connectionmixins.py || die
+
+ if ! "${TEST_DIR}"/scripts/trial twisted; then
+ die "Tests failed with ${EPYTHON}"
+ fi
+
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ cd "${D%/}$(python_get_sitedir)" || die
+
+ # create 'Twisted' egg wrt bug #299736
+ local egg=( Twisted_Core*.egg-info )
+ [[ -f ${egg[0]} ]] || die "Twisted_Core*.egg-info not found"
+ ln -s "${egg[0]}" "${egg[0]/_Core/}" || die
+
+ # own the dropin.cache so we don't leave orphans
+ touch twisted/plugins/dropin.cache || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
diff --git a/dev-python/twisted-lore/Manifest b/dev-python/twisted-lore/Manifest
new file mode 100644
index 000000000000..f88268379914
--- /dev/null
+++ b/dev-python/twisted-lore/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedLore-13.0.0.tar.bz2 87133 SHA256 7874ecb0f79b015fb6183cf181f86ee96469b4e7420c0ff6d1028867d18777cc SHA512 783d5ccba84351f0bacf591d6b3c13765bb9e04bc3e89f217f2d52ff050a79d4b85ef6108bd00f706295928941082bb384e9c6a73171150ffde77d0826f9597e WHIRLPOOL a0550825038429176e36156d8fed4cbca1626afa3228c83cd837d746153acf5490eb1170592af27312abb8e64f380d623aa73af56b05ef1793327b7a2a37a6ef
+DIST TwistedLore-13.2.0.tar.bz2 88616 SHA256 53ca37c533048ddaf209548a21bf3078cb56dce48099251fb6bae107ed9d66df SHA512 a05752e2854c404da30562062e1d72d0376ebd5b82c3371183023936851bb6394dc3ff95160efc3e7e7781624ac48485d7c102e4487cf3bfda2a086bcc596ff6 WHIRLPOOL 380309ec38864a53605e4ab321b61d316f9edfad0696070f958151f66c0775f29b31e75305e94272cbcdb08210f35f0e43d4c717af521b29538ea9aec08b5fd3
+DIST TwistedLore-14.0.0.tar.bz2 53923 SHA256 d689acbff7e667eee9cc4e05ef7fa4a7de2667dfde062f487ddc33d44781b7c5 SHA512 148311175c66e934e80eb5007b616bdbde663793fe105a6ece346027598ab1b183ec55f189f153436a38615d3cc9a1ef43b8dd4b7875b975ce605442d8fda13d WHIRLPOOL 35daa28d74a3b7c16b8b9317628b8ae64468c14051f83e05c3681376e32fa623512bf34815656d2830c739fc52ca3555f51806e53afc55986ce9facc81a7467b
+DIST TwistedLore-14.0.1.tar.bz2 53945 SHA256 5fc9b933b1be160f4bf3702a95177b684e8b927d0e5103f4aa245f04dd4e2e26 SHA512 237011ad1868270512f169560a3b982f156beda7b4e36bf1bbd1d2f62fd11198a0f0b3efb70065e045844fb4641f53b3eee94da6f74a918b9acde741704b8d90 WHIRLPOOL 40f96bdb40d66743e286b3fa9341d1c9aa7b025a3a7e6d9014589e4cbfbc7d4a61d8e670cc669101629b4ca2db3b20149ef6b345b1a3f31144a6ac7d556fe64b
+DIST TwistedLore-14.0.2.tar.bz2 53980 SHA256 dcc3acf5d06b3cd4590c66354cc8dfb0491031686f30c5adb7b8c5b5bc50749b SHA512 f57cd80d61a33a2167967eed998ff8f26fb628c66fc3a16324dd82963e99679f8c036d2b028e554af184acdcdfe81673658bd88fc5acbce4fc9d8bf16e725640 WHIRLPOOL 88730c514c23b6f866c5222b15b7bd4e90ae2fec8e44d61c5fd287c653b848dfe7f0044c9bfefff4ff4c7766cc08659a0439652d68eaecb7465d03dbcc339b8e
+DIST TwistedLore-15.1.0.tar.bz2 54005 SHA256 62e3949683f5ec0cf0ee8160767dff2f5a3cc26c3474bedbafb2e007d5f746b4 SHA512 4a775705083e0fd180df6c2f514f97e79b76e9e6cd8c7ed4c3159ff3a604753dde59f5c780917ff1a136d7db76ed3048606df6c0babc01894746c3e6229f7a67 WHIRLPOOL 97f678887756d6663e22292f63b026fc8611fa017a460d2a11f02f1c60d958433d7bffd99194e93fac40cd2411f4ccbcabe2bef5de88da70440ac4e9e9dad4fe
+DIST TwistedLore-15.2.1.tar.bz2 54070 SHA256 0997d71f84de67fa11662d057ce6e42059fb389fd6bdfb09d8ed6b5df32efe8f SHA512 9d9c45443f702e527f82dd25b7ed73af24b1ff16d266eb0cb6cb5be230939ed2ba07dfcd9d7b02d48823043b64b33df916b58dd1d1280d3f4e4f7c3cec851d7a WHIRLPOOL e15cdf266975438965fdd4d6d0fd6693d3a3b5281601ac31af8b1aaa6cdea5dea21711ea28f6d2b381123134583f427b904a5a946e465267bccb4c69c7739c54
diff --git a/dev-python/twisted-lore/metadata.xml b/dev-python/twisted-lore/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-lore/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-lore/twisted-lore-13.0.0-r1.ebuild b/dev-python/twisted-lore/twisted-lore-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..a3f6e6d52eab
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-13.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-13.2.0.ebuild b/dev-python/twisted-lore/twisted-lore-13.2.0.ebuild
new file mode 100644
index 000000000000..a3f6e6d52eab
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-13.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-14.0.0.ebuild b/dev-python/twisted-lore/twisted-lore-14.0.0.ebuild
new file mode 100644
index 000000000000..a390d02a79bb
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-14.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-14.0.1.ebuild b/dev-python/twisted-lore/twisted-lore-14.0.1.ebuild
new file mode 100644
index 000000000000..c37cb74364f6
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-14.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-14.0.2.ebuild b/dev-python/twisted-lore/twisted-lore-14.0.2.ebuild
new file mode 100644
index 000000000000..c37cb74364f6
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-14.0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-15.1.0.ebuild b/dev-python/twisted-lore/twisted-lore-15.1.0.ebuild
new file mode 100644
index 000000000000..06b1ed92dd3c
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-15.1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-lore/twisted-lore-15.2.1.ebuild b/dev-python/twisted-lore/twisted-lore-15.2.1.ebuild
new file mode 100644
index 000000000000..06b1ed92dd3c
--- /dev/null
+++ b/dev-python/twisted-lore/twisted-lore-15.2.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted documentation system"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/Manifest b/dev-python/twisted-mail/Manifest
new file mode 100644
index 000000000000..1b5d0cb88398
--- /dev/null
+++ b/dev-python/twisted-mail/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedMail-13.0.0.tar.bz2 156220 SHA256 ff9c231dc9f1603374363ca7e5cb30c253032f551a02ca8ef74f0d5adcb99b2e SHA512 7d4be4d8bed37743696430aef4a827bdbaf7a5ea094259ef6fc7612955d95f3ef6b10cd08a6af5cf4111608ef93e07701be2f945e507f7c5c62e0997018e5b3f WHIRLPOOL c17423fd13b04a7a8f2a73883407e5b61d07d88dc849b86f44c6220a3f188badb4f0fa2ef9321d121460a1a0203b8c2622bbb4dcfe51257c2d2b161da00e87aa
+DIST TwistedMail-13.2.0.tar.bz2 160046 SHA256 6e4b3844a27bc1f85ae7529bf1c0574f6962c8ca66e08c3c06c2a5a2e39acfc8 SHA512 399e34dbf674e3e30acf49769fbb9c188f1dfc00187b82e67865490b5a9f2847ad1d70fc1bb930a50b4b77b3e017212590c93f3077a8464d9e1f662750f37314 WHIRLPOOL 274f5f60564d94beea5c4a4aa1593de4e602aa7f3fdd6cecfc25ab543d90e177e94b1a73c2857f00f870e3d37b0b427e31f424240fd499ec759ab16ee8797adf
+DIST TwistedMail-14.0.0.tar.bz2 157816 SHA256 6a4ac184a719cb273cb055869c2c42e4c96fd0cd8f56cc0ffdeff8cd68d22075 SHA512 0cff0f38d3a752d4ad48722b9138b4e0704668b06285f51a95ece14c265107c98bec7b01196ad52d676bbbb4e1c73b40fe9a663fcaf14ccbd8f824854eaa5025 WHIRLPOOL c3b704caa5396bd8e7e2e94f9a2f8a9e154a24476c9c72d71ff346c6c1bec5cb50986c50e220ffbaf06f1b96b3b53b7ddcc771349f3a7e47b0cac85d892c3a92
+DIST TwistedMail-14.0.1.tar.bz2 157660 SHA256 42aa76eff85a31d72162cfcea89d157d83e334f90e5c2ee59fc21e8f680c1450 SHA512 ef2071e24dcfabb0422f25ee529aa19cf8cda0d2f3e023a8672c0565511e1f6f899c6c88bb4adb79dd184f1a4d3dd4800332f33929fe5b6b922b1b7e44e39507 WHIRLPOOL 5e888367e5089f58ef0a132db5be315a670ed8b895c48d8248ae63727f398e1a323daaa35a5047ec513ad7be1e1bf05bac606d6a3c7ed01a431745d4fe1b782e
+DIST TwistedMail-14.0.2.tar.bz2 157653 SHA256 15d8d232e842fa7be639797eb132a87b5edf6a3cf08a732c471193b08bf925b3 SHA512 2ca682a838caf96139db6bb71b6ca536e9d8b403157e3293a097451760b3bb5a8e04777228e938dd4552a1ce3cd59ea560cf26a431d18bc77cbc8951be84fd3a WHIRLPOOL 3ce0a46976cb5315e9af87e9f601f4853d51cbd5875838a7928cd24da57b3f93508bff8353748f1b72736af108fc675df37b19bce47c7f1a6a13a802e55bd11a
+DIST TwistedMail-15.1.0.tar.bz2 161265 SHA256 fa83f1afc4c2f53321fc2911b64dc923755c0dd8f8f53cee1bbdecb6bcee6474 SHA512 2b5453e83185fa51222e26abf59a743c8cdc872f556c28135a7d7a717cf438f5a9d3ca6085ad4b35ae64509e49130812c3dba4cbe65aacdb738fc903492a1a15 WHIRLPOOL c762acb540f9a3be46788087c434ea8de42660f4ec5a646777d75b66a016d2ebb2fb4f15befa430e7ed01e2e0c7a65f3a47924eda8a6c6afa76febee4fe5391e
+DIST TwistedMail-15.2.1.tar.bz2 161891 SHA256 fc50bee5b5aa95164f5aaf09d29fff3897abb7902db508fa58a004fdeb20d324 SHA512 d3c29ad842610dde6697e76456125716a8657f9e7938ac6e66fd3c226fc339e04551a2074c8af8627882c2a761414d5f856fe647b3900ed4eae0fbe7fb5bba23 WHIRLPOOL 264dc5e931291b7398022d0f3cae0f1af8dc4675b12950adaaa1613a9aa3596c66ec081751bb929be417e29a80e235ccfad9f63893dca66544fe76c65e38568d
diff --git a/dev-python/twisted-mail/metadata.xml b/dev-python/twisted-mail/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-mail/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-mail/twisted-mail-13.0.0-r1.ebuild b/dev-python/twisted-mail/twisted-mail-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..f90bb3daeec3
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-13.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-13.2.0.ebuild b/dev-python/twisted-mail/twisted-mail-13.2.0.ebuild
new file mode 100644
index 000000000000..f90bb3daeec3
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-13.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-14.0.0.ebuild b/dev-python/twisted-mail/twisted-mail-14.0.0.ebuild
new file mode 100644
index 000000000000..62013346e1c1
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-14.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-14.0.1.ebuild b/dev-python/twisted-mail/twisted-mail-14.0.1.ebuild
new file mode 100644
index 000000000000..675bb8f371c9
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-14.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-14.0.2.ebuild b/dev-python/twisted-mail/twisted-mail-14.0.2.ebuild
new file mode 100644
index 000000000000..675bb8f371c9
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-14.0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-15.1.0.ebuild b/dev-python/twisted-mail/twisted-mail-15.1.0.ebuild
new file mode 100644
index 000000000000..e4430ac47de9
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-15.1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-mail/twisted-mail-15.2.1.ebuild b/dev-python/twisted-mail/twisted-mail-15.2.1.ebuild
new file mode 100644
index 000000000000..e4430ac47de9
--- /dev/null
+++ b/dev-python/twisted-mail/twisted-mail-15.2.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted Mail library, server and client"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-names-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/Manifest b/dev-python/twisted-names/Manifest
new file mode 100644
index 000000000000..406fa61aa115
--- /dev/null
+++ b/dev-python/twisted-names/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedNames-13.0.0.tar.bz2 60955 SHA256 831741ec0abaf6fc13469d172152212ab3e8c112b0313c2c0614348e3f32d575 SHA512 37a4f4dc311243d18752cf9f27a0d65a9c6efa9600f59060e4bd62100863d7b14076d1e1fea51a0fdca67a5807803ebf36c262f44ee80ce2bf14ef1e1512639d WHIRLPOOL e99e693b7b0d551ddc45bcac4562d419557730447e0d6767ba6ee42c622a199b63f75855bab0c7d61a4902306cf2776f666effd5d25403a3ed2069ce793e3e7a
+DIST TwistedNames-13.2.0.tar.bz2 71127 SHA256 b8ed07790661eac454ee0bc424f9ede649dec87c11d423421ce2808795e131d5 SHA512 1dc7ac69f51a41f3fa6472ae633649d61935ca0c64233a86c69755e8a53100402842712beb2b555dfbf493696bcb4a0fa7d70fa2d3450fe0448b680f85eb9fb5 WHIRLPOOL b6d116781c9dbb408b0eac3fcd7c9ee5259e6d92fd6b7c737168dac14a6534c4f9f684170b6e0103f68703600284da68afb7dfc98f0d0d85117373ae41599053
+DIST TwistedNames-14.0.0.tar.bz2 88385 SHA256 6adf7fea6048bd2938c6aa8b7dab852dd8f372e2896d65745389e3c88fcbf612 SHA512 6b1353c4588a2cb235487a607bdf9d842ca87f5da9b8fffcd8aa6d3011adce4e2089146a41332f8a495a038bfcb91e3cb87b0d4e8316d443c0d7ea4809711c23 WHIRLPOOL 0c075a1edfe8824ba138cf0648f99832d3cb7dd3b6594134afd651059e152410e891f40972e29d59e526c509be99cd7e834b2adc49f2dbc765a4bac9fe7b8dc2
+DIST TwistedNames-14.0.1.tar.bz2 88381 SHA256 477b0185f67bf684a03deae1f6ed394ac203c3dd4bec1d163378280c9c1778b6 SHA512 b896b338262d9ace8d98ece2578489bb1a5cd104edcfecf3222f3de4ff950c385f06c4359f6d9aaf3340a43dee646aff5bd354302e094f6454daecc23a4a8daf WHIRLPOOL 77de0fe2e651cbe70e79a1035e248a78031e39382866c19a797ff3b78589efcb2f81f80142cad8744ce7b7bf05c3c18faaa55f3e424456e07225da537e33e1dd
+DIST TwistedNames-14.0.2.tar.bz2 88321 SHA256 ad6d0b527c88e1b70f97350e0d768b8373c43f5a4b6558be8e2c5d9d4a891d54 SHA512 f9b3a19856cad2b1437adf62ca0f187d14c570b83e9cce92db9f990171ee633b069e0cf9b4b841e51bdc00bde8b64a9bc0d3309df69d31404235996083de728f WHIRLPOOL bd22a4d7da4f3f31d717cfbb7954697e96e2bf507f2edbda81fc32621e90aabc795acc094922af50d1d727c08fc19487d8b79433291ab799372dbb7fc964ad6b
+DIST TwistedNames-15.1.0.tar.bz2 88684 SHA256 998821c69b8f950264985bcb296340023602d81899a8e3345b055fb05e1f9b28 SHA512 c03141bce0eb26de927d537a896b72823b8dbabde946a3dffd68331c6bb63deab4e7260e07540eb980d31a190c7d5b8224b46dc2e908e8b1aa8c6f869acf745a WHIRLPOOL 768b2d70b00bc12004481dc034dbb437d7fcb21940c590cafe02aab08b68181189967e0c19e46fdebdb776b0ecfaa9b5fa127198ec361554a308e2769557ce29
+DIST TwistedNames-15.2.1.tar.bz2 88688 SHA256 9da80426cd1a1a9951af0adcc54635abda63988761b6f6a92c356916184daf68 SHA512 2ca2c4e4e9a49e82246f781f2fd1eb86a85d78236251e085dc88a8b52b7b58964cac4ff2db75a97ea652350f650bc06fcc4d4964747b7e9c5a6631c2ea6aed80 WHIRLPOOL 23e38dea7be7a418b5efa38d9b100411d3cf24b0bbe87aa8048b463eac7cccd372b1423f546428392942841f3d7eb6ad900f03ef206ff685de215f0e91182493
diff --git a/dev-python/twisted-names/metadata.xml b/dev-python/twisted-names/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-names/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-names/twisted-names-13.0.0-r1.ebuild b/dev-python/twisted-names/twisted-names-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..c0d2cee65042
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-13.0.0-r1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-13.2.0.ebuild b/dev-python/twisted-names/twisted-names-13.2.0.ebuild
new file mode 100644
index 000000000000..c0d2cee65042
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-13.2.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-14.0.0.ebuild b/dev-python/twisted-names/twisted-names-14.0.0.ebuild
new file mode 100644
index 000000000000..d7f879cd5e2b
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-14.0.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-14.0.1.ebuild b/dev-python/twisted-names/twisted-names-14.0.1.ebuild
new file mode 100644
index 000000000000..1760913725f5
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-14.0.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-14.0.2.ebuild b/dev-python/twisted-names/twisted-names-14.0.2.ebuild
new file mode 100644
index 000000000000..1760913725f5
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-14.0.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-15.1.0.ebuild b/dev-python/twisted-names/twisted-names-15.1.0.ebuild
new file mode 100644
index 000000000000..df8da10295d2
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-15.1.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-names/twisted-names-15.2.1.ebuild b/dev-python/twisted-names/twisted-names-15.2.1.ebuild
new file mode 100644
index 000000000000..df8da10295d2
--- /dev/null
+++ b/dev-python/twisted-names/twisted-names-15.2.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="A Twisted DNS implementation"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/Manifest b/dev-python/twisted-news/Manifest
new file mode 100644
index 000000000000..8413ec7c0ea1
--- /dev/null
+++ b/dev-python/twisted-news/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedNews-13.0.0.tar.bz2 19638 SHA256 102f303fee6dc807d53ee281a2a15775a6b04e72e5b7b25ab77fc8faaa96dc3f SHA512 06c9372d5a54b80c6bef0124ad6d34acdb2543739319712f8e46286b284aacfa7c2a5052a6fa17ce4d2d3f5c89f389ce7d274a9f9085b5c21f985b32326e13b7 WHIRLPOOL ae0900a4af7e486b54ed7349ac9f385a511b3a367ef0cf73f3f8225bbe45471b504cef9b494d9e9389ca10e68b79d89a86730e4bf73da8d79ce7247aff61251a
+DIST TwistedNews-13.2.0.tar.bz2 19706 SHA256 e6499fdb79767fd620f8b3dfbf47b356343a92206dfb44833025159d69252f1e SHA512 439f35b882f28be1fa466fabe93c06cd688662a44dd21f58a3c2d9670f95910c038bb30b79c88f661f50be7eb9bb820f6d89a94fbf61bde2d8bb46af574c9274 WHIRLPOOL e989c04b9e89326ddae17ccbaf04e985c51f6dd1e69009b5b899131061f801e8503f9e952063ff1c65d31c04fbd65d418a698ad97b46116ceb4675007c50b112
+DIST TwistedNews-14.0.0.tar.bz2 19797 SHA256 1fbb80b64ef8631c48133bad58a7705893af8c4a5f4cb1a3407d76f623ba4a35 SHA512 fd3fd1bb7901409610ac4bb18b5ef4a35be320c7f80b6ecdf05b5d1a798ec3fe6c24ecff672aa645cc01a42ffbaef3422ca46557ac0e97a5a0bd14fdb6f8bc98 WHIRLPOOL 0105c513cb97c14fcfdb03e01448e6c49ad0d8c38c0e926ed90051fce1d0091b7b96919b86d853041935e596e572880de2aca6a6e4b616280389b9d7d582865d
+DIST TwistedNews-14.0.1.tar.bz2 19829 SHA256 d2dadbe2f845d0cb97c281ef05fff6be762ec862d2227f0d063936de1ff981c2 SHA512 81095ec412fe2cca39e08d1385539de0d5491aefb56d694d525849c45f648a52b685c3ee0d8b0c5f78d02158c5f2a29368285122a865af55ac9cc3a6781f943a WHIRLPOOL 2def3054e79b962949db3318ec9d11235b2fd19d01e0fed1d5dfd3b1dacda78f2bb2fdf4c4a9bc2d7b0e15a3ea4434ac67c7a2315938ca70dbf9ddb123e2161f
+DIST TwistedNews-14.0.2.tar.bz2 19805 SHA256 91c8e1201410264c81fc5771aa425ea5e67fad6a4b1e352df70824f387484092 SHA512 305ab6469cab30b775ed371280581289e59607f210d49e7f514d4f80235d44eb1ebcb19e05598a2b2b47a45cccc8a97db5088c7c78c6ee9d7a8107658cb84e67 WHIRLPOOL d2650a751ec61e2c30043a0577be0c31367d848c1b1a336565ab3855320b06eb150c173dc4d4f80fbebf5088432567dc2e10b750b7732838e2b2dffb39f4968c
+DIST TwistedNews-15.1.0.tar.bz2 19843 SHA256 8212888036f10fbae5932dfdbc593047edf08daabff3ba6fa391a8afe1c93186 SHA512 4a1111d0807d95506ad1a44dfd5f49ff72f7e8162e102a2a9945d5ffcc7f58d12f6df65e085f07e47c0fcee4c341bc0b9cdff918e062b450a2a1a0bf974e57f6 WHIRLPOOL 828ef667619d75e7f1d90902d87a462ab409b8925eece72fa0d7b26f857318d229a3b510a9a2625eb694b4b9b47ffe4822d874edda69350b5964b85847c8324b
+DIST TwistedNews-15.2.1.tar.bz2 19889 SHA256 56d5215e0971431dabedf7b5f9a162ae448c8e6d20b6318e627ab9eaeaf1e089 SHA512 faa3a2b7c6acf2d9f8a63ef79bf36fecc2d48101b701bf679b4837e54f8327e5dda75e207ac2cb03a35671781c9221f62f60885a0459e970f15d660d214e7342 WHIRLPOOL b0b4836fdc661c6daa663b13a589461a2579177867c0878d261dff7d7628c962b08f9b8cc1dcfa74b49035d473115a4b3dec8f289448502547c2edfbad130758
diff --git a/dev-python/twisted-news/metadata.xml b/dev-python/twisted-news/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-news/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-news/twisted-news-13.0.0-r1.ebuild b/dev-python/twisted-news/twisted-news-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..3807b992aaae
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-13.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-13.2.0.ebuild b/dev-python/twisted-news/twisted-news-13.2.0.ebuild
new file mode 100644
index 000000000000..3807b992aaae
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-13.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-14.0.0.ebuild b/dev-python/twisted-news/twisted-news-14.0.0.ebuild
new file mode 100644
index 000000000000..3a5793bc9c2b
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-14.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-14.0.1.ebuild b/dev-python/twisted-news/twisted-news-14.0.1.ebuild
new file mode 100644
index 000000000000..d262487d9143
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-14.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-14.0.2.ebuild b/dev-python/twisted-news/twisted-news-14.0.2.ebuild
new file mode 100644
index 000000000000..d262487d9143
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-14.0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-15.1.0.ebuild b/dev-python/twisted-news/twisted-news-15.1.0.ebuild
new file mode 100644
index 000000000000..7f5777b51492
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-15.1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-news/twisted-news-15.2.1.ebuild b/dev-python/twisted-news/twisted-news-15.2.1.ebuild
new file mode 100644
index 000000000000..7f5777b51492
--- /dev/null
+++ b/dev-python/twisted-news/twisted-news-15.2.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted News is an NNTP server and programming library"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-mail-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-pair/Manifest b/dev-python/twisted-pair/Manifest
new file mode 100644
index 000000000000..205d9564bc90
--- /dev/null
+++ b/dev-python/twisted-pair/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedPair-13.0.0.tar.bz2 9187 SHA256 3773ea87a89e2cca402dc44015e14af0c8227a61d080f0e8d9deb801a4c04503 SHA512 66d9a51ec1a1a1075ac85aa5f157ffbf4158564ecb68ac74a9d52d72d0c58f70088efb463c4a7e17c187101aebbbc65e947a521661a862a6b6af7ee5aeafefe6 WHIRLPOOL bb6e0d45bb69605002891e2cd060da3aa23549a49426eb0f4422fefe744e17c27ec3e418686c26f7ff721ebb26d0420b0057f24b5660cc062d707773651ea12a
+DIST TwistedPair-13.2.0.tar.bz2 9251 SHA256 600c7dd1e9a4798540c16a7a94585a0e45e938b6f379ff863725bed85c91eb1d SHA512 931b2564e66d5056ce10695e7d9884b55d42c1081feaf9edc011aef9dff21f40e628312a89970f83619611967f155f26f4bbd9d1a325d30670e245e00f47e2d0 WHIRLPOOL 502e096358d0a92051f4b0179bb11d4884d5fac9bf4c4cd3e6b9620fa263f6ee69919c5bc89d7d9a427638e04694f19da529589bda88fa28faba610e8907625b
+DIST TwistedPair-14.0.0.tar.bz2 21665 SHA256 5452ea55fdabefb1f773eb8385b3015db53a0ff50052a4cf884e7908ec5f450a SHA512 f033748e6f9c0aaffa475469b0f87ebca80747762c4e2a474323810749f46efb91f7692873f281c179d1de25fc2d18850ea02404e1ea6bcf5a0965d0048feb9e WHIRLPOOL eea5c3c17d22d72a49d1ab68d70fc60cf5e8e587311a760f56a44d290e462d93b564ba827e5df9020d2f919331f5d92f0f2569edd8280b59e52eeb69fbd2f6f0
+DIST TwistedPair-14.0.1.tar.bz2 21676 SHA256 659fd17029fc73b75feefe06b6adb9850cc1aaa31af36f66c9ec8bab01bdcba3 SHA512 022345da61e0638dd38c32c47af23900514f6345bcfa256ac4c9674363f3c66d3ef34b337dab2275c7cc09dbde46802722fc26955cb4c4560545a8810e9a380c WHIRLPOOL 92f0fe2ee299896ea73a351bf8c3eb38e5c4fbd3771454c61c8df11f8964563db54e2302d7c14fc4a16642f22f20448efca85cf052254ef8fb7ad411dff2324e
+DIST TwistedPair-14.0.2.tar.bz2 21678 SHA256 1c2f40c4fbb089479c9615f9b96c10ed82be196a283e82132413db0a1dbc1ceb SHA512 6339541a7638ad99de9d534e36956cdadaeffc07dd86c2b24847a1e31042f832fdf51565e1528a9eae8e97918b565d8c1bc96807ea4efb04ee855745e93ce818 WHIRLPOOL f60f886d50791c6fee243b5569ca69b3dd8eb59bdb74a18b1d7f02030128001db204298c8acde6402899acaed19773a58d54e3077f8b740889274dbb539ce020
+DIST TwistedPair-15.1.0.tar.bz2 21712 SHA256 b12521b6668efd001c01f1a2703c64f586a4ebbc388b5aca56bb076795c0762c SHA512 3214017dfd4f62e074d486561ed9c7640d4f43f20fd21b3068427d482bfb3b0b723732b547a5467603b667aa62404e957343ead19a00a0b8a2f0221aa8a4691e WHIRLPOOL 8060d0653dd7e510efc32bc3da2ced56ca9066f0667b2167db455dbaca944982d5cfb2e462eb081415e757b3735bbcf2415ddbf35657ba4e024c0759f45c5987
+DIST TwistedPair-15.2.1.tar.bz2 21755 SHA256 50a95ea152272d98048d10b987805d0aadca5ad3cd9b04580c8bde69bf260583 SHA512 e7e9c8d88ca490c5e9f41ade6aede36dc23ea935f7c1658355bf685e21000e4e20ee1a3ccc3ebdba312fe026a8b7b25f2bcf51c3761668c2c3ce86b37ad3c725 WHIRLPOOL fbfcc763d2fb3b93b369426d7cfcb1bb1309b3720f5fb97193a7ffcdffe67c966b1c2e89ef824df106fe84d5f5d35d934449d0c8a5a73de995c03d7da0e14e65
diff --git a/dev-python/twisted-pair/files/14.0.0-tests.patch b/dev-python/twisted-pair/files/14.0.0-tests.patch
new file mode 100644
index 000000000000..0ec7a032eb71
--- /dev/null
+++ b/dev-python/twisted-pair/files/14.0.0-tests.patch
@@ -0,0 +1,26 @@
+Allows user to access /dev/net/tun
+--- twisted/pair/test/test_tuntap.py.orig 2014-05-27 22:55:56.230232748 -0400
++++ twisted/pair/test/test_tuntap.py 2014-05-27 23:30:02.769956742 -0400
+@@ -10,7 +10,7 @@
+ import os
+ import struct
+ import socket
+-from errno import EPERM, EBADF, EINVAL, EAGAIN, EWOULDBLOCK, ENOENT, ENODEV
++from errno import EPERM, EBADF, EINVAL, EAGAIN, EWOULDBLOCK, ENOENT, ENODEV, EACCES
+ from random import randrange
+ from collections import deque
+ from itertools import cycle
+@@ -582,8 +582,11 @@
+ except OSError as e:
+ # The device file may simply be missing. The device file may also
+ # exist but be unsupported by the kernel.
+- if e.errno in (ENOENT, ENODEV) and filename == b"/dev/net/tun":
+- raise SkipTest("Platform lacks /dev/net/tun")
++ if filename == b"/dev/net/tun":
++ if e.errno in (ENOENT, ENODEV):
++ raise SkipTest("Platform lacks /dev/net/tun")
++ elif e.errno == EACCES:
++ raise SkipTest("Access denied opening /dev/net/tun")
+ raise
+
+
diff --git a/dev-python/twisted-pair/metadata.xml b/dev-python/twisted-pair/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-pair/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-pair/twisted-pair-13.0.0-r1.ebuild b/dev-python/twisted-pair/twisted-pair-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..7c0b03d06284
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-13.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-pair/twisted-pair-13.2.0.ebuild b/dev-python/twisted-pair/twisted-pair-13.2.0.ebuild
new file mode 100644
index 000000000000..7c0b03d06284
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-13.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-pair/twisted-pair-14.0.0.ebuild b/dev-python/twisted-pair/twisted-pair-14.0.0.ebuild
new file mode 100644
index 000000000000..bdba2e0afbe0
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-14.0.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# https://twistedmatrix.com/trac/ticket/7433
+PATCHES=( "${FILESDIR}"/${PV}-tests.patch )
diff --git a/dev-python/twisted-pair/twisted-pair-14.0.1.ebuild b/dev-python/twisted-pair/twisted-pair-14.0.1.ebuild
new file mode 100644
index 000000000000..8b3a5883f7e3
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-14.0.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# https://twistedmatrix.com/trac/ticket/7433
+PATCHES=( "${FILESDIR}"/14.0.0-tests.patch )
diff --git a/dev-python/twisted-pair/twisted-pair-14.0.2.ebuild b/dev-python/twisted-pair/twisted-pair-14.0.2.ebuild
new file mode 100644
index 000000000000..8b3a5883f7e3
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-14.0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# https://twistedmatrix.com/trac/ticket/7433
+PATCHES=( "${FILESDIR}"/14.0.0-tests.patch )
diff --git a/dev-python/twisted-pair/twisted-pair-15.1.0.ebuild b/dev-python/twisted-pair/twisted-pair-15.1.0.ebuild
new file mode 100644
index 000000000000..2c374df62788
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-15.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# https://twistedmatrix.com/trac/ticket/7433
+PATCHES=( "${FILESDIR}"/14.0.0-tests.patch )
diff --git a/dev-python/twisted-pair/twisted-pair-15.2.1.ebuild b/dev-python/twisted-pair/twisted-pair-15.2.1.ebuild
new file mode 100644
index 000000000000..2c374df62788
--- /dev/null
+++ b/dev-python/twisted-pair/twisted-pair-15.2.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted low-level networking"
+
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/eunuchs[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# https://twistedmatrix.com/trac/ticket/7433
+PATCHES=( "${FILESDIR}"/14.0.0-tests.patch )
diff --git a/dev-python/twisted-runner/Manifest b/dev-python/twisted-runner/Manifest
new file mode 100644
index 000000000000..7e35e1b5340a
--- /dev/null
+++ b/dev-python/twisted-runner/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedRunner-13.0.0.tar.bz2 12879 SHA256 f469ebaa364c4fdcdb847b5cd3c614900457d476abaa96612f71a7ae652f56d7 SHA512 332b8ec0650eea8a1bf6a355a54a2ca05138d5859cec3317833369689f92e835ef6c02b7414d680e1019c503b85d87516e590ab23edccd29660880bdc4625c08 WHIRLPOOL 2fdf0a25d721f83aa33839796b1a03cf4303a9c928b7b94d02f03f63c371a650e5ace947c9d6b6142972756e9fe72d3f80745cf1253d973444c0b4e43d434929
+DIST TwistedRunner-13.2.0.tar.bz2 12944 SHA256 0609d2706da8ed0f6e96ca1d94c7dbcb90cd3972d26e1c471df8532a7553e9fb SHA512 1ede91957ecf349164fb63e284896f8909c88e54c032c6c326aabe2efa3058b5b9ba232e5ca60e71776dff4514a6c23483d9720e815f07c48c10232831741489 WHIRLPOOL 1095f5cceb565d1dbdb4232baf4575365d07dde14545eb6779ca9f898cc666724a529aa4531e81ecc367f3ac86b67cae63ff9e692e75e8b6e11d37fce8015942
+DIST TwistedRunner-14.0.0.tar.bz2 13020 SHA256 918c8a0ecfbb6362df8a794260eaea9c74f70e080dc3642179b2c5d838f719fe SHA512 c7101948ff46cd04e36b88fd3527b9a453c0f779608e12ca2b762ad6469e3c9dd9088ef472e53b7a649d5fc2ef1a6bed81ffbc05552f5602331cac22d3bad5ed WHIRLPOOL 9550d59e09f22b8176d70980baef86ca53989cbac18c6b6c21d9e4c03150946a2bacb63ac55c99d3ae470568b43c3559a5beda0b639f604f30a5b3b8d5f8a4c4
+DIST TwistedRunner-14.0.1.tar.bz2 13055 SHA256 2d7d9ee60f1e6b67af8daf9c68f65ee210e6f388141731280de6b3bd39818bf7 SHA512 cc897c272f6e95858deae155b096f458d2f61eb3f1ebb3e70a800aee873f26a64d3979f1d9abad73705d60c1411507b9e12c9998ba65f43acd91cf05dd637ba1 WHIRLPOOL b645ec0c6f5a6c8a7f875e47c302995889b4699c37cce1674d13f494c1fbf566661fb79667b49b4f13217e3d96df849aaaebfbbac4a0dc24431e799bfb26f177
+DIST TwistedRunner-14.0.2.tar.bz2 13042 SHA256 54864586896cb1b0a89936cd1451d3bb9c02133228d8cac5200f6b8fc6d2e0c4 SHA512 dd8609913e533ac5ca7e6f2e5d7fad4ffe4208cc03e84d1d10dc75d0ca858120bd7a35ac265a43db9e0b178b15c642219c7aeda2d7489b3e8671e1b6c52f2fa1 WHIRLPOOL 2bafb3ebeb8eaa9cd88b0c4e59ccac78099077e207767c4acdca18c344355cbab3148eca634fe829753b789a1e919fbb047669ff1fc792732d9256c4cb5cde0e
+DIST TwistedRunner-15.1.0.tar.bz2 13088 SHA256 c28ccd6f8105629c99584e7d9c9a04f90191085bf5e548d15aeb3c226a4c9e24 SHA512 335cb42dc3ecc7708ebb69d79fd2eadfa78d7ef804ad4f6d76660234cff0315aeafbe2a1a7a7e48d994f17ac4403fecb5dc6f987a8a67c9960faca2339afd1c9 WHIRLPOOL 9a735454c03187553deae94c1006b5de74cc3b0382ba2f82b4ab3888b86d520795a996d6a28de9c789a3bc59722dd355c1b1f33161bf31eb7ed3d6a5a2627a56
+DIST TwistedRunner-15.2.1.tar.bz2 13041 SHA256 5890b039f3dea6bdacd86a60de6eac299f96a180f35343d40273c7433afb0894 SHA512 9cf94b62cf978f0a11dcba7ee18632d94dbf27bf629f5632f6bdbfa21096a4a8ff5298df9e7e42f03469cf3b89dccc537b983cfb198e35ba01e0ef530baa3867 WHIRLPOOL 020d2b915119b7895479f53b40e55c12e779f937d58633d81a191fc5c0221793f2d51308e5120070ad5acabd4522d33a459a1aa764cb11528acde0ea60049cc8
diff --git a/dev-python/twisted-runner/metadata.xml b/dev-python/twisted-runner/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-runner/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-runner/twisted-runner-13.0.0-r1.ebuild b/dev-python/twisted-runner/twisted-runner-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..bb22b81f12c6
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-13.0.0-r1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-13.2.0.ebuild b/dev-python/twisted-runner/twisted-runner-13.2.0.ebuild
new file mode 100644
index 000000000000..bb22b81f12c6
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-13.2.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-14.0.0.ebuild b/dev-python/twisted-runner/twisted-runner-14.0.0.ebuild
new file mode 100644
index 000000000000..0b9ed5b71f44
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-14.0.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-14.0.1.ebuild b/dev-python/twisted-runner/twisted-runner-14.0.1.ebuild
new file mode 100644
index 000000000000..f942e3922fde
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-14.0.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-14.0.2.ebuild b/dev-python/twisted-runner/twisted-runner-14.0.2.ebuild
new file mode 100644
index 000000000000..f942e3922fde
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-14.0.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-15.1.0.ebuild b/dev-python/twisted-runner/twisted-runner-15.1.0.ebuild
new file mode 100644
index 000000000000..6a36287f4c02
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-15.1.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-runner/twisted-runner-15.2.1.ebuild b/dev-python/twisted-runner/twisted-runner-15.2.1.ebuild
new file mode 100644
index 000000000000..6a36287f4c02
--- /dev/null
+++ b/dev-python/twisted-runner/twisted-runner-15.2.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Runner is a process management library and inetd replacement"
+
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-web/Manifest b/dev-python/twisted-web/Manifest
new file mode 100644
index 000000000000..ad5150a3d83e
--- /dev/null
+++ b/dev-python/twisted-web/Manifest
@@ -0,0 +1,8 @@
+DIST TwistedWeb-12.3.0.tar.bz2 393179 SHA256 d13e220235788f5e2542c9f8f906fe79e59793f5212cd9862002ea084ea666ca SHA512 2c1d857a0f92b781cc683e59f7e0e16b6a1158b1a45a9b947635da2bbaf78f0988bcf6503ad58b6c5109ab710db3c2f860ac4d446654c55394c49fdc7dc5b3e4 WHIRLPOOL 59c4db46679d0c7de3b881256aee1e0a2c6a33e6a7a481554a3b9b419f172774ec28a30849d731479b1659a7eb6a30713bd033ec72ea5c6943cb15d09483dee1
+DIST TwistedWeb-13.0.0.tar.bz2 395974 SHA256 a3f6b3a47950d96a6da5cf28bf4c1e0bfa894ff2a1c38c38eac4876cac0bdc55 SHA512 d034a63a8d9a52f2db7967e57245a18ff288f1030579204286cc6d4990afe6fa30fb8aa73f62460ecaabaa76c1cc20be75aef0382f5c1bd565bef7923a9c86f8 WHIRLPOOL 93f8eab34be254c7f28aed1c95fcd9963f7038529a3d88ea014d0f2ea996f18955e3a672c89156d379b3fbe15822b21b0be0e7d35bf08bc6b0cf569607f87c0c
+DIST TwistedWeb-13.2.0.tar.bz2 403931 SHA256 aee160e0264d9dbaa0ec0613851128c91e3ac4246d3e9e13a6f2cfdfe7a4904f SHA512 69e721ec456214d000f88268340b7cf21186073af11e7f906bf95c9a1bfaf49fdc5832b4e39586ebdddd3f1378bf823ab147de58d7aa9e8491a2561a54389a1f WHIRLPOOL 9b6d02398cd29e763107338b7b0a2fd60f5ff9ea4d7578d179411c1e6470445621484cb532688d3d72f7634c5a119e52c5df86bfc462de0adf8da1ef875e3bf2
+DIST TwistedWeb-14.0.0.tar.bz2 228686 SHA256 02ee70e0fc06c6e35ef808321826bff1d64baae5331f69b179af80a7069f3573 SHA512 b157824257474da7f3a2e63aca4a3bc44ffbe529d87d30ab789d1203216b7cc4c386ed00b17530c537a0a9b77d74467366633915c562872c9d56ea0c1f29ed67 WHIRLPOOL 5ea6e4a8b533d2712fe352497d0f9a4e9404a9bb30ae5a4cef8f0ad8100a1e6e9626f216c45700da15342988afa00da16df08cbd18d866035c75fba9a34a63db
+DIST TwistedWeb-14.0.1.tar.bz2 228976 SHA256 1cbbe10bb006d1ce2cb656e2e28d504cba70d399b19ad065956e4f14661e376b SHA512 32132b93e23aa300facbfab1dddc6afba70c8e7f5d78007f401eb2fa6a1c902f21a7a92a33c8ee698e50786b1323aa2f4e4b6fb4577ecb3365060c875e94a7d3 WHIRLPOOL 3bbe4eb926c1e2b34cd9fabf69fb568184fdc2ff4502923fb214b812b1818535a3ec11b823c1f82e9fb8cd0fa2a26ed7d1ec4eeda0cf16bbb49123c5cfcb4fca
+DIST TwistedWeb-14.0.2.tar.bz2 228949 SHA256 363521b4fd0ec1bb057da010318b2b6913a9e9eb2adf8b05efc21bf3bbacdadc SHA512 272e8f1854d18514d13eda808da5fecd5f7e534d66938352f11064ef5961f912bd5981f3664551102b8596560081dc8138e51033924de7c0da03571ffc13ca83 WHIRLPOOL db5680de57f7917b04f43c075b14c2818750bb667835f0beebb63d9d14b2860569512ec308b0b11fa840ae2fb50a2507fdf22b15eb8834dd1af55e526aa25a76
+DIST TwistedWeb-15.1.0.tar.bz2 231028 SHA256 ef55ca0c425f3eed8080003cab080365d7dde038c6554581b4a06aab5a3285ce SHA512 3eccfafa1110b4fa85892fb3c8b0a37514c33c51f1edc6ac41c257dd198fa2f113e82b884dc6af3fa4dc1aefc69e8e6cc3ab1fc19a569c125e608a829c229748 WHIRLPOOL 4783613bfeda1ebd0ead1b4474cff7f3cd6317e7d8752117da99f7f3b340e5ff9d48700a737583a4b6f9d3c6aa7e750d1b45afc4aca32f2792ce802611544d86
+DIST TwistedWeb-15.2.1.tar.bz2 231092 SHA256 fa93a74a264284eb3123bc2481855e83d4901a818b8e4cbb4f7563ca72a12586 SHA512 e2b155deed9b240f92f173e0fb188c1538ef2275cc6564b838dac8a5ac4c460e664791623cd3e3cde996b63f1619eff8d62636c2813e8b81da5054b8eea365e1 WHIRLPOOL 559f56657e5169f477c74e3d8f41b35ad89580ffcee49fca183c9cf9415d89003e9fdaa711e3770848f974f4d4094dac9c4411c05c3aa1582db26bc0ff77a2fa
diff --git a/dev-python/twisted-web/metadata.xml b/dev-python/twisted-web/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-web/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-web/twisted-web-12.3.0-r1.ebuild b/dev-python/twisted-web/twisted-web-12.3.0-r1.ebuild
new file mode 100644
index 000000000000..e78984b1139d
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-12.3.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/twisted-web/twisted-web-13.0.0-r1.ebuild b/dev-python/twisted-web/twisted-web-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..1db02f5dbde6
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-13.0.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/twisted-web/twisted-web-13.2.0.ebuild b/dev-python/twisted-web/twisted-web-13.2.0.ebuild
new file mode 100644
index 000000000000..eee1947b802c
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-13.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-web/twisted-web-14.0.0.ebuild b/dev-python/twisted-web/twisted-web-14.0.0.ebuild
new file mode 100644
index 000000000000..8e1a67f5ead2
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-14.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-web/twisted-web-14.0.1.ebuild b/dev-python/twisted-web/twisted-web-14.0.1.ebuild
new file mode 100644
index 000000000000..048623cca608
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-14.0.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-web/twisted-web-14.0.2.ebuild b/dev-python/twisted-web/twisted-web-14.0.2.ebuild
new file mode 100644
index 000000000000..048623cca608
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-14.0.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-web/twisted-web-15.1.0.ebuild b/dev-python/twisted-web/twisted-web-15.1.0.ebuild
new file mode 100644
index 000000000000..039a4cbff409
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-15.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-web/twisted-web-15.2.1.ebuild b/dev-python/twisted-web/twisted-web-15.2.1.ebuild
new file mode 100644
index 000000000000..039a4cbff409
--- /dev/null
+++ b/dev-python/twisted-web/twisted-web-15.2.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+MY_PN="TwistedWeb"
+DESCRIPTION="Twisted web server, programmable in Python"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="soap"
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ soap? ( dev-python/soappy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ if [[ "${EUID}" -eq 0 ]]; then
+ # Disable tests failing with root permissions.
+ sed -e "s/test_forbiddenResource/_&/" -i twisted/web/test/test_static.py
+ sed -e "s/testDownloadPageError3/_&/" -i twisted/web/test/test_webclient.py
+ fi
+
+ distutils-r1_python_prepare_all
+}
+# testsuite has a PYTHONPATH oddity, currently appears to require a system install to effectively import,
+# putting in question as to whether it is a testsuite
diff --git a/dev-python/twisted-words/Manifest b/dev-python/twisted-words/Manifest
new file mode 100644
index 000000000000..5a8dfe93fe8e
--- /dev/null
+++ b/dev-python/twisted-words/Manifest
@@ -0,0 +1,7 @@
+DIST TwistedWords-13.0.0.tar.bz2 167286 SHA256 aec3ea773d7a6b3744edaa4206a9d9ce0f20c414c09bc8e53cbc8c96558acbe6 SHA512 5693eaee5dfe2687190e88cb0bc7f13ad7ab8dd1f5c3ac5a2ebf50cfdf667743d7f486d31e53de7d55bc3cfaa7f3e8cab500bd6da0a03a60522b815e4eac1dc5 WHIRLPOOL 021be2c046f05931b65056446b3ffa748e309b5850cfdd5a2d1613ba939b323fe4be8864567d2240d98f26bdf7ac2881956926b38116ae7b43bdff07b144faa8
+DIST TwistedWords-13.2.0.tar.bz2 176411 SHA256 079c4acc179d71058b4c5f802ceda4e3f31eddae1f09b1ab88d1c642fab746af SHA512 84ff45f86a0c3d7074fdfcd01159833b461780b75c5135d7a1cc2b3c4c918ad2299c217e8f5ef8e9a71f87a005ec1037fcf870e56601fcee50347ac2e1c39105 WHIRLPOOL 6c68fa2faaf5deeb33cffb92f182f45257e13db88251b447f6a0e9690f80621234a8de13d53e976cb141a729763419bff1db55db94e274b836d491545fa1fb2f
+DIST TwistedWords-14.0.0.tar.bz2 165343 SHA256 d7b7a604d8a35b62d255cac034e0890e231c41c0ab15b8756122f3b8e3c69b5a SHA512 22668b45377831be4db536544f6ec59437b8cd30dbd3b3cc72773e5a911bfa16ce9d774b171d4a31e9d1cafd42f8342931b513df27a4fdf60c74620e7cc25d64 WHIRLPOOL bd952477124d17a4b1a2343de363e1c68d92d7b240e7c6efad77a875041705eb6184697a7f5cf7f6283a60ddfb93729ac3d2e5ed15cc1edc568389efb8e2b081
+DIST TwistedWords-14.0.1.tar.bz2 165413 SHA256 e8f3e0bb91a7a69f743e102385f3347c3fbd05dc6f82fd0850d80976f7bf38a1 SHA512 d4e28be50c6893f5e0cee605d764b5cabed1fa100cb988165d330cebb676364eed74d8a8334a23e9fab667135a147d903f57137af3ff30d82c955504133a19c8 WHIRLPOOL 7d74c8146e8b80f9d6981a0393ffe56ae32374f0a109e8a3b47966f8ab3fedcbe5735cab546a3524908866dba5cd73c5cd942f11d289e1d47fe314af125a0cdb
+DIST TwistedWords-14.0.2.tar.bz2 165406 SHA256 f8810b5917da1a90471c6feb487d4ea058e87ae67862f0131dc331f4ad12f4ef SHA512 e551bfe4f1fa6a278a42b2fa295dbdf6b2d416beacf614819ae5a7ad1efb51b0d78cb5bd1c600c2d7a5cb2c3c2d064c0c2284a9b145633595f5cae67bfbb8d63 WHIRLPOOL dcfdccf5bb090b49102fdfea729477a768483b3e314db4968b872746479c94eed326215eb526cd68c992c1ffb89981cc36a8d071f14066ed012b0b6b8bf470dd
+DIST TwistedWords-15.1.0.tar.bz2 166836 SHA256 94863962e5dc339217c2c6dbeb081d78e8976a20bd588f287a23974bf58c1adc SHA512 1b711fea9aabc0d9f3e73e811cabbde41f1e5bdf4573dbe5fcbedb7da480aabe0ed23e006433ad3c425db39277c58804ef408c5d31d2b3e7c2c5564a9a631857 WHIRLPOOL 81e46ef43cf99e99b02348a89aff52d7b96b03180d09e27c9d76cb0887a3ccbfb54541497277d62c196f3cacab2c4b112cf7733df3f8ea5a5605dbb152d45a80
+DIST TwistedWords-15.2.1.tar.bz2 168483 SHA256 ac316d252cc807e0b35728fe8e61d3613e2b52b4991004f896d6faeab63d8189 SHA512 aca278a69f5c4deceab0e6f1c6461186131e4b9e7558970175cd5a70232eb7096c3c10fd300a9d22612e97dceeba71765118af45eed7a610678f66d9036452e7 WHIRLPOOL d35c2643265ebb3cf9a3f9060b151120476f7f1d8fd2b81618b276d0bcad2e16a1bb7b90589d70d219fee72611db6cfd5f871ef398515e5c20f487d69d6cb849
diff --git a/dev-python/twisted-words/files/twisted-words-10.2.0-twisted.words.protocols.jabber.jstrports.parse.patch b/dev-python/twisted-words/files/twisted-words-10.2.0-twisted.words.protocols.jabber.jstrports.parse.patch
new file mode 100644
index 000000000000..2f70d8e94cf0
--- /dev/null
+++ b/dev-python/twisted-words/files/twisted-words-10.2.0-twisted.words.protocols.jabber.jstrports.parse.patch
@@ -0,0 +1,67 @@
+https://bugs.gentoo.org/show_bug.cgi?id=351468
+http://twistedmatrix.com/trac/ticket/4771
+http://twistedmatrix.com/trac/changeset/30430
+
+--- twisted/words/protocols/jabber/jstrports.py
++++ twisted/words/protocols/jabber/jstrports.py
+@@ -1,12 +1,12 @@
+ # -*- test-case-name: twisted.words.test -*-
+-# Copyright (c) 2001-2005 Twisted Matrix Laboratories.
++# Copyright (c) 2001-2011 Twisted Matrix Laboratories.
+ # See LICENSE for details.
+
+
+ """ A temporary placeholder for client-capable strports, until we
+ sufficient use cases get identified """
+
+-from twisted.application import strports
++from twisted.internet.endpoints import _parse
+
+ def _parseTCPSSL(factory, domain, port):
+ """ For the moment, parse TCP or SSL connections the same """
+@@ -22,7 +22,7 @@
+
+
+ def parse(description, factory):
+- args, kw = strports._parse(description)
++ args, kw = _parse(description)
+ return (args[0].upper(),) + _funcs[args[0]](factory, *args[1:], **kw)
+
+ def client(description, factory):
+--- twisted/words/test/test_jabberjstrports.py
++++ twisted/words/test/test_jabberjstrports.py
+@@ -0,0 +1,34 @@
++# Copyright (c) 2011 Twisted Matrix Laboratories.
++# See LICENSE for details.
++
++"""
++Tests for L{twisted.words.protocols.jabber.jstrports}.
++"""
++
++from twisted.trial import unittest
++
++from twisted.words.protocols.jabber import jstrports
++from twisted.application.internet import TCPClient
++
++
++class JabberStrPortsPlaceHolderTest(unittest.TestCase):
++ """
++ Tests for L{jstrports}
++ """
++
++ def test_parse(self):
++ """
++ L{jstrports.parse} accepts an endpoint description string and returns a
++ tuple and dict of parsed endpoint arguments.
++ """
++ expected = ('TCP', ('DOMAIN', 65535, 'Factory'), {})
++ got = jstrports.parse("tcp:DOMAIN:65535", "Factory")
++ self.assertEquals(expected, got)
++
++
++ def test_client(self):
++ """
++ L{jstrports.client} returns a L{TCPClient} service.
++ """
++ got = jstrports.client("tcp:DOMAIN:65535", "Factory")
++ self.assertIsInstance(got, TCPClient)
diff --git a/dev-python/twisted-words/metadata.xml b/dev-python/twisted-words/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/twisted-words/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/twisted-words/twisted-words-13.0.0-r1.ebuild b/dev-python/twisted-words/twisted-words-13.0.0-r1.ebuild
new file mode 100644
index 000000000000..a4c84517ff3d
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-13.0.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-13.2.0.ebuild b/dev-python/twisted-words/twisted-words-13.2.0.ebuild
new file mode 100644
index 000000000000..a4c84517ff3d
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-13.2.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-14.0.0.ebuild b/dev-python/twisted-words/twisted-words-14.0.0.ebuild
new file mode 100644
index 000000000000..4952fdee72bb
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-14.0.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-14.0.1.ebuild b/dev-python/twisted-words/twisted-words-14.0.1.ebuild
new file mode 100644
index 000000000000..ece48d9b57de
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-14.0.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-14.0.2.ebuild b/dev-python/twisted-words/twisted-words-14.0.2.ebuild
new file mode 100644
index 000000000000..ece48d9b57de
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-14.0.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-15.1.0.ebuild b/dev-python/twisted-words/twisted-words-15.1.0.ebuild
new file mode 100644
index 000000000000..7697eda6178e
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-15.1.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twisted-words/twisted-words-15.2.1.ebuild b/dev-python/twisted-words/twisted-words-15.2.1.ebuild
new file mode 100644
index 000000000000..7697eda6178e
--- /dev/null
+++ b/dev-python/twisted-words/twisted-words-15.2.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="Twisted Words contains Instant Messaging implementations"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE=""
+
+DEPEND="=dev-python/twisted-core-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]
+ =dev-python/twisted-web-${TWISTED_RELEASE}*[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/twistedsnmp/Manifest b/dev-python/twistedsnmp/Manifest
new file mode 100644
index 000000000000..9bc56516e459
--- /dev/null
+++ b/dev-python/twistedsnmp/Manifest
@@ -0,0 +1 @@
+DIST TwistedSNMP-0.3.13.tar.gz 56256 SHA256 4e3d20110a3083bf4c602b57c5bcf447182bb0effcb8b0603f5da0314a804cce SHA512 547f7d20d473c11ae26d45c1ceee4670ee7445a18c52038336b00a79edaeb48f2f397e00ef0f5e9293c6334faa16edb8af3c17be124e1c862cc28f9bb4d7ba03 WHIRLPOOL 8b5456e5ee6e01a9429d6ad986bd31bfa973fefedfdc09cbf34234b45927e06b2f1c2dbd7a2d4519b3ff92cb9c9a4032ded3f9e97e353e092efdd17d93b8f71c
diff --git a/dev-python/twistedsnmp/metadata.xml b/dev-python/twistedsnmp/metadata.xml
new file mode 100644
index 000000000000..ccc5e3285490
--- /dev/null
+++ b/dev-python/twistedsnmp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>lordvan@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">twistedsnmp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/twistedsnmp/twistedsnmp-0.3.13-r1.ebuild b/dev-python/twistedsnmp/twistedsnmp-0.3.13-r1.ebuild
new file mode 100644
index 000000000000..9c15832b622b
--- /dev/null
+++ b/dev-python/twistedsnmp/twistedsnmp-0.3.13-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+MY_PN="TwistedSNMP"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="SNMP protocols and APIs for use with the Twisted networking framework"
+HOMEPAGE="http://twistedsnmp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples test"
+
+RDEPEND="=dev-python/pysnmp-3*[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-1.3[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND} )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+python_prepare_all() {
+ # Disable broken test.
+ sed -e "s/test_tableGetWithStart/_&/" -i test/test_get.py || die "sed failed"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" test/test.py || die "tests failed"
+}
+
+src_install() {
+ local HTML_DOCS=( doc/index.html )
+ use examples && local EXAMPLES=( doc/examples/. )
+ distutils-r1_src_install
+ insinto /usr/share/doc/${PF}/html/style/
+ doins doc/style/sitestyle.css
+}
diff --git a/dev-python/twitter/Manifest b/dev-python/twitter/Manifest
new file mode 100644
index 000000000000..0fcecf64b9ef
--- /dev/null
+++ b/dev-python/twitter/Manifest
@@ -0,0 +1,4 @@
+DIST twitter-1.14.3.tar.gz 39538 SHA256 497fce2168cb57d5651932a39b70fc0c9304bebd53558107995102bca49210da SHA512 821af749b34d01319630388cb287af88f1e516d8d6117088e63d988cf2a397a70c2770df2e1f208bcfa9a18224aae98e7c2a6bb62b4fc8653e2bceed7f39a92c WHIRLPOOL 6ec6fa7a124aeceedc5a58a89f7ff5a6fed6d6f09993dbb3e581b7ef55810440390b8d8b22e4139aa7a770f203c065c2a75a149ff7d025491c7e11b3be97a00f
+DIST twitter-1.15.0.tar.gz 41074 SHA256 4c7079231c0826f3a4e8e28f9384ff928813ed2527a059c86074a695e309cbd4 SHA512 a0e97a9123afb19c3a57d2cfe0383aa87a8d1bd681a99895414bc304279bb3d638ddb14c9d01906f3ae78562a5447f027cad4e68175d1d3cdb6f408bcccef213 WHIRLPOOL 0a2aa6c7cd7cbc4e9e90eb5cb0edd5634df8dc5b4d721d8e3311b7113b6ae2347a2b7e3e7dadba003dfe42e03b7462d49f9e31909744cb3c206aa4169ffdb3c9
+DIST twitter-1.16.0.tar.gz 42597 SHA256 92a4c13570806cf3ae2aab10ff97000c1aa7fcc0ed5740ca1df01346642e3ec3 SHA512 090b8fc4a535d2b9be290e84a46b3d478e876fb4c9423266f385f33c5e325e1b9cbf8af039ac5066e7fca4f431abf2c64046af9ebd7a5884b5b2775292437246 WHIRLPOOL 4f2249a31f560e2e07d77a11366df68d1fa3f79cfa8e2fb2ec338a4278834ece111056089edaa4a58292678f243b4ef2fbb38acb59c2a83f5ce46776360f287f
+DIST twitter-1.17.0.tar.gz 42869 SHA256 85396c4c33b9b213f3d2d805caaf6b386b9e277af9117eb51e5a782f77257376 SHA512 26acaa2d608c09d749d95d27fb51f76df4bd4358d0f49ea5afe8ca0db0d06873d265d67c23858e26d8ce513041adaa0445221b09b0353c3508328e8715d1280c WHIRLPOOL 8196ad84473d24c3c55d342deae7c2dd7c0438be03749159a0488250d9fea2e99b54a1e13c3661cd8fc17c7484308b269611ec2b6dfe4262820173bb549c8408
diff --git a/dev-python/twitter/metadata.xml b/dev-python/twitter/metadata.xml
new file mode 100644
index 000000000000..b13a57cbfb48
--- /dev/null
+++ b/dev-python/twitter/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">twitter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/twitter/twitter-1.14.3.ebuild b/dev-python/twitter/twitter-1.14.3.ebuild
new file mode 100644
index 000000000000..9f347f24db4b
--- /dev/null
+++ b/dev-python/twitter/twitter-1.14.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An API and command-line toolset for Twitter (twitter.com)"
+HOMEPAGE="http://mike.verdone.ca/twitter/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/twitter/twitter-1.15.0.ebuild b/dev-python/twitter/twitter-1.15.0.ebuild
new file mode 100644
index 000000000000..4a0c8ba5ebdf
--- /dev/null
+++ b/dev-python/twitter/twitter-1.15.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An API and command-line toolset for Twitter (twitter.com)"
+HOMEPAGE="http://mike.verdone.ca/twitter/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/twitter/twitter-1.16.0.ebuild b/dev-python/twitter/twitter-1.16.0.ebuild
new file mode 100644
index 000000000000..9f347f24db4b
--- /dev/null
+++ b/dev-python/twitter/twitter-1.16.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An API and command-line toolset for Twitter (twitter.com)"
+HOMEPAGE="http://mike.verdone.ca/twitter/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/twitter/twitter-1.17.0.ebuild b/dev-python/twitter/twitter-1.17.0.ebuild
new file mode 100644
index 000000000000..9f347f24db4b
--- /dev/null
+++ b/dev-python/twitter/twitter-1.17.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="An API and command-line toolset for Twitter (twitter.com)"
+HOMEPAGE="http://mike.verdone.ca/twitter/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/twython/Manifest b/dev-python/twython/Manifest
new file mode 100644
index 000000000000..b5780557199b
--- /dev/null
+++ b/dev-python/twython/Manifest
@@ -0,0 +1,3 @@
+DIST twython-3.0.0.tar.gz 28543 SHA256 9ca7148836e9ec298212b946c8bf85776edc5afa7059486560476cb160efe8a3 SHA512 2ecd0954bfc8d442ab9e602ffd8bdb0ca241e7411b51dc3df4285a4ba0691fa6a5f5b4d188461f2248e6135f9e87e7ef973375448946898f3845c2cbde18beee WHIRLPOOL f46eed176cceccd41e7a1aa2c0b671205b9439f67153661430771ba693055707ce6d009ce81453f2c7a1804e65291641e72b29df6c5af7978828c40511c336c7
+DIST twython-3.2.0.tar.gz 33741 SHA256 ab0dec52286677e944ddc00eaf6a0eb89af48b1a6696324ea29351342d1c483f SHA512 809bc9fe3512b383b38e74929dadb4576bc9b51b0ce80ea444aadea44f95f2df0fc119bd0ea1982337e654bd5d92abb78671f20fe3b56e647f6caca00ec3791f WHIRLPOOL 5104295c2610ab76408047875aff2c7cfd49643344804676d7b04eb2e1727b2bfe4d70821505c7f7106744f6fb141adca7f78c19d6d209f3c54a220932a9ada5
+DIST twython-3.3.0.tar.gz 34164 SHA256 afe23e8a718500eb49d2e42375b2c251b58bf13a6f572d9e586fbeaeda18cf37 SHA512 888f37c37f39c603b08605d2e209afc329e079c405adbe3a03fde4dab2b76b07d2badf1956d255d4b7ff0bf2a4c308b20f2a3333a7ccd0e7b9c046e9172b1d5f WHIRLPOOL b1a3a4867bc82a3395e04c6a3a219e7482d585e5139fb5d25fd9eabfec9cc1c8d045d3f984fdb8aefb8d0252e946411bc6f03f196b0f61a682e78ca923f69697
diff --git a/dev-python/twython/metadata.xml b/dev-python/twython/metadata.xml
new file mode 100644
index 000000000000..0de0df0bb21b
--- /dev/null
+++ b/dev-python/twython/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ryanmcgrath/twython</remote-id>
+ <remote-id type="pypi">twython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/twython/twython-3.0.0.ebuild b/dev-python/twython/twython-3.0.0.ebuild
new file mode 100644
index 000000000000..ca5ae5393224
--- /dev/null
+++ b/dev-python/twython/twython-3.0.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="An easy (and up to date) way to access Twitter data with Python"
+HOMEPAGE="https://github.com/ryanmcgrath/twython"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-python/requests-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-oauthlib-0.3.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/twython/twython-3.2.0.ebuild b/dev-python/twython/twython-3.2.0.ebuild
new file mode 100644
index 000000000000..ed1e81ce54e4
--- /dev/null
+++ b/dev-python/twython/twython-3.2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="An easy (and up to date) way to access Twitter data with Python"
+HOMEPAGE="https://github.com/ryanmcgrath/twython"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-python/requests-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-oauthlib-0.4.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/twython/twython-3.3.0.ebuild b/dev-python/twython/twython-3.3.0.ebuild
new file mode 100644
index 000000000000..d440b0b9bc04
--- /dev/null
+++ b/dev-python/twython/twython-3.3.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="An easy (and up to date) way to access Twitter data with Python"
+HOMEPAGE="https://github.com/ryanmcgrath/twython"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-oauthlib-0.4.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/txAMQP/Manifest b/dev-python/txAMQP/Manifest
new file mode 100644
index 000000000000..a200d6f40b52
--- /dev/null
+++ b/dev-python/txAMQP/Manifest
@@ -0,0 +1 @@
+DIST txAMQP-0.6.2.tar.gz 20749 SHA256 ab70a5e443d7aa4488e48d683ad32cf152e1a347198dafdd5d87a42643d61cf0 SHA512 676797a5ae4e013d3cbf42e94f2a3e0421c9db0056e2abaee7bfacbb2b31b50948b5ac51d389ba6f8c609207a294c35ee9359813f3151f37d049092bd1aed78a WHIRLPOOL aa0fb96ae068ec67e0e1f4ce545b4e20067eb5acf7c993b21144d0a55fc67de1afd2c00d87783f5933e015e43f83b3cf871414fea5eaf16c2643914a81d1822e
diff --git a/dev-python/txAMQP/metadata.xml b/dev-python/txAMQP/metadata.xml
new file mode 100644
index 000000000000..1b8745ab66e8
--- /dev/null
+++ b/dev-python/txAMQP/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">txAMQP</remote-id>
+ <remote-id type="launchpad">txamqp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txAMQP/txAMQP-0.6.2.ebuild b/dev-python/txAMQP/txAMQP-0.6.2.ebuild
new file mode 100644
index 000000000000..10e24fbbfca3
--- /dev/null
+++ b/dev-python/txAMQP/txAMQP-0.6.2.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Python library for communicating with AMQP peers using Twisted"
+HOMEPAGE="https://launchpad.net/txamqp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/twisted-core"
diff --git a/dev-python/txaio/Manifest b/dev-python/txaio/Manifest
new file mode 100644
index 000000000000..fd0ee65dd8b4
--- /dev/null
+++ b/dev-python/txaio/Manifest
@@ -0,0 +1 @@
+DIST txaio-1.0.0.zip 33656 SHA256 4b38afc5d416b23426ed4e7f582d949317df5173c50efec999f2cc97ed368a57 SHA512 7ca543721139e3da96e86d3d2feafbd0901df7a48585f43f46407a17c226e24bbd18841c50bf911c3f208d614c9e32bfc0a7bee37b03b9ddea87a8a47e940572 WHIRLPOOL d11ea36f27d26566a5dcce83751a723ac2e33c51ecc7019b95d66014850e94fc820ae44b36cbbe3c5a3f5b86de666a2b59cec29194ca3d4b9d39908bb47b2556
diff --git a/dev-python/txaio/files/util.py b/dev-python/txaio/files/util.py
new file mode 100644
index 000000000000..254df70a5aac
--- /dev/null
+++ b/dev-python/txaio/files/util.py
@@ -0,0 +1,40 @@
+try:
+ import asyncio
+ from asyncio.test_utils import run_once as _run_once
+
+ def run_once():
+ return _run_once(asyncio.get_event_loop())
+
+except ImportError as e:
+ try:
+ import trollius as asyncio
+ except ImportError:
+ asyncio = None
+
+ def run_once():
+ '''
+ copied from asyncio.testutils because trollius has no
+ "testutils"
+ '''
+ # in Twisted, this method is a no-op
+ if asyncio is None:
+ return
+
+ # just like modern asyncio.testutils.run_once does it...
+ loop = asyncio.get_event_loop()
+ loop.stop()
+ loop.run_forever()
+ asyncio.gather(*asyncio.Task.all_tasks())
+
+
+try:
+ # XXX fixme hack better way to detect twisted
+ # (has to work on py3 where asyncio exists always, though)
+ import twisted # noqa
+
+ def await(_):
+ return
+
+except ImportError:
+ def await(future):
+ asyncio.get_event_loop().run_until_complete(future)
diff --git a/dev-python/txaio/metadata.xml b/dev-python/txaio/metadata.xml
new file mode 100644
index 000000000000..c017089accf5
--- /dev/null
+++ b/dev-python/txaio/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">txaio</remote-id>
+ <remote-id type="github">tavendo/txaio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txaio/txaio-1.0.0.ebuild b/dev-python/txaio/txaio-1.0.0.ebuild
new file mode 100644
index 000000000000..63cfaa4061ef
--- /dev/null
+++ b/dev-python/txaio/txaio-1.0.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="a helper library for writing code unmodified on both Twisted and asyncio"
+HOMEPAGE="https://github.com/tavendo/txaio"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/pep8-1.6.2[${PYTHON_USEDEP}]"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/alabaster[${PYTHON_USEDEP}] )
+ test? ( >=dev-python/pytest-2.6.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-1.8.1[${PYTHON_USEDEP}] )"
+
+python_prepare() {
+ # https://github.com/tavendo/txaio/issues/3
+ cp -r "${FILESDIR}"/util.py test || die
+
+ distutils-r1_python_prepare
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/txsocksx/Manifest b/dev-python/txsocksx/Manifest
new file mode 100644
index 000000000000..c249037caf5c
--- /dev/null
+++ b/dev-python/txsocksx/Manifest
@@ -0,0 +1 @@
+DIST txsocksx-1.13.0.3.tar.gz 19147 SHA256 df1a9e7062c7e3693c39953705b75e0feb7b8746a05135ffb2b8cd98708c9c43 SHA512 86621ea27eb0a8f2043f0ea0746a0716ca5e03d0721adb9e733d8398f105b3a17c37057d69cb3bb929e9348a06bc4064f8fb1149dbb0a06e9fd0f07eab5898b2 WHIRLPOOL 11d87111c06665b3c9330fb548fd9b936d2d3a5c82d305872ffc482011b38ec10624aac94603af89339949e29b5023dda8aaba4596186f916b9062022c70e662
diff --git a/dev-python/txsocksx/metadata.xml b/dev-python/txsocksx/metadata.xml
new file mode 100644
index 000000000000..8ccefa5d55b3
--- /dev/null
+++ b/dev-python/txsocksx/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">txsocksx</remote-id>
+ <remote-id type="github">habnabit/txsocksx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/txsocksx/txsocksx-1.13.0.3.ebuild b/dev-python/txsocksx/txsocksx-1.13.0.3.ebuild
new file mode 100644
index 000000000000..e9253f1682e2
--- /dev/null
+++ b/dev-python/txsocksx/txsocksx-1.13.0.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Twisted client endpoints for SOCKS{4,4a,5}"
+HOMEPAGE="https://github.com/habnabit/txsocksx"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/vcversioner[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/parsley-1.2[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP},crypt]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]"
diff --git a/dev-python/tzlocal/Manifest b/dev-python/tzlocal/Manifest
new file mode 100644
index 000000000000..0fbf54813a8b
--- /dev/null
+++ b/dev-python/tzlocal/Manifest
@@ -0,0 +1,2 @@
+DIST tzlocal-1.1.2.zip 22504 SHA256 4d9ddb8d5eab086e3a7c504c6e994ffa85df43e40da4d6be776218be051c677a SHA512 966b56af79238332dd3d6c730d1e0a8ab3c7caa06755d9fb148473297a6ac65133e9d554236a7d09672a663266e3214142d423c62ba3444558ae81a12d21a629 WHIRLPOOL f95f2d0e4cbeee955dbf6fdcdc928d6514c8a76446b6c52349341f54a06749c2c3fd1a25f487bcf989a11c03abe0b870305f87eee01fc0ac107070c1e5a3dbd1
+DIST tzlocal-1.2.tar.gz 16149 SHA256 438f122d684c951b22cb98aecc80fdb961b84e69542bf878c6b9a9419de09a8b SHA512 eb4d1f73983579e109249884d2a343c441942fb0d4dc76aed693c4a05100b10a2337d72794fdb9c0cd28c3b73e11dbd030bdf6dc2f75e57c958655219973c814 WHIRLPOOL 8f39abc1a07a27c4afa8116c8817a1ec37483d8f05291f29a23ea6cfaf2bb517fca7b0b8998c8d13183cc0f0b26bb718c1674c033af271460ed1add7e0ccf5d6
diff --git a/dev-python/tzlocal/metadata.xml b/dev-python/tzlocal/metadata.xml
new file mode 100644
index 000000000000..ba3614fc5729
--- /dev/null
+++ b/dev-python/tzlocal/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">tzlocal</remote-id>
+ <remote-id type="github">regebro/tzlocal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tzlocal/tzlocal-1.1.2.ebuild b/dev-python/tzlocal/tzlocal-1.1.2.ebuild
new file mode 100644
index 000000000000..dd9a3bfc7ccb
--- /dev/null
+++ b/dev-python/tzlocal/tzlocal-1.1.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="tzinfo object for the local timezone"
+HOMEPAGE="https://github.com/regebro/tzlocal"
+SRC_URI="mirror://pypi/t/${PN}/${P}.zip"
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+RDPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+
+python_test() {
+ unset TZ
+ "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/tzlocal/tzlocal-1.2.ebuild b/dev-python/tzlocal/tzlocal-1.2.ebuild
new file mode 100644
index 000000000000..e21475019651
--- /dev/null
+++ b/dev-python/tzlocal/tzlocal-1.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="tzinfo object for the local timezone"
+HOMEPAGE="https://github.com/regebro/tzlocal"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+
+python_test() {
+ unset TZ
+ "${PYTHON}" -m unittest discover || die "Testing failed with ${EPYTHON}"
+}
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
new file mode 100644
index 000000000000..aa37f161ee91
--- /dev/null
+++ b/dev-python/ujson/Manifest
@@ -0,0 +1 @@
+DIST ujson-1.33.zip 197034 SHA256 68cf825f227c82e1ac61e423cfcad923ff734c27b5bdd7174495d162c42c602b SHA512 0f1f66212fbf94c03e048ba64c3bd817c50443d1a29b87f6a3a38f697a050f38821be4ba36a3b17a96930c69ee92973ac31bdd41851dea071af14cd4bbaf8480 WHIRLPOOL d3080fcf3e979b43deb8fe099427a8311c55e7e54105626bf12b3b6fe9e8567f70501884bd24b7a26d53ddfcd98f535de4aa708801106aa4a1b76e543217835c
diff --git a/dev-python/ujson/files/ujson-1.33-test-py3.patch b/dev-python/ujson/files/ujson-1.33-test-py3.patch
new file mode 100644
index 000000000000..e497f396792c
--- /dev/null
+++ b/dev-python/ujson/files/ujson-1.33-test-py3.patch
@@ -0,0 +1,38 @@
+ tests/tests.py | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/tests/tests.py b/tests/tests.py
+index d210bc6..71f8074 100644
+--- a/tests/tests.py
++++ b/tests/tests.py
+@@ -11,6 +11,7 @@ try:
+ except ImportError:
+ import simplejson as json
+ import math
++import nose
+ import platform
+ import sys
+ import time
+@@ -24,9 +25,10 @@ from functools import partial
+
+ PY3 = (sys.version_info[0] >= 3)
+
+-def _python_ver(skip_major, skip_minor=None):
++def _skip_if_python_ver(skip_major, skip_minor=None):
+ major, minor = sys.version_info[:2]
+- return major == skip_major and (skip_minor is None or minor == skip_minor)
++ if major == skip_major and (skip_minor is None or minor == skip_minor):
++ raise nose.SkipTest
+
+ json_unicode = (json.dumps if sys.version_info[0] >= 3
+ else partial(json.dumps, encoding="utf-8"))
+@@ -579,8 +581,8 @@ class UltraJSONTests(TestCase):
+ input = "-31337"
+ self.assertEquals (-31337, ujson.decode(input))
+
+- #@unittest.skipIf(_python_ver(3), "No exception in Python 3")
+ def test_encodeUnicode4BytesUTF8Fail(self):
++ _skip_if_python_ver(3)
+ input = "\xfd\xbf\xbf\xbf\xbf\xbf"
+ try:
+ enc = ujson.encode(input)
diff --git a/dev-python/ujson/metadata.xml b/dev-python/ujson/metadata.xml
new file mode 100644
index 000000000000..8ad7ebc5d6f2
--- /dev/null
+++ b/dev-python/ujson/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ujson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ujson/ujson-1.33.ebuild b/dev-python/ujson/ujson-1.33.ebuild
new file mode 100644
index 000000000000..aad7ca8bb934
--- /dev/null
+++ b/dev-python/ujson/ujson-1.33.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+# One test; FAIL: test_encodeToUTF8 (__main__.UltraJSONTests) under py2.5.
+# Fix and repair and re-insert if it's REALLY needed
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
+HOMEPAGE="http://pypi.python.org/pypi/ujson/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ app-arch/unzip"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test-py3.patch
+)
+
+python_test() {
+ # See setup.py; line 72. Again "${S}" is used for reading tests
+ # Since py3_2 is first in the queue it needs its own copy
+ # or else all py2s to follow will be reading read py3 tests
+ if [[ "${EPYTHON}" =~ 'python3' ]]; then
+ cd "${BUILD_DIR}"/lib || die
+ cp -a "${S}"/tests/ . || die
+ 2to3 -w tests/tests.py
+ "${PYTHON}" tests/tests.py || die
+ rm -rf tests/ || die
+ else
+ "${PYTHON}" tests/tests.py || die
+ fi
+}
diff --git a/dev-python/unicodecsv/Manifest b/dev-python/unicodecsv/Manifest
new file mode 100644
index 000000000000..95aa894eba0a
--- /dev/null
+++ b/dev-python/unicodecsv/Manifest
@@ -0,0 +1,5 @@
+DIST unicodecsv-0.11.0.tar.gz 9196 SHA256 d7bbbed2a99c2b20db048c8a9c5291b8f6e863280d5e465ecd7a216c6282e37f SHA512 5f82c434a3092a2c4266591e9a0cee9d382c709835c5fbe04576a795024e07e7ac241ccdc09c8319d940b22eed800051a935d3a7e8d92c986c7c4825a641853a WHIRLPOOL 8412dc2e967816e034391bceca97fbccddb7c8d8a8d1e9072ad9a698af3cb13dd9aae6d7f6833cc5310720fba41b99c8957932c3aebbbbada6db7b5a63aa82de
+DIST unicodecsv-0.11.1.tar.gz 9251 SHA256 cc1f5af069588b65a05b8ef03b82f6c1b3bd7ced29f7a60c5aced42e1ea84f9c SHA512 4a1f0e0fd1f963df4719e7df7c90357faa55399fbede94e9c1858f6862e4d45266adba81e09faeae0589ddd25be873fecbec6fae305e0b2cc950b5646691368b WHIRLPOOL b4d8a70a850d92624a4065facbc2e45d0b6ae69a135cf9a072a87bf8c1d3710f49d8b8a501f87edccc21c19a2d416e3c746042001f1a7e4c3049140e78ef3aad
+DIST unicodecsv-0.12.0.tar.gz 9372 SHA256 b0b7513c33e658cf8e96a55ae18b7be0cf756ca7bfa39b3e4178a1a13edf5e04 SHA512 54a930ecfcec0ef6b91f855fae7e409618a541863953493921ec28f15e26f545c44dab779ee88acb247c28e8e981e958759716337a2ffee63df866f65e4dbd36 WHIRLPOOL 7bacf19554f12931d0f624a53787aa8d9cc394fb7b6cc115b908487419449f06e4b2789dcfd2c451f81ad1a23334e6185deffdf3876ece4c4cb53e8752854379
+DIST unicodecsv-0.13.0.tar.gz 9445 SHA256 a913fa13a26b4b25058950f8d6231abee855e8a03a0f265274b3ed30a91034a3 SHA512 c794baac1b165482733faf94bab9284f6f71a1ae999dbd802afc9c906e82e396e98c5f3291f0796c39acec9dc924ad746a94269ac535046fc671351a2db33583 WHIRLPOOL 76b22ad354e004bb970a161d4dcce37fb5373369917a881d9a01d37ac93623e948609cb12270d94f433812cd42eb3f9602c108cf5c09cd471b312ab5a1ecdaa9
+DIST unicodecsv-0.9.4.tar.gz 9070 SHA256 0272570bc2b302093d9ac6e1171fc07862f7ac938146bb6152d8dfe20eeafd9b SHA512 2b0f4a602d68bd8bcbbeb9c7cbd2c9f3b43ca87e73816c40912b75a5c265739902e67b67f9946f1ef572ee99376cecdd7ce5a343216a32a86f25e0860251d828 WHIRLPOOL d3f47eb88ee1dac3fcafc2b9cb22619d310bae9dc6ba467526e7630cea7d57e02ad1139d1e4f6152f9cefc7030aed3d9f61ffec9052f59c44dd5a0108348f638
diff --git a/dev-python/unicodecsv/metadata.xml b/dev-python/unicodecsv/metadata.xml
new file mode 100644
index 000000000000..579c66e37e30
--- /dev/null
+++ b/dev-python/unicodecsv/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">unicodecsv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/unicodecsv/unicodecsv-0.11.0.ebuild b/dev-python/unicodecsv/unicodecsv-0.11.0.ebuild
new file mode 100644
index 000000000000..01eaab810e38
--- /dev/null
+++ b/dev-python/unicodecsv/unicodecsv-0.11.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Drop-in replacement for python stdlib csv module supporting unicode"
+HOMEPAGE="https://pypi.python.org/pypi/unicodecsv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-python/unicodecsv/unicodecsv-0.11.1.ebuild b/dev-python/unicodecsv/unicodecsv-0.11.1.ebuild
new file mode 100644
index 000000000000..01eaab810e38
--- /dev/null
+++ b/dev-python/unicodecsv/unicodecsv-0.11.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Drop-in replacement for python stdlib csv module supporting unicode"
+HOMEPAGE="https://pypi.python.org/pypi/unicodecsv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-python/unicodecsv/unicodecsv-0.12.0.ebuild b/dev-python/unicodecsv/unicodecsv-0.12.0.ebuild
new file mode 100644
index 000000000000..520eac5b3f04
--- /dev/null
+++ b/dev-python/unicodecsv/unicodecsv-0.12.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Drop-in replacement for python stdlib csv module supporting unicode"
+HOMEPAGE="https://pypi.python.org/pypi/unicodecsv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/unicodecsv/unicodecsv-0.13.0.ebuild b/dev-python/unicodecsv/unicodecsv-0.13.0.ebuild
new file mode 100644
index 000000000000..a54770d511fd
--- /dev/null
+++ b/dev-python/unicodecsv/unicodecsv-0.13.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Drop-in replacement for python stdlib csv module supporting unicode"
+HOMEPAGE="https://pypi.python.org/pypi/unicodecsv https://github.com/jdunck/python-unicodecsv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# not contained in the release tarball
+RESTRICT="test"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/unicodecsv/unicodecsv-0.9.4.ebuild b/dev-python/unicodecsv/unicodecsv-0.9.4.ebuild
new file mode 100644
index 000000000000..6f2290f9ed97
--- /dev/null
+++ b/dev-python/unicodecsv/unicodecsv-0.9.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Drop-in replacement for python stdlib csv module supporting unicode"
+HOMEPAGE="https://pypi.python.org/pypi/unicodecsv"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
diff --git a/dev-python/unidecode/Manifest b/dev-python/unidecode/Manifest
new file mode 100644
index 000000000000..00296f3e6f93
--- /dev/null
+++ b/dev-python/unidecode/Manifest
@@ -0,0 +1,2 @@
+DIST Unidecode-0.04.17.tar.gz 201090 SHA256 f0f8d53d39877da4849293d548eecb5e79364b573643296869dbc7f5b86709ef SHA512 297f411ab09f42cfb455279bb0accafe278d480acf6087b6596dbf4b4d4de89d45d389c5418a2dc4fe8c8f61026c92b3036e08f625e7f434abce9db335682be2 WHIRLPOOL f6fd10531da0e3b6eb14bfbeb07109490523d63151d8a26fd131506d7ead1a7b5570756ec7fa943c25e5a8ede6cbab1c9548cafbbca89301e52781621b41e513
+DIST Unidecode-0.04.18.tar.gz 206191 SHA256 f19150c74de2fe6847b13efeeaee402f2bd2c309a446346a8b5baae0315d108a SHA512 4434b147662c605829a599cb227b10599e70b9a40669b6bce490156c6679d22b49e1768667e10851eaf8d6a142a2c22df4800f0382ed74e781c247708021acd7 WHIRLPOOL 84f07583ba19f6c029128699629dc5709343520b94ea0fd3c8924d7e44910481f5b1574449eb78c2fa4dd884de4fa8b646593623dcae28b809f423c343163aa1
diff --git a/dev-python/unidecode/metadata.xml b/dev-python/unidecode/metadata.xml
new file mode 100644
index 000000000000..f84012a4838f
--- /dev/null
+++ b/dev-python/unidecode/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jer@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+This is a Python port of the Text::Unidecode Perl (<pkg>dev-perl/Text-Unidecode</pkg> module
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">Unidecode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/unidecode/unidecode-0.04.17.ebuild b/dev-python/unidecode/unidecode-0.04.17.ebuild
new file mode 100644
index 000000000000..b7c7381ec972
--- /dev/null
+++ b/dev-python/unidecode/unidecode-0.04.17.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+MY_PN=Unidecode
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Module providing ASCII transliterations of Unicode text"
+HOMEPAGE="http://pypi.python.org/pypi/Unidecode"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ppc sparc x86"
+
+S=${WORKDIR}/${MY_P}
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/unidecode/unidecode-0.04.18.ebuild b/dev-python/unidecode/unidecode-0.04.18.ebuild
new file mode 100644
index 000000000000..f6a258c9dfaa
--- /dev/null
+++ b/dev-python/unidecode/unidecode-0.04.18.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+MY_PN=Unidecode
+MY_P=${MY_PN}-${PV}
+
+inherit distutils-r1
+
+DESCRIPTION="Module providing ASCII transliterations of Unicode text"
+HOMEPAGE="http://pypi.python.org/pypi/Unidecode"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
+
+S=${WORKDIR}/${MY_P}
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/unittest2/Manifest b/dev-python/unittest2/Manifest
new file mode 100644
index 000000000000..c0e511aa1284
--- /dev/null
+++ b/dev-python/unittest2/Manifest
@@ -0,0 +1,5 @@
+DIST unittest2-0.5.1.tar.gz 62470 SHA256 aa5de8cdf654d843379c97bd1ee240e86356d3355a97b147a6f3f4d149247a71 SHA512 3979d94fd4e1038ec134dd2342d614766383177eadd0cc3c38b964528157fbbe466800d1a7422cf647500784af8e0c2caa750a364a33c9f761dca37d7bbb598f WHIRLPOOL d66d0b37c1646280e81035fde287f14c042fb2820434b27490aca49b265340ec76636315bfc9aa413a4c1f2d3be90a9e86da54f1149425ef09f7366d295f50b4
+DIST unittest2-0.8.0.tar.gz 78312 SHA256 bb00b9c261cf3fa6b84cc3e6c3a39edf74b3140345b3f677907635a2738a7e2a SHA512 f5e3083e236ff5ad2b3149a5d31e1a0ed20e0bd3283eacec0c5d12c143afb60a92163a27c25424348872db7fcfa11d4230af468a0e67a41cb32ed9dcd5566607 WHIRLPOOL c35b23f967b30864417be11b75c29a1cb93126eb09096cc3366b4a32970af2b09e97ddd15ee32f12f6773aa9bedc89e64491516dd1f759bb35d760a18db217ff
+DIST unittest2-1.0.1.tar.gz 80516 SHA256 ccec0aa70cae02253e6dac861591043f41854b77d7d24dc606dc300769d013c1 SHA512 68e5d6609282e0b2b4134481f25357aaeaa413e83b15695072651db8c3ac32b97fd7f5f329599cb9b0fda29c7e6bd6c5dc83ed12a0a36414912779cfb6bc1899 WHIRLPOOL c4b8c59b7390000916be62c2549d5b9db7c93514166009c5c6f120cd617371f400734a7a3c231903df5fc4817ac10a7572a08b366d3e97a23bc1d7aa456203fa
+DIST unittest2-1.1.0.tar.gz 81432 SHA256 22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579 SHA512 3fba15728905f437767416ab4fd3573d3fb2319486ef84c52a9fa930ea84aa1f2ae29d6f58993e3509083625790e17b1ef8d9ac5de0e166c254897a3e7a202fa WHIRLPOOL d375c59aed23e4fce14499df2fb64d185facc1e25378805045c66eef9c2fa14de81d7580020300c374f7842d38aaf6ccb26df4ff9a430f6ad497863e2766dc83
+DIST unittest2py3k-0.5.1.tar.gz 55493 SHA256 78249c5f1ac508a34d9d131d43a89d77bf154186f3ea5f7a6b993d3f3535d403 SHA512 d56a416355abd905f22f5bdceab8305f8f2e28b17dd1250d4c2ab637e20745836a8bc0c8ba1356122b355ba6ad43c9a7b4284699a8b54fe6d8612b9c4565be2b WHIRLPOOL 526ae793735aa5c5eaa490d3a5fbd2a11ffe9e83d22fd246dd165891c4f03733484e3bb38b68d07ec12379298f19b358181feb2ef584db9e421ed6dcbfc367cd
diff --git a/dev-python/unittest2/files/remove-argparse-dependence.patch b/dev-python/unittest2/files/remove-argparse-dependence.patch
new file mode 100644
index 000000000000..36f89fc5f8f6
--- /dev/null
+++ b/dev-python/unittest2/files/remove-argparse-dependence.patch
@@ -0,0 +1,12 @@
+diff -r 8928fb47c3a9 setup.py
+--- a/setup.py Thu Mar 12 15:55:36 2015 +1300
++++ b/setup.py Sun Apr 05 09:06:44 2015 -0500
+@@ -57,7 +57,7 @@
+ # Both install and setup requires - because we read VERSION from within the
+ # package, and the package also exports all the APIs.
+ # six for compat helpers
+-REQUIRES = ['argparse', 'six>=1.4', 'traceback2'],
++REQUIRES = ['six>=1.4', 'traceback2'],
+
+ params = dict(
+ name=NAME,
diff --git a/dev-python/unittest2/files/unittest2-0.8.0-argparse.patch b/dev-python/unittest2/files/unittest2-0.8.0-argparse.patch
new file mode 100644
index 000000000000..4435511c22f7
--- /dev/null
+++ b/dev-python/unittest2/files/unittest2-0.8.0-argparse.patch
@@ -0,0 +1,15 @@
+argparse is in standard library in Python 2.7 and >=3.2
+https://code.google.com/p/unittest-ext/issues/detail?id=88
+--- a/setup.py
++++ b/setup.py
+@@ -57,7 +57,9 @@
+ # Both install and setup requires - because we read VERSION from within the
+ # package, and the package also exports all the APIs.
+ # six for compat helpers
+-REQUIRES = ['argparse', 'six'],
++REQUIRES = ['six']
++if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 2):
++ REQUIRES.append('argparse')
+
+ params = dict(
+ name=NAME,
diff --git a/dev-python/unittest2/metadata.xml b/dev-python/unittest2/metadata.xml
new file mode 100644
index 000000000000..d58233df979a
--- /dev/null
+++ b/dev-python/unittest2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">unittest2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/unittest2/unittest2-0.5.1-r1.ebuild b/dev-python/unittest2/unittest2-0.5.1-r1.ebuild
new file mode 100644
index 000000000000..6b08a120cb85
--- /dev/null
+++ b/dev-python/unittest2/unittest2-0.5.1-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+PY3_P=${PN}py3k-${PV}
+
+DESCRIPTION="The new features in unittest for Python 2.7 backported to Python 2.4+"
+HOMEPAGE="http://pypi.python.org/pypi/unittest2
+ http://pypi.python.org/pypi/unittest2py3k http://code.google.com/p/unittest-ext/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${PY3_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # Disable versioning of unit2 script to avoid collision with versioning performed by distutils_src_install().
+ sed -i -e "/'%s = unittest2:main_' % SCRIPT2,/d" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+select_source() {
+ if [[ ${EPYTHON} == python3* ]]; then
+ cd "${WORKDIR}"/${PY3_P} || die
+ else
+ cd "${S}" || die
+ fi
+}
+
+python_compile() {
+ select_source
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # multiprocessing causes test failure with signals
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ scripts/unit2 discover -s lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ select_source
+ distutils-r1_python_install
+}
diff --git a/dev-python/unittest2/unittest2-0.5.1-r2.ebuild b/dev-python/unittest2/unittest2-0.5.1-r2.ebuild
new file mode 100644
index 000000000000..689b927a94dc
--- /dev/null
+++ b/dev-python/unittest2/unittest2-0.5.1-r2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+PY3_P=${PN}py3k-${PV}
+
+DESCRIPTION="The new features in unittest for Python 2.7 backported to Python 2.4+"
+HOMEPAGE="http://pypi.python.org/pypi/unittest2
+ http://pypi.python.org/pypi/unittest2py3k http://code.google.com/p/unittest-ext/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ mirror://pypi/${PN:0:1}/${PN}/${PY3_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ local d
+ for d in "${S}" "${WORKDIR}"/${PY3_P}; do
+ # Disable versioning of unit2 script to avoid collision with versioning performed by distutils_src_install().
+ sed -i -e "/'%s = unittest2:main_' % SCRIPT2,/d" \
+ "${d}"/setup.py || die
+
+ sed -i -e '/No module named/s/self.*$/pass/' \
+ "${d}"/unittest2/test/test_loader.py || die
+ done
+
+ distutils-r1_python_prepare_all
+}
+
+select_source() {
+ if [[ ${EPYTHON} == python3* ]]; then
+ cd "${WORKDIR}"/${PY3_P} || die
+ else
+ cd "${S}" || die
+ fi
+}
+
+python_compile() {
+ select_source
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # multiprocessing causes test failure with signals
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+ scripts/unit2 discover -s lib || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ select_source
+ distutils-r1_python_install
+}
diff --git a/dev-python/unittest2/unittest2-0.8.0.ebuild b/dev-python/unittest2/unittest2-0.8.0.ebuild
new file mode 100644
index 000000000000..842b6988f26b
--- /dev/null
+++ b/dev-python/unittest2/unittest2-0.8.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="The new features in unittest for Python 2.7 backported to Python 2.4+"
+HOMEPAGE="http://pypi.python.org/pypi/unittest2
+ http://code.google.com/p/unittest-ext/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/unittest2-0.8.0-argparse.patch"
+)
+
+python_test() {
+ "${PYTHON}" -m unittest2 discover || die
+}
diff --git a/dev-python/unittest2/unittest2-1.0.1-r1.ebuild b/dev-python/unittest2/unittest2-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..207fde610e15
--- /dev/null
+++ b/dev-python/unittest2/unittest2-1.0.1-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="The new features in unittest for Python 2.7 backported to Python 2.4+"
+HOMEPAGE="http://pypi.python.org/pypi/unittest2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE=""
+
+CDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/traceback2[${PYTHON_USEDEP}]
+"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/remove-argparse-dependence.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest2 discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/unittest2/unittest2-1.1.0.ebuild b/dev-python/unittest2/unittest2-1.1.0.ebuild
new file mode 100644
index 000000000000..00602d11bc09
--- /dev/null
+++ b/dev-python/unittest2/unittest2-1.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="The new features in unittest backported to Python 2.4+"
+HOMEPAGE="http://pypi.python.org/pypi/unittest2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64"
+IUSE=""
+
+CDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/linecache2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ dev-python/traceback2[${PYTHON_USEDEP}]
+"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/remove-argparse-dependence.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest2 discover || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/uritemplate/Manifest b/dev-python/uritemplate/Manifest
new file mode 100644
index 000000000000..7f2fa5d6512b
--- /dev/null
+++ b/dev-python/uritemplate/Manifest
@@ -0,0 +1 @@
+DIST uritemplate-0.6.tar.gz 3508 SHA256 a30e230aeb7ebedbcb5da9999a17fa8a30e512e6d5b06f73d47c6e03c8e357fd SHA512 19e9d2f7cb6275c1a3bc6e287d9d3bdbed4391541f29765130a8e33825321e33fe3220adc349794d179354bcb9d77571ae20ba7836034962f3713994c7cdbfbd WHIRLPOOL 9b1b11e7da17f39f8fb6cba5ec36dd16ddef34aa29aa0fc8cd29a03fece359baffde056b9bbe29d859cac2d2ba13ccd2d112be9b07022e6f036ffadcb8acef2e
diff --git a/dev-python/uritemplate/metadata.xml b/dev-python/uritemplate/metadata.xml
new file mode 100644
index 000000000000..1d509adf1f25
--- /dev/null
+++ b/dev-python/uritemplate/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">uritemplate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/uritemplate/uritemplate-0.6.ebuild b/dev-python/uritemplate/uritemplate-0.6.ebuild
new file mode 100644
index 000000000000..0e66a124d50f
--- /dev/null
+++ b/dev-python/uritemplate/uritemplate-0.6.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of RFC6570, URI Template"
+HOMEPAGE="https://pypi.python.org/pypi/uritemplate"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ !<=dev-python/google-api-python-client-1.3"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/urlgrabber/Manifest b/dev-python/urlgrabber/Manifest
new file mode 100644
index 000000000000..3f6d9c2ab5a6
--- /dev/null
+++ b/dev-python/urlgrabber/Manifest
@@ -0,0 +1,2 @@
+DIST urlgrabber-3.10.1.tar.gz 83735 SHA256 06b13ff8d527dba3aee04069681b2c09c03117592d5485a80ae4b807cdf33476 SHA512 c44d32b17c5f8984d09ed46ae36b3e05dc69d041820cf979029bc325d8407bbd7e324f264be5886286cd99e123f51affec26638cab6e525f85e2a1c4247462d7 WHIRLPOOL bed47171c6b12de78d430ebaef0f46e5ce166ffa526a19d5a986dc44da5d627f84cfb303b2e2299c8f5af1ee977aad5d9e41a5a886ef26c1986aa53f388f1164
+DIST urlgrabber-3.9.1.tar.gz 72343 SHA256 4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0 SHA512 897f0bd09485c207d735a814fda7cf053c71262e31e87f358c473da770abaf7fd339ae6802df978091889c5d6fe123f74d5386d79c47f93b36cefbc22f44db47 WHIRLPOOL e0fc55804e7565d392a74fc753fcdda1be61c85164fcc00f2acc20270c8c1171e0d49211c04c79ca4e6d056a966a3d8dc48530010201c7748a125dcf54c08544
diff --git a/dev-python/urlgrabber/files/urlgrabber-3.9.1.patch b/dev-python/urlgrabber/files/urlgrabber-3.9.1.patch
new file mode 100644
index 000000000000..bdcc9cb1d465
--- /dev/null
+++ b/dev-python/urlgrabber/files/urlgrabber-3.9.1.patch
@@ -0,0 +1,26 @@
+http://yum.baseurl.org/gitweb?p=urlgrabber.git;a=commitdiff;h=f4e57ece7ded0f7ad83c8a40fe8423fab7812264
+http://yum.baseurl.org/gitweb?p=urlgrabber.git;a=commitdiff;h=89cc380a2a251a1d2d8b91cf6df170fa546597aa
+
+diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
+index f98f423..7b7f979 100644
+--- a/urlgrabber/grabber.py
++++ b/urlgrabber/grabber.py
+@@ -1532,11 +1589,14 @@
+ def _over_max_size(self, cur, max_size=None):
+
+ if not max_size:
+- max_size = self.size
+- if self.opts.size: # if we set an opts size use that, no matter what
+- max_size = self.opts.size
++ if not self.opts.size:
++ max_size = self.size
++ else:
++ max_size = self.opts.size
++
+ if not max_size: return False # if we have None for all of the Max then this is dumb
+- if cur > max_size + max_size*.10:
++
++ if cur > int(float(max_size) * 1.10):
+
+ msg = _("Downloaded more than max size for %s: %s > %s") \
+ % (self.url, cur, max_size)
diff --git a/dev-python/urlgrabber/metadata.xml b/dev-python/urlgrabber/metadata.xml
new file mode 100644
index 000000000000..10b42d6d5af9
--- /dev/null
+++ b/dev-python/urlgrabber/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+ A high-level cross-protocol url-grabber.
+
+ Using urlgrabber, data can be fetched in three basic ways:
+
+ urlgrab(url) copy the file to the local filesystem
+ urlopen(url) open the remote file and return a file object (like urllib2.urlopen)
+ urlread(url) return the contents of the file as a string
+
+
+ When using these functions (or methods), urlgrabber supports the following
+ features:
+
+ * identical behavior for http://, ftp://, and file:// urls
+ * http keepalive - faster downloads of many files by using only a single
+ connection
+ * byte ranges - fetch only a portion of the file
+ * reget - for a urlgrab, resume a partial download
+ * progress meters - the ability to report download progress automatically,
+ even when using urlopen!
+ * throttling - restrict bandwidth usage
+ * retries - automatically retry a download if it fails. The number of retries
+ and failure types are configurable.
+ * authenticated server access for http and ftp
+ * proxy support - support for authenticated http and ftp proxies
+ * mirror groups - treat a list of mirrors as a single source, automatically
+ switching mirrors if there is a failure.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/urlgrabber/urlgrabber-3.10.1.ebuild b/dev-python/urlgrabber/urlgrabber-3.10.1.ebuild
new file mode 100644
index 000000000000..86c58670a70d
--- /dev/null
+++ b/dev-python/urlgrabber/urlgrabber-3.10.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for downloading files"
+HOMEPAGE="http://urlgrabber.baseurl.org"
+SRC_URI="http://urlgrabber.baseurl.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/pycurl[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+# Entire testsuite relies on connecting to the i'net
diff --git a/dev-python/urlgrabber/urlgrabber-3.9.1-r2.ebuild b/dev-python/urlgrabber/urlgrabber-3.9.1-r2.ebuild
new file mode 100644
index 000000000000..e6fa741c3ee2
--- /dev/null
+++ b/dev-python/urlgrabber/urlgrabber-3.9.1-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module for downloading files"
+HOMEPAGE="http://urlgrabber.baseurl.org"
+SRC_URI="http://urlgrabber.baseurl.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc ppc64 x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="dev-python/pycurl[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/${P}.patch
+ )
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest
new file mode 100644
index 000000000000..47f86454fdf9
--- /dev/null
+++ b/dev-python/urllib3/Manifest
@@ -0,0 +1,4 @@
+DIST urllib3-1.10.3.tar.gz 136894 SHA256 ce1bb9a3f103610a062ace3ae6e56ebf2fa0fbeb5c395d601c64d8a7e6df180b SHA512 d36280a29f1580565e79c58991d4ecf2cd69d2b262950bb90c1b0f89f225b6b3cee556914b6a7b3031dd074af8ae6187e6a3641ad8591c6b870203c33d40b113 WHIRLPOOL 5042b1c7e3c156d26c83a770636d9e7a9cf45b638f1b8733603afa255fe1a3ac03abb6447ba5e3f1ad98d7a449fe164c374ab5e131566b15e7c9281ba39677bc
+DIST urllib3-1.10.4.tar.gz 138538 SHA256 52131e6a561466f1206e1a648d9a73dda2a804d0f70e83782bd88494542ded09 SHA512 83118aa5bf23add5bb5dafd98d32459315d971246ac2a49f7f0d0fcad6414099885f6d4fc7847de17e983b949c8a21fa4ed71c0216e578bdfc8eb351672f7c09 WHIRLPOOL 03431b6c575f3399bf8876d7dfad126986864e3a3f09d05e7e682b5b374ed420854c776a3d7bac91538086e43a9b832975aaf0b1b2e3fcde1ba8cfe93417bdc3
+DIST urllib3-1.10.tar.gz 128200 SHA256 25b4a7fbbd9112e0190f31f8877aa0523caeab8630872ad1bbddaba01cdd6599 SHA512 32f9162f82a676146fae6bba462d21eb81635d8660ca4676b5e8dd3d18b68525a265695c646f06c099a78c24d9b108f0610d3e17f20578d473771bebd42cc52d WHIRLPOOL a8a84b79fd0edeecdd19eaef0ee809d1c5d842ff6bcf089df9a1111744a2f42bec1a366b76b6e7334a51cad83d42b166f133a4156bbbfb7be24518353ee71081
+DIST urllib3-1.9.1.tar.gz 171086 SHA256 d858379ef5988d4534bb8909432d697422100aaff272299d661339836b6dae9b SHA512 c972e4dc9dabf6378da75e0abce5e53bec29624f2dc0faff3c8ce762474d490da6aec7d2e374c57d0d18e640311845750eb257fc7829ac9d25a3d9c957c59c6f WHIRLPOOL 666b82e712939b3ff5dfe109ba0498c16dbea7f2c0f0c2e1c317cf7e6f03711ce4a9468bb72327abe7821aa75c0257d30dbce5c196ba59215df3dba4084c7360
diff --git a/dev-python/urllib3/metadata.xml b/dev-python/urllib3/metadata.xml
new file mode 100644
index 000000000000..f23a901265e4
--- /dev/null
+++ b/dev-python/urllib3/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">urllib3</remote-id>
+ <remote-id type="github">shazow/urllib3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/urllib3/urllib3-1.10.3.ebuild b/dev-python/urllib3/urllib3-1.10.3.ebuild
new file mode 100644
index 000000000000..f8c38b620318
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.10.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="https://github.com/shazow/urllib3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy)"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ ~www-servers/tornado-3.1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+python_prepare_all() {
+ # Replace bundled copy of dev-python/six
+ cat > urllib3/packages/six.py <<-EOF
+ from __future__ import absolute_import
+ from six import *
+ EOF
+
+ sed -i 's:cover-min-percentage = 100::' setup.cfg || die
+ # Fix tests
+ sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die
+
+ # Reset source of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # __init__.py uses a local import requiring use of PYTHONPATH=blank to offset
+ # Failures currently occur under py2.7. After joint testing
+ # it's planned for this to have further investigation.
+ # https://github.com/shazow/urllib3/issues/621
+
+ # These tests fail with network-sandbox enable due to an arbitrary "tarpit"
+ # address (10.255.255.1) being non-routable.
+ local exclude=(
+ -e test_enhanced_timeout
+ -e test_https_timeout
+ -e test_https_proxy_pool_timeout
+ -e test_https_proxy_timeout
+ )
+
+ PYTHONPATH= nosetests "${exclude[@]}" test || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/urllib3/urllib3-1.10.4.ebuild b/dev-python/urllib3/urllib3-1.10.4.ebuild
new file mode 100644
index 000000000000..ab409c3291e1
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.10.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="https://github.com/shazow/urllib3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy)"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=www-servers/tornado-4.1[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+# Testsuite written requiring mock to be installed under all Cpythons
+
+python_prepare_all() {
+ # Replace bundled copy of dev-python/six
+ cat > urllib3/packages/six.py <<-EOF
+ from __future__ import absolute_import
+ from six import *
+ EOF
+
+ sed -i 's:cover-min-percentage = 100::' setup.cfg || die
+ # Fix tests
+ sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die
+
+ # Reset source of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # Failures still occur under py2.7.
+ # https://github.com/shazow/urllib3/issues/621
+
+ nosetests test || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/urllib3/urllib3-1.10.ebuild b/dev-python/urllib3/urllib3-1.10.ebuild
new file mode 100644
index 000000000000..13160898c3e6
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.10.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="https://github.com/shazow/urllib3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy)"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ ~www-servers/tornado-3.1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/nose[${PYTHON_USEDEP}] )
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ "
+
+python_prepare_all() {
+ # Replace bundled copy of dev-python/six
+ cat > urllib3/packages/six.py <<-EOF
+ from __future__ import absolute_import
+ from six import *
+ EOF
+
+ sed -i 's:cover-min-percentage = 100::' setup.cfg || die
+ # Fix tests
+ sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die
+
+ # Reset source of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ # https://github.com/shazow/urllib3/issues/527
+ # test_https_connection_read_timeout is found to hang and
+ # test_verified is found to fail under py2.7 and pypy.
+ # upstream by their own admission describe the tests as flakey
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/urllib3/urllib3-1.9.1.ebuild b/dev-python/urllib3/urllib3-1.9.1.ebuild
new file mode 100644
index 000000000000..873e3648b606
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.9.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="https://github.com/shazow/urllib3"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' python2_7 pypy)"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ ~www-servers/tornado-3.1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy)
+ dev-python/nose[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ # Replace bundled copy of dev-python/six
+ cat > urllib3/packages/six.py <<-EOF
+ from __future__ import absolute_import
+ from six import *
+ EOF
+
+ sed -i 's:cover-min-percentage = 100::' setup.cfg || die
+ # Fix tests
+ sed -i 's/urllib3.packages.six/six/' test/test_retry.py || die
+
+ # Reset source of objects.inv
+ if use doc; then
+ local PYTHON_DOC_ATOM=$(best_version --host-root dev-python/python-docs:2.7)
+ local PYTHON_DOC_VERSION="${PYTHON_DOC_ATOM#dev-python/python-docs-}"
+ local PYTHON_DOC="/usr/share/doc/python-docs-${PYTHON_DOC_VERSION}/html"
+ local PYTHON_DOC_INVENTORY="${PYTHON_DOC}/objects.inv"
+ sed -i "s|'python': ('http://docs.python.org/2.7', None|'${PYTHON_DOC}': ('${PYTHON_DOC_INVENTORY}'|" docs/conf.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+src_test() {
+ # multiprocessing causes tests competing for and address to fail
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ # pypy doesn't get started in suite
+ if [[ "${EPYTHON}" == pypy ]]; then
+ einfo "Tests stall under pypy"
+ else
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
new file mode 100644
index 000000000000..925335d72db3
--- /dev/null
+++ b/dev-python/urwid/Manifest
@@ -0,0 +1,2 @@
+DIST urwid-1.2.2.tar.gz 585025 SHA256 e122e2dee122314f5626945af4dbe15bf3de9f318c552a4c0b68c1c480852d92 SHA512 10d0271e52b28aff3350d3342cd9b1c8fab819f3619cce77286b2545b74dd967f0466e98dfbfef1189b3ab6b38392168367d75c768b0f5b8058666b0211706a5 WHIRLPOOL 69556a721d89f6a6b82664bf5eaa10a21c49d15f9b8e6e6be4ba31ce5e2317fd0ecebfa3d93b008f9bd93f10504161d93e1827d696a6c1baa09939ac628f027d
+DIST urwid-1.3.0.tar.gz 580922 SHA256 29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2 SHA512 2743488f2815e6abff8bf2450b2a3d5756fa026587512cf29a3850be0e585d7c2dd4d50fda7bf1589de32eed93637ac0ee88f002de4b9bee0a72dc6574ef6103 WHIRLPOOL c276c26deb557b1c4b8f9f49f7f6c10e0e5a169bc3a1b9c3933a948c313897da4ebdb0520b7fc3d0a301cbc5743a1d79a20e112d852e74b50910db6ea1a4e99e
diff --git a/dev-python/urwid/files/urwid-1.1.0-sphinx.patch b/dev-python/urwid/files/urwid-1.1.0-sphinx.patch
new file mode 100644
index 000000000000..442aeea67500
--- /dev/null
+++ b/dev-python/urwid/files/urwid-1.1.0-sphinx.patch
@@ -0,0 +1,11 @@
+--- urwid-1.1.0/docs/conf.py
++++ urwid-1.1.0/docs/conf.py
+@@ -46,7 +46,7 @@
+ # The version info for the project you're documenting, acts as replacement for
+ # |version| and |release|, also used in various other places throughout the
+ # built documents.
+-FILE_PATH = os.path.dirname(__file__).decode('utf-8')
++FILE_PATH = os.path.dirname(__file__)
+ VERSION_MODULE = os.path.abspath(os.path.join(FILE_PATH,
+ '../urwid/version.py'))
+ VERSION_VARS = {}
diff --git a/dev-python/urwid/metadata.xml b/dev-python/urwid/metadata.xml
new file mode 100644
index 000000000000..ca8f86fe7353
--- /dev/null
+++ b/dev-python/urwid/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription>
+Urwid is a curses-based user interface library. It includes many features
+useful for text console application developers including:
+
+- Fluid interface resizing (xterm window resizing / fbset on Linux console)
+- Web application display mode using Apache and CGI [Live Demo]
+- Support for UTF-8, simple 8-bit and CJK encodings
+- Multiple text alignment and wrapping modes built-in
+- Ability create user-defined text layout classes
+- Simple markup for setting text attributes
+- Powerful list box that handles scrolling between different widget types
+- List box contents may be managed with a user-defined class
+- Flexible edit box for editing many different types of text
+- Buttons, check boxes and radio boxes
+- Customizable layout for all widgets
+- Easy interface for creating HTML screen shots
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">urwid</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/urwid/urwid-1.2.2.ebuild b/dev-python/urwid/urwid-1.2.2.ebuild
new file mode 100644
index 000000000000..259acf4d3eb6
--- /dev/null
+++ b/dev-python/urwid/urwid-1.2.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Urwid is a curses-based user interface library for Python"
+HOMEPAGE="http://urwid.org/ http://pypi.python.org/pypi/urwid/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="doc examples test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/twisted-core )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.1.0-sphinx.patch )
+
+python_compile_all() {
+ if use doc ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ 2to3 -nw --no-diffs docs/conf.py || die
+ fi
+ cd docs
+ sphinx-build . _build/html || die
+ fi
+}
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]] ; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/urwid/urwid-1.3.0.ebuild b/dev-python/urwid/urwid-1.3.0.ebuild
new file mode 100644
index 000000000000..3fe11d893070
--- /dev/null
+++ b/dev-python/urwid/urwid-1.3.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="http://urwid.org/ http://pypi.python.org/pypi/urwid/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="doc examples"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.1.0-sphinx.patch )
+
+python_compile_all() {
+ if use doc ; then
+ if [[ ${EPYTHON} == python3* ]] ; then
+ 2to3 -nw --no-diffs docs/conf.py || die
+ fi
+ cd docs
+ sphinx-build . _build/html || die
+ fi
+}
+
+python_compile() {
+ if [[ ${EPYTHON} == python2* ]] ; then
+ local CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ export CFLAGS
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/utidylib/Manifest b/dev-python/utidylib/Manifest
new file mode 100644
index 000000000000..5b63101a758c
--- /dev/null
+++ b/dev-python/utidylib/Manifest
@@ -0,0 +1 @@
+DIST uTidylib-0.2.zip 17575 SHA256 0385b29b0e636fa1cc6eb86ecb5428cf399f9474c8f343af038afce59720a333 SHA512 02f6611f1c7dd42db96012f7067ada8ccd841532744a569492a2f1c0524a3f1777b8f997a716b9bb18f69f31cb922dc89328d0bd284830620a930a038b303893 WHIRLPOOL 7d1509c36dccf8d7bd22f82d5a6cd95e8b7e422fb6aeab49e7316aaa98e18f771d9c7140897086da61d03b0df5fb3d4291c0b49acfbf8a8633498a837fbc2c2d
diff --git a/dev-python/utidylib/files/utidylib-0.2-fix_tests.patch b/dev-python/utidylib/files/utidylib-0.2-fix_tests.patch
new file mode 100644
index 000000000000..b55a15119ba4
--- /dev/null
+++ b/dev-python/utidylib/files/utidylib-0.2-fix_tests.patch
@@ -0,0 +1,48 @@
+diff -uNr uTidylib-0.2.orig/tidy/test_tidy.py uTidylib-0.2/tidy/test_tidy.py
+--- uTidylib-0.2.orig/tidy/test_tidy.py 2004-02-24 08:53:52.000000000 +0000
++++ uTidylib-0.2/tidy/test_tidy.py 2009-07-25 15:50:56.000000000 +0000
+@@ -4,6 +4,10 @@
+
+ class TidyTestCase(unittest.TestCase):
+ def __init__(self, *args, **kwargs):
++ super(unittest.TestCase, self).__init__(*args, **kwargs)
++ self._shared = False
++ self._parents = []
++
+ foo = u'''<html>
+ <h1>woot</h1>
+ <hr>
+@@ -13,13 +17,13 @@
+ </body>
+ </html>
+ '''.encode('utf8')
+- file('foo.htm', 'w').write(foo)
++ file('foo.htm', 'w').write(foo)
+ self.input1 = "<html><script>1>2</script>"
+ self.input2 = "<html>\n" + "<p>asdkfjhasldkfjhsldjas\n" * 100
+ def defaultDocs(self):
+ doc1 = tidy.parseString(self.input1)
+ doc2 = tidy.parseString(self.input2)
+- doc3 = tidy.parse("foo.htm")
++ doc3 = tidy.parse("../foo.htm")
+ doc4 = tidy.parse("bar.htm") # doesn't exist
+ return (doc1, doc2, doc3, doc4)
+ def test_badOptions(self):
+@@ -33,7 +37,7 @@
+ self.fail("Invalid option %s should have raised an error" %
+ repr(dct))
+ def test_encodings(self):
+- foo = file('foo.htm').read().decode('utf8').encode('ascii',
++ foo = file('../foo.htm').read().decode('utf8').encode('ascii',
+ 'xmlcharrefreplace')
+ doc1u = tidy.parseString(foo, input_encoding='ascii',
+ output_encoding='latin1')
+@@ -58,7 +62,7 @@
+ ## self.failIf(len(doc2.errors)>1) # FIXME - tidylib doesn't
+ ## # support this?
+ self.failUnless(str(doc2).find('\n')<0)
+- doc3 = tidy.parse('foo.htm', char_encoding='utf8',
++ doc3 = tidy.parse('../foo.htm', char_encoding='utf8',
+ alt_text='foo')
+ self.failUnless(str(doc3).find('alt="foo"')>=0)
+ self.failUnless(str(doc3).find('\xc3\xa9')>=0)
diff --git a/dev-python/utidylib/files/utidylib-0.2-no-docs-in-site-packages.patch b/dev-python/utidylib/files/utidylib-0.2-no-docs-in-site-packages.patch
new file mode 100644
index 000000000000..761c4947dfa8
--- /dev/null
+++ b/dev-python/utidylib/files/utidylib-0.2-no-docs-in-site-packages.patch
@@ -0,0 +1,11 @@
+--- uTidylib-0.2-orig/setup.py 2005-12-01 00:48:14.000000000 +0100
++++ uTidylib-0.2/setup.py 2005-12-01 01:10:33.000000000 +0100
+@@ -54,7 +54,7 @@
+
+
+ setup_data = dict(packages=['tidy', ],
+- data_files=data_files,
++# data_files=data_files,
+ cmdclass=dict(install_data=install_data_utidylib,
+ bdist_wininst=bdist_wininst_utidylib,
+ install=install_utidylib,
diff --git a/dev-python/utidylib/metadata.xml b/dev-python/utidylib/metadata.xml
new file mode 100644
index 000000000000..ee7e8b2450a8
--- /dev/null
+++ b/dev-python/utidylib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/utidylib/utidylib-0.2-r2.ebuild b/dev-python/utidylib/utidylib-0.2-r2.ebuild
new file mode 100644
index 000000000000..82db8e4a70b5
--- /dev/null
+++ b/dev-python/utidylib/utidylib-0.2-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="uTidylib-${PV}"
+
+DESCRIPTION="TidyLib Python wrapper"
+HOMEPAGE="http://sourceforge.net/projects/utidylib/"
+SRC_URI="mirror://berlios/${PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="doc test"
+
+RDEPEND="app-text/htmltidy"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )
+ test? ( dev-python/twisted-core[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-no-docs-in-site-packages.patch"
+ "${FILESDIR}/${P}-fix_tests.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" gendoc.py || die
+ fi
+}
+
+python_test() {
+ trial tidy || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( apidoc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/utmp/Manifest b/dev-python/utmp/Manifest
new file mode 100644
index 000000000000..35ad0f0fa930
--- /dev/null
+++ b/dev-python/utmp/Manifest
@@ -0,0 +1 @@
+DIST utmp-0.4.tar.gz 4300 SHA256 c8fb6fbed754744764b24ffffabb62c56b27fd8cb51decbb3dc616d740835b2b SHA512 802345227a9de972a7ae1127a006aab6bb51e1a7e81772a58b9c19bee74c79c4f5219519743133e8c02b90f8a72f52e22ab668c8a78a898c00e0a9a147a68472 WHIRLPOOL ce3fd0b9c4f6c499c81e72a6b6874e8c1d87d9b242e2454d5cb7cef39f260b37c6f021add8674b59e0802022110c140a7b2b137ed4ea7f704d1fad05772f43aa
diff --git a/dev-python/utmp/metadata.xml b/dev-python/utmp/metadata.xml
new file mode 100644
index 000000000000..d6f7bb315c79
--- /dev/null
+++ b/dev-python/utmp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">utmp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/utmp/utmp-0.4.ebuild b/dev-python/utmp/utmp-0.4.ebuild
new file mode 100644
index 000000000000..d5afacee73e7
--- /dev/null
+++ b/dev-python/utmp/utmp-0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="utmp/wtmp reader"
+HOMEPAGE="https://pypi.python.org/pypi/utmp http://srcco.de/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ !sys-apps/utempter"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ sed "s:'flake8'::g" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/vatnumber/Manifest b/dev-python/vatnumber/Manifest
new file mode 100644
index 000000000000..ebed027565b1
--- /dev/null
+++ b/dev-python/vatnumber/Manifest
@@ -0,0 +1 @@
+DIST vatnumber-1.1.tar.gz 22032 SHA256 ff7017420e137609a74ce0dbe6ba16c86ea5317d50ca398f8f423141c07fae18 SHA512 286be890f37dc3ea97beea22f6e34402a9e40738b33a94f98e16a09801656f64fde9f290ed857c5df1fd44896a9e0fbcbfcc8f1dbe2f1314015e473dadc0ebbe WHIRLPOOL 1791946de17a03909b7f3dd3bb20a6cdd08ab552e5413319044e9978bb27ecfc0659636785b86917f4e76dbfb8b2fee379c0df6ac796e290b4109677b99fa7b7
diff --git a/dev-python/vatnumber/files/vatnumber-1.0-skiptest.patch b/dev-python/vatnumber/files/vatnumber-1.0-skiptest.patch
new file mode 100644
index 000000000000..9c99901cd45b
--- /dev/null
+++ b/dev-python/vatnumber/files/vatnumber-1.0-skiptest.patch
@@ -0,0 +1,18 @@
+Remove test that accesses network, bug 440964
+diff -ur vatnumber-1.0.orig/vatnumber/tests.py vatnumber-1.0/vatnumber/tests.py
+--- vatnumber/tests.py 2011-09-28 18:32:09.000000000 +0800
++++ vatnumber/tests.py 2012-11-26 12:32:46.177509425 +0800
+@@ -198,13 +198,6 @@
+ test = self.assertFalse
+ test(vatnumber.check_vat(code + number), code + number)
+
+- def test_vies(self):
+- '''
+- Test vies
+- '''
+- for vat in VIES_NUMBERS:
+- self.assert_(vatnumber.check_vies(vat))
+-
+ def test_countries(self):
+ '''
+ Test countries
diff --git a/dev-python/vatnumber/metadata.xml b/dev-python/vatnumber/metadata.xml
new file mode 100644
index 000000000000..06bf5f53bf51
--- /dev/null
+++ b/dev-python/vatnumber/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ Python module to validate VAT numbers
+ </longdescription>
+ <use>
+ <flag name="vies">Enable VIES</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/dev-python/vatnumber/vatnumber-1.1.ebuild b/dev-python/vatnumber/vatnumber-1.1.ebuild
new file mode 100644
index 000000000000..023f9bdc5567
--- /dev/null
+++ b/dev-python/vatnumber/vatnumber-1.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module to validate VAT numbers"
+HOMEPAGE="http://code.google.com/p/vatnumber/"
+SRC_URI="http://vatnumber.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test vies"
+
+RDEPEND="vies? ( dev-python/suds )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/suds )"
+
+PARCHES=( "${FILESDIR}"/${P}-skiptest.patch )
+
+python_test() {
+ esetup.py test
+}
+
+src_install() {
+ distutils-r1_src_install
+ dodoc COPYRIGHT README CHANGELOG
+}
diff --git a/dev-python/vcrpy/Manifest b/dev-python/vcrpy/Manifest
new file mode 100644
index 000000000000..9a8b1c540b53
--- /dev/null
+++ b/dev-python/vcrpy/Manifest
@@ -0,0 +1 @@
+DIST vcrpy-1.5.2.tar.gz 299525 SHA256 ef3216e91ab3a51b67c44e0e4a8c50f6edcc812658da4c73ff32b1eb36a8a9bf SHA512 2eccc061a1e90b03fb0688aac5566bdf96a7bfd6ffc34aa71af8395665cde8f183d02c5107572f1bbca0388c865c913f1b2a9c7b295c11be395dce20c4d5b761 WHIRLPOOL 49a0eb2d582003bebb788129d5f03a8d120d9752867d439a7394e7ed664b6a1b296d59d5a501e861cf3e78e4679c7a6e683843d75a0e512d0e4185da196f6081
diff --git a/dev-python/vcrpy/metadata.xml b/dev-python/vcrpy/metadata.xml
new file mode 100644
index 000000000000..a412719a4e49
--- /dev/null
+++ b/dev-python/vcrpy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kevin1024/vcrpy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/vcrpy/vcrpy-1.5.2.ebuild b/dev-python/vcrpy/vcrpy-1.5.2.ebuild
new file mode 100644
index 000000000000..abf12d4135a9
--- /dev/null
+++ b/dev-python/vcrpy/vcrpy-1.5.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=(python{2_7,3_3})
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically mock your HTTP interactions to simplify and speed up testing"
+HOMEPAGE="https://github.com/kevin1024/vcrpy"
+SRC_URI="https://github.com/kevin1024/vcrpy/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="dev-python/contextlib2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]"
+DEPEND="test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}] )
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ py.test || die
+}
diff --git a/dev-python/vcversioner/Manifest b/dev-python/vcversioner/Manifest
new file mode 100644
index 000000000000..58a1f0aa08f4
--- /dev/null
+++ b/dev-python/vcversioner/Manifest
@@ -0,0 +1 @@
+DIST vcversioner-2.14.0.0.tar.gz 9015 SHA256 acd43686e92e6c8bbeb4f2eef54408567a7adea9692fa72d591eec5357c03b86 SHA512 0d474910f9d0f0dd0c0d0b824bcdf5da7bbb5d2b55691f18107bb0b8a237213a83d8f51f719d4761e1dae9db70e84ef8c264c388ec1995ed0a55a838575e377e WHIRLPOOL b146f1d008b635fc337c2256a7bb9bd0534ecd3a335c349a0518e36ee21e807de1b43ea52dd6a581fa4de64ad6cdb2dca53646051a93afe752a28d4a25bcbec8
diff --git a/dev-python/vcversioner/metadata.xml b/dev-python/vcversioner/metadata.xml
new file mode 100644
index 000000000000..6f3bf88d95dd
--- /dev/null
+++ b/dev-python/vcversioner/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">vcversioner</remote-id>
+ <remote-id type="github">habnabit/vcversioner</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/vcversioner/vcversioner-2.14.0.0.ebuild b/dev-python/vcversioner/vcversioner-2.14.0.0.ebuild
new file mode 100644
index 000000000000..5638db247708
--- /dev/null
+++ b/dev-python/vcversioner/vcversioner-2.14.0.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Use version control tags to discover version numbers"
+HOMEPAGE="https://github.com/habnabit/vcversioner"
+SRC_URI="mirror://pypi/v/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
diff --git a/dev-python/venusian/Manifest b/dev-python/venusian/Manifest
new file mode 100644
index 000000000000..dbc9dc565d2b
--- /dev/null
+++ b/dev-python/venusian/Manifest
@@ -0,0 +1,2 @@
+DIST venusian-1.0.tar.gz 45747 SHA256 1720cff2ca9c369c840c1d685a7c7a21da1afa687bfe62edd93cae4bf429ca5a SHA512 770780c4e4532b16e119365d3c9531e85aede9c2be2e3a333cfe43856271c7b232ce1b27c1379f677a7191c24e8736bf5307be7a926b613f7b81644d404e8453 WHIRLPOOL 1eedda1a8d6e15caf4af136ddd08298c7201342a841b267a489b8fb483d3d97b330e3adbe75e5bd28fcd3b62d6b6b5de57f5a520923d05195560afbfb682315d
+DIST venusian-1.0a8.tar.gz 42845 SHA256 a1b054d4ccf0859a76d900c49f419645279298d5316be3a65a1c00a40719bce0 SHA512 d10577aa8c439fed3d689538695d6e0f8db299ddcefef75e3d224b637398489e55853d124be3edffc168db485df25180fe0c4685172d64587ae07c5b80ca3f6f WHIRLPOOL a3a62d29b0a8246b4e6fe3b429a6ef6c2deb294d868dac3ce1cc3544e23e63303cced09a81aa49bc5146ebb21572e561d0c0e8e0920485bc7012f02a4b08da5a
diff --git a/dev-python/venusian/metadata.xml b/dev-python/venusian/metadata.xml
new file mode 100644
index 000000000000..c789269653bf
--- /dev/null
+++ b/dev-python/venusian/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">venusian</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/venusian/venusian-1.0.ebuild b/dev-python/venusian/venusian-1.0.ebuild
new file mode 100644
index 000000000000..c9129cf24138
--- /dev/null
+++ b/dev-python/venusian/venusian-1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+#RESTRICT="test"
+
+inherit distutils-r1
+
+DESCRIPTION="A library for deferring decorator actions"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ ~dev-python/nose-exclude-0.1.9[${PYTHON_USEDEP}] )
+ "
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/venusian/venusian-1.0_alpha8.ebuild b/dev-python/venusian/venusian-1.0_alpha8.ebuild
new file mode 100644
index 000000000000..18149244c6cb
--- /dev/null
+++ b/dev-python/venusian/venusian-1.0_alpha8.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+RESTRICT="test"
+
+inherit distutils-r1
+
+MY_P="${PN}-1.0a8" # Sigh
+
+DESCRIPTION="A library for deferring decorator actions"
+HOMEPAGE="http://www.pylonsproject.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ "
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/verboselogs/Manifest b/dev-python/verboselogs/Manifest
new file mode 100644
index 000000000000..9609f064ddf4
--- /dev/null
+++ b/dev-python/verboselogs/Manifest
@@ -0,0 +1 @@
+DIST verboselogs-1.0.1.tar.gz 4619 SHA256 0a1fa58d6c4bdf7249f04d502cb25c9926f6d1abb834448f27c533728db4d8ac SHA512 51f6509b6e5b5f624c0e21a6f517908a2d4bbb90c3e885488e148731a2f37202bba1de4edf7c1d4ac686b262c172d56f2e8374866d84e4020641fe7ea42e2fbc WHIRLPOOL ea800560ad7ea216e3e54325674836ca7b5258ddec452261b23c1b61d52fdb7088f8ce079ba782e1b0b09c674019393aa081be349f06675da95c607ccbfdcb39
diff --git a/dev-python/verboselogs/metadata.xml b/dev-python/verboselogs/metadata.xml
new file mode 100644
index 000000000000..1bc1f2c7e9e1
--- /dev/null
+++ b/dev-python/verboselogs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">verboselogs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/verboselogs/verboselogs-1.0.1.ebuild b/dev-python/verboselogs/verboselogs-1.0.1.ebuild
new file mode 100644
index 000000000000..d88293f82b95
--- /dev/null
+++ b/dev-python/verboselogs/verboselogs-1.0.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Verbose logging for Python's logging module"
+HOMEPAGE="https://pypi.python.org/pypi/verboselogs"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/versiontools/Manifest b/dev-python/versiontools/Manifest
new file mode 100644
index 000000000000..607d4a8f3c31
--- /dev/null
+++ b/dev-python/versiontools/Manifest
@@ -0,0 +1 @@
+DIST versiontools-1.9.1.tar.gz 19089 SHA256 a969332887a18a9c98b0df0ea4d4ca75972f24ca94f06fb87d591377e83414f6 SHA512 f062eecc9998bf194dcac7c52065757ef546aa94bbe7d5b6786ba10f1e44486df997e9a314ff60a0d4e88a2620824217c8add516011baa2ee4e26ec19f762892 WHIRLPOOL a191e18b8ecc9994b2508abe5259aada09eb23906e589b68b23588a1743cfda88048b9199d5e8627a7bb35019ea0f8fa4f09a01595cb18f8c15cb0a6fb9712fe
diff --git a/dev-python/versiontools/metadata.xml b/dev-python/versiontools/metadata.xml
new file mode 100644
index 000000000000..0832c3b21c87
--- /dev/null
+++ b/dev-python/versiontools/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">versiontools</remote-id>
+ <remote-id type="launchpad">versiontools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/versiontools/versiontools-1.9.1-r1.ebuild b/dev-python/versiontools/versiontools-1.9.1-r1.ebuild
new file mode 100644
index 000000000000..5244b0f0902d
--- /dev/null
+++ b/dev-python/versiontools/versiontools-1.9.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Smart replacement for plain tuple used in __version__"
+HOMEPAGE="http://pypi.python.org/pypi/versiontools/ https://launchpad.net/versiontools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # Expexted failure
+ sed -e s':test_cant_import:_&:' -i versiontools/tests.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/vertex/Manifest b/dev-python/vertex/Manifest
new file mode 100644
index 000000000000..3f61cece6eba
--- /dev/null
+++ b/dev-python/vertex/Manifest
@@ -0,0 +1,2 @@
+DIST Vertex-0.3.0.tar.gz 84997 SHA256 f397b48c76289f658dc042f6978fcc1c5e7a059ec507df39b91aec2da6753ea5 SHA512 206d142cc72b2d77ed8c8fe222770eabc1a8c179238f46554abc5d833669f27bd286565e20ccaf5594d456b23b54455b23ab0eca5b8b4f72a7961924e7167676 WHIRLPOOL a0bca99a89d40d34c2afef3a1b361e07fe54b6c47663bc79c41a790d2c16be017be3ff02540eb481d554cffb7aaf196ca20f8a792c5a89f188a83a653d8598d4
+DIST Vertex-0.3.1.tar.gz 89909 SHA256 2a81a33bb21392ae2c068399d6a720c6c5fef8b3591528ba7300749d1a054c43 SHA512 7e9b96a7ba493254ff58e8f75da6517c09c4502c21702a96c29525a78569ff7d988cd7278dd87983485b6da30a607820a7edb28375e37d5e059d6f0638a1b1c9 WHIRLPOOL 8827e68c7ce778bf8ece84e7002721e32ded3c9c1af699c5ab690595be0126e84f8a4d3cb280b2f358fa78e2f10f228c5cf785e76923bbd8aaf889085c7a1cc2
diff --git a/dev-python/vertex/metadata.xml b/dev-python/vertex/metadata.xml
new file mode 100644
index 000000000000..ee44d1cd0503
--- /dev/null
+++ b/dev-python/vertex/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Vertex is an implementation of the Q2Q protocol (sort of like P2P,
+ but one better). There are a few moving parts in Vertex: PTCP is a
+ protocol which is nearly identical to TCP, but which runs over
+ UDP. This lets Q2Q penetrate most NAT configurations. JUICE
+ ([JU]ice [I]s [C]oncurrent [E]vents) is a very simple but immensely
+ flexible protocol which forms the basis of the high-level aspects of
+ Q2Q. vertex is a command line tool which exposes a few features
+ useful in many situations (such as registration and authentication).</longdescription>
+ <upstream>
+ <remote-id type="pypi">Vertex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/vertex/vertex-0.3.0-r1.ebuild b/dev-python/vertex/vertex-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..b836da595d8e
--- /dev/null
+++ b/dev-python/vertex/vertex-0.3.0-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="An implementation of the Q2Q protocol"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodVertex http://pypi.python.org/pypi/Vertex"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-libs/openssl
+ >=dev-python/epsilon-0.6.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13-r1[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc NAME.txt
+}
diff --git a/dev-python/vertex/vertex-0.3.1.ebuild b/dev-python/vertex/vertex-0.3.1.ebuild
new file mode 100644
index 000000000000..748f789d56c4
--- /dev/null
+++ b/dev-python/vertex/vertex-0.3.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit twisted-r1
+
+DESCRIPTION="An implementation of the Q2Q protocol"
+HOMEPAGE="http://divmod.org/trac/wiki/DivmodVertex http://pypi.python.org/pypi/Vertex"
+SRC_URI="mirror://pypi/${TWISTED_PN:0:1}/${TWISTED_PN}/${TWISTED_P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/openssl
+ >=dev-python/epsilon-0.6.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13-r1[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ dodoc NAME.txt
+}
diff --git a/dev-python/virtualenv-clone/Manifest b/dev-python/virtualenv-clone/Manifest
new file mode 100644
index 000000000000..8c7437a7fd96
--- /dev/null
+++ b/dev-python/virtualenv-clone/Manifest
@@ -0,0 +1,3 @@
+DIST virtualenv-clone-0.2.4.tar.gz 6192 SHA256 6797e96bc2a1ab41995bcabdfe08ac1b02c55c719c62036ccf53a0ed5430b935 SHA512 0cfcbd32cbffe4c913fabd3f8e609112920f3952cfdc9b8e25080f39d2e3e1062246c04035ad0989d5fce313f1eea228449cd428ea0eda70da1124ef9a4c3c17 WHIRLPOOL 2e71196caeb30d5e6e2c6a15512425b5736a9f7086c340c9d54a5f18864be92bf18c28b22ff2606fce9c4c57676fc43806f26db5104ecbc45d529e63859e5e84
+DIST virtualenv-clone-0.2.5.tar.gz 5311 SHA256 7087ba4eb48acfd5209a3fd03e15d072f28742619127c98333057e32748d91c4 SHA512 be3e6a5497e776a127612d248be07fbf43d974b9d8b8c65f35c60c7edc05cf7b717fdba79b5590cef4feda37ba10ba7fbc1efd72096f8deb4318822f7564e2a4 WHIRLPOOL 4c2f1b2dc5ebce0e1eabe04c6bffbacb2140152fec72d8b2b7e1d5fc1797fa056c121159e596e2e154f03963fd9805a3924f34fd75a6a5ad6623c6aa6c5f03c8
+DIST virtualenv-clone-0.2.6.tar.gz 5691 SHA256 6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405 SHA512 e4963532a8f954ab9840f9f950ccb9c5a8c2bb863c6b0bc72576e5f464b321ef098f199192dbdbb342a232223be9d47b170ea6222d3ecb5848f965cb5ddf8256 WHIRLPOOL 317737e6c38bf0a55280371b9001e55409990814161b7433df78d1017b50264927946d51eb26dea5e1ae8d2aab7ec5325ef9e04d29a64acba7d91060ebeebea8
diff --git a/dev-python/virtualenv-clone/metadata.xml b/dev-python/virtualenv-clone/metadata.xml
new file mode 100644
index 000000000000..2d5b6be29781
--- /dev/null
+++ b/dev-python/virtualenv-clone/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">virtualenv-clone</remote-id>
+ <remote-id type="github">edwardgeorge/virtualenv-clone</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.2.4-r2.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.2.4-r2.ebuild
new file mode 100644
index 000000000000..f5d18da0b7ef
--- /dev/null
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.2.4-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A script for cloning a non-relocatable virtualenv"
+HOMEPAGE="http://github.com/edwardgeorge/virtualenv-clone"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.2.5.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.2.5.ebuild
new file mode 100644
index 000000000000..ea114b1c9a38
--- /dev/null
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.2.5.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A script for cloning a non-relocatable virtualenv"
+HOMEPAGE="http://github.com/edwardgeorge/virtualenv-clone"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.2.6.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.2.6.ebuild
new file mode 100644
index 000000000000..ea114b1c9a38
--- /dev/null
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.2.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A script for cloning a non-relocatable virtualenv"
+HOMEPAGE="http://github.com/edwardgeorge/virtualenv-clone"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
new file mode 100644
index 000000000000..ba6d96226d24
--- /dev/null
+++ b/dev-python/virtualenv/Manifest
@@ -0,0 +1,2 @@
+DIST virtualenv-12.0.5.tar.gz 1805752 SHA256 ebb7a01e7fb7a9b3586692f623da4e13d50351f3733d8bbc83aaecd654c5f955 SHA512 b5fd46aa8a34f42d3db46c48ac751e5c22d8fcddc83edd4230838549d549ddfd47e56ef784677d8d17471ed2bbde168e3db6d48ca6a9c2d2ae757caac5768a10 WHIRLPOOL 6a0e568a9954473c6ab2b4f4d814ddd42a4c92d6543b3ec005bbd42d9c25a775dc421c5e8491269fc77fba6c37e8dea9773c644eaa44128b9f2bf7f0db6bdea0
+DIST virtualenv-13.1.0.tar.gz 1705046 SHA256 504e705d73251a7f248e0e88d9054a1b4baf5f276a237f8de0830fd0e1661d63 SHA512 9361b4a44e57c9e2d2138092b0f0b32f7d0209f383f5b0c5f001b2a4e5a886acdacee0317551f6e4722b7fc669604debdcaa50864285ff3326c34a2b9ecb13f4 WHIRLPOOL dc6ff2b2fca481686f56b7f719a417c6b8bd2f115284aa7cc2d6a3541434db107638be97aca51407f9bec819254972606bf57ec233909e86bbd9f7673e0e5936
diff --git a/dev-python/virtualenv/files/virtualenv-1.8.2-no-versioned-script.patch b/dev-python/virtualenv/files/virtualenv-1.8.2-no-versioned-script.patch
new file mode 100644
index 000000000000..040e36794ba9
--- /dev/null
+++ b/dev-python/virtualenv/files/virtualenv-1.8.2-no-versioned-script.patch
@@ -0,0 +1,10 @@
+--- pypa-virtualenv-350c45d/setup.py
++++ pypa-virtualenv-350c45d/setup.py
+@@ -9,7 +9,6 @@
+ 'entry_points': {
+ 'console_scripts': [
+ 'virtualenv=virtualenv:main',
+- 'virtualenv-%s.%s=virtualenv:main' % sys.version_info[:2]
+ ],
+ },
+ 'zip_safe': False,
diff --git a/dev-python/virtualenv/files/virtualenv-12.0-skip-broken-test.patch b/dev-python/virtualenv/files/virtualenv-12.0-skip-broken-test.patch
new file mode 100644
index 000000000000..a7485e43d390
--- /dev/null
+++ b/dev-python/virtualenv/files/virtualenv-12.0-skip-broken-test.patch
@@ -0,0 +1,18 @@
+--- virtualenv-12.0/tests/test_virtualenv.py
++++ virtualenv-12.0/tests/test_virtualenv.py
+@@ -5,6 +5,7 @@
+ import sys
+ import tempfile
+ from mock import patch, Mock
++import unittest
+
+
+ def test_version():
+@@ -123,6 +124,7 @@
+ shutil.rmtree(tmp_virtualenv)
+
+
++@unittest.skip("Running create environment while testing is broken")
+ def test_always_copy_option():
+ """Should be no symlinks in directory tree"""
+ tmp_virtualenv = tempfile.mkdtemp()
diff --git a/dev-python/virtualenv/files/virtualenv-12.1.1-skip-broken-test.patch b/dev-python/virtualenv/files/virtualenv-12.1.1-skip-broken-test.patch
new file mode 100644
index 000000000000..5c14c3e22850
--- /dev/null
+++ b/dev-python/virtualenv/files/virtualenv-12.1.1-skip-broken-test.patch
@@ -0,0 +1,19 @@
+--- virtualenv-12.1.1/tests/test_virtualenv.py
++++ virtualenv-12.1.1/tests/test_virtualenv.py
+@@ -6,6 +6,7 @@
+ import tempfile
+ import pytest
+ import platform # noqa
++import unittest
+
+ from mock import patch, Mock
+
+@@ -126,7 +127,7 @@
+ shutil.rmtree(tmp_virtualenv)
+
+
+-@pytest.mark.skipif("platform.python_implementation() == 'PyPy'")
++@unittest.skip("Running create environment while testing is broken")
+ def test_always_copy_option():
+ """Should be no symlinks in directory tree"""
+ tmp_virtualenv = tempfile.mkdtemp()
diff --git a/dev-python/virtualenv/metadata.xml b/dev-python/virtualenv/metadata.xml
new file mode 100644
index 000000000000..9252bf6fa92a
--- /dev/null
+++ b/dev-python/virtualenv/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">virtualenv</remote-id>
+ <remote-id type="github">pypa/virtualenv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/virtualenv/virtualenv-12.0.5.ebuild b/dev-python/virtualenv/virtualenv-12.0.5.ebuild
new file mode 100644
index 000000000000..8ea255a7e70b
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-12.0.5.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
+SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( docs/index.rst docs/changes.rst )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
+ "${FILESDIR}"/${PN}-12.0-skip-broken-test.patch
+)
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
+ distutils-r1_python_install_all
+}
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/virtualenv/virtualenv-13.1.0.ebuild b/dev-python/virtualenv/virtualenv-13.1.0.ebuild
new file mode 100644
index 000000000000..bf26c2810f5e
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-13.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv https://github.com/pypa/virtualenv/"
+SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+DOCS=( docs/index.rst docs/changes.rst )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
+ "${FILESDIR}"/${PN}-12.1.1-skip-broken-test.patch
+)
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest
new file mode 100644
index 000000000000..80825cad1edd
--- /dev/null
+++ b/dev-python/virtualenvwrapper/Manifest
@@ -0,0 +1,4 @@
+DIST virtualenvwrapper-4.3.1.tar.gz 86086 SHA256 e6228aea4e76ba6a628455313eff4a6e2cf003010b23399c3a7dabd8798beb08 SHA512 182cc2a236af7984686b0820e6032a70aef884efdf9832eb90196b3622be54c447d67148d944d513ab12e58749e5cdff8ef0af36cb5bf5cee9d9547a41c96f68 WHIRLPOOL 11ec5ac397d5354fd1b93edb3e01cacf0c6cfa5b3512d7f954fdede00d2d2f62d1089650f42f04ecd8370b3d21a72cde81c0c54d24f393cfd2490654cd03e847
+DIST virtualenvwrapper-4.3.2.tar.gz 86495 SHA256 ee545ade2e6bc5433284388afde6ec6417a4d819ba7b0d65d0ce8c4d3fcc11fd SHA512 91d93739be1b378c15ea57a325f891762d6b4afcff84b7f4a4401d0090afeef45991ae3339fc6c99a793963f17bef4457715482a1e8f62186dcaf440120093b3 WHIRLPOOL 9889d6c9ab171ace506962df7e294e688749202f94a723b91bfce8ebc751d614ad3ebfe2b58669b5a585ef248de03d727302d5609ea93c54dddcc3a33a82665e
+DIST virtualenvwrapper-4.5.1.tar.gz 89268 SHA256 ac0b09ce7409ec9d5b8ec90d073641b86bbafc3161f844347b89cc25b2e3a3d9 SHA512 de925da1cf0ec8d25a55c2cc430ea0a2840eaf5e53f0395d925c13c12601db394aeb0b14a15b16b47f4673214ce726df1572e87a28f96d6a6ccc13b3fe43b966 WHIRLPOOL 6773359ae6a9608b7b0fc76db9f9640a66d78d72e7fb0e7f377eb1e8daece862cfc48685050832b79c0153a207517cead7b2ecef716d95f4e7137da802f59620
+DIST virtualenvwrapper-4.6.0.tar.gz 89516 SHA256 f3c73c3a5436f4d040505e5fb45401abdc4be267a80fa071878cfaa685e685e1 SHA512 a7f64a7ae3aad6038b12c3bfca976772fa6a36c3420194f88b87fdd5eb80b036d331ef35b60c8ffaa4b152eaefeddf161283c9f79cf7dbbc8a5f806bdeed51a2 WHIRLPOOL 7eb764171f2ec40e02e9b383f23c1d4d22c12c15d5df65e6022251b5b96ab9fe09273f62d073e10eb54b6998ad92b3c2127504a6d03672ab90184973c853fd24
diff --git a/dev-python/virtualenvwrapper/files/tox.ini b/dev-python/virtualenvwrapper/files/tox.ini
new file mode 100644
index 000000000000..70380f6e1fcf
--- /dev/null
+++ b/dev-python/virtualenvwrapper/files/tox.ini
@@ -0,0 +1,3 @@
+[testenv]
+commands = bash ./tests/run_tests {envdir} []
+deps = virtualenv
diff --git a/dev-python/virtualenvwrapper/metadata.xml b/dev-python/virtualenvwrapper/metadata.xml
new file mode 100644
index 000000000000..5d6829fbe8eb
--- /dev/null
+++ b/dev-python/virtualenvwrapper/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">virtualenvwrapper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.1.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.1.ebuild
new file mode 100644
index 000000000000..ce19c11506b9
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="http://www.doughellmann.com/projects/virtualenvwrapper http://pypi.python.org/pypi/virtualenvwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# testsuite doesn't work out of the box. Demand of a virtualenv outstrips setup by the exlass
+RESTRICT=test
+
+RDEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.15-r1[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? ( dev-python/tox[${PYTHON_USEDEP}] )"
+
+src_prepare() {
+ sed -e 's:-o shwordsplit::' -i tests/run_tests || die
+}
+
+python_test() {
+ bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.2.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.2.ebuild
new file mode 100644
index 000000000000..12eee27f5db0
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-4.3.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="http://www.doughellmann.com/projects/virtualenvwrapper http://pypi.python.org/pypi/virtualenvwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# testsuite doesn't work out of the box. Demand of a virtualenv outstrips setup by the eclass
+RESTRICT=test
+
+RDEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.15-r1[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]"
+
+# Keep just in case
+src_prepare() {
+ sed -e 's:-o shwordsplit::' -i tests/run_tests || die
+}
+
+python_test() {
+ bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.5.1.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.5.1.ebuild
new file mode 100644
index 000000000000..12eee27f5db0
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-4.5.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="http://www.doughellmann.com/projects/virtualenvwrapper http://pypi.python.org/pypi/virtualenvwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# testsuite doesn't work out of the box. Demand of a virtualenv outstrips setup by the eclass
+RESTRICT=test
+
+RDEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.15-r1[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]"
+
+# Keep just in case
+src_prepare() {
+ sed -e 's:-o shwordsplit::' -i tests/run_tests || die
+}
+
+python_test() {
+ bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.6.0.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.6.0.ebuild
new file mode 100644
index 000000000000..12eee27f5db0
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-4.6.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="http://www.doughellmann.com/projects/virtualenvwrapper http://pypi.python.org/pypi/virtualenvwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+# testsuite doesn't work out of the box. Demand of a virtualenv outstrips setup by the eclass
+RESTRICT=test
+
+RDEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.15-r1[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]"
+
+# Keep just in case
+src_prepare() {
+ sed -e 's:-o shwordsplit::' -i tests/run_tests || die
+}
+
+python_test() {
+ bash ./tests/run_tests || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/visual/Manifest b/dev-python/visual/Manifest
new file mode 100644
index 000000000000..97868d71e869
--- /dev/null
+++ b/dev-python/visual/Manifest
@@ -0,0 +1 @@
+DIST visual-5.74_release.tar.bz2 5736404 SHA256 1e480d3fd82e8172021ae0e22e8e2859f44bec9297e12ebf672270fd8e7d7099 SHA512 eff43bae66d4ca6a1b540e729b5f03e7310db8d4c49ba7a1ac271afa62688d9024f4f00b7678669433ca3f0f6e13e6c0c3de90a4a845ae5eeaa70b536a6e1193 WHIRLPOOL d0c35354e8fcaf591870dce867e60a9b54a9eb31acdd6eb05331566c031bf0a7da794e7f9dc8e013eff10583eadccefda08ef79443761129d9ca56f05626acd8
diff --git a/dev-python/visual/files/visual-5.74-boost-1.50.patch b/dev-python/visual/files/visual-5.74-boost-1.50.patch
new file mode 100644
index 000000000000..a66ded258987
--- /dev/null
+++ b/dev-python/visual/files/visual-5.74-boost-1.50.patch
@@ -0,0 +1,28 @@
+https://github.com/vpython/visual/issues/3
+
+--- dependencies/threadpool/include/threadpool/task_adaptors.hpp
++++ dependencies/threadpool/include/threadpool/task_adaptors.hpp
+@@ -135,7 +135,11 @@
+ if(m_break_s > 0 || m_break_ns > 0)
+ { // Sleep some time before first execution
+ xtime xt;
++#if BOOST_VERSION >= 105000
++ xtime_get(&xt, TIME_UTC_);
++#else
+ xtime_get(&xt, TIME_UTC);
++#endif
+ xt.nsec += m_break_ns;
+ xt.sec += m_break_s;
+ thread::sleep(xt);
+@@ -146,7 +150,11 @@
+ if(m_break_s > 0 || m_break_ns > 0)
+ {
+ xtime xt;
++#if BOOST_VERSION >= 105000
++ xtime_get(&xt, TIME_UTC_);
++#else
+ xtime_get(&xt, TIME_UTC);
++#endif
+ xt.nsec += m_break_ns;
+ xt.sec += m_break_s;
+ thread::sleep(xt);
diff --git a/dev-python/visual/metadata.xml b/dev-python/visual/metadata.xml
new file mode 100644
index 000000000000..ee7e8b2450a8
--- /dev/null
+++ b/dev-python/visual/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/visual/visual-5.74.ebuild b/dev-python/visual/visual-5.74.ebuild
new file mode 100644
index 000000000000..5ac636da6567
--- /dev/null
+++ b/dev-python/visual/visual-5.74.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="2.5 3.* *-jython 2.7-pypy-*"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit eutils flag-o-matic multilib python versionator
+
+MY_P="${PN}-$(delete_version_separator 2)_release"
+
+DESCRIPTION="Real-time 3D graphics library for Python"
+HOMEPAGE="http://www.vpython.org/"
+SRC_URI="http://www.vpython.org/contents/download/${MY_P}.tar.bz2"
+
+LICENSE="HPND Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc examples"
+
+RDEPEND=">=dev-cpp/gtkglextmm-1.2
+ dev-cpp/libglademm
+ >=dev-libs/boost-1.48[python]
+ dev-python/numpy
+ dev-python/polygon:2
+ dev-python/ttfquery"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ # Verbose build.
+ sed -i \
+ -e 's/2\?>>[[:space:]]*\$(LOGFILE).*//' \
+ src/Makefile.in || die
+
+ epatch "${FILESDIR}/${P}-boost-1.50.patch"
+
+ python_clean_py-compile_files
+ python_src_prepare
+
+ preparation() {
+ sed -i \
+ -e "s/-lboost_python/-lboost_python-${PYTHON_ABI}/" \
+ -e "s/libboost_python/libboost_python-${PYTHON_ABI}/" \
+ src/Makefile.in src/gtk2/makefile
+ }
+ python_execute_function -s preparation
+}
+
+src_configure() {
+ BOOST_PKG="$(best_version ">=dev-libs/boost-1.48")"
+ BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")"
+ BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")"
+ BOOST_INC="${EPREFIX}/usr/include/boost-${BOOST_VER}"
+ BOOST_LIB="${EPREFIX}/usr/$(get_libdir)/boost-${BOOST_VER}"
+
+ # Specify the include and lib directory for Boost.
+ append-cxxflags -I${BOOST_INC}
+ append-ldflags -L${BOOST_LIB}
+
+ python_src_configure \
+ --with-example-dir="${EPREFIX}/usr/share/doc/${PF}/examples" \
+ --with-html-dir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ $(use_enable doc docs) \
+ $(use_enable examples)
+}
+
+src_install() {
+ python_src_install
+ python_clean_installation_image
+
+ dodoc authors.txt HACKING.txt NEWS.txt
+}
+
+pkg_postinst() {
+ python_mod_optimize vis visual
+}
+
+pkg_postrm() {
+ python_mod_cleanup vis visual
+}
diff --git a/dev-python/vo/Manifest b/dev-python/vo/Manifest
new file mode 100644
index 000000000000..e5799ad7c055
--- /dev/null
+++ b/dev-python/vo/Manifest
@@ -0,0 +1,2 @@
+DIST vo-0.8.tar.gz 1245366 SHA256 440a22bd1c805d5e0bbd0a75b26a4247d41200d9e4dc4a72621304ccaa488837 SHA512 1bfd3293ee58af1084b4a752181f6c9c3a2352ec48892cab6b679f739d95e89a6dab7e08400f6a67d179d9663fcde3ef3d9b63f7858dcc2517c5b494e3f58515 WHIRLPOOL cd53ba3acab6f29fc2fcddee824e509664d79134584b9d5722d38ef22ee90f193c59d6e3ac0d04800ac393c8fd3c1eb6dd1ba1ac753fc8b3f88c39d9d2b2763e
+DIST wfpc2_all.xml.gz 4010839 SHA256 e3315762626281adcf28913831528e40bcb09abb8c7a41e456cc44c7ce6109b7 SHA512 76ddfe7c0604a7c806f0e97ef7702b00f942e248549b3b57ad92845f5b55eb14bd13e511543c88af6bbca24a2343acc76de3557cf94d2d2bf1b7845403f12bd6 WHIRLPOOL 5663cc144e6726ca4cad9024390b675c63eac49487d4d96298fdb2baefd6d7d508c0e95c381ab5169f805626b691bffaaea54249dc14cd258f8b7a3cf8c3cb41
diff --git a/dev-python/vo/files/vo-0.6-expat.patch b/dev-python/vo/files/vo-0.6-expat.patch
new file mode 100644
index 000000000000..24157f39084c
--- /dev/null
+++ b/dev-python/vo/files/vo-0.6-expat.patch
@@ -0,0 +1,19 @@
+--- defsetup.py.orig 2010-07-21 17:35:59.000000000 +0100
++++ defsetup.py 2010-07-21 17:37:06.000000000 +0100
+@@ -17,14 +17,9 @@
+
+ iterparse_ext = Extension(
+ "vo.iterparser",
+- ["src/iterparse.c",
+- "src/expat/xmlparse.c",
+- "src/expat/xmlrole.c",
+- "src/expat/xmltok.c",
+- "src/expat/xmltok_impl.c"
+- ],
++ ["src/iterparse.c"],
+ define_macros=defines,
+- include_dirs=["src", "src/expat"])
++ libraries=["expat"])
+
+ pkg = ['vo', 'vo.tests']
+ # Python < 2.6 doesn't have the json module
diff --git a/dev-python/vo/metadata.xml b/dev-python/vo/metadata.xml
new file mode 100644
index 000000000000..1fec8de53fcc
--- /dev/null
+++ b/dev-python/vo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+ vo.table is a Python package to read and write astronomical VOTable
+ files into Numpy record arrays.
+ vo.table supports the VOTable Format Definition Version 1.1. Some
+ flexibility is provided to support the 1.0 draft version and other
+ non-standard usage in the wild.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/vo/vo-0.8-r1.ebuild b/dev-python/vo/vo-0.8-r1.ebuild
new file mode 100644
index 000000000000..1af5073133d6
--- /dev/null
+++ b/dev-python/vo/vo-0.8-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python module to read VO tables into a numpy array"
+HOMEPAGE="https://trac6.assembla.com/astrolib/wiki"
+SRC_URI="http://stsdas.stsci.edu/astrolib/${P}.tar.gz
+ test? ( http://svn6.assembla.com/svn/astrolib/trunk/vo/test/wfpc2_all.xml.gz )"
+
+IUSE="examples test"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-libs/expat
+ !<dev-python/astropy-0.3"
+DEPEND="${RDEPEND}"
+
+# slow and buggy tests
+RESTRICT="test"
+
+python_prepare_all() {
+ epatch "${FILESDIR}"/${PN}-0.6-expat.patch
+ use test && cp "${WORKDIR}"/wfpc2_all.xml test
+}
+
+python_test() {
+ cd test || die
+ ln -s "${S}"/lib/data "${BUILD_DIR}/lib/vo/data" || die
+ PYTHONPATH="${BUILD_DIR}/lib" "${EPYTHON}" benchmarks.py || die
+}
+
+python_install_all() {
+ if use examples; then
+ insinto /usr/share/doc/${PF}/
+ doins -r examples
+ fi
+}
diff --git a/dev-python/vobject/Manifest b/dev-python/vobject/Manifest
new file mode 100644
index 000000000000..520291ec1ed3
--- /dev/null
+++ b/dev-python/vobject/Manifest
@@ -0,0 +1 @@
+DIST vobject-0.8.1c.tar.gz 59925 SHA256 594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5 SHA512 3c7071e040172c8ef9e93bb818fb3c5f04912322adaaf56794b00005ff1ee787d54ad6860835be4fb123fa4215c104e1cbc4031dcdab53e96f7dbed771c0fa79 WHIRLPOOL b317c376df74532d6b1f72a64558611edb9b02a2c37c4d98064d28e478580c8138e5144c5e5585d47ea842c52f40abdac8c84095972780e7a5e239b01537ef2e
diff --git a/dev-python/vobject/metadata.xml b/dev-python/vobject/metadata.xml
new file mode 100644
index 000000000000..de483c53568f
--- /dev/null
+++ b/dev-python/vobject/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/vobject/vobject-0.8.1c-r1.ebuild b/dev-python/vobject/vobject-0.8.1c-r1.ebuild
new file mode 100644
index 000000000000..606a89d2ea07
--- /dev/null
+++ b/dev-python/vobject/vobject-0.8.1c-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A full featured Python package for parsing and generating vCard and vCalendar files"
+HOMEPAGE="http://vobject.skyhouseconsulting.com/ http://pypi.python.org/pypi/vobject"
+SRC_URI="http://vobject.skyhouseconsulting.com/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/setuptools"[${PYTHON_USEDEP}]
+DEPEND="${RDEPEND}"
+
+DOCS=( ACKNOWLEDGEMENTS.txt )
+
+python_test() {
+ "${PYTHON}" test_vobject.py || die "Testing failed under ${EPYTHON}"
+}
diff --git a/dev-python/w3lib/Manifest b/dev-python/w3lib/Manifest
new file mode 100644
index 000000000000..f5373178e25e
--- /dev/null
+++ b/dev-python/w3lib/Manifest
@@ -0,0 +1 @@
+DIST w3lib-1.11.0.tar.gz 12083 SHA256 826f6184232c385b7c8038ef7ae5506f1cb3f8fa470ac12ce0fb6fb0a592fb92 SHA512 421e75639291c6aec56aa28efeaf2a440c878662085a9a667bf1b89e30b2b6ce29066d524f48ad99af1563a1b886483cc81d8897975697084256588319988b37 WHIRLPOOL db05a2f4799065ad4a942f363ce45b00cb87689be049c42a35a0ef703907742fb3bd71a51b6c6a49266bb0e47adf1be6b144708beab0a03749f1c66e597cf7b2
diff --git a/dev-python/w3lib/metadata.xml b/dev-python/w3lib/metadata.xml
new file mode 100644
index 000000000000..e3fa45d6a1c2
--- /dev/null
+++ b/dev-python/w3lib/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>maksbotan@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">w3lib</remote-id>
+ <remote-id type="github">scrapy/w3lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/w3lib/w3lib-1.11.0.ebuild b/dev-python/w3lib/w3lib-1.11.0.ebuild
new file mode 100644
index 000000000000..dcfe6a3fbf83
--- /dev/null
+++ b/dev-python/w3lib/w3lib-1.11.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library of web-related functions"
+HOMEPAGE="http://github.com/scrapy/w3lib"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/six-1.4.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/waitress/Manifest b/dev-python/waitress/Manifest
new file mode 100644
index 000000000000..9954de7eef75
--- /dev/null
+++ b/dev-python/waitress/Manifest
@@ -0,0 +1,2 @@
+DIST pylons_sphinx_theme.tar.gz 607608 SHA256 d892c80fbee8845b79cb41845a89cf2f268893689a68157bc10bd0224948bb9c SHA512 fdafd77e52ff6941de5102bad521ed2a9e28cff6be385cab660a7604be12fa1d86db73fc93f84f72551458cc60b42d3354f27648b1d747b15b25d6f809df8a4d WHIRLPOOL bcf8329b35b90d65eae86a8fc910d074790f912cfe7d4bdd9065970f5c24344e57e585d8dd0b28f101b4ddd4ed0b65caa3bdf7c93fb933ddc6916e63514fa69f
+DIST waitress-0.8.9.tar.gz 121048 SHA256 826527dc9d334ed4ed76cdae672fdcbbccf614186657db71679ab58df869458a SHA512 e9459b8806389fcdbd6f7cfc4fc908c2076f1fcc306315c5375c872c1a0c43c2537347322f7becf1ad36aec0050dca7b2f713f35318fe3a371e544cc880b7d8c WHIRLPOOL f3ce347d3fa04944ebcf7b6b3734bed0ff1fb1fc1dd9479a10cc4cc77111ae250e2c652dd195b15a86c1c7b740d751d0ca539791f3b97c942737ca0be033a59a
diff --git a/dev-python/waitress/files/waitress-0.8.9-doc.patch b/dev-python/waitress/files/waitress-0.8.9-doc.patch
new file mode 100644
index 000000000000..f7ff3b01467d
--- /dev/null
+++ b/dev-python/waitress/files/waitress-0.8.9-doc.patch
@@ -0,0 +1,29 @@
+diff -ur waitress-0.8.9.orig/docs/conf.py waitress-0.8.9/docs/conf.py
+--- docs/conf.py 2014-05-17 05:39:35.000000000 +0800
++++ docs/conf.py 2014-05-21 13:28:12.921485962 +0800
+@@ -21,24 +21,7 @@
+ import pkg_resources
+
+ # Add and use Pylons theme
+-if 'sphinx-build' in ' '.join(sys.argv): # protect against dumb importers
+- from subprocess import call, Popen, PIPE
+-
+- p = Popen('which git', shell=True, stdout=PIPE)
+- git = p.stdout.read().strip()
+- cwd = os.getcwd()
+- _themes = os.path.join(cwd, '_themes')
+-
+- if not os.path.isdir(_themes):
+- call([git, 'clone', 'git://github.com/Pylons/pylons_sphinx_theme.git',
+- '_themes'])
+- else:
+- os.chdir(_themes)
+- call([git, 'checkout', 'master'])
+- call([git, 'pull'])
+- os.chdir(cwd)
+-
+- sys.path.append(os.path.abspath('_themes'))
++sys.path.append(os.path.abspath('_themes'))
+
+ # General configuration
+ # ---------------------
diff --git a/dev-python/waitress/metadata.xml b/dev-python/waitress/metadata.xml
new file mode 100644
index 000000000000..913fdf59d480
--- /dev/null
+++ b/dev-python/waitress/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">waitress</remote-id>
+ <remote-id type="github">Pylons/waitress</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/waitress/waitress-0.8.9.ebuild b/dev-python/waitress/waitress-0.8.9.ebuild
new file mode 100644
index 000000000000..9838509e894c
--- /dev/null
+++ b/dev-python/waitress/waitress-0.8.9.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A pure-Python WSGI server"
+HOMEPAGE="http://docs.pylonsproject.org/projects/waitress/en/latest/ https://pypi.python.org/pypi/waitress/ https://github.com/Pylons/waitress"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz \
+ doc? ( http://dev.gentoo.org/~idella4/pylons_sphinx_theme.tar.gz )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+IUSE="doc test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ if use doc; then
+ local PATCHES=( "${FILESDIR}"/${P}-doc.patch )
+ mv "${WORKDIR}"/_themes ./docs/ || die
+ fi
+
+ # Fix generation of documentation with Waitress not installed. Bug #525384
+ sed -e "s/^version = pkg_resources.get_distribution('waitress').version$/version = '${PV}'/" -i docs/conf.py
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/warlock/Manifest b/dev-python/warlock/Manifest
new file mode 100644
index 000000000000..99d195561fab
--- /dev/null
+++ b/dev-python/warlock/Manifest
@@ -0,0 +1,2 @@
+DIST warlock-1.0.1.tar.gz 4192 SHA256 986ccfd647f89c1c8e7ebe40d159e5633818a58754b3ffdf51c4816927977791 SHA512 7ca4b512efa9f3b112682b5120618b14616d3d7307891004aedbe6b88d66d5baaff5c02b9dfe78ea845cdc2498668f81c9dfc6a22fedab7916f49947dd3706c6 WHIRLPOOL a1e556668ca5a2589832fa177ea3260c50efc3a07924ad6ba830318985be8f8e6e70a6f24ed130e7d7d181b3060720f54eeff22bf709aee537c028d6a1d03f83
+DIST warlock-1.1.0.tar.gz 7879 SHA256 bbfb4279034ccc402723e38d2a2e67cd619988bf4802fda7ba3e8fab15762651 SHA512 57353cb21ee7245cb27f29193d8c0987971535f1bc9f7a8914738ec15cd5712cf7001eae379041c0188e489365f23b0190dc13799b57a117b0bd3ed62cc2e30a WHIRLPOOL e2e258a38770c2c2f823d343ffe8b8a75bb7e89c0bc2b5dbe1e174cd06527eaca84e3e1c90ace11acd766c87408f448c563f2cfed8740239dd0bfeac66740698
diff --git a/dev-python/warlock/metadata.xml b/dev-python/warlock/metadata.xml
new file mode 100644
index 000000000000..e99437e2e041
--- /dev/null
+++ b/dev-python/warlock/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python object model built on JSON schema and JSON patch.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">warlock</remote-id>
+ <remote-id type="github">bcwaldon/warlock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/warlock/warlock-1.0.1.ebuild b/dev-python/warlock/warlock-1.0.1.ebuild
new file mode 100644
index 000000000000..533ad2ad7559
--- /dev/null
+++ b/dev-python/warlock/warlock-1.0.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python object model built on JSON schema and JSON patch"
+HOMEPAGE="http://github.com/bcwaldon/warlock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-0.10[${PYTHON_USEDEP}]
+ <dev-python/jsonpatch-2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-0.7[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-0.10[${PYTHON_USEDEP}]
+ <dev-python/jsonpatch-2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-0.7[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test/test_core.py || die
+}
diff --git a/dev-python/warlock/warlock-1.1.0.ebuild b/dev-python/warlock/warlock-1.1.0.ebuild
new file mode 100644
index 000000000000..531cb87c8e30
--- /dev/null
+++ b/dev-python/warlock/warlock-1.1.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python{3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python object model built on JSON schema and JSON patch"
+HOMEPAGE="http://github.com/bcwaldon/warlock"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-0.10[${PYTHON_USEDEP}]
+ <dev-python/jsonpatch-2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-0.7[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3[${PYTHON_USEDEP}] )"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-0.10[${PYTHON_USEDEP}]
+ <dev-python/jsonpatch-2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-0.7[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3[${PYTHON_USEDEP}]"
+
+python_test() {
+ "${PYTHON}" test/test_core.py || die
+}
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
new file mode 100644
index 000000000000..be8a93d137d4
--- /dev/null
+++ b/dev-python/watchdog/Manifest
@@ -0,0 +1,3 @@
+DIST watchdog-0.8.1.tar.gz 154747 SHA256 d6ec6be582b244834a888c8ccc2d451816184ab104b5454b5e5cd7649e8f671c SHA512 d5915be2e2817c748c6d2ba91d8a4044938fa5665019ac7c2048e28493c0dba34189bef61cd642204f1bd62d81ef59767af5970f65543a0c981d8f31ab980856 WHIRLPOOL 94890aa9a0a19c49ce2358b694a61b456df270da3a16d5c5e91044a96e228026288c7dcb7d4597e5fddae601692f8b34cae5e2a29ad388bc08aaf86b3d59fcb8
+DIST watchdog-0.8.2.tar.gz 157936 SHA256 33a9ab3ce2e6b1aca4d2a50752231668d69bdba4ab096d9742195ccfbef1e023 SHA512 96f1fcd0d6898ce950c8768000be2f619c9a28c9d96cb1d7323f04371b065e50b38692179949255bb13fa4e3c72e6f656dbc02b4d7f77b7fb3aacdf08600cb71 WHIRLPOOL c2581e9dba65f8ffbe1fe8b21d873e0292aae6ba46012979b221b3d4ede8f74d4c2cc2efa8635e99180c3bce227f943cb5ef4fba3dd24f5dae5bfc150f643c1d
+DIST watchdog-0.8.3.tar.gz 83154 SHA256 7e65882adb7746039b6f3876ee174952f8eaaa34491ba34333ddf1fe35de4162 SHA512 61f1db886e8e9a6d78b569329f4d5944c296778a5a34f94fbf115a748fb4c3be422bf4d3cc828e22fcdcd380fdf9009f5bd91a8a5edc87089afc58297a0b946f WHIRLPOOL 54af63f60711afac83d79d8b2e67c8dd500eb73a9ea89d6341979406dce4942cec071141b6aaa98615eb7b097d82a915043cbbe8166589c805beab163e733480
diff --git a/dev-python/watchdog/metadata.xml b/dev-python/watchdog/metadata.xml
new file mode 100644
index 000000000000..378220de1467
--- /dev/null
+++ b/dev-python/watchdog/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">watchdog</remote-id>
+ <remote-id type="github">gorakhargosh/watchdog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/watchdog/watchdog-0.8.1.ebuild b/dev-python/watchdog/watchdog-0.8.1.ebuild
new file mode 100644
index 000000000000..9bec1111a734
--- /dev/null
+++ b/dev-python/watchdog/watchdog-0.8.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python API and shell utilities to monitor file system events"
+HOMEPAGE="http://github.com/gorakhargosh/watchdog"
+SRC_URI="mirror://pypi/w/watchdog/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/argh[${PYTHON_USEDEP}]
+ dev-python/pathtools[${PYTHON_USEDEP}]"
+
+pkg_postinst() {
+ optfeature "Bash completion" dev-python/argcomplete
+}
diff --git a/dev-python/watchdog/watchdog-0.8.2.ebuild b/dev-python/watchdog/watchdog-0.8.2.ebuild
new file mode 100644
index 000000000000..e6bb2c469605
--- /dev/null
+++ b/dev-python/watchdog/watchdog-0.8.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy)
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python API and shell utilities to monitor file system events"
+HOMEPAGE="http://github.com/gorakhargosh/watchdog"
+SRC_URI="mirror://pypi/w/watchdog/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+CDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+RDEPEND="${CDEPEND}
+ dev-python/argh[${PYTHON_USEDEP}]
+ dev-python/pathtools[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ test? (
+ dev-python/pytest
+ dev-python/pytest-cov
+ >=dev-python/pytest-timeout-0.3
+ )"
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ optfeature "Bash completion" dev-python/argcomplete
+}
diff --git a/dev-python/watchdog/watchdog-0.8.3.ebuild b/dev-python/watchdog/watchdog-0.8.3.ebuild
new file mode 100644
index 000000000000..1d7ccc3a7ce8
--- /dev/null
+++ b/dev-python/watchdog/watchdog-0.8.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy)
+
+inherit distutils-r1 eutils
+
+DESCRIPTION="Python API and shell utilities to monitor file system events"
+HOMEPAGE="http://github.com/gorakhargosh/watchdog"
+SRC_URI="mirror://pypi/w/watchdog/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+CDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
+RDEPEND="${CDEPEND}
+ dev-python/argh[${PYTHON_USEDEP}]
+ dev-python/pathtools[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-0.3[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ esetup.py test
+}
+
+pkg_postinst() {
+ optfeature "Bash completion" dev-python/argcomplete
+}
diff --git a/dev-python/wcsaxes/Manifest b/dev-python/wcsaxes/Manifest
new file mode 100644
index 000000000000..df3441cbc88b
--- /dev/null
+++ b/dev-python/wcsaxes/Manifest
@@ -0,0 +1 @@
+DIST wcsaxes-0.3.tar.gz 773984 SHA256 012861678afa3c05700c4dd94a73bbd0534dae7ef8d9dc215fb01d6e5a60477f SHA512 597494609e2add782dcf84a6163b7093d1a467ffb6321d6d25064f9f87dcb0f7e5e076818b0707b9f10d0894a26ce240cda9598f035364832efe57d6ec51d76a WHIRLPOOL 1d05ce40460a2477c43107f33a68de08cdeb66ee395d3311ee74c9e7d354b675584f3e5d79ea91303a1808ab767df6f54bb5c65993009edfa67b416057c459fe
diff --git a/dev-python/wcsaxes/metadata.xml b/dev-python/wcsaxes/metadata.xml
new file mode 100644
index 000000000000..6ec9ee7ad1a1
--- /dev/null
+++ b/dev-python/wcsaxes/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">
+ Framework for plotting astronomical and geospatial data
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">wcsaxes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wcsaxes/wcsaxes-0.3.ebuild b/dev-python/wcsaxes/wcsaxes-0.3.ebuild
new file mode 100644
index 000000000000..ffa134306889
--- /dev/null
+++ b/dev-python/wcsaxes/wcsaxes-0.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Framework for plotting astronomical and geospatial data"
+HOMEPAGE="http://wcsaxes.readthedocs.org https://pypi.python.org/pypi/wcsaxes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/astropy[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_compile() {
+ distutils-r1_python_compile --use-system-libraries --offline
+}
+
+python_compile_all() {
+ use doc && esetup.py build_sphinx --offline
+}
+
+python_test() {
+ esetup.py --offline test
+}
+
+python_install() {
+ distutils-r1_python_install --offline
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/ )
+ distutils-r1_python_install_all --offline
+}
diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest
new file mode 100644
index 000000000000..769ea035842b
--- /dev/null
+++ b/dev-python/wcwidth/Manifest
@@ -0,0 +1 @@
+DIST wcwidth-0.1.4.tar.gz 19584 SHA256 906d3123045d77027b49fe912458e1a1e1d6ca1a51558a4bd9168d143b129d2b SHA512 3882d7a4309b868593586e7bc52ce5328504db2f37a4152d53a8b7b8632375866cc07900965d1dd9c84d22c4e2b5cb161b3091c6b3ce4a37d51aeca9c76fe36d WHIRLPOOL 432cff1f6e206c9daf35406d485436c9f7b9a3e7c48f14384f9804d69c6a39099bb9ca4ee99547504c4fa2db8f70259796019f008d1c678c6b73c7de9c09cf60
diff --git a/dev-python/wcwidth/metadata.xml b/dev-python/wcwidth/metadata.xml
new file mode 100644
index 000000000000..6272360d4941
--- /dev/null
+++ b/dev-python/wcwidth/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">wcwidth</remote-id>
+ <remote-id type="github">jquast/wcwidth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wcwidth/wcwidth-0.1.4.ebuild b/dev-python/wcwidth/wcwidth-0.1.4.ebuild
new file mode 100644
index 000000000000..5367f2c4467d
--- /dev/null
+++ b/dev-python/wcwidth/wcwidth-0.1.4.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
+HOMEPAGE="https://pypi.python.org/pypi/wcwidth/ https://github.com/jquast/wcwidth"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest
new file mode 100644
index 000000000000..e939e65d7742
--- /dev/null
+++ b/dev-python/weasyprint/Manifest
@@ -0,0 +1,3 @@
+DIST WeasyPrint-0.21.tar.gz 333898 SHA256 312af72805fd5207ccd58d1c59022bf1e9cf8e6c839825e654bb0d0789d66048 SHA512 6455e17c317e8d25f33e6e497e232b96e907ba569d15d333e7b3d3de2b41af7d593e385c24a8ad3f6877c1a3af4266f95e723277e3ca3194cc884c04c58374e3 WHIRLPOOL 165a3194e9fb92699dd9b00d3f0539d686322f09a3a4d2fa395b1070140bbec4a535648d86d70632ba5b094aa16969491ddd42a5711a4d9e56833dc25aea61d1
+DIST WeasyPrint-0.22.tar.gz 342786 SHA256 78874291649d8013b60462c39456fea8d1097e55bb45907f6c3e30ffe4822bf1 SHA512 f5b7189a9c5408d052cde995a9ff6aa2df04cbf97297c8f2c03d8f12aa84833f7a82b63eac700032570c289a8ce0dbab687d0127518b6743fd95dfb60cbf5993 WHIRLPOOL e2f6efc58a3344c655814b0fcb9b6541e8a3f8e8e4e82240ea34580517095d7622f434bd83da6071184270df6c94cc7771376b87743439a1c3e9a357d72520a6
+DIST WeasyPrint-0.23.tar.gz 343614 SHA256 4c3539b8bf6145f6ae9de657eb4b008ccf29066d876f948ecbcfa753a5b0eae4 SHA512 bd9e4da6bd9ffc63e6acedbf821d2fa7b791f9d28c61e465effa0596665b5b76fec1a4bef2dd8f2c98ee768884ef84f842fc67664b41f84d4a0c22d86e032d71 WHIRLPOOL 1a9f0e0d442b7487ffa039c726f41fa80fdce06df4f3d2d931eda3974ce4b4da69dea929d018c9c95a9dc02ff0d5cf9158059bc7ce3293a4997fa2550d5f755f
diff --git a/dev-python/weasyprint/metadata.xml b/dev-python/weasyprint/metadata.xml
new file mode 100644
index 000000000000..1009a336b002
--- /dev/null
+++ b/dev-python/weasyprint/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WeasyPrint</remote-id>
+ <remote-id type="github">Kozea/WeasyPrint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/weasyprint/weasyprint-0.21-r1.ebuild b/dev-python/weasyprint/weasyprint-0.21-r1.ebuild
new file mode 100644
index 000000000000..b8ddec5fec33
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-0.21-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
+MY_PN="WeasyPrint"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://weasyprint.org"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# Note: specific subslot of pango since it inlines some of pango headers.
+RDEPEND="x11-libs/pango:0/0
+ media-gfx/cairosvg
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ dev-python/tinycss[${PYTHON_USEDEP}]
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ dev-python/pyphen[${PYTHON_USEDEP}]
+ "
+ # x11-libs/gdk-pixbuf # optional dep
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
diff --git a/dev-python/weasyprint/weasyprint-0.22.ebuild b/dev-python/weasyprint/weasyprint-0.22.ebuild
new file mode 100644
index 000000000000..1881977e94c6
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-0.22.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
+MY_PN="WeasyPrint"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://weasyprint.org https://github.com/Kozea/WeasyPrint"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# Note: specific subslot of pango since it inlines some of pango headers.
+RDEPEND="x11-libs/pango:0/0
+ >=media-gfx/cairosvg-1.0.7[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-0.999[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.0[${PYTHON_USEDEP}]
+ >=dev-python/cairocffi-0.5[${PYTHON_USEDEP}]
+ ~dev-python/tinycss-0.3[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.8[${PYTHON_USEDEP}]"
+# x11-libs/gdk-pixbuf # optional dep
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ media-fonts/ahem )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ py.test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/weasyprint/weasyprint-0.23.ebuild b/dev-python/weasyprint/weasyprint-0.23.ebuild
new file mode 100644
index 000000000000..1881977e94c6
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-0.23.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
+MY_PN="WeasyPrint"
+MY_P="${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://weasyprint.org https://github.com/Kozea/WeasyPrint"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# Note: specific subslot of pango since it inlines some of pango headers.
+RDEPEND="x11-libs/pango:0/0
+ >=media-gfx/cairosvg-1.0.7[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-0.999[${PYTHON_USEDEP}]
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.0[${PYTHON_USEDEP}]
+ >=dev-python/cairocffi-0.5[${PYTHON_USEDEP}]
+ ~dev-python/tinycss-0.3[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.6[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.8[${PYTHON_USEDEP}]"
+# x11-libs/gdk-pixbuf # optional dep
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ media-fonts/ahem )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ py.test || die "testsuite failed under ${EPYTHON}"
+}
diff --git a/dev-python/webassets/Manifest b/dev-python/webassets/Manifest
new file mode 100644
index 000000000000..7f4f797484bd
--- /dev/null
+++ b/dev-python/webassets/Manifest
@@ -0,0 +1 @@
+DIST webassets-0.10.1.tar.gz 171666 SHA256 8e7dedd8032a963ef7e55e670cc109927e1f153b35cf8e9634617d0c6ee93329 SHA512 2879630608c3bd6904bc9f7ab6eceae899df967856e6d7b6dd125106ca27635993bf34309e320a0deacdb3b31020b69d59b4f85afdeae259b4915557c5ae6134 WHIRLPOOL 315e0a0e836683d4750e176ce89fb929e4027f8a32dcf941d0c5faf3c356923ff7db9b8b19d41bd6741ba41c68fd9c96a8f16d7af98b8efdabcf2afeadbd4953
diff --git a/dev-python/webassets/metadata.xml b/dev-python/webassets/metadata.xml
new file mode 100644
index 000000000000..4fa00587b82a
--- /dev/null
+++ b/dev-python/webassets/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>yngwin@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">miracle2k/webassets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/webassets/webassets-0.10.1.ebuild b/dev-python/webassets/webassets-0.10.1.ebuild
new file mode 100644
index 000000000000..d9652ad22f15
--- /dev/null
+++ b/dev-python/webassets/webassets-0.10.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Asset management for Python web development"
+HOMEPAGE="https://github.com/miracle2k/webassets"
+SRC_URI="https://github.com/miracle2k/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/weberror/Manifest b/dev-python/weberror/Manifest
new file mode 100644
index 000000000000..bee7719f4d77
--- /dev/null
+++ b/dev-python/weberror/Manifest
@@ -0,0 +1,2 @@
+DIST WebError-0.10.3.tar.gz 81126 SHA256 a6cb354ff921aad008336599b5e56622ebbe8c76d86985e22af262e6f7242f3b SHA512 a0540429ca602e56c746887fb481e2ed7f8116318267457ded7cfb2b094bb5090be874c4b13fe369c7dc41ba602dea8af444e97c6825ae33b2976d97cf00defe WHIRLPOOL 6fc0179fc8cc05606ca1c79d88d9cb928cf66b65612fbc0de2308a647c3393ceb457b2ddf70af8054d90e2b5ded41c7a898d5ba5332eb287eecd43a0641cd2e3
+DIST WebError-0.11.tar.gz 91520 SHA256 b9d93480d28439a168098215a499b3789d08fcba3c6d24675d4c1f5e16e196cb SHA512 9e2cb470b1bc92a4d6344e4a5577504cc899184f0a53a9d0714fa00adb30e6b33d8568a26df735f6a71856ff2fba1ec6ed73c7d307a8a308e06e9d5c88813cb4 WHIRLPOOL 1af754a3b1a0346d9a55b5477ea644ab0f05a1a62705c52d232eb6a2418d5dc790183177dfbe3d916eb297c6507e02138bb3d849d1de0e1287bb2aab541a727f
diff --git a/dev-python/weberror/metadata.xml b/dev-python/weberror/metadata.xml
new file mode 100644
index 000000000000..1b97c1c396ce
--- /dev/null
+++ b/dev-python/weberror/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WebError</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/weberror/weberror-0.10.3-r1.ebuild b/dev-python/weberror/weberror-0.10.3-r1.ebuild
new file mode 100644
index 000000000000..d537b5e859e4
--- /dev/null
+++ b/dev-python/weberror/weberror-0.10.3-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="WebError"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Web Error handling and exception catching"
+HOMEPAGE="http://pypi.python.org/pypi/WebError"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/paste-1.7.1[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tempita[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/webtest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/weberror/weberror-0.11.ebuild b/dev-python/weberror/weberror-0.11.ebuild
new file mode 100644
index 000000000000..34ae811f7a27
--- /dev/null
+++ b/dev-python/weberror/weberror-0.11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="WebError"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Web Error handling and exception catching"
+HOMEPAGE="http://pypi.python.org/pypi/WebError"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=dev-python/paste-1.7.1[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tempita[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/webtest[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ nosetests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/webhelpers/Manifest b/dev-python/webhelpers/Manifest
new file mode 100644
index 000000000000..70d41d31b939
--- /dev/null
+++ b/dev-python/webhelpers/Manifest
@@ -0,0 +1 @@
+DIST WebHelpers-1.3.tar.gz 729963 SHA256 ea86f284e929366b77424ba9a89341f43ae8dee3cbeb8702f73bcf86058aa583 SHA512 ff1f19c5b878bdcb05664523d16fce1abb012957f00a97c06b3b5db581c6a361a2db5516b47a0e2b107bc9ba73270ccb323afb240cc67a34d6f15ce9462fad77 WHIRLPOOL dfc67dd1c8ac955bf9cc7584db9b629a3d7525a98e8f75e2f8fe5042c5d2cd2d5f70f694ce69aba8eaa87571ead558ef31501768b1515e0af931a6c9c145437f
diff --git a/dev-python/webhelpers/files/mime9ad434b.patch b/dev-python/webhelpers/files/mime9ad434b.patch
new file mode 100644
index 000000000000..5e37216f3847
--- /dev/null
+++ b/dev-python/webhelpers/files/mime9ad434b.patch
@@ -0,0 +1,14 @@
+https://bitbucket.org/bbangert/webhelpers/commits/9ad434bec9a16c06c1cfeed38cde02f00a95685d
+diff -ur WebHelpers-1.3.orig/webhelpers/mimehelper.py WebHelpers-1.3/webhelpers/mimehelper.py
+--- webhelpers/mimehelper.py 2010-11-18 12:34:33.000000000 +0800
++++ webhelpers/mimehelper.py 2013-06-17 15:45:40.603257640 +0800
+@@ -110,8 +110,7 @@
+ if '.' in last_part:
+ has_extension = True
+ if 'HTTP_ACCEPT' in self.env:
+- possible_from_accept_header = webob.acceptparse.MIMEAccept('ACCEPT',
+- self.env['HTTP_ACCEPT'])
++ possible_from_accept_header = webob.acceptparse.MIMEAccept(self.env['HTTP_ACCEPT'])
+ if has_extension == False:
+ if possible_from_accept_header is None:
+ return self._set_response_content_type(content_type)
diff --git a/dev-python/webhelpers/metadata.xml b/dev-python/webhelpers/metadata.xml
new file mode 100644
index 000000000000..b1cf2fcc4fde
--- /dev/null
+++ b/dev-python/webhelpers/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WebHelpers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/webhelpers/webhelpers-1.3-r1.ebuild b/dev-python/webhelpers/webhelpers-1.3-r1.ebuild
new file mode 100644
index 000000000000..8f3b4a5b6dce
--- /dev/null
+++ b/dev-python/webhelpers/webhelpers-1.3-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="WebHelpers"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Web Helpers"
+HOMEPAGE="http://webhelpers.groovie.org/ http://pypi.python.org/pypi/WebHelpers"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+RDEPEND=">=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/routes[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # https://bitbucket.org/bbangert/webhelpers/issue/67
+ sed \
+ -e '/import datetime/a import os' \
+ -e 's:"/tmp/feed":os.environ.get("TMPDIR", "/tmp") + "/feed":' \
+ -i tests/test_feedgenerator.py || die "sed failed"
+
+ epatch "${FILESDIR}"/mime9ad434b.patch
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake html -C docs
+}
+
+python_test() {
+ nosetests || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ pushd docs/_build/html > /dev/null
+ docinto html
+ insinto /usr/share/doc/${PF}/html
+ doins -r [a-z]* _static || die "Installation of documentation failed"
+ popd > /dev/null
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webob/Manifest b/dev-python/webob/Manifest
new file mode 100644
index 000000000000..f50f79d7357f
--- /dev/null
+++ b/dev-python/webob/Manifest
@@ -0,0 +1,2 @@
+DIST WebOb-1.4.1.tar.gz 671495 SHA256 12f8b98390befc47336d2c0e5bad9cc48609d808eabb3f8675dc1027a3a9e9db SHA512 71be0389018289884158c5f3b99d1e1185bd29ab975ea59008fd71bf1188d25130e1852422dcedf7ffe3303d87caf02d62a143229b9ae196dd62f64deb7f7328 WHIRLPOOL d2803552592813c4b5ea4291e9a3aac6aa26397b903a8372f8e1fd601d46fb5f7105dcfd42e14de974a352e75945bf61945e0f36928d6a3fd8afa8bdd195d35b
+DIST WebOb-1.4.tar.gz 633302 SHA256 0819838204e2a6823e42bf2227898fdf3f306f7619bf328e25855a0d1ca20399 SHA512 0cf1a21b7d863c355e445f0e9f898ffb1c4c39099532a86d830c1be5d84efc0c6f3e8151a283cfd1cb5bebcb1fe78a2b6b269cbc130863679a017565a2539a37 WHIRLPOOL abfc696b7f50a74edd3d84099365f802f5be0eddf56a1c128f6e026c30bdeddc1b58c6bb45d4281ee4fb3d7937888d8065b01f93a363c82cd9cd1834eb2378da
diff --git a/dev-python/webob/files/webob-1.0.7-tests.patch b/dev-python/webob/files/webob-1.0.7-tests.patch
new file mode 100644
index 000000000000..a86f88c69a93
--- /dev/null
+++ b/dev-python/webob/files/webob-1.0.7-tests.patch
@@ -0,0 +1,27 @@
+https://bitbucket.org/ianb/webob/issue/11
+https://bitbucket.org/ianb/webob/changeset/145b64e724eb
+
+--- tests/test_misc.py
++++ tests/test_misc.py
+@@ -130,7 +130,8 @@
+
+
+ def test_multidict_cgi():
+- fs = cgi.FieldStorage()
++ env = {'QUERY_STRING': ''}
++ fs = cgi.FieldStorage(environ=env)
+ fs.filename = '\xc3\xb8'
+ plain = MultiDict(key='\xc3\xb8', fs=fs)
+ ua = UnicodeMultiDict(multi=plain, encoding='utf-8')
+--- tests/test_multidict.py
++++ tests/test_multidict.py
+@@ -187,7 +187,8 @@
+ d = self._get_instance()
+ d.decode_keys = True
+
+- fs = cgi.FieldStorage()
++ env = {'QUERY_STRING': ''}
++ fs = cgi.FieldStorage(environ=env)
+ fs.name = 'a'
+ self.assertEqual(d._decode_value(fs).name, 'a')
+
diff --git a/dev-python/webob/files/webob-1.2.3-tests.patch b/dev-python/webob/files/webob-1.2.3-tests.patch
new file mode 100644
index 000000000000..4fc3fbab7c3c
--- /dev/null
+++ b/dev-python/webob/files/webob-1.2.3-tests.patch
@@ -0,0 +1,24 @@
+From 3a2c16f2f72dbca5ddfce7f649daf426c2125fed Mon Sep 17 00:00:00 2001
+From: Aaron DeVore <aaron.devore@gmail.com>
+Date: Tue, 30 Oct 2012 11:55:30 -0700
+Subject: [PATCH] Fix issue #75: depending on dict order in test_headers2
+
+---
+ tests/test_request.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_request.py b/tests/test_request.py
+index f219d36..3e38e7a 100644
+--- a/tests/test_request.py
++++ b/tests/test_request.py
+@@ -2662,7 +2662,7 @@ def test_headers2(self):
+ self.assertTrue(i in r.headers and
+ 'HTTP_'+i.upper().replace('-', '_') in r.environ)
+ r.headers = {'Server':'Apache'}
+- self.assertEqual(list(r.environ.keys()), ['a', 'HTTP_SERVER'])
++ self.assertEqual(set(r.environ.keys()), set(['a', 'HTTP_SERVER']))
+
+ def test_host_url(self):
+ # Request has a read only property host_url that combines several
+--
+1.8.1.6
diff --git a/dev-python/webob/metadata.xml b/dev-python/webob/metadata.xml
new file mode 100644
index 000000000000..b66579ea54e7
--- /dev/null
+++ b/dev-python/webob/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WebOb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/webob/webob-1.4.1.ebuild b/dev-python/webob/webob-1.4.1.ebuild
new file mode 100644
index 000000000000..0fa903e3a6c6
--- /dev/null
+++ b/dev-python/webob/webob-1.4.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=WebOb
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="WSGI request and response object"
+HOMEPAGE="http://webob.org/ http://pypi.python.org/pypi/WebOb"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" setup.py build_sphinx || die
+ fi
+}
+
+python_test() {
+ nosetests -w tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webob/webob-1.4.ebuild b/dev-python/webob/webob-1.4.ebuild
new file mode 100644
index 000000000000..819a069df051
--- /dev/null
+++ b/dev-python/webob/webob-1.4.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN=WebOb
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="WSGI request and response object"
+HOMEPAGE="http://webob.org/ http://pypi.python.org/pypi/WebOb"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+python_compile_all() {
+ if use doc; then
+ "${PYTHON}" setup.py build_sphinx || die
+ fi
+}
+
+python_test() {
+ nosetests -w tests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/sphinx/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webpy/Manifest b/dev-python/webpy/Manifest
new file mode 100644
index 000000000000..a47e989306e0
--- /dev/null
+++ b/dev-python/webpy/Manifest
@@ -0,0 +1 @@
+DIST web.py-0.37.tar.gz 90232 SHA256 748c7e99ad9e36f62ea19f7965eb7dd7860b530e8f563ed60ce3e53e7409a550 SHA512 766e24d9df6ab1c3a214156794a19c23fcb16ca7a4ee7586a7723f802eab2ba0b8cda4653c2504ef63f773609436ac12dfd40bbe6cf20e2f93bf95493f041628 WHIRLPOOL 4782dc9b4b894ee1787478a77c1afe193096046feeebbe5ce4f904c26d22d5814c606d2d0112614de1ab19851a2e40a78e56f74c1dc59f94ec9462fd33842110
diff --git a/dev-python/webpy/metadata.xml b/dev-python/webpy/metadata.xml
new file mode 100644
index 000000000000..6ee684afdb06
--- /dev/null
+++ b/dev-python/webpy/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ web.py provides small and simple web framework for
+ python. It is a convenient tool for small sized
+ websites.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-python/webpy/webpy-0.37-r1.ebuild b/dev-python/webpy/webpy-0.37-r1.ebuild
new file mode 100644
index 000000000000..99227579bdda
--- /dev/null
+++ b/dev-python/webpy/webpy-0.37-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="web.py"
+
+DESCRIPTION="A small and simple web framework for Python"
+HOMEPAGE="http://www.webpy.org http://pypi.python.org/pypi/web.py"
+SRC_URI="http://www.webpy.org/static/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/web.py-${PV}"
+
+python_test() {
+ local return_status="0" test tests="db http net template utils"
+ for test in ${tests}; do
+ echo "Running doctests in ${test}.py..."
+ "${PYTHON}" web/${test}.py || return_status="$?"
+ done
+ return "${return_status}"
+}
diff --git a/dev-python/webpy/webpy-0.37.ebuild b/dev-python/webpy/webpy-0.37.ebuild
new file mode 100644
index 000000000000..1380a9b33785
--- /dev/null
+++ b/dev-python/webpy/webpy-0.37.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+MY_PN="web.py"
+
+DESCRIPTION="A small and simple web framework for Python"
+HOMEPAGE="http://www.webpy.org http://pypi.python.org/pypi/web.py"
+SRC_URI="http://www.webpy.org/static/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 hppa x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}/web.py-${PV}"
+
+PYTHON_MODNAME="web"
+
+src_test() {
+ testing() {
+ local return_status="0" test tests="db http net template utils"
+ for test in ${tests}; do
+ echo "Running doctests in ${test}.py..."
+ "$(PYTHON)" web/${test}.py || return_status="$?"
+ done
+
+ return "${return_status}"
+ }
+ python_execute_function testing
+}
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
new file mode 100644
index 000000000000..99d29e31bba3
--- /dev/null
+++ b/dev-python/websocket-client/Manifest
@@ -0,0 +1,4 @@
+DIST websocket-client-0.21.0.tar.gz 190523 SHA256 0e279c371df0bc1b3a890a31e90631e03c11ea596e00fd53524f03a5fb972d3d SHA512 cd6ae58226890dd94e03d3d348a5ec83c1b7a5a0e8b353cf28db9b5a78131ecbc84755ba9925fe9c90a90388f03d6e9a535960a13c53536f6b4fe4effbbc736c WHIRLPOOL 4732ad6e839e14f68a0a2070171f724a912f00d2d76003cb23a6253560a2aab51a34525e0cf98ebd7e045e326052b8aa4c7497d384e807f493f99a125e323dd0
+DIST websocket-client-0.29.0.tar.gz 190908 SHA256 abfcb1a8dff4df1b12db4c227d3f4f38a68b42c35a8bca9d2bee10f8eae2b434 SHA512 012cb3eed454a86aa3ded2beede283600df4db0dcd4e2ce4fd25b10e1127c39e7ff7bb916f11f0349a0473eaa742a931fae0e5c86fcda23418827e29a4069dca WHIRLPOOL 0b48022bfd4718c2a033e818c82b4122644564e1c88d8cd6633ebb5e220858997e9851be48ad50f4a0a55ba7c2247e5ef07a957b85921e727c162245bdfa3bbc
+DIST websocket-client-0.31.0.tar.gz 192146 SHA256 ddbba49fe9f185dec6a80a536831fa781e10e1d946eef20ebcccd75b943c6ea6 SHA512 899fb3534f76f044b5f550282a05df7d58423b1108cc3134a7b1701c03c673c5e036435218a2931330e800b3060e287f7ad87133e54b0735db1c1581e219f222 WHIRLPOOL d440db59c5f5290e81f614eb1d68d66843b3f06b7c4d7de45c61675143d26f8b507d89c8bd76923dac09f5a117c98ed8239a4acf9ee84a9e0955850c0afe5390
+DIST websocket-client-0.32.0.tar.gz 192180 SHA256 cb3ab95617ed2098d24723e3ad04ed06c4fde661400b96daa1859af965bfe040 SHA512 648b5ea6bbf5b402004d0dcaa3d5242580efb7803a6cbadc20448fcdedb0097508d747c6ba67d4df9e289f3917ad6e09698b0fbf1330e073e14d369cfdb98bd3 WHIRLPOOL b24791a7c3eb2994f60c5743eb858dd0b02a0c3ea36a70b1c4a0434276a19a4a73893fcf1aac6cc05ea489469cdc6a9d4d4cd1be4e906817046b711e5c3d083e
diff --git a/dev-python/websocket-client/metadata.xml b/dev-python/websocket-client/metadata.xml
new file mode 100644
index 000000000000..726606ed6410
--- /dev/null
+++ b/dev-python/websocket-client/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">websocket-client</remote-id>
+ <remote-id type="github">liris/websocket-client</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/websocket-client/websocket-client-0.21.0.ebuild b/dev-python/websocket-client/websocket-client-0.21.0.ebuild
new file mode 100644
index 000000000000..889ab1c8bcbf
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-0.21.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 pypy )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="WebSocket client for python. hybi13 is supported"
+HOMEPAGE="https://github.com/liris/websocket-client"
+SRC_URI="https://github.com/liris/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' 'python2*' )
+"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/websocket-client/websocket-client-0.29.0.ebuild b/dev-python/websocket-client/websocket-client-0.29.0.ebuild
new file mode 100644
index 000000000000..92d7d679d383
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-0.29.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+MY_PN=${PN//-/_}
+
+DESCRIPTION="WebSocket client for python. hybi13 is supported"
+HOMEPAGE="https://github.com/liris/websocket-client"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' 'python2*' )
+"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/websocket-client/websocket-client-0.31.0.ebuild b/dev-python/websocket-client/websocket-client-0.31.0.ebuild
new file mode 100644
index 000000000000..92d7d679d383
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-0.31.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+MY_PN=${PN//-/_}
+
+DESCRIPTION="WebSocket client for python. hybi13 is supported"
+HOMEPAGE="https://github.com/liris/websocket-client"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' 'python2*' )
+"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/websocket-client/websocket-client-0.32.0.ebuild b/dev-python/websocket-client/websocket-client-0.32.0.ebuild
new file mode 100644
index 000000000000..92d7d679d383
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-0.32.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+MY_PN=${PN//-/_}
+
+DESCRIPTION="WebSocket client for python. hybi13 is supported"
+HOMEPAGE="https://github.com/liris/websocket-client"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/backports-ssl-match-hostname[${PYTHON_USEDEP}]' 'python2*' )
+"
+
+python_test() {
+ esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/websockify/Manifest b/dev-python/websockify/Manifest
new file mode 100644
index 000000000000..7d7f912b8c88
--- /dev/null
+++ b/dev-python/websockify/Manifest
@@ -0,0 +1 @@
+DIST websockify-0.6.0.zip 312980 SHA256 09fd696fc528fcc915e66d43006c4e73e4e009233724d45e365ada1f8b01251c SHA512 f7792b0140fd5170b39dd0cabdf176ea8db43b148068ec336ddf61b70e166f6f935411901675c13657efee7e9cdf4de78bc74b0e371ce91811098b16a11a2915 WHIRLPOOL 46199706a3c8988aa7aec6018ee5defe50a289023132f48bd5d48ed486e17317b7b3a1661e367b818e2cd9445eabd3672f25155f1117ddb641be9ecb9a54ca46
diff --git a/dev-python/websockify/metadata.xml b/dev-python/websockify/metadata.xml
new file mode 100644
index 000000000000..07db39f04d75
--- /dev/null
+++ b/dev-python/websockify/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ WebSockets support for any application/server
+ </longdescription>
+ <upstream>
+ <remote-id type="github">kanaka/websockify</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/websockify/websockify-0.6.0.ebuild b/dev-python/websockify/websockify-0.6.0.ebuild
new file mode 100644
index 000000000000..265d0d051f5f
--- /dev/null
+++ b/dev-python/websockify/websockify-0.6.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+SRC_URI="https://github.com/kanaka/${PN}/archive/v${PV}.zip -> ${P}.zip"
+DESCRIPTION="WebSockets support for any application/server"
+HOMEPAGE="https://github.com/kanaka/websockify"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
diff --git a/dev-python/webtest/Manifest b/dev-python/webtest/Manifest
new file mode 100644
index 000000000000..2469a75672e9
--- /dev/null
+++ b/dev-python/webtest/Manifest
@@ -0,0 +1,4 @@
+DIST WebTest-1.4.3.zip 80008 SHA256 0439d951afdf6c58d19e0a83e30855d0bb7e35ab177d9261add71fc5a724b6ab SHA512 87436f182edc3178481f4ec3d073399784e353d6480790470891a18d3605c2bb5a1f4effe0ffa0ce241f1256e99f1a4e3e5fcd2896acb8931aeb60a88fa2bfa2 WHIRLPOOL e509a71a213b9085473536afb51142c4cd9fe99b52870139498fe5b68e8326e8b23df9af3502f0d3ebffbe0076165564d38ef143d9b229bb94b23bb857ca6fe9
+DIST WebTest-2.0.16.zip 88232 SHA256 24ad0c9ee377f16df4d0bd626a64a75eec901852ac788bdb70e0261bff0026eb SHA512 da09abba8ed52c8d673acf547f47df6919b534b33b746944610fc78bd3695f36e3718f89e68f8aec7852b6cf98da0f0b5500dfe9427fd7926e5304ad216eafbb WHIRLPOOL 68d392000c8767ef9b5d4cc657bd6e99ec75eb4cb20cacdabdcca87942894b290f957854fb7dfb7c9eb8312877575c4e4d258e78c05f985e972b02ee04ec2643
+DIST WebTest-2.0.17.zip 88435 SHA256 36457f708a57e4295a2c05aaf47b620b66e25429dd9170c59d0718ff7934a0b7 SHA512 5a1e26108af1cb5fc5db10bf10a48c98815ccacb84c692ecedfc6ef02427bedaa3bdfc466a89faa51c82474da2bd393aae5f17821c516966999c5d2e5f12628d WHIRLPOOL 2c7c504fd6087cc116f28de8113f456901535d6d098845bc1b3551264ee9ea5c7bc9fad4699015eecb974a0423edf60e0715d93025ed3d05da91a6235dc6e1fb
+DIST WebTest-2.0.18.zip 88440 SHA256 beb569e6d707cb4cd82c226c97b7e1f41cd62bae656d89e687107eef8376c7fd SHA512 98f61325a2cb0db3c0aec317f3acf8a741531fece33fa359615cdee8738cb2c4523156971c1fd420c900b0d3ece4adc15f2e77975f40376f0e58370ff7b5fe79 WHIRLPOOL 5057d1c1518656f4869a6baa41617815972044b91b2dbc8d56b2adcb379fefcf01de57b90cd7ee98664c004619f2170d5a6f0fd9a175a83ef758af0ee7d5c48c
diff --git a/dev-python/webtest/files/webtest-1.3-doctest-ellipsis.patch b/dev-python/webtest/files/webtest-1.3-doctest-ellipsis.patch
new file mode 100644
index 000000000000..38b01ae215b0
--- /dev/null
+++ b/dev-python/webtest/files/webtest-1.3-doctest-ellipsis.patch
@@ -0,0 +1,38 @@
+diff --git a/docs/index.txt b/docs/index.txt
+index f472102..1edf711 100644
+--- a/docs/index.txt
++++ b/docs/index.txt
+@@ -271,7 +271,7 @@ Then you can submit:
+ >>> res = form.submit()
+ >>> # Or submit a button:
+ >>> res = form.submit('submit')
+- >>> print(res)
++ >>> print(res) # doctest:+ELLIPSIS
+ Response: 200 OK
+ Content-Type: text/plain
+ ...
+@@ -331,7 +331,7 @@ Examples:
+ <class 'BeautifulSoup.BeautifulSoup'>
+ >>> res.html.body.div.string
+ u'hey!'
+- >>> res.lxml
++ >>> res.lxml # doctest:+ELLIPSIS
+ <Element html at ...>
+ >>> res.lxml.xpath('//body/div')[0].text
+ 'hey!'
+@@ -343,13 +343,13 @@ Examples:
+ >>> res = TestResponse(content_type='application/xml',
+ ... body='<xml><message>hey!</message></xml>')
+ >>> res.request = TestRequest.blank('/')
+- >>> res.xml
++ >>> res.xml # doctest:+ELLIPSIS
+ <Element ...>
+ >>> res.xml[0].tag
+ 'message'
+ >>> res.xml[0].text
+ 'hey!'
+- >>> res.lxml
++ >>> res.lxml # doctest:+ELLIPSIS
+ <Element xml at ...>
+ >>> res.lxml[0].tag
+ 'message' \ No newline at end of file
diff --git a/dev-python/webtest/files/webtest-1.3.4-index_fixt.patch b/dev-python/webtest/files/webtest-1.3.4-index_fixt.patch
new file mode 100644
index 000000000000..5cb75c7ea138
--- /dev/null
+++ b/dev-python/webtest/files/webtest-1.3.4-index_fixt.patch
@@ -0,0 +1,13 @@
+--- /dev/null 2012-05-03 18:34:53.288000099 +0800
++++ docs/index_fixt.py 2012-05-07 00:07:55.392854158 +0800
+@@ -0,0 +1,10 @@
++# -*- coding: utf-8 -*-
++from doctest import ELLIPSIS
++
++
++def setup_test(test):
++ for example in test.examples:
++ example.options.setdefault(ELLIPSIS, 1)
++
++setup_test.__test__ = False
++
diff --git a/dev-python/webtest/files/webtest-1.4.3-doctest.patch b/dev-python/webtest/files/webtest-1.4.3-doctest.patch
new file mode 100644
index 000000000000..15b65c517079
--- /dev/null
+++ b/dev-python/webtest/files/webtest-1.4.3-doctest.patch
@@ -0,0 +1,15 @@
+This doctest relies on dictionary key order, so remove it.
+--- a/docs/index.txt
++++ b/docs/index.txt
+@@ -321,11 +321,6 @@
+ <Element html at ...>
+ >>> res.lxml.xpath('//body/div')[0].text
+ 'hey!'
+- >>> res = TestResponse(content_type='application/json',
+- ... body=b'{"a":1,"b":2}')
+- >>> res.request = TestRequest.blank('/')
+- >>> list(res.json.values())
+- [1, 2]
+ >>> res = TestResponse(content_type='application/xml',
+ ... body=b'<xml><message>hey!</message></xml>')
+ >>> res.request = TestRequest.blank('/')
diff --git a/dev-python/webtest/metadata.xml b/dev-python/webtest/metadata.xml
new file mode 100644
index 000000000000..3fcee65b5fb1
--- /dev/null
+++ b/dev-python/webtest/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WebTest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/webtest/webtest-1.4.3-r1.ebuild b/dev-python/webtest/webtest-1.4.3-r1.ebuild
new file mode 100644
index 000000000000..89f842048e91
--- /dev/null
+++ b/dev-python/webtest/webtest-1.4.3-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MY_PN="WebTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="http://pythonpaste.org/webtest/ http://pypi.python.org/pypi/WebTest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ia64 ppc ~ppc64 s390 sh sparc x86 ~x86-fbsd"
+IUSE="doc test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND=">=dev-python/webob-0.9.2[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}/webtest-1.4.3-doctest.patch" )
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ # Tests raise ImportErrors with our default PYTHONPATH.
+ unset PYTHONPATH
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ if [[ ${EPYTHON} == python3* ]]; then
+ rm -f "${D}$(python_get_sitedir)"/webtest/lint3.py
+ fi
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webtest/webtest-2.0.16.ebuild b/dev-python/webtest/webtest-2.0.16.ebuild
new file mode 100644
index 000000000000..d23c11372d0d
--- /dev/null
+++ b/dev-python/webtest/webtest-2.0.16.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="WebTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="http://pythonpaste.org/webtest/ http://pypi.python.org/pypi/WebTest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 x86"
+IUSE="doc test"
+
+#nose<1.3.0
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/waitress-0.8.5[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Makes testing easier; otherwise we get errors from pkg_resources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -s 's:intersphinx_mapping:_&:' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+src_test() {
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
+
+python_test() {
+ # Tests raise ImportErrors with our default PYTHONPATH.
+ local -x PYTHONPATH=
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webtest/webtest-2.0.17.ebuild b/dev-python/webtest/webtest-2.0.17.ebuild
new file mode 100644
index 000000000000..559939211820
--- /dev/null
+++ b/dev-python/webtest/webtest-2.0.17.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="WebTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="http://pythonpaste.org/webtest/ http://pypi.python.org/pypi/WebTest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+# nose<1.3.0 appears a leftover never updated in requires.txt. tests pass fine with latest
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/waitress-0.8.5[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Makes testing easier; otherwise we get errors from pkg_resources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -s 's:intersphinx_mapping:_&:' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+python_test() {
+ # Tests raise ImportErrors with our default PYTHONPATH.
+ local -x PYTHONPATH=
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webtest/webtest-2.0.18.ebuild b/dev-python/webtest/webtest-2.0.18.ebuild
new file mode 100644
index 000000000000..0b9b7cadff0d
--- /dev/null
+++ b/dev-python/webtest/webtest-2.0.18.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="WebTest"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Helper to test WSGI applications"
+HOMEPAGE="http://pythonpaste.org/webtest/ http://pypi.python.org/pypi/WebTest"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+# nose<1.3.0 appears a leftover never updated in requires.txt. tests pass fine with latest
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/waitress-0.8.5[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ dev-python/pastedeploy[${PYTHON_USEDEP}]
+ dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 )
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Makes testing easier; otherwise we get errors from pkg_resources.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ # Prevent un-needed d'loading during doc build
+ sed -s 's:intersphinx_mapping:_&:' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ sphinx-build docs html || die
+ fi
+}
+
+python_test() {
+ # Tests raise ImportErrors with our default PYTHONPATH.
+ local -x PYTHONPATH=
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webut/Manifest b/dev-python/webut/Manifest
new file mode 100644
index 000000000000..8f0a74d26bc4
--- /dev/null
+++ b/dev-python/webut/Manifest
@@ -0,0 +1 @@
+DIST webut_0.1-0.2.tar.gz 11142 SHA256 e133b6d8cd8d0c46290a2de3f59cb8f8ffb17301bf86fb5d318ad0ad21fea73b SHA512 14801e3546e17f07328faee1df6708050702de75454e4eb2ad1fca2d72faf9a3228082f3d82a01a2810ba0fe15dacaee8fb556adff811596a1349eea61faeaed WHIRLPOOL 6d2455c75ce02f9aecc9f182e7b209b3df76a70a9b0518f11d5c4d9f7147a35b511f63fab9ced584938511a3c7cb8918bb670f12c2ec8e0654475a4ddf6eb939
diff --git a/dev-python/webut/metadata.xml b/dev-python/webut/metadata.xml
new file mode 100644
index 000000000000..301d2207cc29
--- /dev/null
+++ b/dev-python/webut/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+</pkgmetadata>
diff --git a/dev-python/webut/webut-0.1.0.2-r1.ebuild b/dev-python/webut/webut-0.1.0.2-r1.ebuild
new file mode 100644
index 000000000000..7bef4ed25200
--- /dev/null
+++ b/dev-python/webut/webut-0.1.0.2-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 versionator
+
+MY_P=${PN}_$(replace_version_separator 2 '-')
+
+DESCRIPTION="Miscellaneous utilities for nevow and twisted.web programming"
+HOMEPAGE="http://www.inoi.fi/open/trac/webut"
+SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND=">=dev-python/nevow-0.9.18[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-2[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-3.0.1[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-2)"
+
+python_install_all() {
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webut/webut-0.1.0.2.ebuild b/dev-python/webut/webut-0.1.0.2.ebuild
new file mode 100644
index 000000000000..4031e1365a00
--- /dev/null
+++ b/dev-python/webut/webut-0.1.0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit distutils versionator
+
+MY_P=${PN}_$(replace_version_separator 2 '-')
+
+DESCRIPTION="Miscellaneous utilities for nevow and twisted.web programming"
+HOMEPAGE="http://www.inoi.fi/open/trac/webut"
+SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc sparc x86"
+IUSE="examples"
+
+RDEPEND=">=dev-python/nevow-0.9.18
+ >=dev-python/twisted-core-2
+ >=dev-python/zope-interface-3.0.1"
+DEPEND="${RDEPEND}"
+RESTRICT_PYTHON_ABIS="3.*"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-2)"
+
+src_install() {
+ distutils_src_install
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+
+ rm -rf "${D}/examples"
+}
diff --git a/dev-python/wehjit/Manifest b/dev-python/wehjit/Manifest
new file mode 100644
index 000000000000..f2e26987233a
--- /dev/null
+++ b/dev-python/wehjit/Manifest
@@ -0,0 +1 @@
+DIST wehjit-0.2.2.tar.gz 100515 SHA256 71e16919ff816bc06492647a7e3eda9619bb04ba8fb729f97106131126e9d1fb SHA512 f8fb2edeeb9e90315d3c8f1e9e7d73d556fcad780c4dea637599291b2094e292a42b6f3671407f3d9d88733894501796484fa05ac52f3c1f3e1cb29d376a87fb WHIRLPOOL a1909009f0445de5d7c323ee05ab39a76f127ab89d3c9a96205f125b88277e3068ea3e2b3548cbadb69ddab7c5cc17dd87d8895c948bdd4adc00cf06bd949009
diff --git a/dev-python/wehjit/files/wehjit-0.2.2-SkipTest.patch b/dev-python/wehjit/files/wehjit-0.2.2-SkipTest.patch
new file mode 100644
index 000000000000..057d70747e74
--- /dev/null
+++ b/dev-python/wehjit/files/wehjit-0.2.2-SkipTest.patch
@@ -0,0 +1,23 @@
+diff -ur wehjit-0.2.2.orig/wehjit/collection.py wehjit-0.2.2/wehjit/collection.py
+--- wehjit/collection.py 2010-02-11 16:26:14.000000000 +0800
++++ wehjit/collection.py 2012-11-08 14:24:40.326482713 +0800
+@@ -22,6 +22,11 @@
+ Collect widget plugins together in a `Collection`.
+ """
+
++import sys
++if sys.version_info[:2] == (2, 7):
++ import unittest
++else:
++ import unittest2 as unittest
+ import inspect
+ import os
+ from os import path
+@@ -130,6 +135,7 @@
+ """
+ return name in self.__plugins
+
++ @unittest.skip("Plugin not in gentoo")
+ def __getitem__(self, name):
+ """
+ Return the plugin named ``name``.
diff --git a/dev-python/wehjit/metadata.xml b/dev-python/wehjit/metadata.xml
new file mode 100644
index 000000000000..a0dee8239a94
--- /dev/null
+++ b/dev-python/wehjit/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<herd>python</herd>
+<maintainer>
+ <email>andreis.vinogradovs@gmail.com</email>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+<longdescription>
+ wehjit is a Python library for for building XHTML widgets for web
+ applications and web pages. It encapsulates the XHTML
+ (a Genshi XML template), CSS, and JavaScript for each widget into a plugin
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/wehjit/wehjit-0.2.2-r1.ebuild b/dev-python/wehjit/wehjit-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..41f5f303bcb5
--- /dev/null
+++ b/dev-python/wehjit/wehjit-0.2.2-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python web-widget library"
+HOMEPAGE="http://jderose.fedorapeople.org/wehjit"
+SRC_URI="http://jderose.fedorapeople.org/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="test"
+
+RDEPEND="dev-python/genshi
+ dev-python/assets[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}"
+
+DOCS=( README NEWS )
+
+PATCHES=( "${FILESDIR}"/${P}-SkipTest.patch )
+
+python_test() {
+ if [[ "${EPYTHON:6:3}" == '2.6' ]]; then
+ nosetests -I test_app* -e=*getitem
+ else
+ nosetests
+ fi
+}
diff --git a/dev-python/werkzeug/Manifest b/dev-python/werkzeug/Manifest
new file mode 100644
index 000000000000..f0d48f5a2d08
--- /dev/null
+++ b/dev-python/werkzeug/Manifest
@@ -0,0 +1,5 @@
+DIST Werkzeug-0.10.1.tar.gz 1134481 SHA256 9cf783990b1a99173e707a5768610800aa87775e9d86e211d17180d5b6c245ab SHA512 f7175d03f564385c7556e6f9f4195c0c2643510490f28a3a33fd4e2c4f3f2fcc408c3dd6b56644a6fa5cd4e22639cb3f51ce71081c36704f90ce3cbfa0083cdc WHIRLPOOL 19bdaa872f1032bc43d069d167da15f5094054caa02ac3b3971600a27a9bdb0f83bcede720360cb4da36db10fe0c1ed48d4e8a2051cdb2e63df07a5d37d8b9ac
+DIST Werkzeug-0.10.4.tar.gz 1137282 SHA256 9d2771e4c89be127bc4bac056ab7ceaf0e0064c723d6b6e195739c3af4fd5c1d SHA512 d1285521f144a569f86e8f4089fe8001f60dd4ffd87856f761338be81bc328adc5eca5bb7cd06b4f9c96e6e46dc1a283198f37a70033ca78183915c3da2c4f47 WHIRLPOOL c3f3a21550e26407db28470cf539c8060c01359724613993b387f0a54435dcefc14cfbf7e4b12839e8f9b3a1421e34183f20d2d1e36a4106544ac76cd2ac22b1
+DIST Werkzeug-0.10.tar.gz 1133931 SHA256 9a97a6fcf87390172748da9e5250710b352dff18e979db925d276112cdcfa7ac SHA512 fc9872892ce02b3501a0edc0ea25a1edd793af61e0c268de80e465fb6ecee6f95c323a624fb2f71903c28a4b743012e3a48d23652172e7c4bc7305c797d4fee5 WHIRLPOOL 77a6a71a9c8d8ea55970f8a30569bf2964ebdb762c97fd8d92516a08aac1a53efcb115ad0ee10ee952be93b4732067680844a463d33ff69207454f2046594b3f
+DIST Werkzeug-0.9.4.tar.gz 1126353 SHA256 c1baf7a3e8be70f34d931ee173283f406877bd3d17f372bbe82318a5b3c510cc SHA512 3d43ecac7c4a710bb22a0b829925d0913ac36b98e63ee1000221b724f9f06d92f98716194f26fb762b2ba99cbb82b9d23ff4d23dbf9ac154063452c56f6290dd WHIRLPOOL 649336fdfdf6da0ebf2ea906faf9f40a1d13dabf31ecfe189fd7646cf32ba1f73aabbccfb6574502465347d70d2612f75ea20eb1c9b19602317c64279112990b
+DIST Werkzeug-0.9.6.tar.gz 1128428 SHA256 7f11e7e2e73eb22677cac1b11113eb6106f66cedef13d140e83cf6563c90b79c SHA512 0b36df25d5f69a0353f7a9321b9197ace2926b6d8e983a91ef372c270ff51462f7d86184447a5f74b4ad05ffdc6411098f77b45a4f1c906dd525d7edf220399c WHIRLPOOL db153036e9dc36c70239001a6b451adeaafa3819f4903bb8c297bb4313c9a064926a2aad6e4457810b53796b3e492228a9ee1ec165fe5dce0522ab0d2c7407f9
diff --git a/dev-python/werkzeug/metadata.xml b/dev-python/werkzeug/metadata.xml
new file mode 100644
index 000000000000..ae3c03dafb15
--- /dev/null
+++ b/dev-python/werkzeug/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<longdescription>
+ Werkzeug is a WSGI utility library. It can serve as the basis for a
+ custom framework.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">Werkzeug</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/dev-python/werkzeug/werkzeug-0.10.1.ebuild b/dev-python/werkzeug/werkzeug-0.10.1.ebuild
new file mode 100644
index 000000000000..3f47a9c45ce4
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-0.10.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Werkzeug"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/requests[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/werkzeug/werkzeug-0.10.4.ebuild b/dev-python/werkzeug/werkzeug-0.10.4.ebuild
new file mode 100644
index 000000000000..3f47a9c45ce4
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-0.10.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Werkzeug"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/requests[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/werkzeug/werkzeug-0.10.ebuild b/dev-python/werkzeug/werkzeug-0.10.ebuild
new file mode 100644
index 000000000000..3f47a9c45ce4
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-0.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Werkzeug"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="test"
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/requests[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/werkzeug/werkzeug-0.9.4.ebuild b/dev-python/werkzeug/werkzeug-0.9.4.ebuild
new file mode 100644
index 000000000000..ebddfdc7c2db
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-0.9.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Werkzeug"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/werkzeug/werkzeug-0.9.6.ebuild b/dev-python/werkzeug/werkzeug-0.9.6.ebuild
new file mode 100644
index 000000000000..64675839e400
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-0.9.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Werkzeug"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="dev-python/simplejson[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/wheel/Manifest b/dev-python/wheel/Manifest
new file mode 100644
index 000000000000..be4417b944e1
--- /dev/null
+++ b/dev-python/wheel/Manifest
@@ -0,0 +1 @@
+DIST wheel-0.24.0.tar.gz 50597 SHA256 ef832abfedea7ed86b6eae7400128f88053a1da81a37c00613b1279544d585aa SHA512 9990e6bb6e42eebdac26ce75cee13e3b3da293520b2b25fad6dd328b920ce484bcf238ab7f9092d4ac565e26833b164b1ad5b8b258c824ff07daede127b17283 WHIRLPOOL faf13ddf756910558fd13d3b9eae399e488cd1938998c58a1ac3117aa7843480da5aab7c8454d67596cac8f524e23c4465e0ee9d2499a6af4afd2017c6b5314d
diff --git a/dev-python/wheel/metadata.xml b/dev-python/wheel/metadata.xml
new file mode 100644
index 000000000000..5f34195aa2ab
--- /dev/null
+++ b/dev-python/wheel/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">wheel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wheel/wheel-0.24.0.ebuild b/dev-python/wheel/wheel-0.24.0.ebuild
new file mode 100644
index 000000000000..9d7951f0b55c
--- /dev/null
+++ b/dev-python/wheel/wheel-0.24.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A built-package format for Python"
+HOMEPAGE="https://pypi.python.org/pypi/wheel"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
diff --git a/dev-python/whirlpool/Manifest b/dev-python/whirlpool/Manifest
new file mode 100644
index 000000000000..9c9c4c885592
--- /dev/null
+++ b/dev-python/whirlpool/Manifest
@@ -0,0 +1 @@
+DIST Whirlpool-0.3.tar.gz 34508 SHA256 27702b350b0cb6ea944cbe048419b48e0a66186fd89e0ef1b293d92dbd05f551 SHA512 d9fed84ff0af885534e70f537c0c17f19ad46d31b2b1d77749328e6cba37a805bb8e178539d09a479b0d7a7e93d11f69858db5b3fdc6c3fad9a89fc727004770 WHIRLPOOL 6c25f8fbeec916e65b594da51a28cabbc6a982e82eea3a0d76e71b8a9b46d98cef0f8d733e5c43d0716f878c9a86177918ebba6612d4007777362e53956604ca
diff --git a/dev-python/whirlpool/files/tests.py b/dev-python/whirlpool/files/tests.py
new file mode 100644
index 000000000000..521148b33edb
--- /dev/null
+++ b/dev-python/whirlpool/files/tests.py
@@ -0,0 +1,96 @@
+import unittest
+
+import whirlpool
+
+from binascii import b2a_hex
+
+
+results = {
+ 'empty' : '19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3',
+ 'tqbfjotld' : 'b97de512e91e3828b40d2b0fdce9ceb3c4a71f9bea8d88e75c4fa854df36725fd2b52eb6544edcacd6f8beddfea403cb55ae31f03ad62a5ef54e42ee82c3fb35',
+ 'tqbfjotle' : 'c27ba124205f72e6847f3e19834f925cc666d0974167af915bb462420ed40cc50900d85a1f923219d832357750492d5c143011a76988344c2635e69d06f2d38c',
+ 'tqbf' : '317edc3c5172ea5987902aa9c4f1defedf4d5aa59209bdf7574cc6da0039852c24b8da70ecb07997ff83e86d32d2851215d3dcbd6bb9736bdef21c349d483e6d',
+}
+
+
+class TestWhirlpool(unittest.TestCase):
+
+ def test_hash_empty(self):
+ self.assertEqual(b2a_hex(whirlpool.hash('')), results['empty'])
+
+ def test_hash_fox(self):
+ self.assertEqual(
+ b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy dog')),
+ results['tqbfjotld'])
+ self.assertEqual(
+ b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy eog')),
+ results['tqbfjotle'])
+
+ def test_new_empty(self):
+ wp = whirlpool.new()
+ self.assertEqual(b2a_hex(wp.digest()), results['empty'])
+ self.assertEqual(wp.hexdigest(), results['empty'])
+
+ def test_new_fox(self):
+ wp1 = whirlpool.new('The quick brown fox jumps over the lazy dog')
+ self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
+ self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
+
+ wp2 = whirlpool.new('The quick brown fox jumps over the lazy eog')
+ self.assertEqual(b2a_hex(wp2.digest()), results['tqbfjotle'])
+ self.assertEqual(wp2.hexdigest(), results['tqbfjotle'])
+
+ def test_update_copy(self):
+ wp1 = whirlpool.new()
+ wp2 = wp1.copy()
+ wp1.update('The quick brown fox')
+ wp3 = wp1.copy()
+
+ self.assertEqual(b2a_hex(wp1.digest()), results['tqbf'])
+ self.assertEqual(wp1.hexdigest(), results['tqbf'])
+
+ self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
+ self.assertEqual(wp2.hexdigest(), results['empty'])
+
+ self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
+ self.assertEqual(wp3.hexdigest(), results['tqbf'])
+
+ wp1.update(' jumps over the lazy dog')
+
+ self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
+ self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
+
+ self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
+ self.assertEqual(wp2.hexdigest(), results['empty'])
+
+ self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
+ self.assertEqual(wp3.hexdigest(), results['tqbf'])
+
+ wp3.update(' jumps over the lazy eog')
+
+ self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
+ self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
+
+ self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
+ self.assertEqual(wp2.hexdigest(), results['empty'])
+
+ self.assertEqual(b2a_hex(wp3.digest()), results['tqbfjotle'])
+ self.assertEqual(wp3.hexdigest(), results['tqbfjotle'])
+
+ def test_digest_size(self):
+ wp = whirlpool.new()
+ self.assertEqual(wp.digest_size, 64)
+ with self.assertRaisesRegexp(AttributeError,
+ 'digest_size.*not writable'):
+ wp.digest_size = 32
+
+ def test_block_size(self):
+ wp = whirlpool.new()
+ self.assertEqual(wp.block_size, 64)
+ with self.assertRaisesRegexp(AttributeError,
+ 'block_size.*not writable'):
+ wp.block_size = 32
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/dev-python/whirlpool/metadata.xml b/dev-python/whirlpool/metadata.xml
new file mode 100644
index 000000000000..67014b12f251
--- /dev/null
+++ b/dev-python/whirlpool/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Whirlpool</remote-id>
+ <remote-id type="github">radiosilence/python-whirlpool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/whirlpool/whirlpool-0.3-r1.ebuild b/dev-python/whirlpool/whirlpool-0.3-r1.ebuild
new file mode 100644
index 000000000000..bbf016d5c6dd
--- /dev/null
+++ b/dev-python/whirlpool/whirlpool-0.3-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="Whirlpool"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Bindings for whirlpool hash reference implementation"
+HOMEPAGE="https://pypi.python.org/pypi/Whirlpool https://github.com/radiosilence/python-whirlpool"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="public-domain"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ sed \
+ -e "/data_files/s:whirlpool:share/whirlpool:g" \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ ${PYTHON} "${FILESDIR}"/tests.py || die
+}
diff --git a/dev-python/whisper/Manifest b/dev-python/whisper/Manifest
new file mode 100644
index 000000000000..73445e31e2cb
--- /dev/null
+++ b/dev-python/whisper/Manifest
@@ -0,0 +1 @@
+DIST whisper-0.9.13.tar.gz 14028 SHA256 6ba106b7271a69ead72b63f6dd5192aa1816cbec376caa491b4e63af28c17262 SHA512 b4b46bb7f31ecb766495f5f592fb2f9a754f5f38f83f071b533d4302b95808b9b4046bf7769bfa0d7713633344c7c693b57dd550b52acec4617257eba68634c1 WHIRLPOOL c9fdffdcd1bb539037a2e880a82335020c05d2196033842b2da1eb84809184747e7454b3696b11cf3fe9877bf313dea27cac47f7d784b01e9c8fc06796e1e499
diff --git a/dev-python/whisper/metadata.xml b/dev-python/whisper/metadata.xml
new file mode 100644
index 000000000000..ddac9f5cb8f8
--- /dev/null
+++ b/dev-python/whisper/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">whisper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/whisper/whisper-0.9.13.ebuild b/dev-python/whisper/whisper-0.9.13.ebuild
new file mode 100644
index 000000000000..fae73fe869fd
--- /dev/null
+++ b/dev-python/whisper/whisper-0.9.13.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixed size round-robin style database"
+HOMEPAGE="http://graphite.wikidot.com/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE=""
diff --git a/dev-python/whoosh/Manifest b/dev-python/whoosh/Manifest
new file mode 100644
index 000000000000..f842eddb744e
--- /dev/null
+++ b/dev-python/whoosh/Manifest
@@ -0,0 +1,2 @@
+DIST Whoosh-2.6.0.zip 1193541 SHA256 7de7bc4d00a6d051dbb360b48eb7f3cd002373d87252fb0b284a3c9c453a7677 SHA512 e50e47ec0d1c65ad3c7d657586f5380a1be748945c1ce964305fa68b99379f0da676faef6f0ca45ef151df7be71150601162ee966f3aaf84047a20bca36f7e37 WHIRLPOOL c42e9760833db7186f3df5946f6dd071288cfccf2eaefba95520a2415ca377c49cf74307b3fa2c9e655f134b086ae637e5db06330248b4a27e12175920f3c7b8
+DIST Whoosh-2.7.0.zip 1080985 SHA256 733df1ad4142fcd1e8f3259070de0521d272d7685e2febc0f4fdd1668cfe0d48 SHA512 5126a9ed5ef50af391905347c7aa1c1cc7d100213c29f5a5f67fcfabab9cdcfcd14a6b75735df8e343f61254d1fec8610f0e1260167a321ab303a0a55b02673f WHIRLPOOL 6a35448280e3c6382b8a4b50432d5def3a910d9af95d35afc11544030b69f0103aae910bbf91cb5942ec80f10a848bbd32dbd828c71482f5e2fc15a9cd29c249
diff --git a/dev-python/whoosh/metadata.xml b/dev-python/whoosh/metadata.xml
new file mode 100644
index 000000000000..861b39a466ef
--- /dev/null
+++ b/dev-python/whoosh/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergström</name>
+ </maintainer>
+ <longdescription lang="en">
+ Whoosh is a fast, featureful full-text indexing and searching
+ library implemented in pure Python. Programmers can use it to
+ easily add search functionality to their applications and websites.
+ Every part of how Whoosh works can be extended or replaced to meet
+ your needs exactly.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">Whoosh</remote-id>
+ <remote-id type="bitbucket">mchaput/whoosh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/whoosh/whoosh-2.6.0.ebuild b/dev-python/whoosh/whoosh-2.6.0.ebuild
new file mode 100644
index 000000000000..4363ff49035f
--- /dev/null
+++ b/dev-python/whoosh/whoosh-2.6.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+MY_PN="Whoosh"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, pure-Python full text indexing, search and spell checking library"
+HOMEPAGE="http://bitbucket.org/mchaput/whoosh/wiki/Home/ http://pypi.python.org/pypi/Whoosh/"
+SRC_URI="mirror://pypi/W/${MY_PN}/${MY_PN}-${PV}.zip"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc test"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_prepare_all() {
+ # (backport from upstream)
+ sed -i -e '/cmdclass/s:pytest:PyTest:' setup.py || die
+
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://bitbucket.org/mchaput/whoosh/issue/403/
+ use doc && sphinx-build -b html -c docs/source/ docs/source/ docs/source/build/html
+}
+
+# Restrict to test phase; a few random tests fail without it
+src_test() {
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ local DOCS=( README.txt )
+ use doc && local HTML_DOCS=( docs/source/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/whoosh/whoosh-2.7.0.ebuild b/dev-python/whoosh/whoosh-2.7.0.ebuild
new file mode 100644
index 000000000000..b91a78f509c7
--- /dev/null
+++ b/dev-python/whoosh/whoosh-2.7.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+MY_PN="Whoosh"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast, pure-Python full text indexing, search and spell checking library"
+HOMEPAGE="http://bitbucket.org/mchaput/whoosh/wiki/Home/ http://pypi.python.org/pypi/Whoosh/"
+SRC_URI="mirror://pypi/W/${MY_PN}/${MY_PN}-${PV}.zip"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_prepare_all() {
+ # (backport from upstream)
+ sed -i -e '/cmdclass/s:pytest:PyTest:' setup.py || die
+
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # https://bitbucket.org/mchaput/whoosh/issue/403/
+ use doc && sphinx-build -b html -c docs/source/ docs/source/ docs/source/build/html
+}
+
+python_test() {
+ # https://bitbucket.org/mchaput/whoosh/issue/412/tarball-of-whoosh-270-pypi-missing-english
+ # tarball missing a file english-words.10.gz which when added sees all tests pass.
+ esetup.py test
+}
+
+python_install_all() {
+ local DOCS=( README.txt )
+ use doc && local HTML_DOCS=( docs/source/build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/winpdb/Manifest b/dev-python/winpdb/Manifest
new file mode 100644
index 000000000000..c0977f339ad0
--- /dev/null
+++ b/dev-python/winpdb/Manifest
@@ -0,0 +1 @@
+DIST winpdb-1.4.8.tar.gz 145184 SHA256 daa146446d0a04fec93ee951ba3432016c6b63108711c036124902928968776e SHA512 b393e8054783238235847138a36ab764779d703d2e544da494a65e97f55928080bbb3955334c8eb478f5f1bf8e1c9079d898d663b08b9572c65c81b1a65df059 WHIRLPOOL 0f5b6552a38ba5c1a1a5b38208963c78ad64876f386e17e7739012057b51eb3a1ab6ba301a80ad7396208132085cf8cbdc4b2d208692dc3e2e91768347b354f9
diff --git a/dev-python/winpdb/metadata.xml b/dev-python/winpdb/metadata.xml
new file mode 100644
index 000000000000..4625e849e175
--- /dev/null
+++ b/dev-python/winpdb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="google-code">winpdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/winpdb/winpdb-1.4.8-r1.ebuild b/dev-python/winpdb/winpdb-1.4.8-r1.ebuild
new file mode 100644
index 000000000000..07821ed97f28
--- /dev/null
+++ b/dev-python/winpdb/winpdb-1.4.8-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Graphical Python debugger"
+HOMEPAGE="http://winpdb.org/ http://code.google.com/p/winpdb/ http://pypi.python.org/pypi/winpdb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="+wxwidgets"
+
+DEPEND=">=dev-python/pycrypto-2.0.1[${PYTHON_USEDEP}]
+ wxwidgets? ( dev-python/wxpython:2.8[$(python_gen_usedep 'python2*')] )"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="wxwidgets? ( $(python_gen_useflags 'python2*') )"
+
+python_install() {
+ distutils-r1_python_install
+
+ if ! use wxwidgets || python_is_python3; then
+ find "${D%/}$(python_get_sitedir)" -name 'winpdb*.py*' -delete || die
+ rm "${D%/}$(python_get_scriptdir)"/winpdb || die
+ if ! use wxwidgets; then
+ rm "${ED%/}"/usr/bin/winpdb || die
+ fi
+ fi
+}
diff --git a/dev-python/winpdb/winpdb-1.4.8.ebuild b/dev-python/winpdb/winpdb-1.4.8.ebuild
new file mode 100644
index 000000000000..3d1a6633d061
--- /dev/null
+++ b/dev-python/winpdb/winpdb-1.4.8.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="*"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="*-jython"
+
+inherit distutils
+
+DESCRIPTION="Graphical Python debugger"
+HOMEPAGE="http://winpdb.org/ http://code.google.com/p/winpdb/ http://pypi.python.org/pypi/winpdb"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 x86"
+IUSE="+wxwidgets"
+
+DEPEND=">=dev-python/pycrypto-2.0.1
+ wxwidgets? ( dev-python/wxpython:2.8 )"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ distutils_src_install
+
+ if use wxwidgets; then
+ PYTHON_MODNAME="rpdb2.py winpdb.py"
+ else
+ PYTHON_MODNAME="rpdb2.py"
+
+ rm -f "${ED}usr/bin/winpdb"*
+
+ delete_winpdb() {
+ rm -f "${ED}$(python_get_sitedir)/winpdb.py"
+ }
+ python_execute_function -q delete_winpdb
+ fi
+}
diff --git a/dev-python/workerpool/Manifest b/dev-python/workerpool/Manifest
new file mode 100644
index 000000000000..502f1e21d637
--- /dev/null
+++ b/dev-python/workerpool/Manifest
@@ -0,0 +1,2 @@
+DIST workerpool-0.9.2.tar.gz 7747 SHA256 ab2eaf05e236140c62c7411d13ecc4ddedc365966282719a35afc53043c00f82 SHA512 d5ce36ff48b297adb40baf40a53823cc8b6e39b0c7eb880541dffb5ea1d0849e50c344e63f1ac3089d51fc1fe6e73ff2a26df03f9d68f24980222fe3ef7f01c5 WHIRLPOOL 093221fb442abe017591fa79b85abbd1824b63ec89aaf62eb87cb50975dd5164cd3a1ef36c51336e2dcb97aef3fdd18695691e73bfaaa168077172bcc5a49db3
+DIST workerpool-0.9.4.tar.gz 5409 SHA256 ab455db0de007723cee44c86d37c2575747f158768289bf02e2791f3b1e006fd SHA512 cf8092fa369b9767a8aaf88f22a7edc334f3e337ca9b3fdb1ea8cd50713a9ff9b94e5324452a2f3f4f37d5a2ca8b1b34abd3210452437e2911c66045221c74b3 WHIRLPOOL 4414bad49a1d897a5aa79e67278ed780a2063604ac13d0dc12c8917d0b1b8fc1d986f559f13e40dc2c20a7d3e97342c7b479f7b7fac554239db1b62e2074948b
diff --git a/dev-python/workerpool/metadata.xml b/dev-python/workerpool/metadata.xml
new file mode 100644
index 000000000000..ee323bf45a94
--- /dev/null
+++ b/dev-python/workerpool/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">workerpool</remote-id>
+ <remote-id type="github">shazow/workerpool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/workerpool/workerpool-0.9.2-r1.ebuild b/dev-python/workerpool/workerpool-0.9.2-r1.ebuild
new file mode 100644
index 000000000000..deec8cf0f790
--- /dev/null
+++ b/dev-python/workerpool/workerpool-0.9.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for distributing jobs to a pool of worker threads"
+HOMEPAGE="http://github.com/shazow/workerpool"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test examples"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests -v test || die
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x usr/share/doc/${P}/samples
+ insinto usr/share/doc/${P}/
+ doins -r samples
+ fi
+}
diff --git a/dev-python/workerpool/workerpool-0.9.4.ebuild b/dev-python/workerpool/workerpool-0.9.4.ebuild
new file mode 100644
index 000000000000..deec8cf0f790
--- /dev/null
+++ b/dev-python/workerpool/workerpool-0.9.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Module for distributing jobs to a pool of worker threads"
+HOMEPAGE="http://github.com/shazow/workerpool"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test examples"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+python_test() {
+ nosetests -v test || die
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x usr/share/doc/${P}/samples
+ insinto usr/share/doc/${P}/
+ doins -r samples
+ fi
+}
diff --git a/dev-python/wrapt/Manifest b/dev-python/wrapt/Manifest
new file mode 100644
index 000000000000..2d0bce46be19
--- /dev/null
+++ b/dev-python/wrapt/Manifest
@@ -0,0 +1,2 @@
+DIST wrapt-1.10.4.tar.gz 102325 SHA256 c77f39270a9438a9429f6b2330e44ab6105aa760bbe00402765bac4dc51925d2 SHA512 759c43d18b2538912b30930a9ac192ba53921d5f353da07587e0ebb5236b255c87d1eb216a122b4455e16ed4973b39402f7057adfaf83775515d80b944c691af WHIRLPOOL 753ad039bc92ae9f2e785f57b21f9323f137bcefda8999decbac1c7adf85a9b0c7f00b147c62f4da1616b509423d54c9f2c6fa4d4ccf15b708d6fc13b0f48153
+DIST wrapt-1.10.5.tar.gz 119157 SHA256 4fd82193b23f60e1a39f3e10c81143c1e29e26cd5fc9afe1a7dc0f5e4b4a67d7 SHA512 450b32eea67774081d23c0e020ed7eea3c8ac458925a16cd606a4f95ee5b7631bda5ff00ceb914e9ccc28a5e0a7302534b6711bb23d637c77327a8a9d228cb55 WHIRLPOOL 7cfa9477f525e60f16a7b1689ba43b327192837bea34e96977442b9cd143a63fafdfa7d0b3895c93052b0e6f426e76fa439b155ee4e481dd5e922c529676691c
diff --git a/dev-python/wrapt/metadata.xml b/dev-python/wrapt/metadata.xml
new file mode 100644
index 000000000000..e014da76be36
--- /dev/null
+++ b/dev-python/wrapt/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">GrahamDumpleton/wrapt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wrapt/wrapt-1.10.4.ebuild b/dev-python/wrapt/wrapt-1.10.4.ebuild
new file mode 100644
index 000000000000..2fd4fc88f600
--- /dev/null
+++ b/dev-python/wrapt/wrapt-1.10.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Module for decorators, wrappers and monkey patching."
+HOMEPAGE="https://github.com/GrahamDumpleton/wrapt"
+SRC_URI="https://github.com/GrahamDumpleton/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ local WRAPT_EXTENSIONS=true
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wrapt/wrapt-1.10.5.ebuild b/dev-python/wrapt/wrapt-1.10.5.ebuild
new file mode 100644
index 000000000000..2fd4fc88f600
--- /dev/null
+++ b/dev-python/wrapt/wrapt-1.10.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="Module for decorators, wrappers and monkey patching."
+HOMEPAGE="https://github.com/GrahamDumpleton/wrapt"
+SRC_URI="https://github.com/GrahamDumpleton/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_compile() {
+ local WRAPT_EXTENSIONS=true
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ py.test || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ws4py/Manifest b/dev-python/ws4py/Manifest
new file mode 100644
index 000000000000..faabfe0a735a
--- /dev/null
+++ b/dev-python/ws4py/Manifest
@@ -0,0 +1 @@
+DIST ws4py-0.3.4.tar.gz 65467 SHA256 5aedb5663ee1e5fb4334615cc6582f4f2e97cf967d8dc4c6c3627515d16afa90 SHA512 32cd2eb9df7367e2bf42e354766a0ca407715a863be6b51b7701ec6e0537a2ecf7c2a59423f56ae093855b075c30a4065c7f7efe3b0227915639223b9ba7a55f WHIRLPOOL 77f6c56ab1c2bbcd628f0d1773c1c9659ddc68d976ca8af55804d04e16ec6e9e06e87f5a6a3167670d8c0898dde657f3b3b1fdc4d4a94029f74d71ca2ee50e1b
diff --git a/dev-python/ws4py/files/ws4py-0.2-cherrypy_test.patch b/dev-python/ws4py/files/ws4py-0.2-cherrypy_test.patch
new file mode 100644
index 000000000000..e1d55afa0a6b
--- /dev/null
+++ b/dev-python/ws4py/files/ws4py-0.2-cherrypy_test.patch
@@ -0,0 +1,24 @@
+db23aff2ea commit 4ec8638c268ecdb710d97176a55cc5b818aa1a18
+https://github.com/Lawouach/WebSocket-for-Python/issues/72
+diff -ur ws4py-0.2.4.orig/test/test_cherrypy.py ws4py-0.2.4/test/test_cherrypy.py
+--- test/test_cherrypy.py 2012-12-14 03:35:48.000000000 +0800
++++ test/test_cherrypy.py 2013-01-11 16:56:37.555534011 +0800
+@@ -4,6 +4,7 @@
+ import cherrypy
+ from ws4py.server.cherrypyserver import WebSocketPlugin, WebSocketTool
+ from ws4py.websocket import EchoWebSocket
++from ws4py.compat import py3k
+
+ class FakeSocket(object):
+ def settimeout(self, timeout):
+@@ -65,7 +66,10 @@
+ h = EchoWebSocket(s, [], [])
+ cherrypy.engine.publish('handle-websocket', h, ('127.0.0.1', 0))
+ self.assertEquals(len(cherrypy.engine.websocket.pool), 1)
+- k = cherrypy.engine.websocket.pool.keys()[0]
++ if py3k:
++ k = list(cherrypy.engine.websocket.pool.keys())[0]
++ else:
++ k = cherrypy.engine.websocket.pool.keys()[0]
+ self.assertTrue(k is h)
+ self.assertEquals(cherrypy.engine.websocket.pool[k][1], ('127.0.0.1', 0))
diff --git a/dev-python/ws4py/files/ws4py-0.2.1-process-data.patch b/dev-python/ws4py/files/ws4py-0.2.1-process-data.patch
new file mode 100644
index 000000000000..5476f2d28625
--- /dev/null
+++ b/dev-python/ws4py/files/ws4py-0.2.1-process-data.patch
@@ -0,0 +1,27 @@
+From 38cf669e27fab9de187eb11dabd7d85d73d5f470 Mon Sep 17 00:00:00 2001
+From: Jon Salz <jsalz@chromium.org>
+Date: Fri, 20 Apr 2012 02:22:46 +0800
+Subject: [PATCH] Process remaining bytes in the body, if any.
+
+https://github.com/Lawouach/WebSocket-for-Python/issues/46
+---
+ ws4py/client/__init__.py | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/ws4py/client/__init__.py b/ws4py/client/__init__.py
+index aa4c8f2..29b1357 100644
+--- a/ws4py/client/__init__.py
++++ b/ws4py/client/__init__.py
+@@ -71,6 +71,9 @@ class WebSocketBaseClient(WebSocket):
+
+ self.handshake_ok()
+
++ if body != '':
++ self.process(body)
++
+ @property
+ def handshake_headers(self):
+ parts = urlsplit(self.url)
+--
+1.7.3.4
+
diff --git a/dev-python/ws4py/metadata.xml b/dev-python/ws4py/metadata.xml
new file mode 100644
index 000000000000..6a2af9d51e73
--- /dev/null
+++ b/dev-python/ws4py/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>vapier@gentoo.org</email>
+ <description>make whatever changes you want</description>
+ </maintainer>
+ <use>
+ <flag name="client">Install client modules</flag>
+ <flag name="server">Install server modules</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Lawouach/WebSocket-for-Python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ws4py/ws4py-0.3.4.ebuild b/dev-python/ws4py/ws4py-0.3.4.ebuild
new file mode 100644
index 000000000000..fabf578d972c
--- /dev/null
+++ b/dev-python/ws4py/ws4py-0.3.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# We could depend on dev-python/cherrypy when USE=server, but
+# that is an optional component ...
+# Same for www-servers/tornado and USE=client ... so why not???
+# pypy is viable but better with a cutdown set of deps
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="threads?"
+
+inherit distutils-r1
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/Lawouach/WebSocket-for-Python.git"
+ inherit git-2
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/Lawouach/WebSocket-for-Python/tarball/v${PV} -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm x86"
+fi
+
+DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
+HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+client +server test +threads"
+# doc build requires sphinxcontrib ext packages absent from portage
+
+RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gevent[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
+ server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
+DEPEND="test? (
+ >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ # testsuite displays an issue with mock under py3 but is non fatal
+ "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
+ use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
+}
diff --git a/dev-python/ws4py/ws4py-9999.ebuild b/dev-python/ws4py/ws4py-9999.ebuild
new file mode 100644
index 000000000000..7b17719d187d
--- /dev/null
+++ b/dev-python/ws4py/ws4py-9999.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# We could depend on dev-python/cherrypy when USE=server, but
+# that is an optional component ...
+# Same for www-servers/tornado and USE=client ... so why not???
+# pypy is viable but better with a cutdown set of deps
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_REQ_USE="threads?"
+
+inherit distutils-r1
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://github.com/Lawouach/WebSocket-for-Python.git"
+ inherit git-2
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/Lawouach/WebSocket-for-Python/tarball/v${PV} -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
+HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+client +server test +threads"
+# doc build requires sphinxcontrib ext packages absent from portage
+
+RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/gevent[${PYTHON_USEDEP}]' python2_7)
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
+ server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
+DEPEND="test? (
+ >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ )"
+
+python_test() {
+ # testsuite displays an issue with mock under py3 but is non fatal
+ "${PYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
+ use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
+}
diff --git a/dev-python/wsaccel/Manifest b/dev-python/wsaccel/Manifest
new file mode 100644
index 000000000000..433cb423ae0a
--- /dev/null
+++ b/dev-python/wsaccel/Manifest
@@ -0,0 +1 @@
+DIST wsaccel-0.6.2.tar.gz 35773 SHA256 425706acf0724d2f6bfa391ec37b4ef121d3432c956029de3cea4e101c218e0c SHA512 fbc59803cbb6b113a3e412390eb02f41a68513b9fda6e4408d5e2e3c976a3f62eacc6bf87adf9295a63238390cce00f4abe13daf397a28ce8f3ed3e3bff622ee WHIRLPOOL 2c66ff720fcaecaa8c7fe29d93bb8f32e620898b0ccf31d3dc3f4dbfe4b1623dde6484e3c347649cd4140ec51b52c9a8c0e81b0c24e6135481ebae7a26c09063
diff --git a/dev-python/wsaccel/metadata.xml b/dev-python/wsaccel/metadata.xml
new file mode 100644
index 000000000000..8db9521249a5
--- /dev/null
+++ b/dev-python/wsaccel/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">wsaccel</remote-id>
+ <remote-id type="github">methane/wsaccel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wsaccel/wsaccel-0.6.2.ebuild b/dev-python/wsaccel/wsaccel-0.6.2.ebuild
new file mode 100644
index 000000000000..72890f83f2b9
--- /dev/null
+++ b/dev-python/wsaccel/wsaccel-0.6.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Accelerator for ws4py, AutobahnPython and tornado"
+HOMEPAGE="https://pypi.python.org/pypi/wsaccel https://github.com/methane/wsaccel"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Apache-2.0"
+KEYWORDS="amd64 arm x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+#RDEPEND=""
+#DEPEND="
+# test? ( dev-python/nose )"
+
+_python_test() {
+ cd tests || die
+ nosetests || die
+}
diff --git a/dev-python/wsgiintercept/Manifest b/dev-python/wsgiintercept/Manifest
new file mode 100644
index 000000000000..e852e02a1af5
--- /dev/null
+++ b/dev-python/wsgiintercept/Manifest
@@ -0,0 +1,4 @@
+DIST wsgi_intercept-0.10.0.tar.gz 30017 SHA256 0f2eb4757c6cdefa4499aff4b6b080e223d416fa9c535634b2891e916ea45161 SHA512 749424c1f27366cfaf996767b8b05ee6bfd2422bde0e374e5a0bf0f2fc6366883807a0cf5a97daf53a1fe910d0492eac8cb0438286fa0c98e33e24d80f991f67 WHIRLPOOL 72e401ed7f1113160231bfabf1d89fd74530b2bcd429ff36d9d9af33c174ba5255f6b2666d3fdc4b33fd5f43188c0a136bb26b940017c5a668f41583d294c601
+DIST wsgi_intercept-0.10.2.tar.gz 30369 SHA256 0294469aa07bbfcf3a490cace2ce54cecda947c9e243559feccb7ea57c0644c7 SHA512 bfcb759e6933279588164e14067017ec0d44524c29cc4e4203b438a9bb253153edb9417c3eadc84bc8a6004bbe9a98eefee25227bc179096002d3167492db945 WHIRLPOOL a536a80d5c51e2f47c43323e81d9b6745157a83bf8c246b0a131824e26280f187d1df5589c88c2157fa67441415d432e83a52f1921617f71c4700975adc12953
+DIST wsgi_intercept-0.9.0.tar.gz 28865 SHA256 55b01e89a8752625ee94c13f2d125a73a61ee924f4cfd982983ca28c0a7addeb SHA512 3964fec587408b44d5ea0371b279d7686edaa98591438e5d679f8b954396f93408df13a33c809b6d0338a26da2ad3bad666bf66646da585ca73461a0beb1e439 WHIRLPOOL 090a9e607dcd9c56442ec0aa2f0f4c4aeb6c8764777fa29febf89c53e1fd687c2477db5e818480b4d90b9f846205a592125913f4ac0fdac5ce199a16dedb10b1
+DIST wsgi_intercept-0.9.1.tar.gz 29391 SHA256 4eab9fc11fd6abaf74791b6a5a6dd81bdc599d1c385fac834340868489a61d22 SHA512 12c1abb3c88831f90c15e11f8ab45d1262b3547a15192a1fe8ad766bbe36959a3bb4cbdb33cf303ccfd4425e8a355fd73ae6aef4afbf1a1d10f7b753e74a7b1f WHIRLPOOL e901b1719f0cbef675c2b7a0fe73b91a28d1d1efc373c99494c9648d77f1b8145e194d37eaacbbfdffa6f599ea365ef456b9c6fe5ee5d5f32a214628300db660
diff --git a/dev-python/wsgiintercept/metadata.xml b/dev-python/wsgiintercept/metadata.xml
new file mode 100644
index 000000000000..4af2fbaae634
--- /dev/null
+++ b/dev-python/wsgiintercept/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+Testing a WSGI application normally involves starting a server at a local host
+and port, then pointing your test code to that address. Instead, this library
+lets you intercept calls to any specific host/port combination and redirect
+them into a WSGI application importable by your test program. Thus, you can
+avoid spawning multiple processes or threads to test your Web app.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">wsgi_intercept</remote-id>
+ <bugs-to>https://code.google.com/p/wsgi-intercept/issues/list</bugs-to>
+ <remote-id type="github">cdent/python3-wsgi-intercept</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wsgiintercept/wsgiintercept-0.10.0.ebuild b/dev-python/wsgiintercept/wsgiintercept-0.10.0.ebuild
new file mode 100644
index 000000000000..36682a08bd3f
--- /dev/null
+++ b/dev-python/wsgiintercept/wsgiintercept-0.10.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="wsgi_intercept"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="WSGI application in place of a real URI for testing"
+HOMEPAGE="https://github.com/cdent/python3-wsgi-intercept"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mechanize[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # .pyc files cause failure of tests
+ rm -rf test/__pycache__/ || die
+
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['test']):" \
+ -i setup.py || die
+
+ # Disable tests connecting to the network; Bug #550710
+ sed -e 's:test_http_not_intercepted:_&:' \
+ -e 's:test_https_not_intercepted:_&:' \
+ -i test/{test_urllib.py,test_http_client.py,test_requests.py} || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html//. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wsgiintercept/wsgiintercept-0.10.2.ebuild b/dev-python/wsgiintercept/wsgiintercept-0.10.2.ebuild
new file mode 100644
index 000000000000..36682a08bd3f
--- /dev/null
+++ b/dev-python/wsgiintercept/wsgiintercept-0.10.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="wsgi_intercept"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="WSGI application in place of a real URI for testing"
+HOMEPAGE="https://github.com/cdent/python3-wsgi-intercept"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mechanize[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # .pyc files cause failure of tests
+ rm -rf test/__pycache__/ || die
+
+ # Req'd to avoid file collisions
+ sed -e s":find_packages():find_packages(exclude=['test']):" \
+ -i setup.py || die
+
+ # Disable tests connecting to the network; Bug #550710
+ sed -e 's:test_http_not_intercepted:_&:' \
+ -e 's:test_https_not_intercepted:_&:' \
+ -i test/{test_urllib.py,test_http_client.py,test_requests.py} || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html//. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wsgiintercept/wsgiintercept-0.9.0.ebuild b/dev-python/wsgiintercept/wsgiintercept-0.9.0.ebuild
new file mode 100644
index 000000000000..e793b0eb4126
--- /dev/null
+++ b/dev-python/wsgiintercept/wsgiintercept-0.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="wsgi_intercept"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="WSGI application in place of a real URI for testing"
+HOMEPAGE="https://github.com/cdent/python3-wsgi-intercept"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mechanize[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # .pyc files cause failure of tests
+ rm -rf test/__pycache__/ || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html//. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wsgiintercept/wsgiintercept-0.9.1.ebuild b/dev-python/wsgiintercept/wsgiintercept-0.9.1.ebuild
new file mode 100644
index 000000000000..ac664fe855ee
--- /dev/null
+++ b/dev-python/wsgiintercept/wsgiintercept-0.9.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+MY_PN="wsgi_intercept"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="WSGI application in place of a real URI for testing"
+HOMEPAGE="https://github.com/cdent/python3-wsgi-intercept"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RDEPEND=""
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/mechanize[${PYTHON_USEDEP}]' python2_7 pypy)
+ )"
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # .pyc files cause failure of tests
+ rm -rf test/__pycache__/ || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ py.test || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html//. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wsgilog/Manifest b/dev-python/wsgilog/Manifest
new file mode 100644
index 000000000000..5db221edf902
--- /dev/null
+++ b/dev-python/wsgilog/Manifest
@@ -0,0 +1 @@
+DIST wsgilog-0.3.tar.gz 4299 SHA256 2193c7eadb7c341970c50b2607f48f12c8031cbd2ce19803c50c55d84417a68f SHA512 be6788c059f1901b21d272b53b6f9ba4096d1f02f244635c5661f75ce40b3f778ca1b72df76c070b50cab3c44a0cefe0044bae75541b20769da61c9d4fe0863b WHIRLPOOL 1f58cadb78746d4ac34ed3500276b7cbfffc90034b80e62eeb2c31bb78c9ebfe86aead7a4511b4982aaa7ce8c4df92cfbe7157cb65f04cfc0fe8cef905c9b133
diff --git a/dev-python/wsgilog/metadata.xml b/dev-python/wsgilog/metadata.xml
new file mode 100644
index 000000000000..9e4c7edfa1c0
--- /dev/null
+++ b/dev-python/wsgilog/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>jo@opteamax.de</email>
+ <name>Jens Ott</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">wsgilog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wsgilog/wsgilog-0.3-r1.ebuild b/dev-python/wsgilog/wsgilog-0.3-r1.ebuild
new file mode 100644
index 000000000000..755fb6371d70
--- /dev/null
+++ b/dev-python/wsgilog/wsgilog-0.3-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Class for logging in WSGI-applications"
+HOMEPAGE="http://pypi.python.org/pypi/wsgilog/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+DOCS="PKG-INFO"
diff --git a/dev-python/wsgiproxy2/Manifest b/dev-python/wsgiproxy2/Manifest
new file mode 100644
index 000000000000..22f8f8424cd7
--- /dev/null
+++ b/dev-python/wsgiproxy2/Manifest
@@ -0,0 +1,2 @@
+DIST WSGIProxy2-0.4.1.zip 18437 SHA256 70232dd33ffc742b2c1e8d7573a61035a1b7fcd92dc0c761e283de515ab94f69 SHA512 794cf74d47366ab80f03ef311cd77258b4152f266cabf662b3eccb0f706f246d6d4407f495432ed32520ed69ecf3cb5ae05ef8a50e7f59062c6ef7395d8c9eec WHIRLPOOL 08c784bb15a7a1da21ea38201781e502ad3f5515658a441f7671f2ba2c971966f320e52f223b6d47feedb35cefb4c513be454114f5d2635a78ec991b2e1a288f
+DIST WSGIProxy2-0.4.2.zip 18817 SHA256 a4b236fac5d4a2b51d9b3ed34cbe0d01aae173dce0ab9877f225b1dcdb4a6e8e SHA512 3dd750263485ceb644373d8ea9692c9a46126a1ed7cd640feba7d42b0fe618e290dcae2f76dc83be77de34211ac473f5a1496a8309e3fcc64982e9642af786fb WHIRLPOOL e585abf60d7f3bfe60d700dca99887efe0616f4cdb43de2edabe3b53b8b4f7eaf730c465d1a95618ac4ff0c99b488fa241400eaecd69ca8cd7c2e2012fbbcd51
diff --git a/dev-python/wsgiproxy2/metadata.xml b/dev-python/wsgiproxy2/metadata.xml
new file mode 100644
index 000000000000..e486c156d328
--- /dev/null
+++ b/dev-python/wsgiproxy2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WSGIProxy2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wsgiproxy2/wsgiproxy2-0.4.1.ebuild b/dev-python/wsgiproxy2/wsgiproxy2-0.4.1.ebuild
new file mode 100644
index 000000000000..3351e85514b9
--- /dev/null
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.4.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="WSGIProxy2"
+
+DESCRIPTION="HTTP proxying tools for WSGI apps"
+HOMEPAGE="http://pythonpaste.org/wsgiproxy/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ dev-python/socketpool[${PYTHON_USEDEP}]
+ dev-python/restkit[$(python_gen_usedep python2_7)] )"
+# Tests needing restkit are skipped under py3
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_compile_all() {
+ if use doc; then
+ cd docs || die
+ sphinx-build -b html -d _build/doctrees . _build/html
+ fi
+}
+
+# this was always possible
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wsgiproxy2/wsgiproxy2-0.4.2.ebuild b/dev-python/wsgiproxy2/wsgiproxy2-0.4.2.ebuild
new file mode 100644
index 000000000000..71e767f91dbb
--- /dev/null
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.4.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MY_PN="WSGIProxy2"
+
+DESCRIPTION="HTTP proxying tools for WSGI apps"
+HOMEPAGE="http://pythonpaste.org/wsgiproxy/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc test"
+
+RDEPEND="dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ >=dev-python/webtest-2.0.17[${PYTHON_USEDEP}]
+ dev-python/socketpool[${PYTHON_USEDEP}]
+ dev-python/restkit[$(python_gen_usedep python2_7)] )"
+# Tests needing restkit are skipped under py3
+# Testing also revealed the suite needs latest webtest
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_compile_all() {
+ if use doc; then
+ cd docs || die
+ sphinx-build -b html -d _build/doctrees . _build/html
+ fi
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wstools/Manifest b/dev-python/wstools/Manifest
new file mode 100644
index 000000000000..31db4bd0c008
--- /dev/null
+++ b/dev-python/wstools/Manifest
@@ -0,0 +1 @@
+DIST wstools-0.4.3.tar.gz 148878 SHA256 578b53e98bc8dadf5a55dfd1f559fd9b37a594609f1883f23e8646d2d30336f8 SHA512 e735e2ae63aa410a56c79bef0bec7196393bb8f52d8521001d298b6290a75662f7262b6cd3c3238eeaf33263036cc6dabf8435ebd2fd1c98481cea524d0382ed WHIRLPOOL fa5ca24db23d99337cb08f3317327f6076f230c787477275e54d2322931d4e86831357043df6e8c12f3a62bac95eda13f614120588e9d3265ba40251c68b2881
diff --git a/dev-python/wstools/metadata.xml b/dev-python/wstools/metadata.xml
new file mode 100644
index 000000000000..34ca344eaee0
--- /dev/null
+++ b/dev-python/wstools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">wstools</remote-id>
+ <remote-id type="github">kiorky/wstools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wstools/wstools-0.4.3.ebuild b/dev-python/wstools/wstools-0.4.3.ebuild
new file mode 100644
index 000000000000..275085e514e2
--- /dev/null
+++ b/dev-python/wstools/wstools-0.4.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="WSDL parsing services package for Web Services for Python"
+HOMEPAGE="https://github.com/kiorky/wstools http://pypi.python.org/pypi/wstools"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/wtf-peewee/Manifest b/dev-python/wtf-peewee/Manifest
new file mode 100644
index 000000000000..2291282d74fc
--- /dev/null
+++ b/dev-python/wtf-peewee/Manifest
@@ -0,0 +1 @@
+DIST wtf-peewee-0.2.3.tar.gz 60654 SHA256 d64bab9c8b9b247f21534e87a94b988afd9655d7abaa14dc7d2af0bea3a3b9da SHA512 0a8e4a6586a4521d99c35b907935286c20b9106214a9826960073e710fc0a91c68402b9812d2b0119263786f8e48bdcacf999044ade9f3a27afa9bc7fd058926 WHIRLPOOL b44d3480d274f26ff84993c8941c473e6104bab8cd65bd8befb903dc9f2d6fad16299d6b4fc5f3b8af822dbc6aa9781dbe9ba43da6fb2f2dcf929578d3eac7ea
diff --git a/dev-python/wtf-peewee/metadata.xml b/dev-python/wtf-peewee/metadata.xml
new file mode 100644
index 000000000000..f95712add1aa
--- /dev/null
+++ b/dev-python/wtf-peewee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="github">coleifer/wtf-peewee</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wtf-peewee/wtf-peewee-0.2.3.ebuild b/dev-python/wtf-peewee/wtf-peewee-0.2.3.ebuild
new file mode 100644
index 000000000000..53e3fca64dc3
--- /dev/null
+++ b/dev-python/wtf-peewee/wtf-peewee-0.2.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Small python ORM"
+HOMEPAGE="https://github.com/coleifer/peewee/"
+SRC_URI="https://github.com/coleifer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples test"
+
+RDEPEND=">=dev-python/peewee-2.0.0[${PYTHON_USEDEP}]
+ dev-python/wtforms[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( "${RDEPEND}" )"
+
+python_prepare_all() {
+ # https://github.com/coleifer/peewee/issues/361
+ sed -e s':test_null_form_saving:_&:' -i "${PN/\-/}"/tests.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" ./runtests.py || die "Testing failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && local EXAMPLES=( example/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wtforms/Manifest b/dev-python/wtforms/Manifest
new file mode 100644
index 000000000000..c99e93c4df45
--- /dev/null
+++ b/dev-python/wtforms/Manifest
@@ -0,0 +1,3 @@
+DIST WTForms-1.0.4.zip 345261 SHA256 15e1c114cd32c8be2d08585f5b158c941e2193d19b0a16194d1fde53e4291eef SHA512 0f0bda1e225a1132784814d6129039ba964aeef8d2ca8509e6d9be9ecf83fbf76f6a71f18fbb43772dbe64802e9a2038c53e2098ec25ec8cd2ebb223206ab880 WHIRLPOOL edf9ad35c44d149fa08e2c47a5a69662545fa22743c004ec36d76593c73ecfb7975bd93ae92018c0e4fa425edf0c7f1cea30f4f452331b3e09c0722e5fa6a91a
+DIST WTForms-2.0.1.zip 444489 SHA256 62859c74be4683601b5265ba83b9babd8a8f1cdd0ba31600fa1e70d295cd4ed2 SHA512 abae7adb1c7ab46abf401a536a248bf3703be2f0be9f5d8d49191f18855a6989e4c7acb232b006d5809fc13428a9e6214f734be5b917648778169c7dd258eaab WHIRLPOOL d6177e7f9ff5e53085081fb4580d728c08ac19230470435a85a0735745f303b010540ce01e4071735a49f32bb3321d17557511f958452457a882705c3139da9b
+DIST WTForms-2.0.2.zip 449167 SHA256 10737758ceae03b53021f3aa7e81bfc8dd6f679c879ffeb5e64ac6570facb6c1 SHA512 35d52b2991588d1aef2ed7df5713f5cdd7d64affb0879ccf6b40b9194c3b9492af8f853353df55f833bec268d4332d49cf4c8e0592c21a11cccddaddb3650c52 WHIRLPOOL 7664b533174b44922e8ce733b6d284a1c8814190bab631cf094e0e7f841152502329f203e34638bb6aea2386b74a1afa7e5de09ada06188a39989f4f860e875e
diff --git a/dev-python/wtforms/metadata.xml b/dev-python/wtforms/metadata.xml
new file mode 100644
index 000000000000..e93485a616ed
--- /dev/null
+++ b/dev-python/wtforms/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">WTForms</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wtforms/wtforms-1.0.4.ebuild b/dev-python/wtforms/wtforms-1.0.4.ebuild
new file mode 100644
index 000000000000..e48bf7dbde14
--- /dev/null
+++ b/dev-python/wtforms/wtforms-1.0.4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+MY_PN="WTForms"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flexible forms validation and rendering library for python web development"
+HOMEPAGE="http://wtforms.simplecodes.com/ http://pypi.python.org/pypi/WTForms"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="app-arch/unzip
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+DOCS="AUTHORS.txt CHANGES.txt README.txt"
+
+python_compile_all() {
+ if use doc; then
+ einfo "Generation of documentation"
+ cd docs
+ PYTHONPATH=".." emake html || die "Building of documentation failed"
+ fi
+}
+
+python_install_all() {
+ if use doc; then
+ dohtml -r docs/_build/html/* || die "Installation of documentation failed"
+ fi
+}
diff --git a/dev-python/wtforms/wtforms-2.0.1.ebuild b/dev-python/wtforms/wtforms-2.0.1.ebuild
new file mode 100644
index 000000000000..34afac6dc1f9
--- /dev/null
+++ b/dev-python/wtforms/wtforms-2.0.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="WTForms"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flexible forms validation and rendering library for python web development"
+HOMEPAGE="http://wtforms.simplecodes.com/ http://pypi.python.org/pypi/WTForms"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test || die "Tests failed for ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wtforms/wtforms-2.0.2.ebuild b/dev-python/wtforms/wtforms-2.0.2.ebuild
new file mode 100644
index 000000000000..3f0da0256c1f
--- /dev/null
+++ b/dev-python/wtforms/wtforms-2.0.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="WTForms"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Flexible forms validation and rendering library for python web development"
+HOMEPAGE="http://wtforms.simplecodes.com/ http://pypi.python.org/pypi/WTForms"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+S="${WORKDIR}/${MY_P}"
+
+DEPEND="app-arch/unzip
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-0.6[${PYTHON_USEDEP}] )"
+RDEPEND=""
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test || die "Tests failed for ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/wxpython/Manifest b/dev-python/wxpython/Manifest
new file mode 100644
index 000000000000..1381f3bed3ee
--- /dev/null
+++ b/dev-python/wxpython/Manifest
@@ -0,0 +1,13 @@
+DIST wxPython-demo-2.8.12.1.tar.bz2 3906851 SHA256 252282193a80590b9eab436bef322701b21d35ad03b4b6ebb4824241ff947b5a SHA512 aab71cf4e4fb6632afd4607cbe5cdef6785c4ed3f1c7f67d6cef5487d1caee2f7652bfd974ba95a6a03e8d7809c94e291aca00c2fdf74ea29e118e1e30c947d5 WHIRLPOOL e9eb0803350e3dac8c5f2228a3f4d54a26ae4c4307c924729bbdff712747419fdfaa155d83ef1bea7dcb849dbacf9f48c323bf7997ed1df85f182ba3878d1324
+DIST wxPython-demo-2.9.4.0.tar.bz2 3992754 SHA256 c1a57ef7c71ea1a332df98b80cfa7ba178ef6dcd24a31393dff905a145ba8b7b SHA512 dac61d9bb09deffd54c89c1a09803968a4c4b2951a00ebb4d618a2a1b48775c62e3ddf2c642e9005d7362fdeab44c07bc2a38bc96dc94a5c891982847d0c19fe WHIRLPOOL 2093d3d0f81c15b7ca1a346fae29429952d299f8e33d5c2e356846bd98df890b731fe4ef0311ec32b7a913a4038aa8881396d9878dde98322136ccb5244a867b
+DIST wxPython-demo-3.0.0.0.tar.bz2 3991989 SHA256 426aaf20c7b01f5e9fbd7bd41455441bb126585f5544a848a5fa060e07f7b443 SHA512 4fe8a87faacac99c54c4fcbdb707c9790b49f485186e1741cc1ba05e955e474ca4ea31ff704a57e73b32b4fad310ef490066743d1c6ad4339191cde2daec255d WHIRLPOOL c6a2b12111572164474083f66dd0e2eff12e4faea5ce880767bfba3de493e8d56e6747c659ff1a3d533d0f6bcde1d5c9daabb9bccb2148278cdce074f5ddcbae
+DIST wxPython-demo-3.0.1.1.tar.bz2 3991248 SHA256 bb264db3369c7228f0356f1ad64f6a9ca3000b167bc1ce3fee94d3d2fa20d069 SHA512 b75ca80b5a247f5c97691c4c77c36d64ebe82d94803cd8d687b2110e9de290067c7da893797ae13d0a9f42a4da83170b630dcdeb9460657355c43005dfeac89a WHIRLPOOL 3db15c676252f4f96b585271d0ef005b84cbb4538f01db53e18c587b33fdfc5b57da40d9ba2f2c467063de79c81ed6440982fe5e21547a21fbe2d7d4e252f69c
+DIST wxPython-demo-3.0.2.0.tar.bz2 3992212 SHA256 8bf195138744898b4b6fbe11f52f7ee2f6319c2e3adf832917769b2e2d4994f3 SHA512 361ecaa7dfe5bae0757e04215c564370eaf8e5260ead45007f9d70439c15701725c3cbcd76691a5191258bef24fd200ebd61347a3fd920d888137bfc98a16702 WHIRLPOOL a944790a4c7b38dc8d8d28c7def50f765cd5566118d801cb576a0ab9d8370a803f8feedbf3211d0352dd838c92d9d4f092eaf6d78354a1974f2345304dd7b2e1
+DIST wxPython-docs-2.8.12.1.tar.bz2 2331363 SHA256 1dfae3a74b91e2003856eed51698c51094f1a4e6688633ae61af7a22fa8a0ddb SHA512 88591ef4f61bcbac29050d7dfecc230f7338cc006e7c3abc072b15da478e4fd994ab73ee5d072cb8b84f9de62ce182f1774354b0a7a4502ea639e59fdf965358 WHIRLPOOL 97bc66c8f781b5092e2274edc0b9bac35c21c91a66e4c0da75d543dc471f25d02334b28a5afe4ad0681b7a018a93f08b6ef5d3c6afd127ccfc24da208252cd89
+DIST wxPython-newdocs-2.8.9.2.tar.bz2 1503913 SHA256 890b6b7ca37ba7aaa27f9716ea9992ac75ed8150e83939506e3c47f86e7f37a8 SHA512 e114b2b44a7fd3ac292ca9735fb2e075459211384bc98d62ff2ba49e45111825101e74abd4af2ab0e5e52ede7b831641367c11a5c80e79f2da6ada3442463bfc WHIRLPOOL 91ccbe19e8311f0404fb0096efff68750fa0c3b505d05c9278e0488e138788dc399ff2345e13c712126475957a1c1fcc53556d70cd9c835524207be5758a6e2b
+DIST wxPython-src-2.8.12.1.tar.bz2 31311482 SHA256 1f3f153d9f1504c6ce2d2c4b23e940b8f58b81f4cba35cda1a5bb31142243cd0 SHA512 4f826ccb57d5f4fc03fe7cae67499be70c727a99aebf9d153ea1060a21641642606d44d079ba897c38b176846336aeaebc21d30d5c7a0abec3934d65cf4529f3 WHIRLPOOL 94f91d359f755a0f805588303e8507b2f1404a7f4af73777f85366265df9f76ca89ac29bff491cffd752b707645952a4f7f2bb12fa7e30f3e7d3728147a9c99d
+DIST wxPython-src-2.9.4.0.tar.bz2 50827671 SHA256 78c35c19e85a17cb9c730b86b49d6a479198d76d19e0b13e86db0b55707004be SHA512 100dd4474bc2508e9a80aed6f08d295e2697926e29c5789e1f6aa7c303921e1c5de2574c3eddde568804da8fc670d0214ef225d46f34a3006d0a947423d01fbf WHIRLPOOL feff68600a40a8f02492e91049ecdd1a1865ee6db8024112aa3a85a7eff616f26653c418a8ffde77121e2bf7d2c7090c5b91896f9a2de8eb980573af2ca65507
+DIST wxPython-src-2.9.4.1.patch 3768 SHA256 075e3a7b1cf69dd2bb20010717505d2508c74bc81658540f3e6d8c4fbf0a6b85 SHA512 4a5254a5bb9c246b75095e3cc0b849073e3cc71ff15ab7fb1db6ecfe71359800b9e1a5493bc39ce5b1f338cdc1d142ce84641611d458a8da4315f3c8a6aef3ba WHIRLPOOL 9bec06da4824fe56c172f4f417966681d1ffbf173dcb54f1579e9a484377bc76c45b4f2389911bbb17eff2476cfca786d68d9524856b21accc64b4dffafb1811
+DIST wxPython-src-3.0.0.0.tar.bz2 57831792 SHA256 af88695e820dd914e8375dc91ecb736f6fb605979bb38460ace61bbea494dc11 SHA512 9328f46817e0c1670a6be5d10347c8a7110c42a5332c5c35eb11ed0412d8dddeb15727d98606bb6c699af961cee171c41b82b1f24f3de25463259106660f7387 WHIRLPOOL 7865997e22db366a41bae8a5d5c47e4f46b20d17871377243abced3a6550c46588ea1d5a426d826ccf011c62898f87d6a55a14ac9b4153af4e0795d5f180a647
+DIST wxPython-src-3.0.1.1.tar.bz2 58139645 SHA256 d51463fe760e2fc00271678700c216809f9db32a6081a1808bd4b7c884dc0a32 SHA512 71f75c1e36c9ac27c15d768f69662b18ff1c66ad111ef6ef8579dfdb5296d7c37ffce9f60000afeac289cd6288980037d3a7eb3ea8d6d25e619d8692cf41b914 WHIRLPOOL bb03b78048b368b1c2f5a8b8689aecf412953ff789b2a8d2ef4826112fdc6bff8ed881255d05859ac07f915dd1070f6147d6bfdd97b0ab4b0939c024df3b855a
+DIST wxPython-src-3.0.2.0.tar.bz2 58304944 SHA256 d54129e5fbea4fb8091c87b2980760b72c22a386cb3b9dd2eebc928ef5e8df61 SHA512 a3798e89ff19344253aac7d771971e519f7fa9723e82bd97e98f16fd7f1572e513170b02295b872dae0b1ae3fa95efc4ef34d078045b839694b4fdad3a27c9e4 WHIRLPOOL 89cdef12c9ef96044adba0340d47b699e685eaec581a4e7d68f3b95a0890715e29b1f5362027df0f3f8b5b1587e8fe404a7fa88049ece9677dd8316fbdf2e41d
diff --git a/dev-python/wxpython/files/wxpython-2.8-cache-writable.patch b/dev-python/wxpython/files/wxpython-2.8-cache-writable.patch
new file mode 100644
index 000000000000..57f26b37c2e8
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8-cache-writable.patch
@@ -0,0 +1,20 @@
+Use /tmp for cache files since the user won't have
+write permissions on ${DOCDIR}.
+
+diff -Naurp docs-orig/viewdocs.py docs/viewdocs.py
+--- docs-orig/viewdocs.py 2008-09-28 15:59:16.000000000 -0600
++++ docs/viewdocs.py 2009-01-18 00:16:27.000000000 -0600
+@@ -16,11 +16,11 @@ if not basePath:
+
+
+ # test for write access
+-if os.access(basePath, os.W_OK):
++if os.access('/tmp', os.W_OK):
+
+ # setup the args
+ args = ['',
+- '--cache='+basePath,
++ '--cache=/tmp',
+ os.path.join(basePath, 'wx.zip'),
+ ]
+
diff --git a/dev-python/wxpython/files/wxpython-2.8-no-preservatives-added.patch b/dev-python/wxpython/files/wxpython-2.8-no-preservatives-added.patch
new file mode 100644
index 000000000000..5e4221d51506
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8-no-preservatives-added.patch
@@ -0,0 +1,16 @@
+Portage preserve-libs removes the linker name (.so) of a library but leaves
+the soname (.so.4) and realname (.so.4.0) installed. findLib searches for
+mywxlibname.* and returns true if anything is found. Disaster ensues.
+
+
+--- a/wxPython/config.py
++++ b/wxPython/config.py
+@@ -612,7 +612,7 @@ def findLib(name, libdirs):
+ dirs = libdirs[:]
+ for d in dirs:
+ p = os.path.join(d, name)
+- if glob.glob(p+'*') != []:
++ if glob.glob(p+'*.so') != []:
+ return True
+ return False
+
diff --git a/dev-python/wxpython/files/wxpython-2.8-wxversion-demo.patch b/dev-python/wxpython/files/wxpython-2.8-wxversion-demo.patch
new file mode 100644
index 000000000000..97829198a0b2
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8-wxversion-demo.patch
@@ -0,0 +1,10 @@
+--- demo/demo.org 2005-04-28 03:00:13.431583384 +0000
++++ demo/demo.py 2005-04-28 03:00:31.886777768 +0000
+@@ -1,4 +1,7 @@
+ #!/usr/bin/env python
+
++import wxversion
++wxversion.select("2.8")
++
+ import Main
+ Main.main()
diff --git a/dev-python/wxpython/files/wxpython-2.8.11-drop-editra.patch b/dev-python/wxpython/files/wxpython-2.8.11-drop-editra.patch
new file mode 100644
index 000000000000..9555bb57ef44
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8.11-drop-editra.patch
@@ -0,0 +1,48 @@
+--- a/wxPython/setup.py
++++ b/wxPython/setup.py
+@@ -887,13 +887,6 @@ WX_PKGLIST = [ 'wx',
+ 'wx.tools',
+ 'wx.tools.XRCed',
+ 'wx.tools.XRCed.plugins',
+- 'wx.tools.Editra',
+- 'wx.tools.Editra.src',
+- 'wx.tools.Editra.src.autocomp',
+- 'wx.tools.Editra.src.eclib',
+- 'wx.tools.Editra.src.ebmlib',
+- 'wx.tools.Editra.src.extern',
+- 'wx.tools.Editra.src.syntax',
+ ]
+
+ if not EGGing:
+@@ -920,7 +913,6 @@ else:
+ opj('scripts/pywrap'),
+ opj('scripts/pywxrc'),
+ opj('scripts/xrced'),
+- opj('scripts/editra'),
+ ]
+ if os.name == 'nt':
+ SCRIPTS.append( opj('scripts/genaxmodule') )
+@@ -934,15 +926,6 @@ DATA_FILES += find_data_files('wx/tools/XRCed', '*.txt', '*.xrc', '*.htb')
+ DATA_FILES += find_data_files('wx/tools/XRCed/plugins', '*.crx')
+ DATA_FILES += find_data_files('wx/tools/XRCed/plugins/bitmaps', '*.png')
+
+-DATA_FILES += find_data_files('wx/tools/Editra/docs', '*.txt')
+-DATA_FILES += find_data_files('wx/tools/Editra/locale', '*.mo')
+-DATA_FILES += find_data_files('wx/tools/Editra/pixmaps',
+- '*.png', '*.icns', '*.ico', 'README', 'AUTHORS', 'COPYING')
+-DATA_FILES += find_data_files('wx/tools/Editra/plugins', '*.egg')
+-DATA_FILES += find_data_files('wx/tools/Editra/src', 'README')
+-DATA_FILES += find_data_files('wx/tools/Editra/styles', '*.ess')
+-DATA_FILES += find_data_files('wx/tools/Editra/tests/syntax', '*')
+-DATA_FILES += find_data_files('wx/tools/Editra', '[A-Z]*', recursive=False)
+
+
+ ## import pprint
+@@ -993,7 +976,6 @@ if EGGing:
+ 'pyshell = wx.py.PyShell:main',
+ 'pywrap = wx.py.PyWrap:main',
+ 'helpviewer = wx.tools.helpviewer:main',
+- 'editra = wx.tools.Editra.launcher:main',
+ 'xrced = wx.tools.XRCed.xrced:main',
+ ],
+ },
diff --git a/dev-python/wxpython/files/wxpython-2.8.12-drop-categories.patch b/dev-python/wxpython/files/wxpython-2.8.12-drop-categories.patch
new file mode 100644
index 000000000000..d860238e94de
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8.12-drop-categories.patch
@@ -0,0 +1,37 @@
+Fix QA issue wrt Bug 457586
+diff -ur wxPython-src-2.8.12.1.orig/wxPython/distrib/PyAlaMode.desktop wxPython-src-2.8.12.1/wxPython/distrib/PyAlaMode.desktop
+--- distrib/PyAlaMode.desktop 2007-07-19 06:33:55.000000000 +0800
++++ distrib/PyAlaMode.desktop 2013-03-04 13:48:51.737419595 +0800
+@@ -5,4 +5,4 @@
+ Icon=PyCrust.png
+ Terminal=false
+ Type=Application
+-Categories=Application;Development;
++Categories=Development;
+diff -ur wxPython-src-2.8.12.1.orig/wxPython/distrib/PyCrust.desktop wxPython-src-2.8.12.1/wxPython/distrib/PyCrust.desktop
+--- distrib/PyCrust.desktop 2007-07-19 06:33:55.000000000 +0800
++++ distrib/PyCrust.desktop 2013-03-04 13:49:12.209418445 +0800
+@@ -5,4 +5,4 @@
+ Icon=PyCrust.png
+ Terminal=false
+ Type=Application
+-Categories=Application;Development;
++Categories=Development;
+diff -ur wxPython-src-2.8.12.1.orig/wxPython/distrib/PyShell.desktop wxPython-src-2.8.12.1/wxPython/distrib/PyShell.desktop
+--- distrib/PyShell.desktop 2007-07-19 06:33:55.000000000 +0800
++++ distrib/PyShell.desktop 2013-03-04 13:49:28.713417518 +0800
+@@ -5,4 +5,4 @@
+ Icon=PyCrust.png
+ Terminal=false
+ Type=Application
+-Categories=Application;Development;
++Categories=Development;
+diff -ur wxPython-src-2.8.12.1.orig/wxPython/distrib/XRCed.desktop wxPython-src-2.8.12.1/wxPython/distrib/XRCed.desktop
+--- distrib/XRCed.desktop 2007-07-19 06:33:55.000000000 +0800
++++ distrib/XRCed.desktop 2013-03-04 13:49:46.345416526 +0800
+@@ -5,4 +5,4 @@
+ Icon=XRCed.png
+ Terminal=false
+ Type=Application
+-Categories=Application;Development;
++Categories=Development;
diff --git a/dev-python/wxpython/files/wxpython-2.8.12-drop-editra.patch b/dev-python/wxpython/files/wxpython-2.8.12-drop-editra.patch
new file mode 100644
index 000000000000..4b49f30a1385
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8.12-drop-editra.patch
@@ -0,0 +1,55 @@
+--- a/wxPython/setup.py
++++ b/wxPython/setup.py
+@@ -887,20 +887,6 @@ WX_PKGLIST = [ 'wx',
+ 'wx.tools',
+ 'wx.tools.XRCed',
+ 'wx.tools.XRCed.plugins',
+- 'wx.tools.Editra',
+- 'wx.tools.Editra.src',
+- 'wx.tools.Editra.src.autocomp',
+- 'wx.tools.Editra.src.eclib',
+- 'wx.tools.Editra.src.ebmlib',
+- 'wx.tools.Editra.src.extern',
+- 'wx.tools.Editra.src.extern.aui',
+- 'wx.tools.Editra.src.extern.dexml',
+- 'wx.tools.Editra.src.extern.pygments',
+- 'wx.tools.Editra.src.extern.pygments.filters',
+- 'wx.tools.Editra.src.extern.pygments.formatters',
+- 'wx.tools.Editra.src.extern.pygments.lexers',
+- 'wx.tools.Editra.src.extern.pygments.styles',
+- 'wx.tools.Editra.src.syntax',
+ ]
+
+ if not EGGing:
+@@ -927,7 +913,6 @@ else:
+ opj('scripts/pywrap'),
+ opj('scripts/pywxrc'),
+ opj('scripts/xrced'),
+- opj('scripts/editra'),
+ ]
+ if os.name == 'nt':
+ SCRIPTS.append( opj('scripts/genaxmodule') )
+@@ -941,15 +926,6 @@ DATA_FILES += find_data_files('wx/tools/XRCed', '*.txt', '*.xrc', '*.htb')
+ DATA_FILES += find_data_files('wx/tools/XRCed/plugins', '*.crx')
+ DATA_FILES += find_data_files('wx/tools/XRCed/plugins/bitmaps', '*.png')
+
+-DATA_FILES += find_data_files('wx/tools/Editra/docs', '*.txt')
+-DATA_FILES += find_data_files('wx/tools/Editra/locale', '*.mo')
+-DATA_FILES += find_data_files('wx/tools/Editra/pixmaps',
+- '*.png', '*.icns', '*.ico', 'README', 'AUTHORS', 'COPYING')
+-DATA_FILES += find_data_files('wx/tools/Editra/plugins', '*.egg')
+-DATA_FILES += find_data_files('wx/tools/Editra/src', 'README')
+-DATA_FILES += find_data_files('wx/tools/Editra/styles', '*.ess')
+-DATA_FILES += find_data_files('wx/tools/Editra/tests/syntax', '*')
+-DATA_FILES += find_data_files('wx/tools/Editra', '[A-Z]*', recursive=False)
+
+
+ ## import pprint
+@@ -1000,7 +976,6 @@ if EGGing:
+ 'pyshell = wx.py.PyShell:main',
+ 'pywrap = wx.py.PyWrap:main',
+ 'helpviewer = wx.tools.helpviewer:main',
+- 'editra = wx.tools.Editra.launcher:main',
+ 'xrced = wx.tools.XRCed.xrced:main',
+ ],
+ },
diff --git a/dev-python/wxpython/files/wxpython-2.8.12.1-disable-egging-mode.patch b/dev-python/wxpython/files/wxpython-2.8.12.1-disable-egging-mode.patch
new file mode 100644
index 000000000000..1497a2c70761
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8.12.1-disable-egging-mode.patch
@@ -0,0 +1,34 @@
+From c4072ed7bc923039e544319f52d0761b7a4600a4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 22 Apr 2013 18:02:37 +0200
+Subject: [PATCH] Trigger 'EGGing' mode only by 'bdist_egg' and not 'egg_info'.
+
+We use the 'egg_info' command to explicitly enforce temporary EGG file
+location outside the source tree on Gentoo. As a result, our build
+command activates the 'EGGing' mode and wxPython is not installed
+properly.
+
+I believe that the 'EGGing' mode should be activated only by an explicit
+call to 'bdist_egg' command where the expected files are actually
+created. The 'egg_info' command is a more broad one and is often used
+implicitly, e.g. by the 'install' command.
+---
+ config.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.py b/config.py
+index 4fbd83f..b45707d 100644
+--- a/config.py
++++ b/config.py
+@@ -23,7 +23,7 @@
+ import sys, os, glob, fnmatch, tempfile
+ import subprocess
+
+-EGGing = 'bdist_egg' in sys.argv or 'egg_info' in sys.argv
++EGGing = 'bdist_egg' in sys.argv
+ if not EGGing:
+ from distutils.core import setup, Extension
+ else:
+--
+1.8.1.5
+
diff --git a/dev-python/wxpython/files/wxpython-2.8.9-wxversion-scripts.patch b/dev-python/wxpython/files/wxpython-2.8.9-wxversion-scripts.patch
new file mode 100644
index 000000000000..6a4567812308
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.8.9-wxversion-scripts.patch
@@ -0,0 +1,191 @@
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/distrib/PyAlaMode.desktop wxPython-src-2.8.9.2/wxPython/distrib/PyAlaMode.desktop
+--- wxPython-src-2.8.9.2-orig/wxPython/distrib/PyAlaMode.desktop 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/distrib/PyAlaMode.desktop 2009-02-21 15:04:55.000000000 -0600
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyAlaMode
++Name=PyAlaMode (2.8)
+ Comment=GUI Python Shell with Filling and editor windows
+-Exec=pyalamode
+-Icon=PyCrust.png
++Exec=pyalamode-2.8
++Icon=/usr/share/pixmaps/PyCrust.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/distrib/PyCrust.desktop wxPython-src-2.8.9.2/wxPython/distrib/PyCrust.desktop
+--- wxPython-src-2.8.9.2-orig/wxPython/distrib/PyCrust.desktop 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/distrib/PyCrust.desktop 2009-02-21 15:06:42.000000000 -0600
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyCrust
++Name=PyCrust (2.8)
+ Comment=GUI Python Shell with Filling
+-Exec=pycrust
+-Icon=PyCrust.png
++Exec=pycrust-2.8
++Icon=/usr/share/pixmaps/PyCrust.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/distrib/PyShell.desktop wxPython-src-2.8.9.2/wxPython/distrib/PyShell.desktop
+--- wxPython-src-2.8.9.2-orig/wxPython/distrib/PyShell.desktop 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/distrib/PyShell.desktop 2009-02-21 15:08:19.000000000 -0600
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyShell
++Name=PyShell (2.8)
+ Comment=GUI Python Shell
+-Exec=pyshell
+-Icon=PyCrust.png
++Exec=pyshell-2.8
++Icon=/usr/share/pixmaps/PyCrust.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/distrib/XRCed.desktop wxPython-src-2.8.9.2/wxPython/distrib/XRCed.desktop
+--- wxPython-src-2.8.9.2-orig/wxPython/distrib/XRCed.desktop 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/distrib/XRCed.desktop 2009-02-21 15:09:22.000000000 -0600
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=XRCed
++Name=XRCed (2.8)
+ Comment=wxPython XRC resource editor
+-Exec=xrced
+-Icon=XRCed.png
++Exec=xrced-2.8
++Icon=/usr/share/pixmaps/XRCed.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/editra wxPython-src-2.8.9.2/wxPython/scripts/editra
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/editra 2008-02-29 14:32:17.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/editra 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.Editra.launcher import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/genaxmodule wxPython-src-2.8.9.2/wxPython/scripts/genaxmodule
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/genaxmodule 2008-02-29 14:32:17.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/genaxmodule 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.genaxmodule import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/helpviewer wxPython-src-2.8.9.2/wxPython/scripts/helpviewer
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/helpviewer 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/helpviewer 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.helpviewer import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/img2png wxPython-src-2.8.9.2/wxPython/scripts/img2png
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/img2png 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/img2png 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.img2png import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/img2py wxPython-src-2.8.9.2/wxPython/scripts/img2py
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/img2py 2008-02-29 14:32:17.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/img2py 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.img2py import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/img2xpm wxPython-src-2.8.9.2/wxPython/scripts/img2xpm
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/img2xpm 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/img2xpm 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.img2xpm import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pyalacarte wxPython-src-2.8.9.2/wxPython/scripts/pyalacarte
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pyalacarte 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pyalacarte 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.py.PyAlaCarte import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pyalamode wxPython-src-2.8.9.2/wxPython/scripts/pyalamode
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pyalamode 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pyalamode 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.py.PyAlaMode import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pycrust wxPython-src-2.8.9.2/wxPython/scripts/pycrust
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pycrust 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pycrust 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.py.PyCrust import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pyshell wxPython-src-2.8.9.2/wxPython/scripts/pyshell
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pyshell 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pyshell 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.py.PyShell import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pywrap wxPython-src-2.8.9.2/wxPython/scripts/pywrap
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pywrap 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pywrap 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.py.PyWrap import main
+ main()
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/pywxrc wxPython-src-2.8.9.2/wxPython/scripts/pywxrc
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/pywxrc 2008-02-29 14:32:17.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/pywxrc 2009-02-21 15:09:58.000000000 -0600
+@@ -1,5 +1,7 @@
+ #!/usr/bin/env python
+
++import wxversion
++wxversion.select("2.8")
+ from wx.tools.pywxrc import main
+ main()
+
+diff -Naurp wxPython-src-2.8.9.2-orig/wxPython/scripts/xrced wxPython-src-2.8.9.2/wxPython/scripts/xrced
+--- wxPython-src-2.8.9.2-orig/wxPython/scripts/xrced 2007-07-18 16:33:55.000000000 -0600
++++ wxPython-src-2.8.9.2/wxPython/scripts/xrced 2009-02-21 15:03:24.000000000 -0600
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.8")
+
+ from wx.tools.XRCed.xrced import main
+ main()
diff --git a/dev-python/wxpython/files/wxpython-2.9-wxversion-demo.patch b/dev-python/wxpython/files/wxpython-2.9-wxversion-demo.patch
new file mode 100644
index 000000000000..c928ae27d851
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.9-wxversion-demo.patch
@@ -0,0 +1,10 @@
+--- demo/demo.org
++++ demo/demo.py
+@@ -1,4 +1,7 @@
+ #!/usr/bin/env python
+
++import wxversion
++wxversion.select("2.9")
++
+ import Main
+ Main.main()
diff --git a/dev-python/wxpython/files/wxpython-2.9-wxversion-scripts.patch b/dev-python/wxpython/files/wxpython-2.9-wxversion-scripts.patch
new file mode 100644
index 000000000000..d037cc95decc
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.9-wxversion-scripts.patch
@@ -0,0 +1,221 @@
+--- a/distrib/PyAlaMode.desktop
++++ b/distrib/PyAlaMode.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyAlaMode
++Name=PyAlaMode (2.9)
+ Comment=GUI Python Shell with Filling and editor windows
+-Exec=pyalamode
+-Icon=PyCrust.png
++Exec=pyalamode-2.9
++Icon=/usr/share/pixmaps/PyCrust-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/distrib/PyCrust.desktop
++++ b/distrib/PyCrust.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyCrust
++Name=PyCrust (2.9)
+ Comment=GUI Python Shell with Filling
+-Exec=pycrust
+-Icon=PyCrust.png
++Exec=pycrust-2.9
++Icon=/usr/share/pixmaps/PyCrust-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/distrib/PyShell.desktop
++++ b/distrib/PyShell.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyShell
++Name=PyShell (2.9)
+ Comment=GUI Python Shell
+-Exec=pyshell
+-Icon=PyCrust.png
++Exec=pyshell-2.9
++Icon=/usr/share/pixmaps/PyCrust-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/distrib/PySlices.desktop
++++ b/distrib/PySlices.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PySlices
++Name=PySlices (2.9)
+ Comment=GUI Python Shell with Filling
+-Exec=pyslices
+-Icon=PySlices.png
++Exec=pyslices-2.9
++Icon=/usr/share/pixmaps/PySlices-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/distrib/PySlicesShell.desktop
++++ b/distrib/PySlicesShell.desktop
+@@ -1,9 +1,9 @@
+
+ [Desktop Entry]
+-Name=PySlicesShell
++Name=PySlicesShell (2.9)
+ Comment=GUI Python Shell
+-Exec=pysliceshell
+-Icon=PySlices.png
++Exec=pysliceshell-2.9
++Icon=/usr/share/pixmaps/PySlices-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/distrib/XRCed.desktop
++++ b/distrib/XRCed.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=XRCed
++Name=XRCed (2.9)
+ Comment=wxPython XRC resource editor
+-Exec=xrced
+-Icon=XRCed.png
++Exec=xrced-2.9
++Icon=/usr/share/pixmaps/XRCed-2.9.png
+ Terminal=false
+ Type=Application
+ Categories=Application;Development;
+--- a/scripts/editra
++++ b/scripts/editra
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.Editra.launcher import main
+ main()
+--- a/scripts/genaxmodule
++++ b/scripts/genaxmodule
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.genaxmodule import main
+ main()
+--- a/scripts/helpviewer
++++ b/scripts/helpviewer
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.helpviewer import main
+ main()
+--- a/scripts/img2png
++++ b/scripts/img2png
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2png import main
+ main()
+--- a/scripts/img2py
++++ b/scripts/img2py
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2py import main
+ main()
+--- a/scripts/img2xpm
++++ b/scripts/img2xpm
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2xpm import main
+ main()
+--- a/scripts/pyalacarte
++++ b/scripts/pyalacarte
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyAlaCarte import main
+ main()
+--- a/scripts/pyalamode
++++ b/scripts/pyalamode
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyAlaMode import main
+ main()
+--- a/scripts/pycrust
++++ b/scripts/pycrust
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyCrust import main
+ main()
+--- a/scripts/pyshell
++++ b/scripts/pyshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyShell import main
+ main()
+--- a/scripts/pyslices
++++ b/scripts/pyslices
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PySlices import main
+ main()
+--- a/scripts/pysliceshell
++++ b/scripts/pysliceshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PySlicesShell import main
+ main()
+--- a/scripts/pywrap
++++ b/scripts/pywrap
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyWrap import main
+ main()
+--- a/scripts/pywxrc
++++ b/scripts/pywxrc
+@@ -1,5 +1,7 @@
+ #!/usr/bin/env python
+
++import wxversion
++wxversion.select("2.9")
+ from wx.tools.pywxrc import main
+ main()
+
+--- a/scripts/xrced
++++ b/scripts/xrced
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.XRCed.xrced import main
+ main()
diff --git a/dev-python/wxpython/files/wxpython-2.9.4.1-wxversion-scripts.patch b/dev-python/wxpython/files/wxpython-2.9.4.1-wxversion-scripts.patch
new file mode 100644
index 000000000000..7067af9eee79
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-2.9.4.1-wxversion-scripts.patch
@@ -0,0 +1,211 @@
+--- a/distrib/PyAlaMode.desktop
++++ b/distrib/PyAlaMode.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyAlaMode
++Name=PyAlaMode (2.9)
+ Comment=GUI Python Shell with Filling and editor windows
+-Exec=pyalamode
+-Icon=PyCrust
++Exec=pyalamode-2.9
++Icon=PyCrust-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PyCrust.desktop
++++ b/distrib/PyCrust.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyCrust
++Name=PyCrust (2.9)
+ Comment=GUI Python Shell with Filling
+-Exec=pycrust
+-Icon=PyCrust
++Exec=pycrust-2.9
++Icon=PyCrust-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PyShell.desktop
++++ b/distrib/PyShell.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyShell
++Name=PyShell (2.9)
+ Comment=GUI Python Shell
+-Exec=pyshell
+-Icon=PyCrust
++Exec=pyshell-2.9
++Icon=PyCrust-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PySlices.desktop
++++ b/distrib/PySlices.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PySlices
++Name=PySlices (2.9)
+ Comment=GUI Python Shell with Filling
+-Exec=pyslices
+-Icon=PySlices
++Exec=pyslices-2.9
++Icon=PySlices-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PySlicesShell.desktop
++++ b/distrib/PySlicesShell.desktop
+@@ -1,9 +1,8 @@
+-
+ [Desktop Entry]
+-Name=PySlicesShell
++Name=PySlicesShell (2.9)
+ Comment=GUI Python Shell
+-Exec=pysliceshell
+-Icon=PySlices
++Exec=pysliceshell-2.9
++Icon=PySlices-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/XRCed.desktop
++++ b/distrib/XRCed.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=XRCed
++Name=XRCed (2.9)
+ Comment=wxPython XRC resource editor
+-Exec=xrced
+-Icon=XRCed
++Exec=xrced-2.9
++Icon=XRCed-2.9
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/scripts/genaxmodule
++++ b/scripts/genaxmodule
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.genaxmodule import main
+ main()
+--- a/scripts/helpviewer
++++ b/scripts/helpviewer
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.helpviewer import main
+ main()
+--- a/scripts/img2png
++++ b/scripts/img2png
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2png import main
+ main()
+--- a/scripts/img2py
++++ b/scripts/img2py
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2py import main
+ main()
+--- a/scripts/img2xpm
++++ b/scripts/img2xpm
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.img2xpm import main
+ main()
+--- a/scripts/pyalacarte
++++ b/scripts/pyalacarte
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyAlaCarte import main
+ main()
+--- a/scripts/pyalamode
++++ b/scripts/pyalamode
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyAlaMode import main
+ main()
+--- a/scripts/pycrust
++++ b/scripts/pycrust
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyCrust import main
+ main()
+--- a/scripts/pyshell
++++ b/scripts/pyshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyShell import main
+ main()
+--- a/scripts/pyslices
++++ b/scripts/pyslices
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PySlices import main
+ main()
+--- a/scripts/pysliceshell
++++ b/scripts/pysliceshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PySlicesShell import main
+ main()
+--- a/scripts/pywrap
++++ b/scripts/pywrap
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.py.PyWrap import main
+ main()
+--- a/scripts/pywxrc
++++ b/scripts/pywxrc
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.pywxrc import main
+ main()
+--- a/scripts/xrced
++++ b/scripts/xrced
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("2.9")
+
+ from wx.tools.XRCed.xrced import main
+ main()
diff --git a/dev-python/wxpython/files/wxpython-3.0-wxversion-demo.patch b/dev-python/wxpython/files/wxpython-3.0-wxversion-demo.patch
new file mode 100644
index 000000000000..a4f6b0b07a3c
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-3.0-wxversion-demo.patch
@@ -0,0 +1,10 @@
+--- demo/demo.org
++++ demo/demo.py
+@@ -1,4 +1,7 @@
+ #!/usr/bin/env python
+
++import wxversion
++wxversion.select("3.0")
++
+ import Main
+ Main.main()
diff --git a/dev-python/wxpython/files/wxpython-3.0.0.0-wxversion-scripts.patch b/dev-python/wxpython/files/wxpython-3.0.0.0-wxversion-scripts.patch
new file mode 100644
index 000000000000..9f0cb8922267
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-3.0.0.0-wxversion-scripts.patch
@@ -0,0 +1,211 @@
+--- a/distrib/PyAlaMode.desktop
++++ b/distrib/PyAlaMode.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyAlaMode
++Name=PyAlaMode (3.0)
+ Comment=GUI Python Shell with Filling and editor windows
+-Exec=pyalamode
+-Icon=PyCrust
++Exec=pyalamode-3.0
++Icon=PyCrust-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PyCrust.desktop
++++ b/distrib/PyCrust.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyCrust
++Name=PyCrust (3.0)
+ Comment=GUI Python Shell with Filling
+-Exec=pycrust
+-Icon=PyCrust
++Exec=pycrust-3.0
++Icon=PyCrust-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PyShell.desktop
++++ b/distrib/PyShell.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PyShell
++Name=PyShell (3.0)
+ Comment=GUI Python Shell
+-Exec=pyshell
+-Icon=PyCrust
++Exec=pyshell-3.0
++Icon=PyCrust-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PySlices.desktop
++++ b/distrib/PySlices.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=PySlices
++Name=PySlices (3.0)
+ Comment=GUI Python Shell with Filling
+-Exec=pyslices
+-Icon=PySlices
++Exec=pyslices-3.0
++Icon=PySlices-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/PySlicesShell.desktop
++++ b/distrib/PySlicesShell.desktop
+@@ -1,9 +1,8 @@
+-
+ [Desktop Entry]
+-Name=PySlicesShell
++Name=PySlicesShell (3.0)
+ Comment=GUI Python Shell
+-Exec=pysliceshell
+-Icon=PySlices
++Exec=pysliceshell-3.0
++Icon=PySlices-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/distrib/XRCed.desktop
++++ b/distrib/XRCed.desktop
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+-Name=XRCed
++Name=XRCed (3.0)
+ Comment=wxPython XRC resource editor
+-Exec=xrced
+-Icon=XRCed
++Exec=xrced-3.0
++Icon=XRCed-3.0
+ Terminal=false
+ Type=Application
+ Categories=Development;
+--- a/scripts/genaxmodule
++++ b/scripts/genaxmodule
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.genaxmodule import main
+ main()
+--- a/scripts/helpviewer
++++ b/scripts/helpviewer
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.helpviewer import main
+ main()
+--- a/scripts/img2png
++++ b/scripts/img2png
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.img2png import main
+ main()
+--- a/scripts/img2py
++++ b/scripts/img2py
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.img2py import main
+ main()
+--- a/scripts/img2xpm
++++ b/scripts/img2xpm
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.img2xpm import main
+ main()
+--- a/scripts/pyalacarte
++++ b/scripts/pyalacarte
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PyAlaCarte import main
+ main()
+--- a/scripts/pyalamode
++++ b/scripts/pyalamode
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PyAlaMode import main
+ main()
+--- a/scripts/pycrust
++++ b/scripts/pycrust
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PyCrust import main
+ main()
+--- a/scripts/pyshell
++++ b/scripts/pyshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PyShell import main
+ main()
+--- a/scripts/pyslices
++++ b/scripts/pyslices
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PySlices import main
+ main()
+--- a/scripts/pysliceshell
++++ b/scripts/pysliceshell
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PySlicesShell import main
+ main()
+--- a/scripts/pywrap
++++ b/scripts/pywrap
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.py.PyWrap import main
+ main()
+--- a/scripts/pywxrc
++++ b/scripts/pywxrc
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.pywxrc import main
+ main()
+--- a/scripts/xrced
++++ b/scripts/xrced
+@@ -1,4 +1,6 @@
+ #!/usr/bin/env python
++import wxversion
++wxversion.select("3.0")
+
+ from wx.tools.XRCed.xrced import main
+ main()
diff --git a/dev-python/wxpython/metadata.xml b/dev-python/wxpython/metadata.xml
new file mode 100644
index 000000000000..a9a6cc28e75b
--- /dev/null
+++ b/dev-python/wxpython/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>wxwidgets</herd>
+ <herd>python</herd>
+ <use>
+ <flag name="examples">Install interactive demo module browser and sample applets.</flag>
+ <flag name="doc">Install HTML wxWidgets docs and wxpython API reference.</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">wxpython</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/wxpython/wxpython-2.8.12.1-r2.ebuild b/dev-python/wxpython/wxpython-2.8.12.1-r2.ebuild
new file mode 100644
index 000000000000..9862c009da14
--- /dev/null
+++ b/dev-python/wxpython/wxpython-2.8.12.1-r2.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER="2.8"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_P="${P/wxpython-/wxPython-src-}"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="
+ mirror://sourceforge/wxpython/${MY_P}.tar.bz2
+ doc? (
+ mirror://sourceforge/wxpython/wxPython-docs-${PV}.tar.bz2
+ mirror://sourceforge/wxpython/wxPython-newdocs-2.8.9.2.tar.bz2 )
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-${PV}.tar.bz2 )"
+
+LICENSE="wxWinLL-3"
+SLOT="2.8"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="cairo doc examples opengl"
+
+RDEPEND="
+ dev-lang/python-exec:2[${PYTHON_USEDEP}]
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}[opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}/wxPython"
+DOC_S="${WORKDIR}/wxPython-${PV}"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ if use doc; then
+ cd "${DOC_S}" || die
+ epatch "${FILESDIR}"/${PN}-${SLOT}-cache-writable.patch
+ fi
+
+ if use examples; then
+ cd "${DOC_S}" || die
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}" || die
+
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-2.8.9-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.12-drop-editra.patch
+ "${FILESDIR}"/${PN}-2.8.12-drop-categories.patch
+ "${FILESDIR}"/${PN}-2.8-no-preservatives-added.patch
+ # fix handling egg_info command
+ "${FILESDIR}"/${PN}-2.8.12.1-disable-egging-mode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ # Workaround, buildsystem uses CFLAGS as CXXFLAGS
+ export CFLAGS="${CXXFLAGS}"
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_compile() {
+ # We need to have separate libdirs due to hackery, bug #455332.
+ distutils-r1_python_compile \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+}
+
+python_install() {
+ distutils-r1_python_install \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/lib/python-exec/"${EPYTHON}" || die
+ for file in *; do
+ mv "${file}" "${file}-${SLOT}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
+ rm -f "${ED}usr/bin/${file}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ domenu distrib/{Py{AlaMode,Crust,Shell},XRCed}.desktop
+ newicon wx/py/PyCrust_32.png PyCrust.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed.png
+
+ docdir=${D}usr/share/doc/${PF}
+
+ if use doc; then
+ docinto docs
+ dodoc -r "${DOC_S}"/docs/.
+ # For some reason newer API docs aren't available so use 2.8.9.2's
+ dodoc -r "${WORKDIR}"/wxPython-2.8.9.2/docs/.
+
+ docompress -x /usr/share/doc/${PF}/docs
+ fi
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "2.6 or 2.8 with your apps:"
+ elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
+ if use doc; then
+ echo
+ elog "To access the general wxWidgets documentation, run"
+ elog "/usr/share/doc/${PF}/docs/viewdocs.py"
+ echo
+ elog "wxPython documentation is available by pointing a browser"
+ elog "at /usr/share/doc/${PF}/docs/api/index.html"
+ fi
+ if use examples; then
+ echo
+ elog "The demo.py app which contains hundreds of demo modules"
+ elog "with documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ echo
+ elog "Many more example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+ echo
+ elog "Editra is not packaged with wxpython in Gentoo."
+ elog "You can find it in the tree as app-editors/editra"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}
diff --git a/dev-python/wxpython/wxpython-2.9.4.1-r2.ebuild b/dev-python/wxpython/wxpython-2.9.4.1-r2.ebuild
new file mode 100644
index 000000000000..cd309a630855
--- /dev/null
+++ b/dev-python/wxpython/wxpython-2.9.4.1-r2.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER="2.9"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_PN="wxPython-src"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="
+ mirror://sourceforge/wxpython/${MY_PN}-2.9.4.0.tar.bz2
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-2.9.4.0.tar.bz2 )
+ mirror://sourceforge/wxpython/${MY_PN}-2.9.4.1.patch"
+
+LICENSE="wxWinLL-3"
+SLOT="2.9"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="cairo examples opengl"
+
+RDEPEND="
+ dev-lang/python-exec:2[${PYTHON_USEDEP}]
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}[opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}-2.9.4.0/wxPython"
+DOC_S="${WORKDIR}/wxPython-2.9.4.0"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ cd .. || die
+ epatch "${DISTDIR}"/${MY_PN}-${PV}.patch
+
+ if use examples; then
+ cd "${DOC_S}"
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}" || die
+ local PATCHES=(
+ "${FILESDIR}"/${P}-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.11-drop-editra.patch
+ "${FILESDIR}"/${PN}-2.8-no-preservatives-added.patch
+ # fix handling egg_info command
+ "${FILESDIR}"/${PN}-2.8.12.1-disable-egging-mode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_compile() {
+ # We need to have separate libdirs due to hackery, bug #455332.
+ distutils-r1_python_compile \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+}
+
+python_install() {
+ distutils-r1_python_install \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/lib/python-exec/"${EPYTHON}" || die
+ for file in *; do
+ mv "${file}" "${file}-${SLOT}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
+ rm -f "${ED}usr/bin/${file}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ for x in {Py{AlaMode,Crust,Shell},XRCed}; do
+ newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
+ done
+ newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
+ newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "2.8 or 2.9 with your apps:"
+ elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
+ if use examples; then
+ echo
+ elog "The demo.py app which contains demo modules with"
+ elog "documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ echo
+ elog "More example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}
diff --git a/dev-python/wxpython/wxpython-3.0.0.0.ebuild b/dev-python/wxpython/wxpython-3.0.0.0.ebuild
new file mode 100644
index 000000000000..e318a4067d3a
--- /dev/null
+++ b/dev-python/wxpython/wxpython-3.0.0.0.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER="3.0"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_PN="wxPython-src"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="
+ mirror://sourceforge/wxpython/${MY_PN}-${PV}.tar.bz2
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-${PV}.tar.bz2 )"
+
+LICENSE="wxWinLL-3"
+SLOT="3.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="cairo examples libnotify opengl"
+
+RDEPEND="
+ dev-lang/python-exec:2[${PYTHON_USEDEP}]
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}=[libnotify=,opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}-${PV}/wxPython"
+DOC_S="${WORKDIR}/wxPython-${PV}"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ if use examples; then
+ cd "${DOC_S}"
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}"
+ local PATCHES=(
+ "${FILESDIR}"/${P}-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.11-drop-editra.patch
+ "${FILESDIR}"/${PN}-2.8-no-preservatives-added.patch
+ # fix handling egg_info command
+ "${FILESDIR}"/${PN}-2.8.12.1-disable-egging-mode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_compile() {
+ # We need to have separate libdirs due to hackery, bug #455332.
+ distutils-r1_python_compile \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+}
+
+python_install() {
+ distutils-r1_python_install \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/lib/python-exec/"${EPYTHON}" || die
+ for file in *; do
+ mv "${file}" "${file}-${SLOT}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
+ rm -f "${ED}usr/bin/${file}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ for x in {Py{AlaMode,Crust,Shell},XRCed}; do
+ newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
+ done
+ newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
+ newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "it with your apps:"
+ elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
+ if use examples; then
+ echo
+ elog "The demo.py app which contains demo modules with"
+ elog "documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ echo
+ elog "More example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}
diff --git a/dev-python/wxpython/wxpython-3.0.1.1.ebuild b/dev-python/wxpython/wxpython-3.0.1.1.ebuild
new file mode 100644
index 000000000000..fe6a82dce9a1
--- /dev/null
+++ b/dev-python/wxpython/wxpython-3.0.1.1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER="3.0"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_PN="wxPython-src"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="
+ mirror://sourceforge/wxpython/${MY_PN}-${PV}.tar.bz2
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-${PV}.tar.bz2 )"
+
+LICENSE="wxWinLL-3"
+SLOT="3.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="cairo examples libnotify opengl"
+
+RDEPEND="
+ dev-lang/python-exec:2[${PYTHON_USEDEP}]
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}=[libnotify=,opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}-${PV}/wxPython"
+DOC_S="${WORKDIR}/wxPython-${PV}"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ if use examples; then
+ cd "${DOC_S}"
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}"
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.0.0-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.11-drop-editra.patch
+ "${FILESDIR}"/${PN}-2.8-no-preservatives-added.patch
+ # fix handling egg_info command
+ "${FILESDIR}"/${PN}-2.8.12.1-disable-egging-mode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_compile() {
+ # We need to have separate libdirs due to hackery, bug #455332.
+ distutils-r1_python_compile \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+}
+
+python_install() {
+ distutils-r1_python_install \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/lib/python-exec/"${EPYTHON}" || die
+ for file in *; do
+ mv "${file}" "${file}-${SLOT}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
+ rm -f "${ED}usr/bin/${file}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ for x in {Py{AlaMode,Crust,Shell},XRCed}; do
+ newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
+ done
+ newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
+ newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "it with your apps:"
+ elog "http://wiki.wxpython.org/index.cgi/MultiVersionInstalls"
+ if use examples; then
+ echo
+ elog "The demo.py app which contains demo modules with"
+ elog "documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ echo
+ elog "More example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}
diff --git a/dev-python/wxpython/wxpython-3.0.2.0.ebuild b/dev-python/wxpython/wxpython-3.0.2.0.ebuild
new file mode 100644
index 000000000000..dc0329cfc5d1
--- /dev/null
+++ b/dev-python/wxpython/wxpython-3.0.2.0.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER="3.0"
+
+inherit alternatives distutils-r1 eutils fdo-mime flag-o-matic wxwidgets
+
+MY_PN="wxPython-src"
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="http://www.wxpython.org/"
+SRC_URI="
+ mirror://sourceforge/wxpython/${MY_PN}-${PV}.tar.bz2
+ examples? ( mirror://sourceforge/wxpython/wxPython-demo-${PV}.tar.bz2 )"
+
+LICENSE="wxWinLL-3"
+SLOT="3.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="cairo examples libnotify opengl"
+
+RDEPEND="
+ dev-lang/python-exec:2[${PYTHON_USEDEP}]
+ >=x11-libs/wxGTK-${PV}:${WX_GTK_VER}=[libnotify=,opengl?,tiff,X]
+ dev-libs/glib:2
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/libpng:0=
+ media-libs/tiff:0
+ virtual/jpeg
+ x11-libs/gtk+:2
+ x11-libs/pango[X]
+ cairo? ( >=dev-python/pycairo-1.8.4[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}-${PV}/wxPython"
+DOC_S="${WORKDIR}/wxPython-${PV}"
+
+# The hacky build system seems to be broken with out-of-source builds,
+# and installs 'wx' package globally.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+python_prepare_all() {
+ sed -i "s:cflags.append('-O3'):pass:" config.py || die "sed failed"
+
+ if use examples; then
+ cd "${DOC_S}"
+ epatch "${FILESDIR}"/${PN}-${SLOT}-wxversion-demo.patch
+ fi
+
+ cd "${S}"
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.0.0-wxversion-scripts.patch
+ # drop editra - we have it as a separate package now
+ "${FILESDIR}"/${PN}-2.8.11-drop-editra.patch
+ "${FILESDIR}"/${PN}-2.8-no-preservatives-added.patch
+ # fix handling egg_info command
+ "${FILESDIR}"/${PN}-2.8.12.1-disable-egging-mode.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ need-wxwidgets unicode
+
+ mydistutilsargs=(
+ WX_CONFIG="${WX_CONFIG}"
+ WXPORT=gtk2
+ UNICODE=1
+ BUILD_GLCANVAS=$(usex opengl 1 0)
+ )
+}
+
+python_compile() {
+ # We need to have separate libdirs due to hackery, bug #455332.
+ distutils-r1_python_compile \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+}
+
+python_install() {
+ distutils-r1_python_install \
+ build --build-purelib "${BUILD_DIR}"/lib.common
+
+ # adjust the filenames for wxPython slots.
+ local file
+ for file in "${D}$(python_get_sitedir)"/wx{version.*,.pth}; do
+ mv "${file}" "${file}-${SLOT}" || die
+ done
+ cd "${ED}"usr/lib/python-exec/"${EPYTHON}" || die
+ for file in *; do
+ mv "${file}" "${file}-${SLOT}" || die
+
+ # wrappers are common to all impls, so a parallel run may
+ # move it for us. ln+rm is more failure-proof.
+ ln -fs ../lib/python-exec/python-exec2 "${ED}usr/bin/${file}-${SLOT}" || die
+ rm -f "${ED}usr/bin/${file}"
+ done
+}
+
+python_install_all() {
+ dodoc docs/{CHANGES,PyManual,README,wxPackage,wxPythonManual}.txt
+
+ for x in {Py{AlaMode,Crust,Shell},XRCed}; do
+ newmenu distrib/${x}.desktop ${x}-${SLOT}.desktop
+ done
+ newicon wx/py/PyCrust_32.png PyCrust-${SLOT}.png
+ newicon wx/py/PySlices_32.png PySlices-${SLOT}.png
+ newicon wx/tools/XRCed/XRCed_32.png XRCed-${SLOT}.png
+
+ if use examples; then
+ docinto demo
+ dodoc -r "${DOC_S}"/demo/.
+ docinto samples
+ dodoc -r "${DOC_S}"/samples/.
+
+ [[ -e ${docdir}/samples/embedded/embedded ]] \
+ && rm -f "${docdir}"/samples/embedded/embedded
+
+ docompress -x /usr/share/doc/${PF}/{demo,samples}
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ create_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl create_symlinks
+
+ echo
+ elog "Gentoo uses the Multi-version method for SLOT'ing."
+ elog "Developers, see this site for instructions on using"
+ elog "it with your apps:"
+ elog "http://wiki.wxpython.org/MultiVersionInstalls"
+ if use examples; then
+ echo
+ elog "The demo.py app which contains demo modules with"
+ elog "documentation and source code has been installed at"
+ elog "/usr/share/doc/${PF}/demo/demo.py"
+ echo
+ elog "More example apps and modules can be found in"
+ elog "/usr/share/doc/${PF}/samples/"
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+
+ update_symlinks() {
+ alternatives_auto_makesym "$(python_get_sitedir)/wx.pth" "$(python_get_sitedir)/wx.pth-[0-9].[0-9]"
+ alternatives_auto_makesym "$(python_get_sitedir)/wxversion.py" "$(python_get_sitedir)/wxversion.py-[0-9].[0-9]"
+ }
+ python_foreach_impl update_symlinks
+}
diff --git a/dev-python/xcffib/Manifest b/dev-python/xcffib/Manifest
new file mode 100644
index 000000000000..e10d0feaa731
--- /dev/null
+++ b/dev-python/xcffib/Manifest
@@ -0,0 +1,6 @@
+DIST xcffib-0.1.10.tar.gz 69476 SHA256 32265750c67df13dec50b4fe4d72187cb9e38ae303a1b3b2c146ace56a225f69 SHA512 261dcf7fd7b650beba04deafd37d995ba43f0136f779230ec176c6988883d48ebb6c3bf1c79fa695822612cc8767a54f05d55206dfa8ee12f20272210d722ee1 WHIRLPOOL 5722397105a445d5e0a50af0e38f60372fc8b16658a6bf761226bee452e1e30bb689fd3ea652b4c57fa2e4131a7331efc0ac56ffcef05f7430b9021661d29aad
+DIST xcffib-0.2.0.tar.gz 69466 SHA256 160aae442f42f42ce080e7390a1ba567aedac18f7f4e09ae08a062d3d2e59774 SHA512 d81b37aea7f9805b225a46c1a2a65f3ff1b6bca0080bb60cda5511b88f1ddadb14a77507fac0cf442e73bd72179411d9a9edd528a5706cbeeb866d638d062cd8 WHIRLPOOL 26f89e0b51192197037d1ae426aacd7d2d2622c560d9d16baa90fb0e971399c9539779b9c122cdbd6536ef45f2cecaad9fa9e66c9b0fc8f0ac3f1382cf428d71
+DIST xcffib-0.2.1.tar.gz 69465 SHA256 ce4c1fc87d2c875de834a35450970ae8ea2a9f2354c25f0addc03af7d5589a6a SHA512 7d8eab6f2a782f591d898799cdf805f419d33b5736c8c90b858262600adb34eefef8944d57bea7414684cc71da7adf2924e993fd1edfa2c5ea86ff195da1d128 WHIRLPOOL 01578b0ef7fd5466dcdffeded2dd4406a9bfad4d5a53fe48e4582524045d2c4337072cbbc315a5c954456b6276d6b949d421489195e7ce4366c2aaf60e4b6bca
+DIST xcffib-0.2.5.tar.gz 72026 SHA256 7f2ff0923d27f76b04cc546729f9d106da84b7214c25ae1cf71502dda4fff988 SHA512 5323e983f5e400675a656a92b89551c80b4fe62ab29028799c63ef26f3cbfa9b2338935a57068d410f90f8afe2c31797987fbe33d68350a88db12df6701fb98a WHIRLPOOL eb0ff753ee595ac3bb12c9e9de036739577ad0926fdce22bafee6ab4b3b5e670df633d6f351ede2e65eff9051302594b97b8aaa9f7b432801266cce197032a82
+DIST xcffib-0.3.2.tar.gz 65445 SHA256 a84eecd5a1bb7570e26c83aca87a2016578ca4e353e1fa56189e95bdef063e6a SHA512 5a4c1ad2ae415a3e97af5b94267fbda56e560a27719ef6b20983f5aa8a6fe80522db9c46cc621a74988d7337cc0aad98505e68ab93699240ae91c4294284dc4d WHIRLPOOL 03e1f37a5b3861e74f93e4376cc45a26b6ca03908c2e39cf64d8a5458ebe778c46cafb460e4fa0838aa282b34c856c704fbd3c67d121feccfe230212124d04c2
+DIST xcffib-0.3.4.tar.gz 65481 SHA256 9c54f835351a1622495322f314ee58ca5cb498fe8a2123a3905a25c1fd66850b SHA512 7c70dc6ae37531e6e9649a9055e4740872fc071620825d647525a236cad95e24e2c5f950e5f916b3742588a3c79363fe56431aba0488d939930398022c832be2 WHIRLPOOL 9b99ae6959bea33df013f21f897edba89d0b66b775ed1c019f5c2a61a23293fb26a0bf3311aa225a05e862bac95ac3d4bcad50023a56dde83a2b12b968b4a987
diff --git a/dev-python/xcffib/metadata.xml b/dev-python/xcffib/metadata.xml
new file mode 100644
index 000000000000..51ccadcfeb45
--- /dev/null
+++ b/dev-python/xcffib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">xcffib</remote-id>
+ <remote-id type="github">tych0/xcffib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xcffib/xcffib-0.1.10.ebuild b/dev-python/xcffib/xcffib-0.1.10.ebuild
new file mode 100644
index 000000000000..481f7ea8a176
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.1.10.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.8.2:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
diff --git a/dev-python/xcffib/xcffib-0.2.0.ebuild b/dev-python/xcffib/xcffib-0.2.0.ebuild
new file mode 100644
index 000000000000..1b041dbccf4a
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.2.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.8.2:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
diff --git a/dev-python/xcffib/xcffib-0.2.1.ebuild b/dev-python/xcffib/xcffib-0.2.1.ebuild
new file mode 100644
index 000000000000..1b041dbccf4a
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.8.2:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
diff --git a/dev-python/xcffib/xcffib-0.2.5.ebuild b/dev-python/xcffib/xcffib-0.2.5.ebuild
new file mode 100644
index 000000000000..86b41e48622d
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.2.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.8.2:=[${PYTHON_USEDEP}]
+ <dev-python/cffi-1:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests -d -v || die
+}
diff --git a/dev-python/xcffib/xcffib-0.3.2.ebuild b/dev-python/xcffib/xcffib-0.3.2.ebuild
new file mode 100644
index 000000000000..03452f1ddfbb
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.3.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.1.1:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests -d -v || die
+}
diff --git a/dev-python/xcffib/xcffib-0.3.4.ebuild b/dev-python/xcffib/xcffib-0.3.4.ebuild
new file mode 100644
index 000000000000..03452f1ddfbb
--- /dev/null
+++ b/dev-python/xcffib/xcffib-0.3.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+HOMEPAGE="http://github.com/tych0/xcffib"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+COMMON_DEPEND="x11-libs/libxcb"
+
+RDEPEND="
+ >=dev-python/cffi-0.1.1:=[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${COMMON_DEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests -d -v || die
+}
diff --git a/dev-python/xhtml2pdf/Manifest b/dev-python/xhtml2pdf/Manifest
new file mode 100644
index 000000000000..f23a4bfe6797
--- /dev/null
+++ b/dev-python/xhtml2pdf/Manifest
@@ -0,0 +1,2 @@
+DIST xhtml2pdf-0.0.5.tar.gz 97399 SHA256 1f108c09d0939025069e71e099ec88fb477076bdc781e54215d28a8d42fe5868 SHA512 7c737e8c7ac1018f6f355488a2762a2b448383bb868a34a69e1012fc1c6dc4559d2eb4de1117ee3957712990f5837d7289dc9291a5b1ecb391be0aea53f9b64d WHIRLPOOL fbe3ab0cff346a695edaeeedd7f2256a8fc471ec5a23b9e25ae733b075f931b3de78addc236d091e818f02dff4c62243737fe8c00edfe08f7ac78d0b0da9c5aa
+DIST xhtml2pdf-0.0.6.tar.gz 100628 SHA256 29dbf7da8943ccef4afb958747cd0084762821546e3cc62d23115fd7470d95f0 SHA512 b79f3a1c465ddda20e6b8ac28324d78bbb100a764d1ecd9eaec80f22f67d9266112b93ddfde067a077754058969f09e9ebed227369c3e718693d35cf451b43e9 WHIRLPOOL 1ee4d093cc8c28431d208e7496af155f1b0cb92e45a754c87dc5367aa71332239df216ec3a2045b913d0b237e92ca379c0501c1f5654af5ed491e6ba96d010f9
diff --git a/dev-python/xhtml2pdf/metadata.xml b/dev-python/xhtml2pdf/metadata.xml
new file mode 100644
index 000000000000..c670146f07b0
--- /dev/null
+++ b/dev-python/xhtml2pdf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">xhtml2pdf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xhtml2pdf/xhtml2pdf-0.0.5-r1.ebuild b/dev-python/xhtml2pdf/xhtml2pdf-0.0.5-r1.ebuild
new file mode 100644
index 000000000000..46663da507da
--- /dev/null
+++ b/dev-python/xhtml2pdf/xhtml2pdf-0.0.5-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="PDF generator using HTML and CSS"
+HOMEPAGE="http://www.xhtml2pdf.com/ http://pypi.python.org/pypi/xhtml2pdf/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/html5lib[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/pyPdf[${PYTHON_USEDEP}]
+ dev-python/reportlab[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/xhtml2pdf/xhtml2pdf-0.0.6-r1.ebuild b/dev-python/xhtml2pdf/xhtml2pdf-0.0.6-r1.ebuild
new file mode 100644
index 000000000000..8e8b9a77dadd
--- /dev/null
+++ b/dev-python/xhtml2pdf/xhtml2pdf-0.0.6-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="PDF generator using HTML and CSS"
+HOMEPAGE="http://www.xhtml2pdf.com/ http://pypi.python.org/pypi/xhtml2pdf/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/html5lib[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/PyPDF2[${PYTHON_USEDEP}]
+ >=dev-python/reportlab-2.2[${PYTHON_USEDEP}]
+ <dev-python/reportlab-3[${PYTHON_USEDEP}]"
+# on testing, this version fails under reportlab-3.*
+# which was still new and likely untested at time of release; Bug #530134
+RDEPEND="${DEPEND}"
diff --git a/dev-python/xlrd/Manifest b/dev-python/xlrd/Manifest
new file mode 100644
index 000000000000..37dcff2333b7
--- /dev/null
+++ b/dev-python/xlrd/Manifest
@@ -0,0 +1 @@
+DIST xlrd-0.9.3.tar.gz 178490 SHA256 933a35e27da7ed7712985486b53b5cfb8dd88e076e2a0bd531373d0001d2939c SHA512 8b1480b1b0eb40435c33e6494e3f1c960d97a4e5a7f5a30d1b418485a88e4c6d2721501646eb129d9fce0bcd775aee50b866807b26da77b5c2d35d977bb247d0 WHIRLPOOL fcfb06859d79e8695d04504cf7e0a7e1eefaca856605f5ca5ae4d36073bdb67759e1edf6c0208ce726090ff63c6ad47f3daa7b783c38397be39ed5400c20c7ab
diff --git a/dev-python/xlrd/files/xlrd-0.9.3-column.patch b/dev-python/xlrd/files/xlrd-0.9.3-column.patch
new file mode 100644
index 000000000000..0a9c2749d87c
--- /dev/null
+++ b/dev-python/xlrd/files/xlrd-0.9.3-column.patch
@@ -0,0 +1,59 @@
+From 6c2c1057d2780c079218fe988d1d5243eefec159 Mon Sep 17 00:00:00 2001
+From: Konstantin Lopuhin <kostia.lopuhin@gmail.com>
+Date: Wed, 18 Jun 2014 12:43:04 +0400
+Subject: [PATCH] fix parsing of bad dimensions
+
+---
+ xlrd/xlsx.py | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/xlrd/xlsx.py b/xlrd/xlsx.py
+index 53fbb89..763df0c 100644
+--- a/xlrd/xlsx.py
++++ b/xlrd/xlsx.py
+@@ -73,7 +73,8 @@ def augment_keys(adict, uri):
+ _UPPERCASE_1_REL_INDEX[_x] = 0
+ del _x
+
+-def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX):
++def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX,
++ allow_no_col=False):
+ # Extract column index from cell name
+ # A<row number> => 0, Z =>25, AA => 26, XFD => 16383
+ colx = 0
+@@ -85,9 +86,18 @@ def cell_name_to_rowx_colx(cell_name, letter_value=_UPPERCASE_1_REL_INDEX):
+ if lv:
+ colx = colx * 26 + lv
+ else: # start of row number; can't be '0'
+- colx = colx - 1
+- assert 0 <= colx < X12_MAX_COLS
+- break
++ if charx == 0:
++ # there was no col marker
++ if allow_no_col:
++ colx = None
++ break
++ else:
++ raise Exception(
++ 'Missing col in cell name %r', cell_name)
++ else:
++ colx = colx - 1
++ assert 0 <= colx < X12_MAX_COLS
++ break
+ except KeyError:
+ raise Exception('Unexpected character %r in cell name %r' % (c, cell_name))
+ rowx = int(cell_name[charx:]) - 1
+@@ -562,9 +572,11 @@ def do_dimension(self, elem):
+ if ref:
+ # print >> self.logfile, "dimension: ref=%r" % ref
+ last_cell_ref = ref.split(':')[-1] # example: "Z99"
+- rowx, colx = cell_name_to_rowx_colx(last_cell_ref)
++ rowx, colx = cell_name_to_rowx_colx(
++ last_cell_ref, allow_no_col=True)
+ self.sheet._dimnrows = rowx + 1
+- self.sheet._dimncols = colx + 1
++ if colx is not None:
++ self.sheet._dimncols = colx + 1
+
+ def do_merge_cell(self, elem):
+ # The ref attribute should be a cell range like "B1:D5".
diff --git a/dev-python/xlrd/metadata.xml b/dev-python/xlrd/metadata.xml
new file mode 100644
index 000000000000..22c6fed2a1b5
--- /dev/null
+++ b/dev-python/xlrd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">Extract data from new and old Excel spreadsheets on any platform. Pure
+ Python (2.1 to 2.6). Strong support for Excel dates. Unicode-aware.</longdescription>
+ <upstream>
+ <remote-id type="pypi">xlrd</remote-id>
+ <remote-id type="github">python-excel/xlrd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xlrd/xlrd-0.9.3-r1.ebuild b/dev-python/xlrd/xlrd-0.9.3-r1.ebuild
new file mode 100644
index 000000000000..1a71d0916bc6
--- /dev/null
+++ b/dev-python/xlrd/xlrd-0.9.3-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+HOMEPAGE="http://www.python-excel.org/
+ https://github.com/python-excel/xlrd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~ppc-aix ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+PATCHES=( "${FILESDIR}"/${P}-column.patch )
+
+python_prepare_all() {
+ # Remove this if examples get reintroduced
+ sed -i -e "s/test_names_demo/_&/" tests/test_open_workbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/xlrd/xlrd-0.9.3.ebuild b/dev-python/xlrd/xlrd-0.9.3.ebuild
new file mode 100644
index 000000000000..34a2aa012a97
--- /dev/null
+++ b/dev-python/xlrd/xlrd-0.9.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+HOMEPAGE="http://www.python-excel.org/
+ https://github.com/python-excel/xlrd/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86 ~ppc-aix ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+python_prepare_all() {
+ # Remove this if examples get reintroduced
+ sed -i -e "s/test_names_demo/_&/" tests/test_open_workbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${PYTHON}" -m unittest discover || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/xlsxwriter/Manifest b/dev-python/xlsxwriter/Manifest
new file mode 100644
index 000000000000..036cc3423eb8
--- /dev/null
+++ b/dev-python/xlsxwriter/Manifest
@@ -0,0 +1 @@
+DIST XlsxWriter-0.7.3.tar.gz 231999 SHA256 2fa0f2d633bfbbc55a48abd4089820c744ed7a40e11c5c1580196a2c129eb8c6 SHA512 b85ef49fb6d5c6a6454292a7cdbc3fdff9674578f2e535aab7b08f671180f59934616fd78e89e007e8a662539dbbd9b0b9571b02df049a0e5f70f706d9acde35 WHIRLPOOL 7124119bd0151c76689b08fd4da74b5e5876f1047cbd63c960ff7728ed70bcc82ebcf1c44f4c08a4fe5ddcb9aca6441a5c428eab5f793028e3ef65ba3494ec85
diff --git a/dev-python/xlsxwriter/metadata.xml b/dev-python/xlsxwriter/metadata.xml
new file mode 100644
index 000000000000..6955a1f97fe1
--- /dev/null
+++ b/dev-python/xlsxwriter/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">XlsxWriter</remote-id>
+ <remote-id type="github">jmcnamara/XlsxWriter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xlsxwriter/xlsxwriter-0.7.3.ebuild b/dev-python/xlsxwriter/xlsxwriter-0.7.3.ebuild
new file mode 100644
index 000000000000..214958d30cf8
--- /dev/null
+++ b/dev-python/xlsxwriter/xlsxwriter-0.7.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="XlsxWriter"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python module for creating Excel XLSX files"
+HOMEPAGE="https://pypi.python.org/pypi/XlsxWriter https://github.com/jmcnamara/XlsxWriter"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+"
+
+S="${WORKDIR}"/${MY_P}
+
+python_test() {
+ nosetests --verbosity=3 || die
+}
diff --git a/dev-python/xlutils/Manifest b/dev-python/xlutils/Manifest
new file mode 100644
index 000000000000..9e88b96b7535
--- /dev/null
+++ b/dev-python/xlutils/Manifest
@@ -0,0 +1 @@
+DIST xlutils-1.5.2.tar.gz 48579 SHA256 5b8f2bc41983722a63009c0ab6216227d6bbc0a0f945c9cab33cd1ebac7666d0 SHA512 5611b08516ebcfc08f43b7b5a793c0d53c9e0dfe12b597ea318f10e794d323f87b07df0f96f58b1d4542feb7339ab7c6527c956c7a7af7d8554e41dad85c63d8 WHIRLPOOL 7a1cc3ac03fbcd1c768de6a259adaaf33ca7827af8afc3d11fe03ba462797c0e173071214fbb791d497afb6ffe6577c9eca7a41577da2c51acdc88014d4587d4
diff --git a/dev-python/xlutils/metadata.xml b/dev-python/xlutils/metadata.xml
new file mode 100644
index 000000000000..d9516ac33b1e
--- /dev/null
+++ b/dev-python/xlutils/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>idella4@gentoo.org</email>
+ <name>Ian Delaney</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">xlutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xlutils/xlutils-1.5.2-r1.ebuild b/dev-python/xlutils/xlutils-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..f393872d036d
--- /dev/null
+++ b/dev-python/xlutils/xlutils-1.5.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="provides a collection of utilities for working with Excel files"
+HOMEPAGE="http://pypi.python.org/pypi/xlutils"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=dev-python/xlwt-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-0.7.7[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/errorhandler[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/testfixtures-1.6.1[${PYTHON_USEDEP}] )"
+
+DOCS="xlutils/readme.txt xlutils/docs/*.txt"
+
+python_test() {
+ py.test xlutils/tests
+}
diff --git a/dev-python/xlwt/Manifest b/dev-python/xlwt/Manifest
new file mode 100644
index 000000000000..846ec8b8ca86
--- /dev/null
+++ b/dev-python/xlwt/Manifest
@@ -0,0 +1,2 @@
+DIST xlwt-0.7.5.tar.gz 115100 SHA256 9478bd70b86590b9ac2697967c8a10a4917d900636349ca73eeb362a3227423c SHA512 d385c36c80002998891dd93d4ebcdd962239463ee089965961d3b8955d4783bbcdec96920891a252ee6cb076eab6b13ffad83e7758c179dcbc684e82fa8dfe35 WHIRLPOOL 46d01a1bcfc5f01585082bf3ff8750cecd7ce87b5ebe279a3d9377c8c7e272f070cb28d430285c900d0e2389469097088b6126932c76f3778b274b86696f6adc
+DIST xlwt-1.0.0.tar.gz 129588 SHA256 ac432939eec8daa9f88af994ff53f009e607a4e1102772ec0be0b2a86b2c1cf9 SHA512 45788a506635f1ef6380d46aa0af724e511e401e8347dcf48dbf4e2d90e7f4c7f66838cd9616cf58807ffb939daba1f47b0d2cf449f8cb528db41fba84cc8866 WHIRLPOOL d3d344faae89fad012f05fe5b19e5ce16dd144016abf7ea15123a9725c77a732e85d93131c692dbcaf306cdc8d1b06efcaf39227265c612200107d2c20541132
diff --git a/dev-python/xlwt/files/docbuild.patch b/dev-python/xlwt/files/docbuild.patch
new file mode 100644
index 000000000000..9468d91de78f
--- /dev/null
+++ b/dev-python/xlwt/files/docbuild.patch
@@ -0,0 +1,17 @@
+diff -ur xlwt-1.0.0.orig/docs/conf.py xlwt-1.0.0/docs/conf.py
+--- docs/conf.py 2015-04-16 04:43:57.000000000 +0800
++++ docs/conf.py 2015-05-11 11:13:22.320470128 +0800
+@@ -4,7 +4,7 @@
+ on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
+ pkg_info = pkginfo.Develop(os.path.join(os.path.dirname(__file__), os.pardir))
+
+-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx']
++extensions = ['sphinx.ext.autodoc']
+ source_suffix = '.rst'
+ master_doc = 'index'
+ project = u'xlwt'
+@@ -19,4 +19,3 @@
+ html_theme = 'classic'
+
+ htmlhelp_basename = project+'doc'
+-intersphinx_mapping = {'python': ('http://docs.python.org', None)}
diff --git a/dev-python/xlwt/metadata.xml b/dev-python/xlwt/metadata.xml
new file mode 100644
index 000000000000..2d8cbb1cd756
--- /dev/null
+++ b/dev-python/xlwt/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">xlwt is a library for generating spreadsheet files that are compatible
+ with Excel 97/2000/XP/2003, OpenOffice.org Calc, and
+ Gnumeric. xlwt has full support for Unicode. Excel spreadsheets can
+ be generated on any platform without needing Excel or a COM
+ server. xlwt is a fork of pyExcelerator.</longdescription>
+ <upstream>
+ <remote-id type="pypi">xlwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xlwt/xlwt-0.7.5.ebuild b/dev-python/xlwt/xlwt-0.7.5.ebuild
new file mode 100644
index 000000000000..6a05e5d68887
--- /dev/null
+++ b/dev-python/xlwt/xlwt-0.7.5.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to create spreadsheet files compatible with Excel"
+HOMEPAGE="http://pypi.python.org/pypi/xlwt"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+python_prepare_all() {
+ # Don't install documentation and examples in site-packages directories.
+ sed -e "/package_data/,+6d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ local HTML_DOCS=( HISTORY.html xlwt/doc/xlwt.html )
+ use examples && local EXAMPLES=( xlwt/examples )
+ distutils-r1_python_install_all
+
+ dodoc -r tests
+ docompress -x /usr/share/doc/${PF}/tests
+}
diff --git a/dev-python/xlwt/xlwt-1.0.0.ebuild b/dev-python/xlwt/xlwt-1.0.0.ebuild
new file mode 100644
index 000000000000..37200f7dcc36
--- /dev/null
+++ b/dev-python/xlwt/xlwt-1.0.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to create spreadsheet files compatible with Excel"
+HOMEPAGE="http://pypi.python.org/pypi/xlwt"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? (
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ dev-python/pkginfo[${PYTHON_USEDEP}]
+ )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+# Prevent d'loading in the doc build
+PATCHES=( "${FILESDIR}"/docbuild.patch )
+
+python_prepare_all() {
+ # Don't install documentation and examples in site-packages directories.
+ sed -e "/package_data/d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ nosetests tests || die "tests failed under ${EPYTHON}}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/xmltodict/Manifest b/dev-python/xmltodict/Manifest
new file mode 100644
index 000000000000..f747e3c28c00
--- /dev/null
+++ b/dev-python/xmltodict/Manifest
@@ -0,0 +1,2 @@
+DIST xmltodict-0.9.1.tar.gz 37721 SHA256 ba676bec7a2a2e8be0565c26807db8661f1bfd49b5fd7b2d89731270137f49f3 SHA512 4dd3ef1424f74185d37e41c6860c37c63e4d11735bd5e111025429b66ae2bff8b07a30f245dc40c85dc3e657fdfd3e91d7074adc69fc0d4b7bde1bf16d6010ac WHIRLPOOL d4dd1e1af07778757f2de80bc606656ef1488589d50f8da7d68894b9c66e7a6b3f6bc7a5ad0c35aa93e661ec9fadae028261df59dd79b9b922c274eb29d27c02
+DIST xmltodict-0.9.2.tar.gz 37875 SHA256 275d1e68c95cd7e3ee703ddc3ea7278e8281f761680d6bdd637bcd00a5c59901 SHA512 0d2bd2cce9b4484514cf16df92abdf26dfd17e222ea6a9285ca1216858bc8092bd328f39b8af851a1293e9d72f140775e12236a440004783a6bfd2321efec0c5 WHIRLPOOL 909460169cd3948dfc231040cc7f827436aafe0bd89b246e1cbf15699c84356e2947c704a555f62d4e378481b5acd5893a67bf31a9d97cb4b8f7a01fe378f76c
diff --git a/dev-python/xmltodict/metadata.xml b/dev-python/xmltodict/metadata.xml
new file mode 100644
index 000000000000..0ceb52bcca50
--- /dev/null
+++ b/dev-python/xmltodict/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">xmltodict</remote-id>
+ <remote-id type="github">martinblech/xmltodict</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xmltodict/xmltodict-0.9.1.ebuild b/dev-python/xmltodict/xmltodict-0.9.1.ebuild
new file mode 100644
index 000000000000..3c120889969c
--- /dev/null
+++ b/dev-python/xmltodict/xmltodict-0.9.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+inherit distutils-r1
+
+DESCRIPTION="Makes working with XML feel like you are working with JSON"
+HOMEPAGE="https://github.com/martinblech/xmltodict/ https://pypi.python.org/pypi/xmltodict/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ # avoid setuptools sandbox issues, bug #489726
+ sed -i '/setup_requires/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/xmltodict/xmltodict-0.9.2.ebuild b/dev-python/xmltodict/xmltodict-0.9.2.ebuild
new file mode 100644
index 000000000000..5450c5d635f4
--- /dev/null
+++ b/dev-python/xmltodict/xmltodict-0.9.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Makes working with XML feel like you are working with JSON"
+HOMEPAGE="https://github.com/martinblech/xmltodict/ https://pypi.python.org/pypi/xmltodict/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/xmpppy/Manifest b/dev-python/xmpppy/Manifest
new file mode 100644
index 000000000000..e3eacd477914
--- /dev/null
+++ b/dev-python/xmpppy/Manifest
@@ -0,0 +1 @@
+DIST xmpppy-0.5.0-rc1.tar.gz 84993 SHA256 96d9230be2a130ce8ba4cfd09ee9487de0fa7cfe21639977b596c637b267d094 SHA512 53a37d1a8adcdc8a652e4a6efce2a7c35b4c5ef79ee7ae93134ab6d5a74f96647efbd0954eac60c26a2b507fdb7ee3e607427b11fbd1e22290a23793f03b4699 WHIRLPOOL d2a7fa4c526e6d55ffd1e7b633aafacd862d5efbe1db448ec92abfa8f9ff52af0fa726bad1da8b8d3351e483ff3180496f6eb7a9645a278c0f18039a94dee13a
diff --git a/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch b/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch
new file mode 100644
index 000000000000..489de037a488
--- /dev/null
+++ b/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch
@@ -0,0 +1,69 @@
+--- xmpp/auth.py
++++ xmpp/auth.py
+@@ -21,11 +21,16 @@
+
+ from protocol import *
+ from client import PlugIn
+-import sha,base64,random,dispatcher,re
++import base64,random,dispatcher,re
+
+-import md5
+-def HH(some): return md5.new(some).hexdigest()
+-def H(some): return md5.new(some).digest()
++try:
++ from hashlib import md5, sha1
++except ImportError:
++ from md5 import new as md5
++ from sha import new as sha1
++
++def HH(some): return md5(some).hexdigest()
++def H(some): return md5(some).digest()
+ def C(some): return ':'.join(some)
+
+ class NonSASL(PlugIn):
+@@ -54,15 +59,15 @@
+
+ if query.getTag('digest'):
+ self.DEBUG("Performing digest authentication",'ok')
+- query.setTagData('digest',sha.new(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest())
++ query.setTagData('digest',sha1(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest())
+ if query.getTag('password'): query.delChild('password')
+ method='digest'
+ elif query.getTag('token'):
+ token=query.getTagData('token')
+ seq=query.getTagData('sequence')
+ self.DEBUG("Performing zero-k authentication",'ok')
+- hash = sha.new(sha.new(self.password).hexdigest()+token).hexdigest()
+- for foo in xrange(int(seq)): hash = sha.new(hash).hexdigest()
++ hash = sha1(sha1(self.password).hexdigest()+token).hexdigest()
++ for foo in xrange(int(seq)): hash = sha1(hash).hexdigest()
+ query.setTagData('hash',hash)
+ method='0k'
+ else:
+@@ -81,7 +86,7 @@
+ def authComponent(self,owner):
+ """ Authenticate component. Send handshake stanza and wait for result. Returns "ok" on success. """
+ self.handshake=0
+- owner.send(Node(NS_COMPONENT_ACCEPT+' handshake',payload=[sha.new(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest()]))
++ owner.send(Node(NS_COMPONENT_ACCEPT+' handshake',payload=[sha1(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest()]))
+ owner.RegisterHandler('handshake',self.handshakeHandler,xmlns=NS_COMPONENT_ACCEPT)
+ while not self.handshake:
+ self.DEBUG("waiting on handshake",'notify')
+--- xmpp/transports.py
++++ xmpp/transports.py
+@@ -31,6 +31,7 @@
+ from simplexml import ustr
+ from client import PlugIn
+ from protocol import *
++import warnings
+
+ # determine which DNS resolution library is available
+ HAVE_DNSPYTHON = False
+@@ -312,6 +313,7 @@
+ """ Immidiatedly switch socket to TLS mode. Used internally."""
+ """ Here we should switch pending_data to hint mode."""
+ tcpsock=self._owner.Connection
++ warnings.filterwarnings("ignore", "socket\.ssl.*ssl\.wrap_socket", DeprecationWarning)
+ tcpsock._sslObj = socket.ssl(tcpsock._sock, None, None)
+ tcpsock._sslIssuer = tcpsock._sslObj.issuer()
+ tcpsock._sslServer = tcpsock._sslObj.server()
diff --git a/dev-python/xmpppy/metadata.xml b/dev-python/xmpppy/metadata.xml
new file mode 100644
index 000000000000..c91ec5457f58
--- /dev/null
+++ b/dev-python/xmpppy/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ xmpppy is a Python library that is targeted to provide easy scripting with
+ Jabber. Similar projects are Twisted Words and jabber.py. This library was
+ not designed from scratch. It inherits some code from jabberpy and have very
+ similar API in many places. Though it is separate project since it have almost
+ completely different architecture and primarily aims to work with jabberd2 -
+ the new Open Source Jabber Server.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">xmpppy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xmpppy/xmpppy-0.5.0_rc1-r1.ebuild b/dev-python/xmpppy/xmpppy-0.5.0_rc1-r1.ebuild
new file mode 100644
index 000000000000..22a0bfba010f
--- /dev/null
+++ b/dev-python/xmpppy/xmpppy-0.5.0_rc1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Python library providing easy scripting with Jabber"
+HOMEPAGE="http://xmpppy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xmpppy/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+RDEPEND="|| (
+ dev-python/dnspython[${PYTHON_USEDEP}]
+ dev-python/pydns[${PYTHON_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-hashlib_ssl_deprecation.patch"
+)
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dohtml -A py -r doc/.
+}
diff --git a/dev-python/xmpppy/xmpppy-0.5.0_rc1.ebuild b/dev-python/xmpppy/xmpppy-0.5.0_rc1.ebuild
new file mode 100644
index 000000000000..49104c845a0e
--- /dev/null
+++ b/dev-python/xmpppy/xmpppy-0.5.0_rc1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+inherit distutils eutils
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Python library providing easy scripting with Jabber"
+HOMEPAGE="http://xmpppy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xmpppy/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~ppc ~ppc64 x86"
+IUSE="doc"
+
+RDEPEND="|| (
+ dev-python/dnspython
+ dev-python/pydns
+ )"
+DEPEND="${RDEPEND}
+ dev-python/setuptools"
+
+S="${WORKDIR}/${MY_P}"
+
+PYTHON_MODNAME="xmpp"
+
+src_prepare() {
+ distutils_src_prepare
+ epatch "${FILESDIR}/${PN}-hashlib_ssl_deprecation.patch"
+}
+
+src_install() {
+ distutils_src_install
+ use doc && dohtml -A py -r doc/.
+}
diff --git a/dev-python/xvfbwrapper/Manifest b/dev-python/xvfbwrapper/Manifest
new file mode 100644
index 000000000000..a154158ceaad
--- /dev/null
+++ b/dev-python/xvfbwrapper/Manifest
@@ -0,0 +1,2 @@
+DIST xvfbwrapper-0.2.2.tar.gz 3421 SHA256 58934508285c43aafac4179f26c34735b46c0bcb96b66198a4dbc68468e3cbb4 SHA512 ac71ec9a08189456c40e493f57802e872c03c0c5caf84493d77bf2e379853afe79099bcf5e5c7c0eb66ff1bf64e44bf37687a82b49864bc63a237f767752eed4 WHIRLPOOL cf3d39ff9eb68b3665c84c87cd7306134ca6d98734111855a777fe53a0528b5a212f3f082fe4d7734a460325875039511fa832e0ff9983c02c9dfc6b2bb54d90
+DIST xvfbwrapper-0.2.4.tar.gz 3215 SHA256 a7f52aefaf2e18c1aee302eb295ba9ca53ae6d3ba36df76794945a338a4b579c SHA512 26b14fd64c00ea33ad5f32dd69e59001f468ab294970ee281c81f1ae635cdea105b6057ba2e1012975fbb935ccb222585e70798e78c17f476d8b3e40f9e1346c WHIRLPOOL 791578eabe86fa9f3e6d44b9b03008fe8dbe2c9d853453afd29cfa28690d6f4cb44b948c5d991e4cdb7424a87fcce334bf7e403f2a6f781f6868f47af6a74268
diff --git a/dev-python/xvfbwrapper/metadata.xml b/dev-python/xvfbwrapper/metadata.xml
new file mode 100644
index 000000000000..ea7b0b684364
--- /dev/null
+++ b/dev-python/xvfbwrapper/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">xvfbwrapper</remote-id>
+ <remote-id type="github">cgoldberg/xvfbwrapper</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.2.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.2.ebuild
new file mode 100644
index 000000000000..4f2a0c5d7169
--- /dev/null
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for running a display inside X virtual framebuffer"
+HOMEPAGE="https://github.com/cgoldberg/xvfbwrapper
+ http://pypi.python.org/pypi/xvfbwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="x11-base/xorg-server[xvfb]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/pep8[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+ unset DISPLAY
+ "${PYTHON}" test_xvfb.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/xvfbwrapper/xvfbwrapper-0.2.4.ebuild b/dev-python/xvfbwrapper/xvfbwrapper-0.2.4.ebuild
new file mode 100644
index 000000000000..a6672d8167cb
--- /dev/null
+++ b/dev-python/xvfbwrapper/xvfbwrapper-0.2.4.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper for running a display inside X virtual framebuffer"
+HOMEPAGE="https://github.com/cgoldberg/xvfbwrapper
+ http://pypi.python.org/pypi/xvfbwrapper"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+
+RDEPEND="x11-base/xorg-server[xvfb]"
+DEPEND="${RDEPEND}
+ test? ( dev-python/pep8[${PYTHON_USEDEP}] )
+"
+
+python_test() {
+# "${PYTHON}" test_xvfb.py || die "Tests failed with ${EPYTHON}"
+ "${PYTHON}" -m unittest discover || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/yapps/Manifest b/dev-python/yapps/Manifest
new file mode 100644
index 000000000000..3ebfb046f2ed
--- /dev/null
+++ b/dev-python/yapps/Manifest
@@ -0,0 +1 @@
+DIST Yapps-2.2.0.tar.gz 13630 SHA256 d6e16a8e22ab559ca52eab58cb0015bb088d6889fa06db795222cdccae2354af SHA512 087f99071b2615f5382f453d9b3492675704aa7e7ff54b332d7c4e337e16fbd3ab3c1b3820a7941775c0b3ecf7e255a7773cb47ea20e8adb77dc3dc8d9a49faa WHIRLPOOL 1db693327d88445657fe0a4221928bdf0b81a6c7a238ad1f15579ea853975ce1da15b31c483a6782d43576b8f32024182d131061952d8d00493ca211b2a10eb2
diff --git a/dev-python/yapps/metadata.xml b/dev-python/yapps/metadata.xml
new file mode 100644
index 000000000000..6c460c309c0d
--- /dev/null
+++ b/dev-python/yapps/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">Yapps</remote-id>
+ <remote-id type="github">smurfix/yapps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yapps/yapps-2.2.0.ebuild b/dev-python/yapps/yapps-2.2.0.ebuild
new file mode 100644
index 000000000000..d337dee924f3
--- /dev/null
+++ b/dev-python/yapps/yapps-2.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+MY_PN="Yapps"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="An easy to use parser generator"
+HOMEPAGE="https://github.com/smurfix/yapps"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-python/yapsy/Manifest b/dev-python/yapsy/Manifest
new file mode 100644
index 000000000000..12bd7daa83cb
--- /dev/null
+++ b/dev-python/yapsy/Manifest
@@ -0,0 +1,3 @@
+DIST Yapsy-1.10.423.tar.gz 152691 SHA256 9ba7767f63ab591c0ad3fc8b2bd11ac19a0fabb7259bcb1733858eab5bd9b1e1 SHA512 46447ac2cc2583fcb7fe1c89ded74654efc4d3c9ecc79f955db1e0e9875c9ac2f18e12de3b5f0886c34fdbcdadf601523eb2cd1d8e74b24b791f4f6900dcdcc3 WHIRLPOOL 7dbd717a40296f05da0aec09e05b40c039613d0dc8622b337aa21ddc1919c71e48d9e9ed31c8cf4b89a9c06e5752da2eb684bbdcc843c7f1e8e672920e10d20d
+DIST Yapsy-1.11.023.tar.gz 80595 SHA256 7b494e6cd62cc598d6d6f3be49dd45e9b1670b5d341627f60664d7002e4e0539 SHA512 98ce3925084119a7760ee5f8ed8904d6d4d39746918ff3eccfc64dd890a99aede0249dc3c97482fd53df441730083f790aa81d459ba4395e66f39248a5e14d79 WHIRLPOOL 91a15a51f0d4d64082202366a337ae91e433a426dca6f7c8b71470fb9f8354d36e1c45f5434a0c5a7474b2f3cfdc99c03a616402dbe1a4796519bb7a58be11a4
+DIST Yapsy-1.11.223.tar.gz 80783 SHA256 45bb39a72461913388d7f3e92ce33816e84fff59946c45e16796eb1fb1d5f2a6 SHA512 690d0ab78eafede5a75cf7b7bbcfce00b05c7b6f958980c3b67815bcaf848a8098b6e81afd1d95c5821fa4bb7affefab2cde208ff7c8ac7952615c8ddbafe305 WHIRLPOOL 05a3682f0c19a2c13ed97e9e17041f5bf7fd35a7928c4ff1bf27881a1575f1d1923c933ade7bb14569a732c6ddbcdffd3cba4ac546e8e4c1263f838876325082
diff --git a/dev-python/yapsy/metadata.xml b/dev-python/yapsy/metadata.xml
new file mode 100644
index 000000000000..9edc9cdc8ef5
--- /dev/null
+++ b/dev-python/yapsy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>pinkbyte@gentoo.org</email>
+ <name>Sergey Popov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">yapsy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yapsy/yapsy-1.10.423.ebuild b/dev-python/yapsy/yapsy-1.10.423.ebuild
new file mode 100644
index 000000000000..e7248ff40510
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.10.423.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="Yapsy-${PV}"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fat-free DIY Python plugin management toolkit"
+HOMEPAGE="http://yapsy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/yapsy/yapsy-1.11.023.ebuild b/dev-python/yapsy/yapsy-1.11.023.ebuild
new file mode 100644
index 000000000000..9d0a1741b229
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.11.023.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="Yapsy-${PV}"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fat-free DIY Python plugin management toolkit"
+HOMEPAGE="http://yapsy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable erroneous test
+ sed -e 's:test_default_plugins_place_is_parent_dir:_&:' \
+ -i test/test_PluginFileLocator.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/yapsy/yapsy-1.11.223.ebuild b/dev-python/yapsy/yapsy-1.11.223.ebuild
new file mode 100644
index 000000000000..9d0a1741b229
--- /dev/null
+++ b/dev-python/yapsy/yapsy-1.11.223.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+MY_P="Yapsy-${PV}"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fat-free DIY Python plugin management toolkit"
+HOMEPAGE="http://yapsy.sourceforge.net/"
+SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ # Disable erroneous test
+ sed -e 's:test_default_plugins_place_is_parent_dir:_&:' \
+ -i test/test_PluginFileLocator.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/yenc/Manifest b/dev-python/yenc/Manifest
new file mode 100644
index 000000000000..bbbaa7427443
--- /dev/null
+++ b/dev-python/yenc/Manifest
@@ -0,0 +1 @@
+DIST yenc-0.4.0.tar.gz 63156 SHA256 075f6c4e4f43b7c6dafac579eabb17287b62d80e9147cbea0b046bc3ee8edd2f SHA512 06adf10daa3eb56d1960e48c4a42c432821b8c25fcf6c703560efb9d902dc7619b79509a409f436790506f12f172fe0f0c6c1bf6bff7ab5ce3856b272c62c4d9 WHIRLPOOL e364ae573cfe57f51b1c7a47d1fd447bbd8144bce481d530fd1cda33ec41be9a3d8b05a6a92bdf6269997e5632bbdea426a1b4f324d74c2a9c78f35b5e337fb7
diff --git a/dev-python/yenc/files/yenc-remove-cflags.patch b/dev-python/yenc/files/yenc-remove-cflags.patch
new file mode 100644
index 000000000000..27721c727db3
--- /dev/null
+++ b/dev-python/yenc/files/yenc-remove-cflags.patch
@@ -0,0 +1,11 @@
+--- setup.py 2011-09-06 09:04:33.000000000 +0200
++++ setup.py.NEW 2012-07-07 15:33:13.295906002 +0200
+@@ -33,7 +33,7 @@
+ platforms = ["Unix"],
+ package_dir = { '': 'lib' },
+ py_modules = ["yenc"],
+- ext_modules = [Extension("_yenc",["src/_yenc.c"],extra_compile_args=["-O2","-g"])],
++ ext_modules = [Extension("_yenc",["src/_yenc.c"])],
+ classifiers = [
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2.5",
diff --git a/dev-python/yenc/metadata.xml b/dev-python/yenc/metadata.xml
new file mode 100644
index 000000000000..c2318979e416
--- /dev/null
+++ b/dev-python/yenc/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jsbronder@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/yenc/yenc-0.4.0-r1.ebuild b/dev-python/yenc/yenc-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..f5a1d1578240
--- /dev/null
+++ b/dev-python/yenc/yenc-0.4.0-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding"
+HOMEPAGE="http://www.golug.it/yenc.html"
+SRC_URI="http://www.golug.it/pub/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# Remove forced CFLAG on setup.py
+PATCHES=( "${FILESDIR}"/${PN}-remove-cflags.patch )
+DOCS=( README TODO CHANGES doc/${PN}-draft.1.3.txt )
+
+python_test() {
+ "${PYTHON}" test/test.py || die "Test failed."
+}
+
+src_test() {
+ # Tests use a constant temp file.
+ DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test
+}
diff --git a/dev-python/yolk-portage/Manifest b/dev-python/yolk-portage/Manifest
new file mode 100644
index 000000000000..7f3711245210
--- /dev/null
+++ b/dev-python/yolk-portage/Manifest
@@ -0,0 +1 @@
+DIST yolk-portage-0.1.tar.gz 2497 SHA256 32b25d2567c755d5aca2c3da3d0ce4d63b65b1d81ac1effa66444dd561134262 SHA512 e0d0ef4450276fbc5b1e6813cab63b5b2f9c2731e141d95ee23bfa3e5f78dd86c6bdda3dae4e056096be58916da406a7699c5cfea7a84f688e2721b6d8a36bb7 WHIRLPOOL a187314441a95468851554d444ec0c2df521b6f88c5c621ceb02f0bc6e97e048f15509052790ab026d1aaf49cb1e41a4b5fb896703e953330109faef030bb0ce
diff --git a/dev-python/yolk-portage/metadata.xml b/dev-python/yolk-portage/metadata.xml
new file mode 100644
index 000000000000..ceb949fbbb3e
--- /dev/null
+++ b/dev-python/yolk-portage/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ yolk-portage is a plugin for dev-python/yolk
+ You can use yolk -l --portage to see which Python packages were
+ installed by portage or directly by setuptools, easy_install
+ or distutils (python &gt;=2.5)
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">yolk-portage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yolk-portage/yolk-portage-0.1-r1.ebuild b/dev-python/yolk-portage/yolk-portage-0.1-r1.ebuild
new file mode 100644
index 000000000000..aa95633a4d67
--- /dev/null
+++ b/dev-python/yolk-portage/yolk-portage-0.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Gentoo Portage plugin for yolk"
+HOMEPAGE="http://pypi.python.org/pypi/yolk-portage"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=">=app-portage/portage-utils-0.1.23"
diff --git a/dev-python/yolk/Manifest b/dev-python/yolk/Manifest
new file mode 100644
index 000000000000..75bbdab3124d
--- /dev/null
+++ b/dev-python/yolk/Manifest
@@ -0,0 +1 @@
+DIST yolk-0.4.3.tar.gz 86100 SHA256 1c07eb4001dc133c08e66e38c5d58faa7616ae804f8d0ab02dd44a1044e7ddb8 SHA512 ad707f4bff0cbcd3e77d9dec0734bb4d743dcada706ab1e296edafc51e1d511ab4565de64c9828275cbe0c82f35bd3f50316b74f140670f0af8276a49733f9ad WHIRLPOOL 573a2ff7e063fb91ae58f20787c081e36949707100052e2101c3fc15436e6ea752fa645f3e51f5e11bf0b1768dec396b00e1ce59052d346552a9c44c43909c19
diff --git a/dev-python/yolk/files/yolk-0.4.1_entry_map.patch b/dev-python/yolk/files/yolk-0.4.1_entry_map.patch
new file mode 100644
index 000000000000..2eec2de97ad8
--- /dev/null
+++ b/dev-python/yolk/files/yolk-0.4.1_entry_map.patch
@@ -0,0 +1,20 @@
+#Patch by Jesus Rivero <neurogeek@gentoo.org>
+#Sent upstream on 2011-07-20
+diff -uNr yolk-0.4.1.orig/yolk/cli.py yolk-0.4.1/yolk/cli.py
+--- yolk-0.4.1.orig/yolk/cli.py 2008-08-11 10:36:54.000000000 -0400
++++ yolk-0.4.1/yolk/cli.py 2011-07-20 10:53:26.000000000 -0400
+@@ -830,10 +830,12 @@
+ """
+ pprinter = pprint.PrettyPrinter()
+ try:
+- pprinter.pprint(pkg_resources.get_entry_map(self.options.entry_map))
++ entry_map = pkg_resources.get_entry_map(self.options.show_entry_map)
++ if entry_map:
++ pprinter.pprint(entry_map)
+ except pkg_resources.DistributionNotFound:
+ self.logger.error("Distribution not found: %s" \
+- % self.options.entry_map)
++ % self.options.show_entry_map)
+ return 1
+ return 0
+
diff --git a/dev-python/yolk/metadata.xml b/dev-python/yolk/metadata.xml
new file mode 100644
index 000000000000..2e151cd9aaf9
--- /dev/null
+++ b/dev-python/yolk/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <longdescription lang="en">
+ yolk-portage is a plugin for dev-python/yolk
+ You can use yolk -l --portage to see which Python packages were
+ installed by portage or directly by setuptools, easy_install
+ or distutils (python &gt;=2.5)
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">yolk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yolk/yolk-0.4.3-r1.ebuild b/dev-python/yolk/yolk-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..6cdf2414c2d1
--- /dev/null
+++ b/dev-python/yolk/yolk-0.4.3-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool and library for querying PyPI and locally installed Python packages"
+HOMEPAGE="http://pypi.python.org/pypi/yolk"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="examples"
+
+DEPEND="dev-python/setuptools
+ dev-python/yolk-portage"
+RDEPEND="${DEPEND}"
+
+python_install_all() {
+ if use examples; then
+ docinto examples/plugins
+ dodoc -r examples/plugins/*
+ fi
+}
diff --git a/dev-python/yubiotp/Manifest b/dev-python/yubiotp/Manifest
new file mode 100644
index 000000000000..d459a33c17b3
--- /dev/null
+++ b/dev-python/yubiotp/Manifest
@@ -0,0 +1 @@
+DIST YubiOTP-0.2.1.tar.gz 17493 SHA256 458b6db6e9988740766dc47ca5583ac4c4db8b7483ffa7e3bc82101e6b07075c SHA512 3b505fed17ed27d1ef325598a5899d4ed4ae5ed7938d1ae71155f889a6533a969e07e1172661e411cdbf23a2060e8f521cd90779c314524c4a564fbf852a670c WHIRLPOOL 99697e6886a6757c09bac9d9d64ef04b3721f4d2f20b227f246015f7d214a32b1a646a5da40d9bf9e4bd5f3e3688424885ceb7b76f6f04e82ece919c6d84650d
diff --git a/dev-python/yubiotp/metadata.xml b/dev-python/yubiotp/metadata.xml
new file mode 100644
index 000000000000..100ebaca37d9
--- /dev/null
+++ b/dev-python/yubiotp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ercpe@gentoo.org</email>
+ <name>Johann Schmitz (ercpe)</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">YubiOTP</remote-id>
+ <remote-id type="bitbucket">psagers/yubiotp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yubiotp/yubiotp-0.2.1.ebuild b/dev-python/yubiotp/yubiotp-0.2.1.ebuild
new file mode 100644
index 000000000000..9026d3040f18
--- /dev/null
+++ b/dev-python/yubiotp/yubiotp-0.2.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils distutils-r1
+
+MY_PN="YubiOTP"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Python library for verifying YubiKey OTP tokens, both locally and through a Yubico web service"
+HOMEPAGE="https://bitbucket.org/psagers/yubiotp"
+SRC_URI="mirror://pypi/Y/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test"
+
+S="${WORKDIR}/${MY_P}"
+
+CDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ dev-python/pycrypto[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}"
+DEPEND="test? ( ${CDEPEND} )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/zake/Manifest b/dev-python/zake/Manifest
new file mode 100644
index 000000000000..19bc446915e0
--- /dev/null
+++ b/dev-python/zake/Manifest
@@ -0,0 +1 @@
+DIST zake-0.2.1.tar.gz 12972 SHA256 2e5bcb215e366e682fd05dd1df4f2e6affceefa5d3781c2987a21fd597659a21 SHA512 a9f7ddeb202e16355680d8aeb39af920eeb4280352cf746c630d208567c948efe78036032d4a6ca7b1f719093eaeb1ffa071c66975bd8036a9015706d64a76d2 WHIRLPOOL 411ea1d8463b68633e3ee4717524c0b316476b060b3b3177016a4c8fe0f539361f920c516cf5f25592a46b40fd88978840fe820161314e4aa0744cc9f01fbe00
diff --git a/dev-python/zake/metadata.xml b/dev-python/zake/metadata.xml
new file mode 100644
index 000000000000..e02601cd5455
--- /dev/null
+++ b/dev-python/zake/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openstack</herd>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ A python package that works to provide a nice set of testing utilities for the kazoo library.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">zake</remote-id>
+ <remote-id type="github">yahoo/Zake</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zake/zake-0.2.1.ebuild b/dev-python/zake/zake-0.2.1.ebuild
new file mode 100644
index 000000000000..9a197203e6b8
--- /dev/null
+++ b/dev-python/zake/zake-0.2.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python package that works to provide a nice set of testing utilities for the kazoo library."
+HOMEPAGE=" https://github.com/yahoo/Zake"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/flake8[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/kazoo[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+
+python_test() {
+ ${EPYTHON} -m nose || die
+}
diff --git a/dev-python/zbase32/Manifest b/dev-python/zbase32/Manifest
new file mode 100644
index 000000000000..4d855af358ef
--- /dev/null
+++ b/dev-python/zbase32/Manifest
@@ -0,0 +1 @@
+DIST zbase32-1.1.5.tar.gz 21745 SHA256 9b25c34ba586cbbad4517af516e723599a6f38fc560f4797855a5f3051e6422f SHA512 b2b049cdbc312cb56656b611d726527cdb0f598e5c8e0a646d1a144f863698404d8784d477f64402b0e3efd2d0ef5927a74ff0370a1742c1b7a5ad257bdc4f11 WHIRLPOOL f5ef0464dd41e5baa44bff6470b935a0684051656cad37d79faf8510ae62a530d492ffffa1bf886e7773e5f72b29fb078cef4fc1633c8ce6b5725ac4b8b40e97
diff --git a/dev-python/zbase32/metadata.xml b/dev-python/zbase32/metadata.xml
new file mode 100644
index 000000000000..7dd145330d0e
--- /dev/null
+++ b/dev-python/zbase32/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">zbase32</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zbase32/zbase32-1.1.5.ebuild b/dev-python/zbase32/zbase32-1.1.5.ebuild
new file mode 100644
index 000000000000..060f89c55c6a
--- /dev/null
+++ b/dev-python/zbase32/zbase32-1.1.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="base32 encoder/decoder (not RFC 3548 compliant)"
+HOMEPAGE="http://pypi.python.org/pypi/zbase32"
+SRC_URI="mirror://pypi/z/zbase32/zbase32-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-python/pyutil[${PYTHON_USEDEP}]"
diff --git a/dev-python/zc-buildout/Manifest b/dev-python/zc-buildout/Manifest
new file mode 100644
index 000000000000..983f9ccaca59
--- /dev/null
+++ b/dev-python/zc-buildout/Manifest
@@ -0,0 +1 @@
+DIST zc.buildout-2.3.1.tar.gz 292209 SHA256 3295b8944c637f65db3d6c2ded239b7b41a7f2df0e0bceb8b092247edf1866fb SHA512 cb741f02ccb119349e9e734667a64bec3248bbddc58a0e3d9ba10b1d2459e084170713be24051a529996fbc641ca8162d86c1c3ad3efdb2a95d2dd705616b73d WHIRLPOOL c391a6c62b72ce4bd56d12616df8580ab6c247e9bef74cf198bb777846ce7a450a31b7bd2088271d9a3faabd4b0388fb8e5b432b4c0f15e5b921c95c7e33e298
diff --git a/dev-python/zc-buildout/metadata.xml b/dev-python/zc-buildout/metadata.xml
new file mode 100644
index 000000000000..cca1f992b28e
--- /dev/null
+++ b/dev-python/zc-buildout/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>tupone@gentoo.org</email>
+ <name>Alfredo Tupone</name>
+ </maintainer>
+ <longdescription lang="en">Buildout is a system for managing development buildouts. While often identified as a Zope project,
+and indeed licensed under the ZPL by Zope creator Jim Fulton, buildout is useful for configurations
+beyond Zope, and even, in rare cases, a few that have nothing to do with Python.
+The Buildout project provides support for creating applications, especially Python applications. It
+provides tools for assembling applications from multiple parts, Python or otherwise. An application
+may actually contain multiple programs, processes, and configuration settings.
+The word .buildout. refers to a description of a set of parts and the software to create and assemble
+them. It is often used informally to refer to an installed system based on a buildout definition. For
+example, if we are creating an application named .Foo., then .the Foo buildout. is the collection of
+configuration and application-specific software that allows an instance of the application to be
+created. We may refer to such an instance of the application informally as .a Foo buildout..</longdescription>
+ <upstream>
+ <remote-id type="pypi">zc.buildout</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zc-buildout/zc-buildout-2.3.1.ebuild b/dev-python/zc-buildout/zc-buildout-2.3.1.ebuild
new file mode 100644
index 000000000000..38a148cfd4a4
--- /dev/null
+++ b/dev-python/zc-buildout/zc-buildout-2.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="System for managing development buildouts"
+HOMEPAGE="http://pypi.python.org/pypi/zc.buildout"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/setuptools-3.3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+DOCS=( README.rst doc/tutorial.txt )
+# Tests require zope packages absent from portage
+
+# Prevent incorrect installation of data file
+python_prepare_all() {
+ sed -e '/^ include_package_data/d' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/zfec/Manifest b/dev-python/zfec/Manifest
new file mode 100644
index 000000000000..56543f02247d
--- /dev/null
+++ b/dev-python/zfec/Manifest
@@ -0,0 +1 @@
+DIST zfec-1.4.24.tar.gz 175884 SHA256 e3e99e6e67ac9af72c0f918f03d2051e17d41f48ee0134d0d2c81e7fe92749cf SHA512 ec213912eea054c954ddda67a401b1538fb2f02c2b56cdfb610df5f4852b79305ef72e9919c578d46a268ea4c5912a60422117326f633c7e9b8a7977561fa1f5 WHIRLPOOL ffbfda6ea69ece90b33ed8d6e39372c373e32c287cbc1fd7fda25f07b851e17fb85386ed2514f4326f8a3e190577dc7280fc26ebe4eb3a50fa0487642a785247
diff --git a/dev-python/zfec/metadata.xml b/dev-python/zfec/metadata.xml
new file mode 100644
index 000000000000..0924b9d9b1c4
--- /dev/null
+++ b/dev-python/zfec/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Generate redundant blocks of information such that if some of
+ the blocks are lost then the original data can be recovered from
+ the remaining blocks. This package includes command-line tools,
+ C API, Python API, and Haskell API.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">zfec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zfec/zfec-1.4.24.ebuild b/dev-python/zfec/zfec-1.4.24.ebuild
new file mode 100644
index 000000000000..2b51590f3a99
--- /dev/null
+++ b/dev-python/zfec/zfec-1.4.24.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit distutils-r1
+
+DESCRIPTION="Fast erasure codec which can be used with the command-line, C, Python, or Haskell"
+HOMEPAGE="https://pypi.python.org/pypi/zfec"
+SRC_URI="mirror://pypi/z/zfec/zfec-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+COMMON_DEPEND=""
+RDEPEND="${COMMON_DEPEND}
+ dev-python/pyutil[${PYTHON_USEDEP}]
+ dev-python/zbase32[${PYTHON_USEDEP}]"
+DEPEND="${COMMON_DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+src_install() {
+ distutils-r1_src_install
+
+ rm -rf "${ED%/}"/usr/share/doc/${PN}
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
new file mode 100644
index 000000000000..626a2c5e41fe
--- /dev/null
+++ b/dev-python/zope-interface/Manifest
@@ -0,0 +1,2 @@
+DIST zope.interface-4.1.1.tar.gz 864139 SHA256 91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da SHA512 77d8c978522e95063bb5a1feb5b20af341bcf447d393ceb1ea229f0db02408f0e8981226621c04988936730b265cdba0bab88aaacd7fdf1006281c297e8e1ca1 WHIRLPOOL 5ba337bcd3eb5c55cdb78ddbbd9843eb04c7b36c31819be4359849bc8cd453514fca38aa05fd78090cca80061b373e26d7a7cee1230fbf888c74f202b179c4b2
+DIST zope.interface-4.1.2.tar.gz 919277 SHA256 441fefcac1fbac57c55239452557d3598571ab82395198b2565a29d45d1232f6 SHA512 b51f651ced7eb070db104e057a910b05a985999830551a6a7f83dcd2a565d637352b2dcf3b8517c682bed9365b31baf364f1863ff0e5b40df76668ea0b23a61e WHIRLPOOL 14729bacea73848508d67124d26eb966ec1ccdb14aeb9aa4ef0a0349d7241319f5f1b684fc9a6f4d6efdbed6ae120051c383aad67525dad2b4fca40fced2927d
diff --git a/dev-python/zope-interface/metadata.xml b/dev-python/zope-interface/metadata.xml
new file mode 100644
index 000000000000..71902eb87c97
--- /dev/null
+++ b/dev-python/zope-interface/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <upstream>
+ <remote-id type="pypi">zope.interface</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zope-interface/zope-interface-4.1.1.ebuild b/dev-python/zope-interface/zope-interface-4.1.1.ebuild
new file mode 100644
index 000000000000..1bb5c05b2f19
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-4.1.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="http://pypi.python.org/pypi/zope.interface"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+# until all deps are in the tree (bug #442794)
+RESTRICT="test"
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/zope-interface/zope-interface-4.1.2.ebuild b/dev-python/zope-interface/zope-interface-4.1.2.ebuild
new file mode 100644
index 000000000000..e7e0f2912aca
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-4.1.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1 flag-o-matic
+
+MY_PN=${PN/-/.}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="http://pypi.python.org/pypi/zope.interface"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+# until all deps are in the tree (bug #442794)
+RESTRICT="test"
+
+python_compile() {
+ if ! python_is_python3; then
+ local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+ append-flags -fno-strict-aliasing
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ esetup.py test
+}
diff --git a/dev-python/zsi/Manifest b/dev-python/zsi/Manifest
new file mode 100644
index 000000000000..b284bbba10d9
--- /dev/null
+++ b/dev-python/zsi/Manifest
@@ -0,0 +1 @@
+DIST ZSI-2.1-a1.tar.gz 932958 SHA256 253cd6968bc52e66121ee370831b93be385d65563a0e71c9c704db83901bf244 SHA512 13f8734a5b09caa83786e776bc1104061812d05543b1412cda02dd904d6cd926042a4a882ffac71081a5275879d79927ea225ae2753936e0d026aee074f07974 WHIRLPOOL 36eaa489579be09559c158cc2484cc63d628bfe5ac6239b6b00ea27760281c4ddc1b59cb01c6d551fcedadfd4d39bad8e9fa0ed86789222193052843fb87b963
diff --git a/dev-python/zsi/metadata.xml b/dev-python/zsi/metadata.xml
new file mode 100644
index 000000000000..3f075e5dae5d
--- /dev/null
+++ b/dev-python/zsi/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>angelos@gentoo.org</email>
+ <name>Christoph Mende</name>
+ </maintainer>
+ <use>
+ <flag name="twisted">add support for <pkg>dev-python/twisted</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">pywebsvcs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zsi/zsi-2.1_alpha1-r1.ebuild b/dev-python/zsi/zsi-2.1_alpha1-r1.ebuild
new file mode 100644
index 000000000000..21837dca243e
--- /dev/null
+++ b/dev-python/zsi/zsi-2.1_alpha1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="ZSI"
+MY_P="${MY_PN}-${PV/_alpha/-a}"
+
+DESCRIPTION="Web Services for Python"
+HOMEPAGE="http://pywebsvcs.sourceforge.net/zsi.html"
+SRC_URI="mirror://sourceforge/pywebsvcs/${MY_P}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="doc examples twisted"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ twisted? (
+ dev-python/twisted-core
+ dev-python/twisted-web
+ )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_prepare_all() {
+ if ! use twisted; then
+ sed -i \
+ -e "/version_info/d"\
+ -e "/ZSI.twisted/d"\
+ setup.py || die "sed failed"
+ fi
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use doc; then
+ dohtml doc/*.{html,css,png}
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r doc/examples/* samples/*
+ fi
+}