Ich kann das Problem hier nachvollziehen.
Die mit Doppelpunkt abgetrennte 1 vor dem Tripel 0.7.1 ist ein sogenannter Epoch. Das heißt nur, dass es irgendwann mal ein Änderung im Versionsnummenrschema gegeben hat und dadurch eine neuere Version eine Nummer bekommen hätte, die pacman dazu veranlasst hätte, das Upgrade für ein Downgrade zu halten. Epochs dienen also nur dazu, pacman hier zu "überlisten".
Mit dem, was das jeweilige Paket intern nach außen liefert, hat das also nichts zu tun.
Da sowohl parso als auch spyder aus den offizielen Repos stammen, handelt es sich wohl um einen Paketierungs-Bug - zumindest um nicht zusammen passende Paketversionen. Aber selbst die Version 0.7.1, die für spyder anscheinend schon "zu neu" ist, ist schon als "out of date" markiert, da es inzwischen seit August eine Version 0.8.0 gibt. Das Problem könnte sich also noch verschärfen.
Man könnte also parallel vorgehen.
- Einen Bugreport schreiben
- Das PKGBUILd von parso schnappen, umbenennen und auf Version 0.7.0 anpassen
Edit:
Ich hab mal recherchiert: Es gab einen Bugreport, aufgrund dessen es aufgrund einer Inkompatibilität von python-perso zu jedi zu einem Downgrade auf 0.7.1 kam (daher der Epoch). Ich habe gerade um Wiedereröffnung gebeten, da spyder in dem Bugreport zwar erwähnt wurde, aber beim Fix dann nicht in Betrach genommen wurde.
Ich hoffe, es kommt zu einem weiteren Downgrade auf 0.7.0. Bis es dazu kommt, kann folgendes PKGBUILD zur Erstellung eines Legacy-Paketes von python-parso genommen werden:
# Maintainer: Jelle van der Waa <jelle@vdwaa.nl>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Check compatibility with jedi on potential version bumps
_pkgbase=parso
pkgname=python-parso-legacy
conflicts=("${pkgname%-legacy}")
provides=("${pkgname%-legacy}")
pkgver=0.7.0
pkgrel=1
pkgdesc="Python parser that supports error recovery and round-trip parsing for different Python versions"
arch=('any')
url="https://github.com/davidhalter/parso"
license=('MIT')
depends=('python')
makedepends=('python-setuptools' 'python-sphinx')
checkdepends=('python-pytest')
source=(https://github.com/davidhalter/parso/archive/v$pkgver/${pkgname%-legacy}-$pkgver.tar.gz.tar.gz)
sha512sums=('41ad60b1d7dff682281059aabff0d43ccd3048b6cc6ee3e9e141d4a0a965fd99449f6d3f23689914c1f7bda371e3cc86266775a1c23fb1c430ea689c916fbb71')
check() {
cd "$_pkgbase-$pkgver"
pytest test
}
build() {
cd "$_pkgbase-$pkgver"
python setup.py build
sphinx-build -b text docs docs/_build/text
sphinx-build -b man docs docs/_build/man
}
package() {
cd "$_pkgbase-$pkgver"
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
install -Dm 644 LICENSE.txt -t "$pkgdir/usr/share/licenses/$pkgname"
install -Dm 644 CHANGELOG.rst README.rst docs/_build/text/*.txt -t "$pkgdir/usr/share/doc/$pkgname"
install -Dm 644 docs/_build/man/parso.1 "$pkgdir/usr/share/man/man1/$pkgname.1"
}
# vim: ts=2 sw=2 et: