diff options
Diffstat (limited to 'libre-testing/spyder/PKGBUILD')
-rw-r--r-- | libre-testing/spyder/PKGBUILD | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/libre-testing/spyder/PKGBUILD b/libre-testing/spyder/PKGBUILD new file mode 100644 index 000000000..11a1a47b9 --- /dev/null +++ b/libre-testing/spyder/PKGBUILD @@ -0,0 +1,181 @@ +# 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.2 +pkgrel=2 +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=('e3650cd43d14d2ce7e6f90557904d6ac1e5db5f7846e87e8a1fd8173cdef97cdee485250caf00768482611b8318eaba60259efcaccf41f0308e888ac85eeb88d') +# sha512sums+=('acdb96f70df8362159d4997e01eff945bb902fe0391c45dcdbe1425ef1ace4c03405b01a317051a4d9acb0d942c946f958edcf720cd326743bd39ccd526fb69b') +sha512sums+=('4d2180402a766275b47842653df2db483bb7ccc7dc9a8ce6e604cfad9c7c158a490fa021295deca7ea8d7d1521f32bd64a67e5821d75dc63ba00ac445c54b3c5') + +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 +} |