summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/nose
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/nose')
-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
12 files changed, 554 insertions, 0 deletions
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
+}