chevah / pythia

Chevah's Python 3 distribution
MIT License
4 stars 2 forks source link

Pythia - a portable Python package

Build system for a portable Python package. A derivative of https://github.com/chevah/python-package/.

Building:

Testing:

Use ./build.sh help to discover all available commands.

Note that compat tests are currently only working on the python2.7 branch.

Supported platforms

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.

Patching upstream code

This repository contains some patches for upstream code, e.g. Python and bzip2.

These patches are applied at build time when added as:

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