├── .github └── workflows │ └── autoclose.yaml └── README.rst /.github/workflows/autoclose.yaml: -------------------------------------------------------------------------------- 1 | name: Close Pull Requests 2 | 3 | permissions: 4 | pull-requests: write 5 | 6 | on: 7 | pull_request: 8 | types: 9 | - opened 10 | schedule: 11 | - cron: '0 * * * *' 12 | workflow_dispatch: 13 | 14 | jobs: 15 | run: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - name: Close Pull Requests 19 | run: > 20 | for pr in $(gh pr list --repo $REPO_NAME --json number --jq .[].number); do 21 | gh pr close --repo $REPO_NAME --comment "$COMMENT" $pr; 22 | done 23 | env: 24 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 25 | REPO_NAME: python/cpython-source-deps 26 | COMMENT: > 27 | We do not accept PRs on this repository. Please file an issue at 28 | https://github.com/python/cpython requesting an update to the 29 | source packages in this repository. 30 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | cpython-source-deps 2 | =================== 3 | 4 | Source for packages that the CPython build process depends on. 5 | 6 | It is currently expected that this will only be useful on Windows, 7 | and in any case you should never need to clone this repository 8 | unless you are updating its contents. 9 | 10 | .. contents:: 11 | 12 | Updating Source Dependencies 13 | ---------------------------- 14 | 15 | The procedure for updating the different source dependencies are similar. Below 16 | is an example for updating SQLite:: 17 | 18 | 19 | 1. Fork and clone this repository. 20 | 21 | 2. Checkout a new branch off the ``sqlite`` branch. Assuming this repo is set 22 | as your ``upstream``:: 23 | 24 | git checkout -b -sqlite upstream/sqlite 25 | 26 | 3. Download SQLite source from `sqlite.org `_. 27 | 28 | 4. Unzip it to the branch checked out in step 2. 29 | 30 | 5. Commit and push the changes. 31 | 32 | 6. Create the PR, with ``sqlite`` as the base branch. 33 | 34 | Once the PR has been merged, tag the commit as 35 | ``sqlite-``. 36 | 37 | For updating each project to be updated, follow the above instructions with 38 | appropriate substitutions. For ``sqlite``, ``bzip2``, ``xz``, ``zlib``, and 39 | ``zstd``, that's it! 40 | 41 | For ``openssl``, ``tcl``/``tk``, and ``libffi``, builds of each should also be 42 | checked into `cpython-bin-deps `_ 43 | for use in the CPython Windows build. Each one has a ``prepare_.bat`` 44 | script in the ``cpython`` ``PCbuild`` directory that will take care of building 45 | the project. Note, though, that builds checked into ``cpython-bin-deps`` need 46 | to be signed by the release signing key, so it is generally up to a member of 47 | the release management team to create those builds. 48 | 49 | 50 | Download links 51 | -------------- 52 | 53 | - ``bzip2``: https://www.sourceware.org/bzip2/downloads.html 54 | - ``libffi`` : https://github.com/libffi/libffi 55 | - ``mpdecimal`` : https://www.bytereef.org/mpdecimal/download.html 56 | - ``openssl``: https://www.openssl.org/source/ 57 | - ``sqlite``: https://www.sqlite.org/download.html 58 | - ``tcl``/``tk``: https://tcl.tk/software/tcltk/download.html 59 | - ``xz``: https://github.com/tukaani-project/xz 60 | - ``zlib``: https://zlib.net/ 61 | - ``zstd``: https://github.com/facebook/zstd 62 | 63 | Tagging the commit 64 | ------------------ 65 | 66 | Using the ``sqlite`` branch as an example:: 67 | 68 | git checkout -b sqlite-tag upstream/sqlite 69 | git tag sqlite-3.21.0.0 # replace 3.21.0.0 with the correct version. 70 | git push --tags upstream 71 | 72 | --------------------------------------------------------------------------------