Merge pull request #9 from jroweboy/conan

Add new system libraries and install some additional libraries through conan
This commit is contained in:
bunnei 2020-05-07 17:23:01 -04:00 committed by GitHub
commit a222fcd7a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 7 deletions

View File

@ -4,9 +4,16 @@ RUN useradd -m -s /bin/bash yuzu && \
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y full-upgrade && \ DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y full-upgrade && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
build-essential \ build-essential \
libboost-all-dev \
liblz4-dev \
libsdl2-dev \ libsdl2-dev \
libssl-dev \ libssl-dev \
libopus-dev \
libzip-dev \
libzstd-dev \
zlib1g-dev \
python \ python \
python3-pip \
qtbase5-dev \ qtbase5-dev \
qtbase5-private-dev \ qtbase5-private-dev \
qtwebengine5-dev \ qtwebengine5-dev \
@ -16,4 +23,9 @@ RUN useradd -m -s /bin/bash yuzu && \
ccache \ ccache \
cmake \ cmake \
ninja-build && \ ninja-build && \
pip3 install conan && \
apt-get clean autoclean && apt-get autoremove --yes && rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log apt-get clean autoclean && apt-get autoremove --yes && rm -rf /var/lib/apt /var/lib/dpkg /var/lib/cache /var/lib/log
USER yuzu
RUN conan install catch2/2.11.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
conan install fmt/6.2.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
conan install nlohmann_json/3.7.3@ -s compiler.libcxx=libstdc++11 --build=missing

View File

@ -1,6 +1,8 @@
FROM archlinux:latest FROM archlinux:latest
MAINTAINER yuzu MAINTAINER yuzu
# Add mingw-repo "ownstuff" is a AUR with an up to date mingw64 # Add mingw-repo "ownstuff" is a AUR with an up to date mingw64
# Runs pacman -Syu twice in order to work around pacman issues where the first run only updates the current distro packages
# and the second run actually pulls the updates from the repos.
RUN useradd -m -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \ RUN useradd -m -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \
echo "[ownstuff]" >> /etc/pacman.conf && \ echo "[ownstuff]" >> /etc/pacman.conf && \
echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf && \ echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf && \
@ -14,28 +16,40 @@ RUN useradd -m -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \
git \ git \
python-pip \ python-pip \
python \ python \
python2 \
ccache \ ccache \
p7zip \ p7zip \
cmake \ cmake \
ninja \ ninja \
mingw-w64-boost \
mingw-w64-gcc \ mingw-w64-gcc \
mingw-w64-tools \ mingw-w64-lz4 \
mingw-w64-sdl2 \ mingw-w64-opus \
mingw-w64-qt5-base \ mingw-w64-qt5-base \
mingw-w64-qt5-tools \ mingw-w64-qt5-tools \
mingw-w64-qt5-graphicaleffects \ mingw-w64-qt5-graphicaleffects \
mingw-w64-qt5-multimedia \ mingw-w64-qt5-multimedia \
mingw-w64-qt5-winextras \ mingw-w64-qt5-winextras \
python2 \ mingw-w64-sdl2 \
mingw-w64-opus \ mingw-w64-tools \
mingw-w64-winpthreads && \ mingw-w64-winpthreads \
mingw-w64-zlib \
mingw-w64-zstd \
&& \
pacman -Scc --noconfirm && \ pacman -Scc --noconfirm && \
rm -rf /usr/share/man/ /tmp/ /var/tmp/ rm -rf /usr/share/man/ /tmp/ /var/tmp/
# Setup extra mingw work arounds
COPY mingw-setup.sh /tmp/ COPY mingw-setup.sh /tmp/
RUN cd /tmp/ && bash -e mingw-setup.sh RUN cd /tmp/ && bash -e mingw-setup.sh
# Compatibility with the old Ubuntu MingW image # Compatibility with the old Ubuntu MingW image
RUN ln -s /usr/x86_64-w64-mingw32/lib/qt /usr/x86_64-w64-mingw32/lib/qt5 RUN ln -s /usr/x86_64-w64-mingw32/lib/qt /usr/x86_64-w64-mingw32/lib/qt5
# Cleanup # Install conan and add the mingw cross compile as the default profile
USER root RUN pip3 install conan
COPY --chown=yuzu:yuzu default /home/yuzu/.conan/profiles/
USER yuzu
# Install/build the missing libs (uses the default mingw cross compile profile)
RUN conan install catch2/2.11.0@ --build=missing && \
conan install fmt/6.2.0@ --build=missing && \
conan install nlohmann_json/3.7.3@ --build=missing

26
linux-mingw/default Normal file
View File

@ -0,0 +1,26 @@
toolchain=/usr/x86_64-w64-mingw32
target_host=x86_64-w64-mingw32
cc_compiler=gcc
cxx_compiler=g++
[env]
CONAN_CMAKE_FIND_ROOT_PATH=$toolchain
CHOST=$target_host
AR=$target_host-ar
AS=$target_host-as
RANLIB=$target_host-ranlib
CC=$target_host-$cc_compiler
CXX=$target_host-$cxx_compiler
STRIP=$target_host-strip
RC=$target_host-windres
[settings]
# We are cross-building to Windows
os=Windows
arch=x86_64
compiler=gcc
# Adjust to the gcc version of your MinGW package
compiler.version=9
compiler.libcxx=libstdc++11
build_type=Release