pixelflux/pyproject.toml
2025-07-13 11:06:24 -04:00

70 lines
2.2 KiB
TOML

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[tool.cibuildwheel]
archs = [ "x86_64", "aarch64" ]
[tool.cibuildwheel.linux]
before-all = """
set -euxo pipefail
if command -v dnf; then
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm && \
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm && \
dnf localinstall -y --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && \
dnf install -y \
libX11-devel \
libXext-devel \
libjpeg-turbo-devel \
libev-devel \
libXcomposite-devel \
libva-devel \
libdrm-devel \
git \
make \
gcc \
nasm \
cmake \
gcc-c++ && \
\
(cd /tmp && \
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git && \
cd x264 && \
./configure --prefix=/usr/local --enable-shared --disable-cli && \
make -j$(nproc) && \
make install) && \
\
if [ "$(uname -m)" = "aarch64" ]; then \
dnf install -y libyuv-devel; \
else \
(cd /tmp && \
git clone --branch stable --depth 1 https://chromium.googlesource.com/libyuv/libyuv && \
cd libyuv && \
mkdir build && cd build && \
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_POLICY_VERSION_MINIMUM=3.5 && \
make -j$(nproc) && \
make install); \
fi && \
\
ldconfig
elif command -v apk; then
apk add --no-cache \
libx11-dev \
libxext-dev \
libxfixes-dev \
jpeg-dev \
libev-dev \
x264-dev \
libyuv \
libyuv-dev \
libxcomposite-dev \
libva-dev \
libdrm-dev \
musl-dev
else
echo "Unsupported package manager"
exit 1
fi
"""