123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- # Maintainer (arch): Muflone http://www.muflone.com/contacts/english/
- # Maintainer (arch): Bruno Pagani <archange@archlinux.org>
- # Contributor: Francois Boulogne <fboulogne@april.org>
- # Contributor: TDY <tdy@gmx.com>
- # Maintainer: Parabola Hackers <dev@lists.parabola.nu>
- # parabola changes and rationale
- # - removed 'python-pyqt5-webengine' dependency
- pkgname=spyder
- pkgver=5.4.1
- pkgrel=1
- pkgrel+=.parabola1
- pkgdesc="The Scientific Python Development Environment"
- arch=(any)
- url="https://www.spyder-ide.org/"
- license=(MIT)
- makedepends=(python-sphinx python-setuptools-scm python-wheel)
- depends=(
- python-atomicwrites
- python-chardet
- python-cloudpickle
- python-cookiecutter
- python-diff-match-patch
- python-intervaltree
- ipython
- python-jedi
- python-jellyfish
- python-jsonschema
- python-keyring
- jupyter-nbconvert
- python-numpydoc
- python-parso
- python-pexpect
- python-pickleshare
- python-psutil
- python-pygments
- python-pylint
- python-pylint-venv
- python-pyqt5
- python-pyqt5-webengine
- python-lsp-server
- python-lsp-black
- python-pyls-spyder
- python-pyxdg
- python-pyzmq
- python-qdarkstyle
- python-qstylizer
- python-qtawesome
- python-qtconsole
- python-qtpy
- python-rtree
- python-setuptools
- python-sphinx
- python-spyder-kernels
- python-textdistance
- python-three-merge
- python-watchdog
- autopep8
- flake8
- python-pycodestyle
- python-pydocstyle
- python-pyflakes
- python-rope
- yapf
- python-whatthepatch
- )
- depends=( ${depends[*]/python-pyqt5-webengine/} )
- # Starting from autopep8, required optdeps of python-language-server
- optdepends=(
- 'cython: run Cython files in the IPython Console'
- 'python-matplotlib: 2D/3D plotting in the IPython Console'
- 'python-numpy: support for N-dimensional arrays in the Variable Explorer'
- 'python-pandas: support for DataFrames and Series in the Variable Explorer'
- 'python-scipy: support for Matlab workspace in the Variable Explorer'
- 'python-sympy: symbolic mathematics in the IPython Console'
- )
- checkdepends=(
- python-pytest
- python-pytest-qt
- python-pytest-mock
- python-pytest-cov
- python-pytest-order
- python-pytest-lazy-fixture
- python-pytest-timeout
- python-flaky
- python-pandas
- python-scipy
- python-sympy
- python-pillow
- python-matplotlib
- cython
- git
- tk
- xorg-server-xvfb
- )
- source=(https://github.com/spyder-ide/${pkgname}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz)
- source+=(no-webengine.patch)
- sha512sums=('f8dc629552957d4ddcbe849388a6b5b53acd17248ea247fd3c27e0a6b93c411102b12f427f9f41824709bceda8687f09efa0310ae4ce798ae9ebc389bbb8253c')
- sha512sums+=('acdb96f70df8362159d4997e01eff945bb902fe0391c45dcdbe1425ef1ace4c03405b01a317051a4d9acb0d942c946f958edcf720cd326743bd39ccd526fb69b')
- prepare() {
- cd ${pkgname}-${pkgver}
- # Allow our python libraries versions
- sed 's|IPYTHON_REQVER = ">=7.31.1;<9.0.0"|IPYTHON_REQVER = ">=7.31.1"|' -i spyder/dependencies.py
- sed "s|JEDI_REQVER = '>=0.17.2;<0.19.0'|JEDI_REQVER = '>=0.17.2'|" -i spyder/dependencies.py
- sed "s|PARSO_REQVER = '>=0.7.0;<0.9.0'|PARSO_REQVER = '>=0.7.0'|" -i spyder/dependencies.py
- sed "s|PYLSP_REQVER = '>=1.7.0;<1.8.0'|PYLSP_REQVER = '>=1.7.0'|" -i spyder/dependencies.py
- sed "s|QDARKSTYLE_REQVER = '>=3.0.2;<3.1.0'|QDARKSTYLE_REQVER = '>=3.0.2'|" -i spyder/dependencies.py
- sed "s|QTCONSOLE_REQVER = '>=5.4.0;<5.5.0'|QTCONSOLE_REQVER = '>=5.4.0'|" -i spyder/dependencies.py
- sed "s|ipython>=7.31.1,<9.0.0|ipython>=7.31.1|" -i setup.py
- sed "s|jedi>=0.17.2,<0.19.0|jedi>=0.17.2|" -i setup.py
- sed "s|parso>=0.7.0,<0.9.0|parso>=0.7.0|" -i setup.py
- sed "s|python-lsp-server\[all\]>=1.7.0,<1.8.0|python-lsp-server\[all\]>=1.7.0|" -i setup.py
- sed "s|qdarkstyle>=3.0.2,<3.1.0|qdarkstyle>=3.0.2|" -i setup.py
- sed "s|qtconsole>=5.4.0,<5.5.0|qtconsole>=5.4.0|" -i setup.py
- # Required change for ipython
- sed "s|extra_extension|extra_extensions|" -i spyder/plugins/ipythonconsole/tests/test_ipythonconsole.py
- ## parabola changes ##
- # delete CI litter
- rm -rf .github/
- # remove 'python-pyqt5-webengine' dependency
- patch -Np1 < "${srcdir}"/no-webengine.patch
- rm -v spyder/plugins/help/plugin.py
- rm -v spyder/plugins/help/tests/test_plugin.py
- }
- build() {
- cd ${pkgname}-${pkgver}
- python setup.py build
- }
- check() {
- cd ${pkgname}-${pkgver}
- # Required per above patching
- sed "s|ipython >=7.31.1,<9.0.0|ipython >=7.31.1|" -i binder/environment.yml
- sed "s|jedi >=0.17.2,<0.19.0|jedi >=0.17.2|" -i binder/environment.yml
- sed "s|parso >=0.7.0,<0.9.0|parso >=0.7.0|" -i binder/environment.yml
- sed "s|python-lsp-server >=1.7.0,<1.8.0|python-lsp-server >=1.7.0|" -i binder/environment.yml
- sed "s|qdarkstyle >=3.0.2,<3.1.0|qdarkstyle >=3.0.2|" -i binder/environment.yml
- sed "s|qtconsole >=5.4.0,<5.5.0|qtconsole >=5.4.0|" -i binder/environment.yml
- sed "s|ipython >=7.31.1,<9.0.0|ipython >=7.31.1|" -i requirements/main.yml
- sed "s|jedi >=0.17.2,<0.19.0|jedi >=0.17.2|" -i requirements/main.yml
- sed "s|parso >=0.7.0,<0.9.0|parso >=0.7.0|" -i requirements/main.yml
- sed "s|python-lsp-server >=1.7.0,<1.8.0|python-lsp-server >=1.7.0|" -i requirements/main.yml
- sed "s|qdarkstyle >=3.0.2,<3.1.0|qdarkstyle >=3.0.2|" -i requirements/main.yml
- sed "s|qtconsole >=5.4.0,<5.5.0|qtconsole >=5.4.0|" -i requirements/main.yml
- local disabled_tests=''
- # Not working in headless env
- disabled_tests+='not test_config_dialog'
- disabled_tests+=' and not test_tab_copies_find_to_replace'
- disabled_tests+=' and not test_toggle_off_show_all_files'
- disabled_tests+=' and not test_select_all_shortcut'
- disabled_tests+=' and not test_delete_line_shortcut'
- disabled_tests+=' and not test_go_to_line_shortcut'
- disabled_tests+=' and not test_transform_to_lowercase_shortcut'
- disabled_tests+=' and not test_transform_to_uppercase_shortcut'
- disabled_tests+=' and not test_ctrl_c_dbg'
- disabled_tests+=' and not test_connection_dialog_remembers_input_with_ssh_passphrase'
- disabled_tests+=' and not test_connection_dialog_remembers_input_with_password'
- disabled_tests+=' and not test_store_user_credentials'
- # Currently some tests failures in completion plugins, but no time to investigate
- xvfb-run --auto-servernum python runtests.py --color=yes -k "${disabled_tests}" || echo "Tests failed"
- }
- package() {
- cd ${pkgname}-${pkgver}
- python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
- # Install license file
- install -Dm644 LICENSE.txt -t ${pkgdir}/usr/share/licenses/${pkgname}/
- # Install icon file
- install -Dm644 spyder/images/spyder.svg -t "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/
- # Remove useless spyder_win_post_install script
- rm -f "${pkgdir}"/usr/bin/spyder_win_post_install.py
- }
|