aboutsummaryrefslogtreecommitdiff
path: root/build-containers
diff options
context:
space:
mode:
authorRubén Beltrán del Río <jj@r.bdr.sh>2026-01-18 15:20:57 +0100
committerRubén Beltrán del Río <jj@r.bdr.sh>2026-01-18 16:17:33 +0100
commit238fd3b539679a9f53f0b9523f8e4b8d749697d2 (patch)
tree02f82ba2df60f29fff8202ac1fc0182e807f8575 /build-containers
parenta7926bd5e9fddd40d1be0c8189022de824a9f330 (diff)
Use Containerfiles for builds
Diffstat (limited to 'build-containers')
-rw-r--r--build-containers/arch/Containerfile21
-rw-r--r--build-containers/bookworm/Containerfile26
-rw-r--r--build-containers/fedora-rawhide/Containerfile23
-rw-r--r--build-containers/fedora42/Containerfile23
-rw-r--r--build-containers/fedora43/Containerfile23
-rw-r--r--build-containers/forky/Containerfile26
-rw-r--r--build-containers/trixie/Containerfile26
7 files changed, 168 insertions, 0 deletions
diff --git a/build-containers/arch/Containerfile b/build-containers/arch/Containerfile
new file mode 100644
index 0000000..aacf2a2
--- /dev/null
+++ b/build-containers/arch/Containerfile
@@ -0,0 +1,21 @@
+FROM ogarcia/archlinux:latest
+
+RUN pacman -Syu --noconfirm \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ gtk4 \
+ libadwaita \
+ gtksourceview5 \
+ fakeroot \
+ rsync \
+ rust \
+ pkgconf \
+ && pacman -Scc --noconfirm
+
+# Create builder user for makepkg (can't run as root)
+RUN useradd -m builder
diff --git a/build-containers/bookworm/Containerfile b/build-containers/bookworm/Containerfile
new file mode 100644
index 0000000..dd3596d
--- /dev/null
+++ b/build-containers/bookworm/Containerfile
@@ -0,0 +1,26 @@
+FROM debian:bookworm
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ libgtk-4-dev \
+ libadwaita-1-dev \
+ libgtksourceview-5-dev \
+ pkg-config \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-deb
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-deb --no-confirm
diff --git a/build-containers/fedora-rawhide/Containerfile b/build-containers/fedora-rawhide/Containerfile
new file mode 100644
index 0000000..261a219
--- /dev/null
+++ b/build-containers/fedora-rawhide/Containerfile
@@ -0,0 +1,23 @@
+FROM fedora:rawhide
+
+RUN dnf install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ gtk4-devel \
+ libadwaita-devel \
+ gtksourceview5-devel \
+ pkg-config \
+ && dnf clean all
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-generate-rpm
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-generate-rpm --no-confirm
diff --git a/build-containers/fedora42/Containerfile b/build-containers/fedora42/Containerfile
new file mode 100644
index 0000000..a47d1eb
--- /dev/null
+++ b/build-containers/fedora42/Containerfile
@@ -0,0 +1,23 @@
+FROM fedora:42
+
+RUN dnf install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ gtk4-devel \
+ libadwaita-devel \
+ gtksourceview5-devel \
+ pkg-config \
+ && dnf clean all
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-generate-rpm
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-generate-rpm --no-confirm
diff --git a/build-containers/fedora43/Containerfile b/build-containers/fedora43/Containerfile
new file mode 100644
index 0000000..55f8329
--- /dev/null
+++ b/build-containers/fedora43/Containerfile
@@ -0,0 +1,23 @@
+FROM fedora:43
+
+RUN dnf install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ gtk4-devel \
+ libadwaita-devel \
+ gtksourceview5-devel \
+ pkg-config \
+ && dnf clean all
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-generate-rpm
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-generate-rpm --no-confirm
diff --git a/build-containers/forky/Containerfile b/build-containers/forky/Containerfile
new file mode 100644
index 0000000..2ee89c8
--- /dev/null
+++ b/build-containers/forky/Containerfile
@@ -0,0 +1,26 @@
+FROM debian:forky
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ libgtk-4-dev \
+ libadwaita-1-dev \
+ libgtksourceview-5-dev \
+ pkg-config \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-deb
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-deb --no-confirm
diff --git a/build-containers/trixie/Containerfile b/build-containers/trixie/Containerfile
new file mode 100644
index 0000000..4e4c10f
--- /dev/null
+++ b/build-containers/trixie/Containerfile
@@ -0,0 +1,26 @@
+FROM debian:trixie
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y \
+ make \
+ clang \
+ lld \
+ curl \
+ tar \
+ gzip \
+ gettext \
+ libgtk-4-dev \
+ libadwaita-1-dev \
+ libgtksourceview-5-dev \
+ pkg-config \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+# Install rust toolchain
+RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ENV PATH="/root/.cargo/bin:${PATH}"
+
+# Install cargo-deb
+RUN curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash \
+ && cargo binstall cargo-deb --no-confirm