Skip to content

Remove 'python setup.py' based build & test setup

Carl Smedstad requested to merge remove-python-setup-py-usage into main

Heavily refactor/rewrite the PKGBUILD to replace the setup.py dependent build and test process (TODO 0). To achieve this, the source has been heavily patched - the full patch set is maintained, and is easier to overview, in the 'archlinux' branch of my fork 1.

The first two patches, have already been upstreamed:

  1. Ensure compatibility with Python 3.11 (#2212)
  2. Remove imp module from tests to make them compatible with python 3.12 (#2251)

The following four I intend to try to upstream as they are generic fixes of various Python deprecations and removals:

  1. Add missing import 'types'
  2. Remove usage of 'imp' module - removed in Python 3.12
  3. Remove usage of deprecated method locale.getdefaultlocale()
  4. Fix invalid escape sequences

The following three workarounds to enable uilding and testing without setup.py:

  1. Compile powerline executable without setuptools
  2. Point shebangs to system Python
  3. Remove failing tests

Additional changes to PKGBUILD:

  • We now run a subset of the test suite, specifically the ones in tests/test_python with the exception of a few failing ones.

  • The licenses is now installed as a one license file per package, to avoid the complexity of cross-package symlinks.

Resolves #1 (closed)

Edited by Carl Smedstad

Merge request reports