summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2025-04-16 00:36:48 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2025-04-16 00:38:45 +0200
commit270bafd4b77d1cbead38c4bb380bbdab1bc32cfb (patch)
treeeddb0cfeb7145f938d119b197e1f55302a7b7716 /Dockerfile
downloadwasted-appimage-oci-270bafd4b77d1cbead38c4bb380bbdab1bc32cfb.tar.gz
First commit
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile96
1 files changed, 96 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..e00fc33
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,96 @@
+FROM forge.a-lec.org/speed-dreams/ubuntu:focal AS python
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
+ make \
+ gcc \
+ g++ \
+ lzma-dev \
+ wget \
+ zlib1g-dev \
+ libssl-dev \
+ libffi-dev \
+ && DEBIAN_FRONTEND=noninteractive apt-get clean
+RUN wget https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tgz
+RUN tar -xf Python-3.10.16.tgz
+WORKDIR Python-3.10.16
+RUN ./configure
+RUN make -j$(nproc)
+RUN make install
+
+FROM forge.a-lec.org/speed-dreams/ubuntu:focal AS cmake
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
+ gcc \
+ g++ \
+ make \
+ wget \
+ libssl-dev \
+ && DEBIAN_FRONTEND=noninteractive apt-get clean
+RUN wget https://cmake.org/files/v3.22/cmake-3.22.6.tar.gz
+RUN tar -xf cmake-3.22.6.tar.gz
+WORKDIR cmake-3.22.6
+RUN ./bootstrap
+RUN make -j$(nproc)
+RUN make install
+
+FROM cmake AS cjson
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
+ git \
+ && DEBIAN_FRONTEND=noninteractive apt-get clean
+RUN git clone --depth 1 -b v1.7.18 https://github.com/DaveGamble/cJSON
+WORKDIR cJSON
+RUN cmake -B build
+RUN cmake --build build/ -j$(nproc)
+RUN cmake --install build/
+
+FROM forge.a-lec.org/speed-dreams/ubuntu:focal AS tools
+COPY --from=python /usr/local/ /usr/local/
+COPY --from=cmake /usr/local/ /usr/local/
+COPY --from=cjson /usr/local/ /usr/local/
+RUN pip3 install appimage-builder
+RUN apt-get update && \
+ DEBIAN_FRONTEND=noninteractive apt-get -qq -y install \
+ fakeroot \
+ file \
+ freeglut3-dev \
+ g++ \
+ gcc \
+ git \
+ jq \
+ libcurl4-gnutls-dev \
+ libenet-dev \
+ libexpat1-dev \
+ libglu1-mesa-dev \
+ libjpeg-dev \
+ libminizip-dev \
+ libopenal-dev \
+ libopenscenegraph-dev \
+ libplib-dev \
+ libpng-dev \
+ librhash-dev \
+ libsdl2-dev \
+ libsdl2-mixer-dev \
+ libssl-dev \
+ libxext-dev \
+ make \
+ mesa-common-dev \
+ patchelf \
+ squashfs-tools \
+ strace \
+ zlib1g-dev \
+ zsync \
+ && DEBIAN_FRONTEND=noninteractive apt-get clean
+
+FROM tools AS upload-artifact
+RUN git clone https://gitea.privatedns.org/xavi/upload-artifact.git
+
+FROM tools AS forgejo-clone
+RUN git clone https://forge.a-lec.org/speed-dreams/forgejo-clone.git
+
+FROM tools
+COPY --from=upload-artifact upload-artifact/upload-artifact /usr/local/bin/
+COPY --from=forgejo-clone forgejo-clone/forgejo-clone /usr/local/bin/
+COPY AppImageBuilder.yml /AppImageBuilder.yml
+COPY package.py /usr/local/lib/python3.10/site-packages/appimagebuilder/modules/deploy/apt/package.py
+ENTRYPOINT ["/bin/bash"]