Merge pull request #18 from lat9nq/nvdec-updates

Update MinGW and fresh containers with FFmpeg libraries
This commit is contained in:
bunnei 2020-10-18 18:36:58 -07:00 committed by GitHub
commit 7b9db402ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 108 additions and 29 deletions

View File

@ -24,10 +24,13 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && \
git \ git \
ccache \ ccache \
cmake \ cmake \
libavcodec-dev \
libavutil-dev \
libswscale-dev \
ninja-build && \ ninja-build && \
pip3 install conan && \ 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 1027 USER 1027
RUN conan install catch2/2.11.0@ -s compiler.libcxx=libstdc++11 --build=missing && \ RUN conan install catch2/2.13.0@ -s compiler.libcxx=libstdc++11 --build=missing && \
conan install fmt/6.2.0@ -s compiler.libcxx=libstdc++11 --build=missing && \ conan install fmt/7.0.3@ -s compiler.libcxx=libstdc++11 --build=missing && \
conan install nlohmann_json/3.7.3@ -s compiler.libcxx=libstdc++11 --build=missing conan install nlohmann_json/3.9.1@ -s compiler.libcxx=libstdc++11 --build=missing

View File

@ -22,6 +22,7 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \
cmake \ cmake \
ninja \ ninja \
mingw-w64-boost \ mingw-w64-boost \
mingw-w64-ffmpeg \
mingw-w64-gcc \ mingw-w64-gcc \
mingw-w64-lz4 \ mingw-w64-lz4 \
mingw-w64-opus \ mingw-w64-opus \
@ -40,16 +41,16 @@ RUN useradd -m -u 1027 -s /bin/bash yuzu && mkdir -p /tmp/pkgs && \
rm -rf /usr/share/man/ /tmp/ /var/tmp/ rm -rf /usr/share/man/ /tmp/ /var/tmp/
# Setup extra mingw work arounds # Setup extra mingw work arounds
COPY mingw-setup.sh /tmp/ RUN pip3 install pefile
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
# Install conan and add the mingw cross compile as the default profile # Install conan and add the mingw cross compile as the default profile
RUN pip3 install conan RUN pip3 install conan
COPY --chown=yuzu:yuzu default /home/yuzu/.conan/profiles/ COPY --chown=yuzu:yuzu default /home/yuzu/.conan/profiles/
COPY --chown=yuzu:yuzu settings.yml /home/yuzu/.conan/settings.yml
USER 1027 USER 1027
# Install/build the missing libs (uses the default mingw cross compile profile) # Install/build the missing libs (uses the default mingw cross compile profile)
RUN conan install catch2/2.11.0@ --build=missing && \ RUN conan install catch2/2.13.1@ --build=missing && \
conan install fmt/6.2.0@ --build=missing && \ conan install fmt/7.0.3@ --build=missing && \
conan install nlohmann_json/3.7.3@ --build=missing conan install nlohmann_json/3.9.1@ --build=missing

View File

@ -21,6 +21,6 @@ arch=x86_64
compiler=gcc compiler=gcc
# Adjust to the gcc version of your MinGW package # Adjust to the gcc version of your MinGW package
compiler.version=9 compiler.version=10.2
compiler.libcxx=libstdc++11 compiler.libcxx=libstdc++11
build_type=Release build_type=Release

View File

@ -1,20 +0,0 @@
#!/usr/bin/bash -e
# install pefile
pip3 install pefile
# ffmpeg
FFMPEG_VER='4.1'
for i in 'shared' 'dev'; do
echo "Downloading ffmpeg (${i})..."
wget -q -c "https://ffmpeg.zeranoe.com/builds/win64/${i}/ffmpeg-${FFMPEG_VER}-win64-${i}.zip"
7z x "ffmpeg-${FFMPEG_VER}-win64-${i}.zip" > /dev/null
done
echo "Copying ffmpeg ${FFMPEG_VER} files to sysroot..."
cp -v "ffmpeg-${FFMPEG_VER}-win64-shared"/bin/*.dll /usr/x86_64-w64-mingw32/lib/
cp -vr "ffmpeg-${FFMPEG_VER}-win64-dev"/include /usr/x86_64-w64-mingw32/
cp -v "ffmpeg-${FFMPEG_VER}-win64-dev"/lib/*.{a,def} /usr/x86_64-w64-mingw32/lib/
# remove the directory
ABS_PATH="$(readlink -f $0)"
rm -rf "$(dirname ${ABS_PATH})"

95
linux-mingw/settings.yml Normal file
View File

@ -0,0 +1,95 @@
# Only for cross building, 'os_build/arch_build' is the system that runs Conan
os_build: [Windows, WindowsStore, Linux, Macos, FreeBSD, SunOS, AIX]
arch_build: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, sh4le]
# Only for building cross compilation tools, 'os_target/arch_target' is the system for
# which the tools generate code
os_target: [Windows, Linux, Macos, Android, iOS, watchOS, tvOS, FreeBSD, SunOS, AIX, Arduino, Neutrino]
arch_target: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le]
# Rest of the settings are "host" settings:
# - For native building/cross building: Where the library/program will run.
# - For building cross compilation tools: Where the cross compiler will run.
os:
Windows:
subsystem: [None, cygwin, msys, msys2, wsl]
WindowsStore:
version: ["8.1", "10.0"]
WindowsCE:
platform: ANY
version: ["5.0", "6.0", "7.0", "8.0"]
Linux:
Macos:
version: [None, "10.6", "10.7", "10.8", "10.9", "10.10", "10.11", "10.12", "10.13", "10.14", "10.15"]
Android:
api_level: ANY
iOS:
version: ["7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "9.0", "9.1", "9.2", "9.3", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0", "13.1"]
watchOS:
version: ["4.0", "4.1", "4.2", "4.3", "5.0", "5.1", "5.2", "5.3", "6.0", "6.1"]
tvOS:
version: ["11.0", "11.1", "11.2", "11.3", "11.4", "12.0", "12.1", "12.2", "12.3", "12.4", "13.0"]
FreeBSD:
SunOS:
AIX:
Arduino:
board: ANY
Emscripten:
Neutrino:
version: ["6.4", "6.5", "6.6", "7.0"]
arch: [x86, x86_64, ppc32be, ppc32, ppc64le, ppc64, armv4, armv4i, armv5el, armv5hf, armv6, armv7, armv7hf, armv7s, armv7k, armv8, armv8_32, armv8.3, sparc, sparcv9, mips, mips64, avr, s390, s390x, asm.js, wasm, sh4le]
compiler:
sun-cc:
version: ["5.10", "5.11", "5.12", "5.13", "5.14", "5.15"]
threads: [None, posix]
libcxx: [libCstd, libstdcxx, libstlport, libstdc++]
gcc: &gcc
version: ["4.1", "4.4", "4.5", "4.6", "4.7", "4.8", "4.9",
"5", "5.1", "5.2", "5.3", "5.4", "5.5",
"6", "6.1", "6.2", "6.3", "6.4", "6.5",
"7", "7.1", "7.2", "7.3", "7.4", "7.5",
"8", "8.1", "8.2", "8.3", "8.4",
"9", "9.1", "9.2", "9.3",
"10", "10.1", "10.2"]
libcxx: [libstdc++, libstdc++11]
threads: [None, posix, win32] # Windows MinGW
exception: [None, dwarf2, sjlj, seh] # Windows MinGW
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
Visual Studio: &visual_studio
runtime: [MD, MT, MTd, MDd]
version: ["8", "9", "10", "11", "12", "14", "15", "16"]
toolset: [None, v90, v100, v110, v110_xp, v120, v120_xp,
v140, v140_xp, v140_clang_c2, LLVM-vs2012, LLVM-vs2012_xp,
LLVM-vs2013, LLVM-vs2013_xp, LLVM-vs2014, LLVM-vs2014_xp,
LLVM-vs2017, LLVM-vs2017_xp, v141, v141_xp, v141_clang_c2, v142]
cppstd: [None, 14, 17, 20]
clang:
version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0",
"5.0", "6.0", "7.0", "7.1",
"8", "9", "10"]
libcxx: [libstdc++, libstdc++11, libc++, c++_shared, c++_static]
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
apple-clang: &apple_clang
version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0"]
libcxx: [libstdc++, libc++]
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20]
intel:
version: ["11", "12", "13", "14", "15", "16", "17", "18", "19", "19.1"]
base:
gcc:
<<: *gcc
threads: [None]
exception: [None]
Visual Studio:
<<: *visual_studio
apple-clang:
<<: *apple_clang
qcc:
version: ["4.4", "5.4"]
libcxx: [cxx, gpp, cpp, cpp-ne, accp, acpp-ne, ecpp, ecpp-ne]
build_type: [None, Debug, Release, RelWithDebInfo, MinSizeRel]
cppstd: [None, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20] # Deprecated, use compiler.cppstd