Build system for a portable Python package. A derivative of https://github.com/chevah/python-package/.
Building:
./build.sh build
Testing:
./build.sh test
./build.sh compat
Use ./build.sh help
to discover all available commands.
Note that compat tests are currently only working on the python2.7
branch.
Platforms that should work, but are not regularly tested:
Platforms built in the past, but not any more:
Where not noted, supported architecture is x64 (also known as X86-64 or AMD64).
Note that https://github.com/chevah/python-package/ supported more platforms, but only for Python 2.7.
This repository contains some patches for upstream code, e.g. Python and bzip2.
These patches are applied at build time when added as:
src/$PROJECT/*.patch
An example for creating a patch for pristine Python 3.11.3 sources::
# Make a copy of the file to be patched from Python sources:
cp setup.py setup.py.orig
# Modify it as needed, then check the diff:
diff -ru setup.py.orig setup.py
# Save the diff into a file such as:
src/Python/disabled_modules.patch
Finally, edit the corresponding chevahbs
script in /src
to apply
the new patch on platforms that require it before building from sources.
When applying a patch on top of another patch, make sure you get the order
right, then save the diff to the sources patched with the preceding patch.
.. image:: https://img.shields.io/badge/License-MIT-yellow.svg :target: https://opensource.org/licenses/MIT
.. image:: https://github.com/chevah/pythia/workflows/GitHub-CI/badge.svg :target: https://github.com/chevah/pythia/actions
.. image:: https://img.shields.io/github/issues/chevah/pythia.svg :target: https://github.com/chevah/pythia/issues