Skip to content

LaylDupont/cpython

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

CPython Patches

This project is an unofficial fork of CPython sources used as staging area to maintain and test CPython patches.

Fixes and improvements to CPython should first be contributed upstream. The Python Developer’s Guide is a great resource to guide you through the process.

That said, there are few scenarios where maintaining CPython patches is relevant:

  • When there is a need for a staging area for patches waiting to be integrated upstream. Doing so avoid each project to maintain their own set of patches.
  • When the proposed patches are specific to a system not officially supported (e.g Android, Emscripten, ...).
  • When generalizing proposed patches is definitively not feasible given the time and resources.
  • When patches fix an older version of CPython (e.g. 2.7) so that it can be compiled using newer compiler (e.g VS2015).

Available branches

  • 2.7.3-patches:
    • Fix build with GNU readline >= 6.3. - Apply to 2.7.3 and 2.7.4
  • 2.7.5-patches:
    • Fix build with GNU readline >= 6.3. - Apply to 2.7.5 and 2.7.6
  • 2.7.13-patches:
    • Support for VS2010 and VS2015
  • 3.5.3-patches:
    • Rename header files found in Modules/_decimal/libmpdec directory to avoid conflicts with system headers of the same name (io.h and memory.h). This script was originally used to update the sources: https://gist.github.com/jcfr/e166c0f3fd823de2586b1101f9c67947
    • Prevent duplicated OverlappedType symbols with built-in extension on Windows.
    • Export inlined functions to support extension built-in on Windows.
  • 3.6.2-patches:
    • Rename header files found in Modules/_decimal/libmpdec directory to avoid conflicts with system headers of the same name (io.h). This script was originally used to update the sources: https://gist.github.com/jcfr/e166c0f3fd823de2586b1101f9c67947
    • Prevent duplicated OverlappedType symbols with built-in extension on Windows.
    • Export inlined functions to support extension built-in on Windows.

License

All software is licensed under the Apache 2.0 License. See LICENSE_Apache_20 file for details.

Why Apache 2.0 License?

From the python.org wiki, the answer to the question What if I want to contribute my code to the PSF mentions that if code is going to end up in Python or the standard library, the PSF will require you to license code under "Academic Free License" or "Apache License 2.0".

About

Staging area to maintain and test CPython patches

Resources

License

Stars

Watchers

Forks

Packages

No packages published