mirror of
https://github.com/yuzu-emu/build-environments.git
synced 2024-11-22 17:25:41 +01:00
Merge pull request #9 from jroweboy/conan
Add new system libraries and install some additional libraries through conan
This commit is contained in:
commit
a222fcd7a7
@ -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
|
||||||
|
@ -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
26
linux-mingw/default
Normal 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
|
Loading…
Reference in New Issue
Block a user