-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
66 lines (54 loc) · 1.8 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
FROM fedora:41
# Install required packages
RUN dnf install -y \
cmake \
clang \
git \
gyp \
java-1.8.0-openjdk-devel \
java-17-openjdk-devel \
m4 \
make \
nasm \
ninja-build \
patch \
perl \
python3.9 \
shasum \
wget \
xz \
zlib-devel
ENV ENVDOCKER=/opt/env_docker.sh
ENV ANDROID_HOME=/root/android-sdk
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk
RUN echo "#!/bin/bash" >> $ENVDOCKER && \
echo 'source /root/env/bin/activate' >> $ENVDOCKER
# Set up Android SDK
ADD https://gitlab.com/ironfox-oss/IronFox/-/raw/main/scripts/setup-android-sdk.sh /tmp/setup-android-sdk.sh
RUN bash -x /tmp/setup-android-sdk.sh && \
echo "export ANDROID_HOME=$ANDROID_HOME" >> $ENVDOCKER && \
echo "export ANDROID_SDK_ROOT=\$ANDROID_HOME" >> $ENVDOCKER
# Set up gradle from F-Droid
RUN mkdir -p /root/bin
ADD https://gitlab.com/fdroid/fdroidserver/-/raw/master/gradlew-fdroid /root/bin/gradle
RUN chmod +x "/root/bin/gradle" && \
echo "export PATH=\$PATH:/root/bin" >> $ENVDOCKER
# Set up gradle properties
RUN mkdir -p /root/.gradle && \
echo "org.gradle.daemon=false" >> /root/.gradle/gradle.properties && \
echo "org.gradle.configuration-cache=false" >> /root/.gradle/gradle.properties
# Set up Python virtual environment
RUN python3.9 -m venv /root/env
# Set JDK 17 as default
RUN echo "export JAVA_HOME=$JAVA_HOME" >> $ENVDOCKER && \
echo "export PATH=$JAVA_HOME/bin:/root/bin:/root/env/bin:\${PATH}" >> $ENVDOCKER
# cd into working directory
WORKDIR /app
# Create entrypoint script to activate Python venv
ENV ENTRYPOINT=/opt/entrypoint.sh
RUN echo '#!/bin/bash' > $ENTRYPOINT && \
echo "source $ENVDOCKER" >> $ENTRYPOINT && \
echo 'exec "$@"' >> $ENTRYPOINT && \
chmod +x $ENTRYPOINT
ENTRYPOINT ["/opt/entrypoint.sh"]
CMD ["/bin/bash"]