Compare commits

...

5 Commits

Author SHA1 Message Date
Zachary Ware
eb028c03cf Update bzip2 download link 2021-08-26 16:51:53 -05:00
Paul Monson
3571f4da0f bpo-35947: add libffi to readme.rst (#11) 2019-03-29 08:55:36 -07:00
Zachary Ware
66bc075dac Note that {tcl,tk}85 don't require anything extra 2017-11-21 14:07:03 -06:00
Mariatta
ffe559ef64 Document how to update source dependencies. (GH-3)
Update the README with the instructions, and convert to reST.  Also adds download links for the sources.
2017-11-21 14:04:15 -06:00
Zachary Ware
4b29e0458f Update README.md 2017-05-22 12:17:48 -07:00
2 changed files with 68 additions and 2 deletions

View File

@@ -1,2 +0,0 @@
# cpython-source-deps
Source for packages that the cpython build process depends on

68
README.rst Normal file
View File

@@ -0,0 +1,68 @@
cpython-source-deps
===================
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.
.. contents::
Updating Source Dependencies
----------------------------
The procedure for updating the different source dependencies are similar. Below
is an example for updating SQLite::
1. Fork and clone this repository.
2. Checkout a new branch off the ``sqlite`` branch. Assuming this repo is set
as your ``upstream``::
git checkout -b <branch-name>-sqlite upstream/sqlite
3. Download SQLite source from `sqlite.org <https://www.sqlite.org>`_.
4. Unzip it to the branch checked out in step 2.
5. Commit and push the changes.
6. 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
<https://github.com/python/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.
Download links
--------------
- ``sqlite``: https://www.sqlite.org/download.html
- ``bzip2``: https://www.sourceware.org/bzip2/downloads.html
- ``xz``: https://tukaani.org/xz/
- ``zlib``: https://zlib.net/
- ``tcl``/``tk``: https://tcl.tk/software/tcltk/download.html
- ``openssl``: https://www.openssl.org/source/
- ``libffi`` : https://github.com/libffi/libffi
Tagging the commit
------------------
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