this is horrid

This commit is contained in:
Ashley Graves 2024-10-25 06:40:08 +02:00
commit 04caa6edca
Signed by: ashley
SSH key fingerprint: SHA256:LAjgsAMyT3LO2JVtr6fQ4N3RTYoRRlIm5wAKsbDife4
20 changed files with 20282 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.cache
.dockerfiles

25
build.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
[ ! -d ".dockerfiles" ] && mkdir .dockerfiles
COMPOSE=""
if command -v podman-compose 2 >&1 >/dev/null; then
echo "[*] Using podman-compose"
COMPOSE="podman-compose"
elif $(docker compose &>/dev/null) && [ $? -eq 0 ]; then
echo "[*] Using docker compose (v2)"
COMPOSE="docker compose"
elif command -v docker-compose 2 >&1 >/dev/null; then
echo "[*] Using docker-compose (v1)"
COMPOSE="docker-compose"
else
echo "[!] No compose parser installed."
exit 1
fi
m4 -D_WINE_=win64 -D_BASE_=alpine -D_APK_=x86_64 segments/base.m4 >.dockerfiles/x64.Dockerfile
m4 -D_WINE_=win32 -D_BASE_=i386/alpine -D_APK_=x86 segments/base.m4 >.dockerfiles/x86.Dockerfile
m4 -D_WINE_=win64 -D_BASE_=alpine -D_APK_=x86_64 -D_XVFB_=true segments/base.m4 >.dockerfiles/x64-xvfb.Dockerfile
m4 -D_WINE_=win32 -D_BASE_=i386/alpine -D_APK_=x86 -D_XVFB_=true segments/base.m4 >.dockerfiles/x86-xvfb.Dockerfile
$COMPOSE build

20
docker-compose.yml Normal file
View file

@ -0,0 +1,20 @@
services:
x86:
build:
dockerfile: .dockerfiles/x86.Dockerfile
image: git.incest.world/ashley/winedows:x86
x64:
build:
dockerfile: .dockerfiles/x64.Dockerfile
image: git.incest.world/ashley/winedows:x64
x86-xvfb:
build:
dockerfile: .dockerfiles/x86-xvfb.Dockerfile
image: git.incest.world/ashley/winedows:x86-xvfb
x64-xvfb:
build:
dockerfile: .dockerfiles/x64-xvfb.Dockerfile
image: git.incest.world/ashley/winedows:x64-xvfb

1
files/.xinitrc Normal file
View file

@ -0,0 +1 @@
exec fluxbox

8
files/entrypoint.sh Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
if command -v xinit 2 >&1 >/dev/null; then
xinit -- /usr/bin/Xvfb :1 -screen 0 640x480x24 &>x11.log &
x11vnc -nopw -rfbport 5901 -permitfiletransfer -display :1 &>vnc.log &
fi
wine cmd.exe /c $@

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

20198
files/winetricks Executable file

File diff suppressed because it is too large Load diff

3
readme.md Normal file
View file

@ -0,0 +1,3 @@
# winedows
possibly the most cursed action runner container ever made
it just runs cmd under wine in an ubuntu host

22
segments/base.m4 Normal file
View file

@ -0,0 +1,22 @@
FROM docker.io/_BASE_:latest
RUN echo -n _APK_ > /etc/apk/arch
RUN apk update && apk upgrade
RUN apk add bash aria2 cabextract wine
COPY files/winetricks /usr/local/bin/
ENV WINEARCH _WINE_
ENV WINEDEBUG -all
WORKDIR /root
ADD files/vcrun /root/vcrun
RUN find vcrun/_WINE_ -type f -name '*.exe' -exec sh -c "wine {} /q;wineserver -w" \;
RUN rm -rf vcrun
# Clean up
RUN apk del aria2 cabextract
ifdef(`_XVFB_', `include(`segments/xvfb.m4')', `')dnl
COPY files/entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]

3
segments/xvfb.m4 Normal file
View file

@ -0,0 +1,3 @@
RUN apk add xinit xvfb fluxbox tmux x11vnc st
RUN sed -r -i 's/\[exec\] \(xterm\) \{xterm\}/\[exec\] \(st\) \{st\}/' /usr/share/fluxbox/menu
RUN echo "exec fluxbox" > ~/.xinitrc