Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: astral-sh/python-build-standalone
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 20250521
Choose a base ref
...
head repository: astral-sh/python-build-standalone
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 20250529
Choose a head ref
  • 9 commits
  • 23 files changed
  • 3 contributors

Commits on May 26, 2025

  1. Remove support for Linux x86 builds (#626)

    We stopped shipping the distributions in
    6fa8fe9 in October 2023. At the time we
    preserved build support just in case.
    
    I don't believe anyone has complained about the loss of x86 Linux
    distributions.
    
    I don't believe there is compelling value in PBS supporting x86 Linux
    distributions.
    
    If someone wants to run Python on x86 Linux, they can always use
    CPython's official build systen, which still supports targeting x86
    Linux.
    
    This commit rips out our support building for x86 Linux.
    indygreg authored May 26, 2025
    Copy the full SHA
    c550375 View commit details
  2. Use host CPython as Python dependency; remove xcb image; upgrade xcb (#…

    …627)
    
    The `xcb` Dockerfile / image existed to provide a host build of CPython,
    which was required to build libxcb, xcb-proto, and tk. The existence of
    this image predated our building a host CPython in order to build
    CPython itself.
    
    With PBS now unconditionally building a host CPython, we can use our
    host CPython during the builds of these packages, eliminating the need
    for the xcb image.
    
    This commit makes that transition.
    
    We also upgrade libxcb and xcb-proto to the latest version as part of
    this migration. Older versions of libxcb aren't compatible with Python
    3.12+ due to removal of the `imp` module.
    indygreg authored May 26, 2025
    Copy the full SHA
    35eec28 View commit details

Commits on May 27, 2025

  1. Copy the full SHA
    6d9b8ac View commit details
  2. Fix dependabot configuration typo (#631)

    I am not sure why this change is not validated on pull request :(
    
    Follows #630
    zanieb authored May 27, 2025
    Copy the full SHA
    c77b231 View commit details
  3. Remove remnants of sccache (#629)

    Before commit 71882f2 (May 2022), we
    built LLVM from source. This employed sccache to make builds faster.
    
    After that commit, sccache hasn't effectively been used. But there were
    remnants of sccache in the code base.
    
    This commit removes all references to sccache in the repo.
    indygreg authored May 27, 2025
    Copy the full SHA
    0af2c72 View commit details

Commits on May 29, 2025

  1. Update quirks doc to match current reality (#625)

    We configure ncurses with defaults for TERMINFO_DIRS that work on I can
    find (it works on Debian family, Red Hat family, NixOS, and Alpine), so
    we shouldn't phrase either the title or the body as if this is a problem
    that affects most people or setting the environment variable is a
    necessary thing in general. (Also I think even in cases where we don't
    have terminfo for your terminal, backspace usually still works, as
    evidenced by `TERM=potato python`).
    
    musl distributions are now dynamic binaries by default and dynamic
    loading works.
    
    The libcrypt transition is behind us.
    
    The python3-config file (since its first version, I think) knows how to
    correct the prefix in output. While it does contain hard-coded paths
    internally, it uses that for the purpose of fixing its output, so I
    don't think that fact is helpful to call out.
    
    python-build-standalone users who get it through uv are (hopefully) not
    affected by absolute paths in sysconfig; call this out explicitly for
    the benefit of people evaluting whether uv will work for them. Also
    mention sysconfigpatcher for everyone else.
    
    In general, tighten up the content.
    geofft authored May 29, 2025
    Copy the full SHA
    d786b16 View commit details

Commits on May 30, 2025

  1. Specifically use DT_RPATH instead of DT_RUNPATH for the libpython hack (

    #623)
    
    We need this to get inherited to dependent libraries, i.e., to extension
    modules.
    geofft authored May 30, 2025
    Copy the full SHA
    10218de View commit details
  2. Copy the full SHA
    bb8404c View commit details
  3. Disable unsafe identical code folding in BOLT (#622)

    astral-sh/uv#13610 reported a misbehavior that is the result of a
    subclass of str incorrectly having its ->tp_as_number->nb_add slot
    filled in with the value of PyUnicode_Type->tp_as_sequence->sq_concat.
    There are some times when this is an appropriate thing to do iwhen
    subclassing, but this is not one of them. The logic to prevent it in
    this case relies on two helper functions in the file, wrap_binaryfunc
    and wrap_binaryfunc_l, having different addresses, even though they
    contain identical code.
    
    For some reason BOLT does not do this optimization in the shared library
    (even though those are static functions and not exported), so we only
    started seeing this in the static build.
    
    BOLT in LLVM 20+ supports "safe" code folding, which uses heuristics about
    relocations to determine whether a function's address is used in any way other
    than a call. This seems to be enough to fix the issue. Add a patch to switch
    to -icf=safe, submitted upstream as python/cpython#134642
    geofft authored May 30, 2025
    Copy the full SHA
    cddb9c1 View commit details
Loading