83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # 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:stable-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
 | |
| 
 | |
|     # Add the .NET package repository to the repository listing.
 | |
|     RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
 | |
|     RUN dpkg -i packages-microsoft-prod.deb
 | |
|     RUN rm packages-microsoft-prod.deb
 | |
| 
 | |
|     # APT dependencies.
 | |
|     RUN apt-get update
 | |
|     RUN apt-get install -y \
 | |
|         build-essential \
 | |
|         bzip2 \
 | |
|         cmake \
 | |
|         clang \
 | |
|         cpio \
 | |
|         curl \
 | |
|         dotnet-sdk-6.0 \
 | |
|         dotnet-sdk-8.0 \
 | |
|         gcc-arm-linux-gnueabihf \
 | |
|         gcc-aarch64-linux-gnu \
 | |
|         gcc-i686-linux-gnu \
 | |
|         git \
 | |
|         libbz2-dev \
 | |
|         libharfbuzz-dev \
 | |
|         libpng-dev \
 | |
|         libssl-dev \
 | |
|         libxml2-dev \
 | |
|         llvm \
 | |
|         lzma-dev \
 | |
|         mingw-w64 \
 | |
|         meson \
 | |
|         nuget \
 | |
|         ninja-build \
 | |
|         nodejs \
 | |
|         patch \
 | |
|         python3 \
 | |
|         uuid \
 | |
|         xz-utils \
 | |
|         zlib1g-dev
 | |
| 
 | |
|     # Clone osxcross
 | |
|     # Let's do this later.
 | |
|     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
 | |
|     RUN cp /etc/bash.bashrc ~/.bashrc
 | |
|     COPY sh/bashrc.sh /home/refuel/.bashrc
 | |
| 
 | |
| # Execute an interactive shell.
 | |
| CMD bash
 |