# bobthehamster/ohrrpgce-build-env-wine # Run this with: ## docker run -v /full/path/to/src:/src -it bobthehamster/ohrrpgce-build-env-wine # https://hub.docker.com/r/tobix/pywine FROM tobix/pywine RUN wine python -m pip install scons --no-warn-script-location RUN apt-get update \ && apt-get install -q -y --no-install-recommends \ p7zip \ && rm -rf /var/lib/apt/lists/* WORKDIR /installers/ ARG FBCVER=FreeBASIC-1.08.1-win32 RUN curl -s -O http://mirror.motherhamster.org/dependencies/$FBCVER.zip \ && unzip -q $FBCVER.zip \ && mv $FBCVER /opt/wineprefix/drive_c/FreeBASIC \ && rm $FBCVER.zip ARG MINGWVER=i686-8.1.0-release-win32-dwarf-rt_v6-rev0 # This file lists links to 7zipped mingw64 builds: # https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/repository.txt/download RUN curl -s -O http://mirror.motherhamster.org/dependencies/$MINGWVER.7z \ && p7zip -d $MINGWVER.7z \ && mv mingw32 /opt/wineprefix/drive_c/ # Install Euphoria into the path it was compiled to expect. Also duplicate eub to work around packaging weirdness ARG EUVER=euphoria-4.1.0-Windows-x86 ARG EUVEREND=-57179171dbed RUN curl -s -O http://mirror.motherhamster.org/dependencies/$EUVER$EUVEREND.zip \ && unzip -q $EUVER$EUVEREND.zip \ && rm $EUVER$EUVEREND.zip \ && mkdir -p /opt/wineprefix/drive_c/Euphoria-devel/ \ && mv $EUVER /opt/wineprefix/drive_c/Euphoria-devel/ \ && cd /opt/wineprefix/drive_c/Euphoria-devel/$EUVER/ \ && cp ./bin/eub.exe ./ ARG GITVER=PortableGit-2.33.0.2-32-bit RUN curl -s -O http://mirror.motherhamster.org/dependencies/$GITVER.7z.exe \ && xvfb-run wine $GITVER.7z.exe -o"C:\git" -y \ && rm $GITVER.7z.exe \ && echo 'Ignore the build-time error about "X connection broken" it is harmless' RUN cp /opt/wineprefix/drive_c/Python39/python.exe /opt/wineprefix/drive_c/Python39/python3.exe WORKDIR / RUN echo "export WINEPATH='C:/Python39;C:/Python39/Scripts;C:/FreeBASIC;C:/mingw32/bin;C:/Euphoria-devel/$EUVER/bin;C:/git/bin'" >> /root/.bashrc