--- /dev/null
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+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-2.1.0:0=
+ dev-python/configobj[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ >=sci-astronomy/erfa-1.2:0=
+ >=sci-astronomy/wcslib-5:0=
+ >=sci-libs/cfitsio-3.360:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}
+ >=dev-python/astropy-helpers-1.1[${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/pytest[${PYTHON_USEDEP}]
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.4-system-six.patch"
+ "${FILESDIR}/${PN}-1.0.4-system-configobj.patch"
+ "${FILESDIR}/${PN}-1.1.1-fix-wcs.patch"
+ "${FILESDIR}/${PN}-1.1.1-mark-kown-failures.patch"
+)
+
+python_prepare_all() {
+ export mydistutilsargs="--offline"
+ export ASTROPY_USE_SYSTEM_PYTEST=True
+ rm -r ${PN}_helpers || die
+ cp "${FILESDIR}"/astropy-ply.py astropy/extern/ply.py || die
+ rm -r cextern/{expat,erfa,cfitsio,wcslib} || die
+ sed -i -e '/auto_use/s/True/False/' setup.cfg || die
+ cat >> setup.cfg <<-EOF
+
+ [build]
+ use_system_libraries=1
+ EOF
+
+ distutils-r1_python_prepare_all
+}
+
+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
+}
--- /dev/null
+Author: Ole Streicher <olebole@debian.org>
+Description: Mark all known test failures as xfail.
+ These failures have been discussed with upstream.
+--- a/astropy/io/fits/tests/test_connect.py
++++ b/astropy/io/fits/tests/test_connect.py
+@@ -136,6 +136,8 @@
+ # while reading is to check whether col.null is present. For float columns, col.null
+ # is not initialized
+
++# see https://github.com/astropy/astropy/issues/3415
++ @pytest.mark.xfail()
+ def test_read_from_fileobj(self, tmpdir):
+ filename = str(tmpdir.join('test_read_from_fileobj.fits'))
+ hdu = BinTableHDU(self.data)
+@@ -172,6 +174,8 @@
+ def setup_method(self, method):
+ warnings.filterwarnings('always')
+
++# see https://github.com/astropy/astropy/issues/3415
++ @pytest.mark.xfail()
+ def test_read(self, tmpdir):
+ filename = str(tmpdir.join('test_read.fits'))
+ self.hdus.writeto(filename)
+@@ -189,6 +193,8 @@
+ Table.read(filename, hdu=0)
+ assert exc.value.args[0] == 'No table found in hdu=0'
+
++# see https://github.com/astropy/astropy/issues/3415
++ @pytest.mark.xfail()
+ @pytest.mark.parametrize('hdu', [1, 'first'])
+ def test_read_with_hdu_1(self, tmpdir, hdu):
+ filename = str(tmpdir.join('test_read_with_hdu_1.fits'))
+--- a/astropy/wcs/wcs.py
++++ b/astropy/wcs/wcs.py
+@@ -84,6 +84,8 @@
+ if six.PY3 or platform.system() == 'Windows':
+ __doctest_skip__ = ['WCS.all_world2pix']
+
++# see https://github.com/astropy/astropy/issues/3380
++__doctest_skip__ = ['WCS.all_world2pix']
+
+ if _wcs is not None:
+ WCSBase = _wcs._Wcs
+--- a/astropy/tests/tests/test_socketblocker.py
++++ b/astropy/tests/tests/test_socketblocker.py
+@@ -66,8 +66,8 @@
+ def _square(x):
+ return x ** 2
+
+-
+-@pytest.mark.skipif('not PY3_4 or sys.platform == "win32" or sys.platform.startswith("gnu0")')
++# see https://github.com/astropy/astropy/issues/4193
++@pytest.mark.skipif(True, reason="Blocks on Debian CI test")
+ def test_multiprocessing_forkserver():
+ """
+ Test that using multiprocessing with forkserver works. Perhaps
+--- a/astropy/coordinates/tests/test_api_ape5.py
++++ b/astropy/coordinates/tests/test_api_ape5.py
+@@ -319,7 +319,8 @@
+ # coordinate object, and one that returns a cartesian matrix but does *not*
+ # require `newobj` or `fk5frame` - this allows optimization of the transform.
+
+-
++# Temporary mark until scipy/numpy is fully on 3.5
++@pytest.mark.xfail()
+ def test_highlevel_api():
+ J2001 = time.Time('J2001', scale='utc')
+
+--- a/astropy/visualization/tests/test_histogram.py
++++ b/astropy/visualization/tests/test_histogram.py
+@@ -50,6 +50,8 @@
+ assert patches2[0].axes is ax[1]
+
+
++# see https://github.com/astropy/astropy/issues/4329
++@pytest.mark.xfail()
+ @pytest.mark.skipif('not HAS_PLT')
+ def test_hist_autobin(rseed=0):
+ rng = np.random.RandomState(rseed)
+--- a/astropy/table/tests/test_info.py
++++ b/astropy/table/tests/test_info.py
+@@ -6,6 +6,7 @@
+ import warnings
+ import numpy as np
+
++from ...tests.helper import pytest
+ from ...extern import six
+ from ... import units as u
+ from ... import time
+@@ -225,7 +226,8 @@
+ t.info(out=out)
+ assert out.getvalue().splitlines() == exp
+
+-
++# see https://github.com/astropy/astropy/issues/4336
++@pytest.mark.xfail()
+ def test_ignore_warnings():
+ t = table.Table([[np.nan, np.nan]])
+ with warnings.catch_warnings(record=True) as warns: