# This is going to create an environment for you to cross compile all the # packages needed to build this project. # # As always, debian > ubuntu <3 FROM debian:trixie-slim WORKDIR /root # Set host name. RUN echo docker_cross_compiler > /etc/hostname # Download and Install dependencies. # Install WGET RUN apt-get update RUN apt-get install -y sudo wget # APT dependencies. RUN apt-get update RUN apt-get install -y \ build-essential \ bzip2 \ cmake \ clang \ cpio \ curl \ gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu \ gcc-i686-linux-gnu \ git \ libbz2-dev \ libharfbuzz-dev \ liblzma-dev \ libpng-dev \ libssl-dev \ libxml2-dev \ llvm \ mingw-w64 \ meson \ ninja-build \ nodejs \ patch \ python3 \ uuid \ xz-utils \ zlib1g-dev # Install dotnet 6.0 even if Micro$lop doesn't support it :P WORKDIR /root/ COPY share/*.tar.gz /root/ RUN mkdir -p /usr/lib64/dotnet WORKDIR /usr/lib64/dotnet RUN tar -zxf /root/dotnet-sdk-6.0.428-linux-x64.tar.gz RUN tar -zxf /root/dotnet-sdk-8.0.421-linux-x64.tar.gz RUN tar -zxf /root/dotnet-sdk-10.0.300-linux-x64.tar.gz RUN ln -s /usr/lib64/dotnet/dotnet /usr/local/bin/dotnet # Clone osxcross # Let's do this later. WORKDIR /root/ RUN git clone --recurse-submodules "https://github.com/tpoechtrager/osxcross.git" osxcross # Download packaged SDK from this random github (very safe i know) WORKDIR /root/osxcross/tarballs RUN wget "https://github.com/joseluisq/macosx-sdks/releases/download/14.0/MacOSX14.0.sdk.tar.xz" -O "MacOSX14.0.sdk.tar.xz" WORKDIR /root/osxcross ENV UNATTENDED=1 TARGET_DIR=/usr/local SDK_DIR=/usr/local/osxcross-sdk RUN bash -c "./build.sh" # Setup interactive shell. # Setup sudo. Remove password prompt for group "wheel". RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/refuel_sudo_conf # Create a default user and switch. RUN adduser --comment "" --disabled-password refuel RUN addgroup wheel RUN usermod -aG wheel refuel USER refuel WORKDIR /home/refuel # Copy bashrc COPY sh/bashrc.sh /home/refuel/.bashrc # Execute an interactive shell. CMD bash