mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-22 11:56:49 +01:00
Updated the build containers based on godot's.
This commit is contained in:
parent
66de30fbaa
commit
063419321d
@ -6,13 +6,13 @@ ENV ANDROID_NDK_VERSION=23.2.8568313
|
||||
ENV ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk/${ANDROID_NDK_VERSION}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
gcc gcc-c++ java-11-openjdk-devel ncurses-compat-libs && \
|
||||
gcc gcc-c++ java-17-openjdk-devel ncurses-compat-libs && \
|
||||
mkdir -p sdk && cd sdk && \
|
||||
export CMDLINETOOLS=commandlinetools-linux-8512546_latest.zip && \
|
||||
export CMDLINETOOLS=commandlinetools-linux-11076708_latest.zip && \
|
||||
curl -LO https://dl.google.com/android/repository/${CMDLINETOOLS} && \
|
||||
unzip ${CMDLINETOOLS} && \
|
||||
rm ${CMDLINETOOLS} && \
|
||||
yes | cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && \
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;32.0.0' 'platforms;android-32' 'cmake;3.18.1'
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;34.0.0' 'platforms;android-34' 'cmake;3.22.1'
|
||||
|
||||
CMD /bin/bash
|
||||
|
@ -1,9 +1,9 @@
|
||||
FROM fedora:36
|
||||
FROM fedora:39
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
bash bzip2 curl file findutils git make nano patch pkgconfig python3-pip unzip which xz yasm && \
|
||||
pip install scons==4.4.0
|
||||
pip install scons==4.6.0
|
||||
|
||||
CMD /bin/bash
|
||||
|
@ -1,28 +1,27 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-osx:${img_version}
|
||||
|
||||
ENV IOS_SDK=15.4
|
||||
ENV IOS_SDK=17.2
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf gcc gcc-c++ gcc-objc gcc-objc++ cmake libicu-devel libtool libxml2-devel openssl-devel perl python yasm && \
|
||||
git clone --progress https://github.com/tpoechtrager/cctools-port.git && \
|
||||
cd /root/cctools-port && \
|
||||
git checkout 04663295d0425abfac90a42440a7ec02d7155fea && \
|
||||
git checkout a98286d858210b209395624477533c0bde05556a && \
|
||||
# arm64 device
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
mkdir -p /root/ioscross/arm64 && \
|
||||
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64 && \
|
||||
mkdir /root/ioscross/arm64/usr && \
|
||||
ln -s /root/ioscross/arm64/bin /root/ioscross/arm64/usr/bin && \
|
||||
# Prepare for simulator builds
|
||||
sed -i '/WRAPPER_SDKDIR/s/iPhoneOS/iPhoneSimulator/' usage_examples/ios_toolchain/build.sh && \
|
||||
# arm64 simulator
|
||||
# Disabled for now as it doesn't work with cctools-port and current LLVM:
|
||||
# Cf. https://github.com/tpoechtrager/cctools-port/issues/102
|
||||
#sed -i 's/miphoneos-version-min/mios-simulator-version-min/g' usage_examples/ios_toolchain/wrapper.c && \
|
||||
#usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
#mkdir -p /root/ioscross/arm64_sim && \
|
||||
#mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64_sim && \
|
||||
#mkdir /root/ioscross/arm64_sim/usr && \
|
||||
#ln -s /root/ioscross/arm64_sim/bin /root/ioscross/arm64_sim/usr/bin && \
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
mkdir -p /root/ioscross/arm64_sim && \
|
||||
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64_sim && \
|
||||
mkdir /root/ioscross/arm64_sim/usr && \
|
||||
ln -s /root/ioscross/arm64_sim/bin /root/ioscross/arm64_sim/usr/bin && \
|
||||
# x86_64 simulator
|
||||
sed -i 's#^TRIPLE=.*#TRIPLE="x86_64-apple-darwin11"#' usage_examples/ios_toolchain/build.sh && \
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz x86_64 && \
|
||||
|
@ -1,11 +1,9 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
ENV EMSCRIPTEN_VERSION=3.1.14
|
||||
ENV EMSCRIPTEN_VERSION=3.1.53
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
java-openjdk && \
|
||||
git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk emsdk && \
|
||||
RUN git clone --branch ${EMSCRIPTEN_VERSION} --progress https://github.com/emscripten-core/emsdk && \
|
||||
emsdk/emsdk install ${EMSCRIPTEN_VERSION} && \
|
||||
emsdk/emsdk activate ${EMSCRIPTEN_VERSION}
|
||||
|
||||
|
@ -4,31 +4,36 @@ FROM pandemonium-fedora:${img_version}
|
||||
# Todo host the buildroot files somewhere
|
||||
|
||||
ENV GODOT_SDK_LINUX_X86_64=/root/x86_64-godot-linux-gnu_sdk-buildroot
|
||||
ENV GODOT_SDK_LINUX_X86=/root/i686-godot-linux-gnu_sdk-buildroot
|
||||
ENV GODOT_SDK_LINUX_ARMHF=/root/arm-godot-linux-gnueabihf_sdk-buildroot
|
||||
ENV GODOT_SDK_LINUX_X86_32=/root/i686-godot-linux-gnu_sdk-buildroot
|
||||
ENV GODOT_SDK_LINUX_ARM64=/root/aarch64-godot-linux-gnu_sdk-buildroot
|
||||
ENV GODOT_SDK_LINUX_ARM32=/root/arm-godot-linux-gnueabihf_sdk-buildroot
|
||||
|
||||
ENV BASE_PATH=${PATH}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
libxcrypt-compat yasm && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
RUN dnf install -y wayland-devel && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
cd x86_64-godot-linux-gnu_sdk-buildroot && \
|
||||
./relocate-sdk.sh && \
|
||||
rm -f bin/{aclocal*,auto*,libtool*,m4} && \
|
||||
cd /root && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
tar xf arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
rm -f arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
cd arm-godot-linux-gnueabihf_sdk-buildroot && \
|
||||
./relocate-sdk.sh && \
|
||||
rm -f bin/{aclocal*,auto*,libtool*,m4} && \
|
||||
cd /root && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/i686-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
tar xf i686-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
rm -f i686-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
cd i686-godot-linux-gnu_sdk-buildroot && \
|
||||
./relocate-sdk.sh && \
|
||||
rm -f bin/{aclocal*,auto*,libtool*,m4}
|
||||
cd /root && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
tar xf aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
rm -f aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && \
|
||||
cd aarch64-godot-linux-gnu_sdk-buildroot && \
|
||||
./relocate-sdk.sh && \
|
||||
cd /root && \
|
||||
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2024-01-17/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
tar xf arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
rm -f arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && \
|
||||
cd arm-godot-linux-gnueabihf_sdk-buildroot && \
|
||||
./relocate-sdk.sh
|
||||
|
||||
|
||||
CMD /bin/bash
|
||||
|
@ -1,17 +1,23 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
# Todo: This osxcross link is temporary, until a github url change is fixed in osxcross master.
|
||||
ENV OSX_SDK=14.2
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf bzip2-devel cmake gcc gcc-c++ libicu-devel libtool libxml2-devel openssl-devel yasm && \
|
||||
git clone --progress https://github.com/Relintai/osxcross.git && \
|
||||
automake autoconf bzip2-devel cmake gcc gcc-c++ libdispatch libicu-devel libtool \
|
||||
libxml2-devel openssl-devel uuid-devel yasm && \
|
||||
git clone --progress https://github.com/tpoechtrager/osxcross && \
|
||||
cd /root/osxcross && \
|
||||
git checkout 7be19917bba24a9129838d7f0cca49944cd48388 && \
|
||||
ln -s /root/files/MacOSX12.3.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
git checkout ff8d100f3f026b4ffbe4ce96d8aac4ce06f1278b && \
|
||||
curl -LO https://github.com/tpoechtrager/osxcross/pull/415.patch && \
|
||||
git apply 415.patch && \
|
||||
ln -s /root/files/MacOSX${OSX_SDK}.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
export UNATTENDED=1 && \
|
||||
# Custom build to ensure we have Clang version matching Xcode SDK.
|
||||
CLANG_VERSION=13.0.1 ENABLE_CLANG_INSTALL=1 INSTALLPREFIX=/usr ./build_clang.sh && \
|
||||
export SDK_VERSION=${OSX_SDK} && \
|
||||
# Custom build Apple Clang to ensure compatibility.
|
||||
# Find the equivalent LLVM version for the SDK from:
|
||||
# https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
|
||||
CLANG_VERSION=16.0.0 ENABLE_CLANG_INSTALL=1 INSTALLPREFIX=/usr ./build_apple_clang.sh && \
|
||||
./build.sh && \
|
||||
./build_compiler_rt.sh && \
|
||||
rm -rf /root/osxcross/build
|
||||
|
@ -3,9 +3,9 @@ FROM pandemonium-fedora:${img_version}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
clang xar xar-devel xz-devel cpio && \
|
||||
git clone --progress https://github.com/NiklasRosenstein/pbzx && \
|
||||
git clone --progress https://github.com/nrosenstein-stuff/pbzx && \
|
||||
cd pbzx && \
|
||||
git checkout 2a4d7c3300c826d918def713a24d25c237c8ed53 && \
|
||||
git checkout bf536e167f2e514866f91d7baa0df1dff5a13711 && \
|
||||
clang -O3 -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
|
||||
|
||||
|
||||
@ -19,12 +19,6 @@ CMD mkdir -p /root/xcode && \
|
||||
/root/pbzx/pbzx -n Content | cpio -i && \
|
||||
export OSX_SDK=MacOSX${OSX_SDKV}.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
|
||||
mkdir -p /tmp/${OSX_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${OSX_SDK}/usr/include/c++/ && \
|
||||
mkdir -p mkdir -p /tmp/${OSX_SDK}/usr/share/man && \
|
||||
cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/${OSX_SDK}/usr/share/man/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
|
||||
rm -rf ${OSX_SDK} && \
|
||||
@ -32,15 +26,12 @@ CMD mkdir -p /root/xcode && \
|
||||
export IOS_SDK=iPhoneOS${IOS_SDKV}.sdk && \
|
||||
export IOS_SIMULATOR_SDK=iPhoneSimulator${IOS_SDKV}.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK} && \
|
||||
cd /root/xcode && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SIMULATOR_SDK} && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK}
|
||||
tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SIMULATOR_SDK} && \
|
||||
rm -rf ${IOS_SIMULATOR_SDK}
|
||||
|
||||
|
@ -22,9 +22,9 @@ $podman_build -t pandemonium-windows:${img_version} -f Dockerfile.windows . 2>&1
|
||||
$podman_build -t pandemonium-javascript:${img_version} -f Dockerfile.javascript . 2>&1 | tee logs/javascript.log
|
||||
$podman_build -t pandemonium-android:${img_version} -f Dockerfile.android . 2>&1 | tee logs/android.log
|
||||
|
||||
XCODE_SDK=13.3.1
|
||||
OSX_SDK=12.3
|
||||
IOS_SDK=15.4
|
||||
XCODE_SDK=15.2
|
||||
OSX_SDK=14.2
|
||||
IOS_SDK=17.2
|
||||
if [ ! -e files/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e files/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then
|
||||
if [ ! -e files/Xcode_${XCODE_SDK}.xip ]; then
|
||||
echo "files/Xcode_${XCODE_SDK}.xip is required. It can be downloaded from https://developer.apple.com/download/more/ with a valid apple ID."
|
||||
|
Loading…
Reference in New Issue
Block a user