You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.6 KiB
32 lines
1.6 KiB
# Build image for Cellar binaries, targeting glibc 2.35 (Ubuntu 22.04). |
|
# This keeps the binaries compatible with older systems than the host Fedora |
|
# build, while still providing GTK4/libadwaita packages. |
|
FROM ubuntu:22.04 |
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
# ── System deps ────────────────────────────────────────────────────────────── |
|
RUN apt-get update && apt-get install -y --no-install-recommends \ |
|
python3 python3-dev python3-pip python3-venv \ |
|
# GTK4 / Adwaita |
|
libgtk-4-dev libadwaita-1-dev python3-gi python3-gi-cairo \ |
|
gir1.2-gtk-4.0 gir1.2-adw-1 libglib2.0-dev \ |
|
# Misc build deps |
|
build-essential git libffi-dev libssl-dev \ |
|
# UPX |
|
upx-ucl \ |
|
# binutils for strip |
|
binutils \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
# ── Python environment ─────────────────────────────────────────────────────── |
|
RUN python3 -m venv --system-site-packages /opt/venv |
|
ENV PATH="/opt/venv/bin:$PATH" |
|
RUN python -m pip install --no-cache-dir --upgrade pip setuptools wheel \ |
|
&& python -m pip install --no-cache-dir pyinstaller requests |
|
|
|
# ── Build ───────────────────────────────────────────────────────────────────── |
|
WORKDIR /src |
|
COPY . . |
|
|
|
CMD ["/bin/bash", "/src/scripts/build-binaries.sh"]
|
|
|