From e2451e0c6334ffd9da158dc756373e155d6ec7f1 Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Sat, 15 Feb 2025 16:33:00 -0700 Subject: [PATCH] init --- .gitignore | 2 ++ Dockerfile | 29 +++++++++++++++++++++++++++++ README.md | 3 +++ build | 10 ++++++++++ etc/pacman.d/devkitpro.conf | 6 ++++++ etc/profile.d/devkitpro.sh | 5 +++++ 6 files changed, 55 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 build create mode 100644 etc/pacman.d/devkitpro.conf create mode 100755 etc/profile.d/devkitpro.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d6d838 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# vim artifacts +*.swp diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..69e83a9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM archlinux:latest +ARG TOOLS="" +ARG UID="1000" +ARG GID="1000" + +# setup pacman +USER root +COPY etc/profile.d/devkitpro.sh /etc/profile.d +RUN pacman-key --init +RUN pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com +RUN pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0 +RUN pacman --noconfirm -U https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.zst +RUN pacman-key --populate devkitpro +COPY etc/pacman.d/devkitpro.conf /etc/pacman.d +RUN echo Include = /etc/pacman.d/devkitpro.conf >> /etc/pacman.conf +RUN pacman -Syu --noconfirm + +# install tools +RUN pacman -Sy --noconfirm $TOOLS + +# setup environment +RUN groupadd -g $GID devkitpro +RUN useradd -u $UID -g $GID -MN devkitpro +USER devkitpro +WORKDIR /volume +ENTRYPOINT ["tail", "-f", "/dev/null"] +# use docker exec to access container OR +# use docker compose to specify entrypoint + diff --git a/README.md b/README.md new file mode 100644 index 0000000..8c93d1d --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# devkitPro Docker Development Containers + + diff --git a/build b/build new file mode 100755 index 0000000..4d548ed --- /dev/null +++ b/build @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +kits=(gp32-dev gp2x-dev gba-dev nds-dev 3ds-dev gamecube-dev wii-dev wiiu-dev switch-dev) + +for kit in ${kits[@]}; do + docker build -t devkitpro:$(echo $kit | sed "s|-dev||") --build-arg TOOLS="$kit" . +done + +docker build -t devkitpro:all --build-arg TOOLS="${kits[@]}" . + diff --git a/etc/pacman.d/devkitpro.conf b/etc/pacman.d/devkitpro.conf new file mode 100644 index 0000000..08df362 --- /dev/null +++ b/etc/pacman.d/devkitpro.conf @@ -0,0 +1,6 @@ +[dkp-libs] +Server = https://pkg.devkitpro.org/packages + +[dkp-linux] +Server = https://pkg.devkitpro.org/packages/linux/$arch/ + diff --git a/etc/profile.d/devkitpro.sh b/etc/profile.d/devkitpro.sh new file mode 100755 index 0000000..7b9c6a6 --- /dev/null +++ b/etc/profile.d/devkitpro.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +DEVKITPRO=/opt/devkitpro +DEVKITARM=/opt/devkitpro/devkitARM +DEVKITPPC=/opt/devkitpro/devkitPPC