summaryrefslogtreecommitdiff
path: root/libre-testing/spyder/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre-testing/spyder/PKGBUILD')
-rw-r--r--libre-testing/spyder/PKGBUILD181
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
+}