summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO51
-rw-r--r--.gitignore8
-rw-r--r--PKGBUILD99
-rw-r--r--fix_doc_version.patch13
4 files changed, 98 insertions, 73 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e3c43645c55b..0249ea753b06 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,40 +1,35 @@
-# Generated by mksrcinfo v8
-# Wed Dec 5 19:30:11 UTC 2018
pkgbase = python-spectral-cube
pkgdesc = Library for reading and analyzing astrophysical spectral data cubes
- pkgver = 0.4.3
+ pkgver = 0.6.5
pkgrel = 1
- url = http://spectral-cube.readthedocs.io/en/latest/
- arch = i686
- arch = x86_64
+ url = http://spectral-cube.readthedocs.io
+ arch = any
license = BSD
- makedepends = cython
- makedepends = cython2
- makedepends = python-astropy-helpers>=3.1
- makedepends = python2-astropy-helpers
- makedepends = python-radio_beam
- makedepends = python-sphinx
+ makedepends = python-setuptools-scm
+ makedepends = python-wheel
+ makedepends = python-build
+ makedepends = python-installer
makedepends = python-sphinx-astropy
- source = https://files.pythonhosted.org/packages/source/s/spectral-cube/spectral-cube-0.4.3.tar.gz
- md5sums = 717815d68f42a9d76ba61d27931712e1
+ makedepends = python-dask
+ makedepends = python-radio_beam
+ makedepends = python-casa-formats-io
+ source = https://files.pythonhosted.org/packages/source/s/spectral-cube/spectral-cube-0.6.5.tar.gz
+ md5sums = 9088a0db1f7fddf3a79d799abc14bae2
pkgname = python-spectral-cube
- depends = python
depends = python-numpy>=1.8
- depends = python-astropy>=1.0
- depends = python-radio_beam
+ depends = python-astropy>=4.0
+ depends = python-radio_beam>=0.3.3
+ depends = python-joblib
+ depends = python-dask
+ depends = python-six
+ depends = python-casa-formats-io
+ optdepends = python-scipy: Used for subcube creation
optdepends = python-bottleneck: Speeds up median and percentile operations on cubes with missing data
- optdepends = python-spectral-cube-doc: Documentation for Radio Beam
-
-pkgname = python2-spectral-cube
- depends = python2>=2.7
- depends = python2-numpy>=1.8
- depends = python2-astropy>=1.0
- depends = python2-radio_beam
- optdepends = python2-bottleneck: Speeds up median and percentile operations on cubes with missing data
- optdepends = python-spectral-cube-doc: Documentation for Radio Beam
- optdepends = python-pytest-astropy: For testing
+ optdepends = python-regions>=0.7: Serialises/Deserialises DS9/CRTF region files and handles them. Used when extracting a subcube from region
+ optdepends = python-spectral-cube-doc: Documentation for spectral-cube
+ optdepends = python-fsspec: Used for storing computations to disk when using the dask-enabled classes
+ optdepends = python-zarr: Used for storing computations to disk when using the dask-enabled classes
pkgname = python-spectral-cube-doc
pkgdesc = Documentation for Python Radio Beam module
-
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..e896dcd6056d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+src
+pkg
+*.src.tar.gz
+*.tar.gz
+*.tar.bz2
+*.part
+*.pkg.tar.*
+*.log
diff --git a/PKGBUILD b/PKGBUILD
index 5573179ee860..d6cea86d4982 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,72 +1,81 @@
# Maintainer: Astro Benzene <universebenzene at sina dot com>
+
pkgbase=python-spectral-cube
-pkgname=('python-spectral-cube' 'python2-spectral-cube' 'python-spectral-cube-doc')
-pkgver=0.4.3
+_pyname=${pkgbase#python-}
+pkgname=("python-${_pyname}" "python-${_pyname}-doc")
+pkgver=0.6.5
pkgrel=1
pkgdesc="Library for reading and analyzing astrophysical spectral data cubes"
-arch=('i686' 'x86_64')
-url="http://spectral-cube.readthedocs.io/en/latest/"
+arch=('any')
+url="http://spectral-cube.readthedocs.io"
license=('BSD')
-makedepends=('cython' 'cython2' 'python-astropy-helpers>=3.1' 'python2-astropy-helpers' 'python-radio_beam' 'python-sphinx' 'python-sphinx-astropy')
-#checkdepends=('python-pytest-astropy' 'python2-pytest' 'python-radio_beam' 'python2-radio_beam')
-source=("https://files.pythonhosted.org/packages/source/s/spectral-cube/spectral-cube-${pkgver}.tar.gz")
-md5sums=('717815d68f42a9d76ba61d27931712e1')
-
-prepare() {
- cd ${srcdir}/spectral-cube-${pkgver}
- sed -i -e '/auto_use/s/True/False/' setup.cfg
+makedepends=('python-setuptools-scm'
+ 'python-wheel'
+ 'python-build'
+ 'python-installer'
+ 'python-sphinx-astropy'
+ 'python-dask'
+ 'python-radio_beam'
+ 'python-casa-formats-io') # astropy <- radio_beam
+#checkdepends=('python-pytest-astropy-header'
+# 'python-joblib'
+# 'python-reproject'
+# 'python-six'
+# 'python-bottleneck'
+# 'python-zarr'
+# 'python-aplpy'
+# 'python-pvextractor'
+# 'python-regions'
+# 'python-yt'
+# 'python-glue-qt'
+# 'qt5-svg')
+# dask radio_beam 'python-casa-formats-io' already in makedepends; matplotlib <- aplpy, glue(also scipy), pvextractor...
+source=("https://files.pythonhosted.org/packages/source/${_pyname:0:1}/${_pyname}/${_pyname}-${pkgver}.tar.gz")
+md5sums=('9088a0db1f7fddf3a79d799abc14bae2')
- cp -a ${srcdir}/spectral-cube-${pkgver}{,-py2}
+get_pyver() {
+ python -c "import sys; print('$1'.join(map(str, sys.version_info[:2])))"
}
build() {
- msg "Building Python2"
- cd ${srcdir}/spectral-cube-${pkgver}-py2
- python2 setup.py build --use-system-libraries --offline
-
- msg "Building Python3"
- cd ${srcdir}/spectral-cube-${pkgver}
- python setup.py build --use-system-libraries --offline
+ cd ${srcdir}/${_pyname}-${pkgver}
+ python -m build --wheel --no-isolation
msg "Building Docs"
- python setup.py build_docs
+ ln -rs ${srcdir}/${_pyname}-${pkgver}/${_pyname/-/_}*egg-info \
+ build/lib/${_pyname/-/_}-${pkgver}-py$(get_pyver .).egg-info
+ PYTHONPATH="../build/lib" make -C docs html
}
-#check() {
-# cd ${srcdir}/spectral-cube-${pkgver}
-# python setup.py test
+#check() { # Circular deps
+# cd ${srcdir}/${_pyname}-${pkgver}
#
-# cd ${srcdir}/spectral-cube-${pkgver}-py2
-# python2 setup.py test
+# pytest -vv -l -ra --color=yes -o console_output_style=count \
+## --deselect=spectral_cube/tests/test_io.py::test_3d_beams_roundtrip[True] \
+## --deselect=spectral_cube/tests/test_io.py::test_4d_beams_roundtrip[True] \
+## --deselect=spectral_cube/tests/test_spectral_cube.py::test_read_write_rountrip[True] || warning "Tests failed" # -vv -l -ra --color=yes -o console_output_style=count
#}
-package_python2-spectral-cube() {
- depends=('python2>=2.7' 'python2-numpy>=1.8' 'python2-astropy>=1.0' 'python2-radio_beam')
- optdepends=('python2-bottleneck: Speeds up median and percentile operations on cubes with missing data'
- 'python-spectral-cube-doc: Documentation for Radio Beam'
- 'python-pytest-astropy: For testing')
- cd ${srcdir}/spectral-cube-${pkgver}-py2
-
- install -D -m644 LICENSE.rst -t "${pkgdir}/usr/share/licenses/${pkgname}"
- install -D -m644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
- python2 setup.py install --root=${pkgdir} --prefix=/usr --optimize=1 --use-system-libraries --offline
-}
-
package_python-spectral-cube() {
- depends=('python' 'python-numpy>=1.8' 'python-astropy>=1.0' 'python-radio_beam')
- optdepends=('python-bottleneck: Speeds up median and percentile operations on cubes with missing data'
- 'python-spectral-cube-doc: Documentation for Radio Beam')
- cd ${srcdir}/spectral-cube-${pkgver}
+ depends=('python-numpy>=1.8' 'python-astropy>=4.0' 'python-radio_beam>=0.3.3' 'python-joblib' 'python-dask' 'python-six' 'python-casa-formats-io')
+ optdepends=('python-scipy: Used for subcube creation'
+ 'python-bottleneck: Speeds up median and percentile operations on cubes with missing data'
+ 'python-regions>=0.7: Serialises/Deserialises DS9/CRTF region files and handles them. Used when extracting a subcube from region'
+ 'python-spectral-cube-doc: Documentation for spectral-cube'
+ 'python-fsspec: Used for storing computations to disk when using the dask-enabled classes'
+ 'python-zarr: Used for storing computations to disk when using the dask-enabled classes')
+ cd ${srcdir}/${_pyname}-${pkgver}
install -D -m644 LICENSE.rst -t "${pkgdir}/usr/share/licenses/${pkgname}"
- install -D -m644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
- python setup.py install --root=${pkgdir} --prefix=/usr --optimize=1 --use-system-libraries --offline
+ install -D -m644 README.rst -t "${pkgdir}/usr/share/doc/${pkgname}"
+ python -m installer --destdir="${pkgdir}" dist/*.whl
}
package_python-spectral-cube-doc() {
pkgdesc="Documentation for Python Radio Beam module"
- cd ${srcdir}/spectral-cube-${pkgver}/docs/_build
+ cd ${srcdir}/${_pyname}-${pkgver}/docs/_build
+ install -D -m644 -t "${pkgdir}/usr/share/licenses/${pkgname}" ../../LICENSE.rst
install -d -m755 "${pkgdir}/usr/share/doc/${pkgbase}"
cp -a html "${pkgdir}/usr/share/doc/${pkgbase}"
}
diff --git a/fix_doc_version.patch b/fix_doc_version.patch
new file mode 100644
index 000000000000..38e34b8b94ae
--- /dev/null
+++ b/fix_doc_version.patch
@@ -0,0 +1,13 @@
+--- a/docs/conf.py 2020-09-18 04:29:50.000000000 +0800
++++ b/docs/conf.py 2020-09-18 19:54:11.025457472 +0800
+@@ -76,8 +76,8 @@
+ # |version| and |release|, also used in various other places throughout the
+ # built documents.
+
+-from pkg_resources import get_distribution
+-version = release = get_distribution(setup_cfg['name']).version
++from spectral_cube import __version__
++version = release = __version__
+
+ # -- Options for HTML output --------------------------------------------------
+