Source for packages that the CPython build process depends on.
It is currently expected that this will only be useful on Windows, and in any case you should never need to clone this repository unless you are updating its contents.
The procedure for updating the different source dependencies are similar. Below is an example for updating SQLite:
Fork and clone this repository.
Checkout a new branch off the
sqlite
branch. Assuming this repo is set as yourupstream
:git checkout -b <branch-name>-sqlite upstream/sqlite
Download SQLite source from sqlite.org.
Unzip it to the branch checked out in step 2.
Commit and push the changes.
Create the PR, with
sqlite
as the base branch.
Once the PR has been merged, tag the commit as sqlite-<full version to be used in CPython's PCbuild/get_externals.bat>
.
For updating sqlite
, bzip2
, xz
, and zlib
, follow the above
instructions.
For tcl
and tk
, after step 5, cpython-bin-deps
needs to be updated. Note though that tcl85
and tk85
are specific
to 2.7 and don't require anything extra.
For openssl
, step 5 will be more complicated :)
For libffi
, before step 5 each include/<arch>/fficonfig.h and
include/<arch>/ffi.h must be generated by running CPython's PCBuild/configure_headers.bat.
sqlite
: https://www.sqlite.org/download.htmlbzip2
: https://www.sourceware.org/bzip2/downloads.htmlxz
: https://tukaani.org/xz/zlib
: https://zlib.net/tcl
/tk
: https://tcl.tk/software/tcltk/download.htmlopenssl
: https://www.openssl.org/source/libffi
: https://github.com/libffi/libffi
Using the sqlite
branch as an example:
git checkout -b sqlite-tag upstream/sqlite git tag sqlite-3.21.0.0 # replace 3.21.0.0 with the correct version. git push --tags upstream