summaryrefslogtreecommitdiff
path: root/docker/sandcastle/compile-and-check/base/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/sandcastle/compile-and-check/base/Dockerfile')
-rw-r--r--docker/sandcastle/compile-and-check/base/Dockerfile26
1 files changed, 26 insertions, 0 deletions
diff --git a/docker/sandcastle/compile-and-check/base/Dockerfile b/docker/sandcastle/compile-and-check/base/Dockerfile
new file mode 100644
index 0000000..0d6fc34
--- /dev/null
+++ b/docker/sandcastle/compile-and-check/base/Dockerfile
@@ -0,0 +1,26 @@
+FROM debian:experimental
+RUN apt-get update
+
+RUN apt-get install -y autoconf autopoint libtool texinfo \
+ libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev \
+ libjansson-dev python3-pip git recutils libsqlite3-dev \
+ libpq-dev postgresql libcurl4-openssl-dev libsodium-dev git \
+ libqrencode-dev zip jq npm openjdk-17-jre nginx procps \
+ curl python3-jinja2 wget curl python3-sphinx socat apache2-utils \
+ python3-sphinx-rtd-theme sqlite3 vim emacs
+RUN pip3 install requests click poetry uwsgi htmlark
+
+ARG tags_file
+# The following command provides a conditional copy from
+# the host filesystem. It mounts the current directory -
+# where the tags file MIGHT be - to /context in the container.
+# It appears NOT possible to mount arbitrary paths from the
+# host with "RUN --mount". Hence, when a tags file is given,
+# the CWD has to be the one containing the tags file. build_base.sh
+# sets (1) the CWD this way and (2) $tags_file to be the tags file
+# basename, before starting the compilation.
+RUN --mount=target=/context if test -n "$tags_file"; then cp \
+/context/${tags_file} /tags.sh; else touch /tags.sh; fi
+RUN chmod +x /tags.sh
+COPY ./compile_and_check.sh /
+ENTRYPOINT /compile_and_check.sh