diff --git a/build-aux/Dockerfile b/build-aux/Dockerfile index c7841d9..b060765 100644 --- a/build-aux/Dockerfile +++ b/build-aux/Dockerfile @@ -1,8 +1,13 @@ FROM fedora:latest -RUN dnf install -y meson python3-pip gtk4-devel gobject-introspection-devel \ - libadwaita-devel python3-devel python3-gobject git diffutils xorg-x11-server-Xvfb +RUN dnf install -y meson gcc g++ python3-pip gobject-introspection-devel \ + python3-devel python3-gobject git diffutils xorg-x11-server-Xvfb \ + appstream-devel "dnf-command(builddep)" +RUN dnf build-dep -y gtk4 libadwaita RUN pip3 install furo mypy sphinx coverage black +COPY install_deps.sh . +RUN ./install_deps.sh + # The version on PyPI is very old and doesn't install. Use the upstream package registry instead. -RUN pip install pythonfuzz --extra-index-url https://gitlab.com/api/v4/projects/19904939/packages/pypi/simple \ No newline at end of file +RUN pip install pythonfuzz --extra-index-url https://gitlab.com/api/v4/projects/19904939/packages/pypi/simple diff --git a/build-aux/install_deps.sh b/build-aux/install_deps.sh new file mode 100755 index 0000000..381a57a --- /dev/null +++ b/build-aux/install_deps.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -e + +echo "===== Install GTK =====" +git clone --depth=1 https://gitlab.gnome.org/GNOME/gtk.git +cd gtk +meson setup builddir \ + --prefix=/usr \ + -Dgtk_doc=true \ + -Ddemos=false \ + -Dbuild-examples=false \ + -Dbuild-tests=false \ + -Dbuild-testsuite=false +ninja -C builddir install +cd - +rm -rf gtk + +echo "===== Install libadwaita =====" +git clone --depth=1 https://gitlab.gnome.org/GNOME/libadwaita.git +cd libadwaita +meson builddir \ + --prefix=/usr +ninja -C builddir install +cd - +rm -rf libadwaita