summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.docker/Dockerfile26
-rw-r--r--.docker/etc/portage/make.conf2
-rw-r--r--.docker/etc/portage/package.accept_keywords/meson1
-rw-r--r--.docker/etc/portage/package.accept_keywords/rust-bin1
-rw-r--r--.docker/etc/portage/package.use/rust-bin1
-rw-r--r--.docker/etc/portage/repos.conf24
-rw-r--r--.gitea/workflows/docker.yml42
7 files changed, 97 insertions, 0 deletions
diff --git a/.docker/Dockerfile b/.docker/Dockerfile
new file mode 100644
index 0000000..c1e6525
--- /dev/null
+++ b/.docker/Dockerfile
@@ -0,0 +1,26 @@
+FROM gentoo/stage3:latest
+
+COPY ./. /
+
+RUN getuto
+
+RUN emerge-webrsync
+
+RUN emerge \
+ =dev-lang/rust-bin-9999 \
+ llvm-core/clang \
+ llvm-core/lld \
+ dev-vcs/git \
+ sys-process/parallel
+
+RUN git clone https://jturnerusa.dev/cgit/ebuilds/ /var/db/repos/spawns
+
+COPY etc/portage/repos.conf /etc/portage/
+
+RUN mkdir -p /var/cache/distfiles/git3-src && chown portage:portage /var/cache/distfiles/git3-src
+
+RUN emerge =dev-build/meson-9999
+
+WORKDIR /workspace
+
+ENTRYPOINT /bin/bash
diff --git a/.docker/etc/portage/make.conf b/.docker/etc/portage/make.conf
new file mode 100644
index 0000000..d1b8f5f
--- /dev/null
+++ b/.docker/etc/portage/make.conf
@@ -0,0 +1,2 @@
+BINPKG_FORMAT="gpkg"
+FEATURES="binpkg-request-signature getbinpkg -ipc-sandbox -network-sandbox -pid-sandbox -userfetch -news" \ No newline at end of file
diff --git a/.docker/etc/portage/package.accept_keywords/meson b/.docker/etc/portage/package.accept_keywords/meson
new file mode 100644
index 0000000..0b03f66
--- /dev/null
+++ b/.docker/etc/portage/package.accept_keywords/meson
@@ -0,0 +1 @@
+dev-build/meson ** \ No newline at end of file
diff --git a/.docker/etc/portage/package.accept_keywords/rust-bin b/.docker/etc/portage/package.accept_keywords/rust-bin
new file mode 100644
index 0000000..181194c
--- /dev/null
+++ b/.docker/etc/portage/package.accept_keywords/rust-bin
@@ -0,0 +1 @@
+dev-lang/rust-bin ** \ No newline at end of file
diff --git a/.docker/etc/portage/package.use/rust-bin b/.docker/etc/portage/package.use/rust-bin
new file mode 100644
index 0000000..c939c80
--- /dev/null
+++ b/.docker/etc/portage/package.use/rust-bin
@@ -0,0 +1 @@
+dev-lang/rust-bin clippy rustfmt \ No newline at end of file
diff --git a/.docker/etc/portage/repos.conf b/.docker/etc/portage/repos.conf
new file mode 100644
index 0000000..50c1127
--- /dev/null
+++ b/.docker/etc/portage/repos.conf
@@ -0,0 +1,24 @@
+[DEFAULT]
+main-repo = gentoo
+
+[gentoo]
+location = /var/db/repos/gentoo
+sync-type = rsync
+sync-uri = rsync://rsync.gentoo.org/gentoo-portage
+auto-sync = yes
+sync-rsync-verify-jobs = 1
+sync-rsync-verify-metamanifest = yes
+sync-rsync-verify-max-age = 3
+sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
+sync-openpgp-keyserver = hkps://keys.gentoo.org
+sync-openpgp-key-refresh-retry-count = 40
+sync-openpgp-key-refresh-retry-overall-timeout = 1200
+sync-openpgp-key-refresh-retry-delay-exp-base = 2
+sync-openpgp-key-refresh-retry-delay-max = 60
+sync-openpgp-key-refresh-retry-delay-mult = 4
+sync-webrsync-verify-signature = yes
+sync-git-verify-commit-signature = true
+
+[spawns]
+location = /var/db/repos/spawns
+sync-uri = https://jturnerusa.dev/cgit/ebuilds \ No newline at end of file
diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml
new file mode 100644
index 0000000..90b53ad
--- /dev/null
+++ b/.gitea/workflows/docker.yml
@@ -0,0 +1,42 @@
+name: Build gentoo-utils docker image
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - '.docker/Dockerfile'
+ pull_request:
+ paths:
+ - '.docker/Dockerfile'
+ workflow_dispatch:
+
+
+jobs:
+ build-docker:
+ runs-on: ubuntu-latest
+
+ steps:
+ -
+ name: Checkout repo
+ uses: actions/checkout@v4
+
+ -
+ name: Set up Docker buildx
+ uses: docker/setup-buildx-action@v3
+
+ -
+ name: Log in to Github Container Registry
+ uses: docker/login-action@v3
+ with:
+ registry: git.epenguin.net
+ username: ${{ gitea.actor }}
+ password: ${{ secrets.CI_TOKEN }}
+
+ -
+ name: Build and push
+ uses: docker/build-push-action@v6
+ with:
+ push: true
+ tags: git.epenguin.net/${{ gitea.repository }}:latest
+ context: "{{defaultContext}}:.docker"