Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ jobs:
run: |
tar zxvf *.tar.gz --strip-components=1
- name: Build wheels
uses: pypa/cibuildwheel@v2.22.0
uses: pypa/cibuildwheel@v3.0.0b1
env:
CIBW_BUILD: "cp3{7..13}-${{ matrix.wheel_type }}"
CIBW_BUILD: "cp3{8..13}-${{ matrix.wheel_type }}"
CIBW_ARCHS_LINUX: auto aarch64
CIBW_PRERELEASE_PYTHONS: True
CIBW_ENABLE: cpython-prerelease
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.wheel_type }}-wheels
Expand All @@ -82,7 +82,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python_version: ["2.7"]
python_version: ["2.7", "3.7"]
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
Expand All @@ -99,7 +99,10 @@ jobs:
sudo apt-get update
sudo apt-get install -qy \
gdb \
python2.7-dev python2.7-dbg
python${{ matrix.python_version }}-dev \
python${{ matrix.python_version }}-dbg
sudo apt-get install -qy \
python${{ matrix.python_version }}-distutils || true
- name: Install Python dependencies
run: |
python3 -m pip install --upgrade pip
Expand All @@ -119,7 +122,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python_version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python_version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Stage 1: Elfutils build stage
FROM ubuntu:22.04 AS elfutils_builder
ARG DEBIAN_FRONTEND=noninteractive
ENV VERS=0.189
ENV VERS=0.193

# Install elfutils build dependencies
RUN apt-get update \
Expand Down Expand Up @@ -31,7 +31,7 @@ RUN apt-get update \
&& cd /elfutils \
&& curl https://sourceware.org/elfutils/ftp/$VERS/elfutils-$VERS.tar.bz2 > ./elfutils.tar.bz2 \
&& tar -xf elfutils.tar.bz2 --strip-components 1 \
&& CFLAGS='-w' ./configure --prefix=/usr/local --disable-nls --disable-debuginfod --enable-libdebuginfod=dummy --with-zstd \
&& CFLAGS='-Wno-error -g -O3' CXXFLAGS='-Wno-error -g -O3' ./configure --disable-nls --enable-libdebuginfod=dummy --disable-debuginfod --with-zstd \
&& make install

# Stage 2: Final stage
Expand Down
1 change: 0 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ include README.md
include src/pystack/py.typed
include .bumpversion.cfg
include .pre-commit-config.yaml
include build_scripts/elfutils_contiguous_segments.diff

recursive-include src/pystack/_pystack *
recursive-include src/pystack *.py
Expand Down
66 changes: 0 additions & 66 deletions build_scripts/elfutils_contiguous_segments.diff

This file was deleted.

1 change: 1 addition & 0 deletions news/237.removal.1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
We no longer provide x86-64 musllinux_1_1 wheels. The manylinux project dropped support for musllinux_1_1 on November 1st, 2024.
1 change: 1 addition & 0 deletions news/237.removal.2.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
We no longer provide Python 3.7 wheels. Python 3.7 has been end-of-life since June 2023.
37 changes: 12 additions & 25 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,18 @@ underlines = "-~"
build = ["cp38-*", "cp39-*", "cp310-*", "cp311-*"]
manylinux-x86_64-image = "manylinux2014"
manylinux-i686-image = "manylinux2014"
musllinux-x86_64-image = "musllinux_1_1"
musllinux-x86_64-image = "musllinux_1_2"
skip = "*-musllinux_aarch64"

[tool.cibuildwheel.linux]
before-all = [
"yum install -y python-devel-2.7.5",
"yum install -y python-devel-2.7.5 libzstd-devel",
"cd /",
"VERS=0.189",
"VERS=0.193",
"curl https://sourceware.org/elfutils/ftp/$VERS/elfutils-$VERS.tar.bz2 > ./elfutils.tar.bz2",
"tar -xf elfutils.tar.bz2",
"cd elfutils-$VERS",
"patch libdwfl/dwfl_segment_report_module.c < {package}/build_scripts/elfutils_contiguous_segments.diff",
"CFLAGS='-w' ./configure --enable-libdebuginfod=dummy --disable-debuginfod --prefix=/usr --libdir=/usr/lib64",
"CFLAGS='-Wno-error -g -O3' CXXFLAGS='-Wno-error -g -O3' ./configure --disable-nls --enable-libdebuginfod=dummy --disable-debuginfod --with-zstd",
"make install"
]

Expand All @@ -70,34 +69,22 @@ before-all = [
# dependency of elfutils.
"apk del gettext-dev glib-dev",

# Build musl-fts from source. This is a build dependency of elfutils, but
# isn't in the Alpine repos of the musllinux_1_1 image. The build steps come
# from https://git.alpinelinux.org/aports/tree/main/musl-fts/APKBUILD
# Setting PATH before calling boostrap.sh fixes an automake failure. I think
# the failure may be caused by a different pkg-config in /usr/local/bin.
"cd /",
"apk add --update automake autoconf libtool",
"VERS=1.2.7",
"curl -L https://github.com/void-linux/musl-fts/archive/refs/tags/v$VERS.tar.gz > ./musl-fts.tar.gz",
"tar -xf musl-fts.tar.gz",
"cd musl-fts-$VERS",
"PATH=/usr/bin:/bin ./bootstrap.sh",
"CFLAGS=-fPIC ./configure --prefix=/usr",
"make install",

# Build the latest elfutils from source. The build steps come from
# https://git.alpinelinux.org/aports/tree/main/elfutils, and the need to
# set the FNM_EXTMATCH macro to get the build to succeed is seen here:
# https://git.alpinelinux.org/aports/tree/main/elfutils/musl-macros.patch
"cd /",
"apk add --update argp-standalone bison bsd-compat-headers bzip2-dev flex-dev libtool linux-headers musl-libintl musl-obstack-dev xz-dev zlib-dev zstd-dev",
"VERS=0.189",
"apk add --update argp-standalone bison bsd-compat-headers bzip2-dev flex-dev libtool linux-headers musl-fts-dev musl-libintl musl-obstack-dev xz-dev zlib-dev zstd-dev",
"VERS=0.193",
"curl https://sourceware.org/elfutils/ftp/$VERS/elfutils-$VERS.tar.bz2 > ./elfutils.tar.bz2",
"tar -xf elfutils.tar.bz2",
"cd elfutils-$VERS",
"patch libdwfl/dwfl_segment_report_module.c < {package}/build_scripts/elfutils_contiguous_segments.diff",
"CFLAGS='-w -DFNM_EXTMATCH=0' ./configure --prefix=/usr --disable-nls --disable-libdebuginfod --disable-debuginfod --with-zstd",
"make install"
"CFLAGS='-Wno-error -DFNM_EXTMATCH=0 -g -O3' CXXFLAGS='-Wno-error -g -O3' ./configure --disable-nls --enable-libdebuginfod=dummy --disable-debuginfod --with-zstd",
"make install",

# Reinstall libintl, as the Python interpreter requires it
"apk del musl-libintl",
"apk add libintl",
]

[tool.coverage.run]
Expand Down